[Bug 23137] New: dbghelp doesn't support DW_LNE_set_discriminator (gcc 4.6)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Jun 12 03:18:13 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=23137

           Summary: dbghelp doesn't support DW_LNE_set_discriminator (gcc
                    4.6)
           Product: Wine
           Version: 1.2-rc3
          Platform: x86-64
        OS/Version: Linux
            Status: NEW
          Keywords: download, source
          Severity: enhancement
          Priority: P2
         Component: dbghelp
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: austinenglish at gmail.com


I've noticed lately that my backtraces get filled with:
fixme:dbghelp_dwarf:dwarf2_parse_line_numbers Unsupported extended opcode 4
fixme:dbghelp_dwarf:dwarf2_parse_line_numbers Unsupported extended opcode 4
fixme:dbghelp_dwarf:dwarf2_parse_line_numbers Unsupported extended opcode 4
fixme:dbghelp_dwarf:dwarf2_parse_line_numbers Unsupported extended opcode 4
fixme:dbghelp_dwarf:dwarf2_parse_line_numbers Unsupported extended opcode 4
fixme:dbghelp_dwarf:dwarf2_parse_line_numbers Unsupported extended opcode 4
fixme:dbghelp_dwarf:dwarf2_parse_line_numbers Unsupported extended opcode 4
fixme:dbghelp_dwarf:dwarf2_parse_line_numbers Unsupported extended opcode 4

looking around a bit more, seems that is DW_LNE_set_discriminator. I looked
into it a bit more, and tried:
diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c
index 6daf7d7..89a9dfb 100644
--- a/dlls/dbghelp/dwarf.c
+++ b/dlls/dbghelp/dwarf.c
@@ -2075,6 +2075,9 @@ static BOOL dwarf2_parse_line_numbers(const
dwarf2_section_t* sections,
                         dwarf2_leb128_as_unsigned(&traverse);
                         dwarf2_leb128_as_unsigned(&traverse);
                         break;
+                    case DW_LNE_set_discriminator:
+                        FIXME("not yet supported...\n");
+                        break;
                     default:
                         FIXME("Unsupported extended opcode %x\n", extopcode);
                         break;
diff --git a/dlls/dbghelp/dwarf.h b/dlls/dbghelp/dwarf.h
index 4ecb816..1ea17c0 100644
--- a/dlls/dbghelp/dwarf.h
+++ b/dlls/dbghelp/dwarf.h
@@ -421,6 +421,7 @@ enum dwarf_calling_convention
 #define DW_LNE_end_sequence             0x01
 #define DW_LNE_set_address              0x02
 #define DW_LNE_define_file              0x03
+#define DW_LNE_set_discriminator        0x04

 #define DW_CIE_ID                       ~(0x0)

but that obviously doesn't do much, and makes the backtraces worse than
before...

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list