https://sourceware.org/bugzilla/show_bug.cgi?id=27387
--- Comment #15 from Tom de Vries <vries at gcc dot gnu.org> --- (In reply to Tom de Vries from comment #14) > ... > .section > .debug_macro.dwo,"G",@progbits,wm4.stdcpredef.h.19.006d14bbbe0dc07ba9\ > b1ce3fdc8e40d3,comdat > .Ldebug_macro1: > .value 0x4 # DWARF macro version number > .byte 0 # Flags: 32-bit > .byte 0x5 # Define macro strp > .uleb128 0x13 # At line number 19 > .uleb128 0x2a4 # The macro: "_STDC_PREDEF_H 1" > ... I'm starting to think this is a gcc bug. At "DW_MACRO_define_strp, DW_MACRO_undef_strp" we have: ... A DW_MACRO_define_strp or DW_MACRO_undef_strp entry has two operands. The first operand encodes the source line number of the #define or #undef macro directive. The second operand consists of an offset into a string table contained in the .debug_str section of the object file. The size of the operand is given in the header offset_size_flag field. ... There doesn't seem to be anything that states the line number needs to be a uleb. But the second operand shouldn't be a uleb. Readelf correctly does: ... case DW_MACRO_define_strp: READ_ULEB (lineno, curr, end); SAFE_BYTE_GET_AND_INC (offset, curr, offset_size, end); ... -- You are receiving this mail because: You are on the CC list for the bug.