https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120938
--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Looking at the diff there seems to few changes: - # d.C:16:2 - .loc 1 16 2 is_stmt 1 view .LVU16 + # d.C:15:8 + .loc 1 15 8 is_stmt 1 discriminator 1 view .LVU16 This is a line table difference which should be OK there are few changes in references I skip. # DW_AT_call_file (1, d.C) .byte 0xf # DW_AT_call_line # DW_AT_call_column (0x5) - .uleb128 0x2 # (DIE (0x12f) DW_TAG_inlined_subroutine) - .long 0x150 # DW_AT_abstract_origin + .uleb128 0x3 # (DIE (0x12c) DW_TAG_inlined_subroutine) + .long 0x14d # DW_AT_abstract_origin .quad .LBI18 # DW_AT_entry_pc .byte .LVU17 # DW_AT_GNU_entry_view .quad .LBB18 # DW_AT_low_pc .quad .LBE18-.LBB18 # DW_AT_high_pc # DW_AT_call_file (1, d.C) - .byte 0x10 # DW_AT_call_line - # DW_AT_call_column (0x5) + .byte 0xf # DW_AT_call_line + # DW_AT_call_column (0xb) + # DW_AT_GNU_discriminator (0x1) .byte 0 # end of children of DIE 0xb8 .byte 0 # end of children of DIE 0x96 so this is the fourth inlined inc which has moved. @@ -305,6 +306,32 @@ .byte 0 .byte 0 .uleb128 0x3 # (abbrev code) + .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine) + .byte 0 # DW_children_no + .uleb128 0x31 # (DW_AT_abstract_origin) + .uleb128 0x13 # (DW_FORM_ref4) + .uleb128 0x52 # (DW_AT_entry_pc) + .uleb128 0x1 # (DW_FORM_addr) + .uleb128 0x2138 # (DW_AT_GNU_entry_view) + .uleb128 0xb # (DW_FORM_data1) + .uleb128 0x11 # (DW_AT_low_pc) + .uleb128 0x1 # (DW_FORM_addr) + .uleb128 0x12 # (DW_AT_high_pc) + .uleb128 0x7 # (DW_FORM_data8) + .uleb128 0x58 # (DW_AT_call_file) + .uleb128 0x21 # (DW_FORM_implicit_const) + .sleb128 1 # (d.C) + .uleb128 0x59 # (DW_AT_call_line) + .uleb128 0xb # (DW_FORM_data1) + .uleb128 0x57 # (DW_AT_call_column) + .uleb128 0x21 # (DW_FORM_implicit_const) + .sleb128 11 + .uleb128 0x2136 # (DW_AT_GNU_discriminator) + .uleb128 0x21 # (DW_FORM_implicit_const) + .sleb128 1 + .byte 0 + .byte 0 + .uleb128 0x4 # (abbrev code) .uleb128 0x11 # (TAG: DW_TAG_compile_unit) .byte 0x1 # DW_children_yes .uleb128 0x25 # (DW_AT_producer) @@ -434,29 +461,6 @@ .uleb128 0x17 # (DW_FORM_sec_offset) .byte 0 .byte 0 - .uleb128 0xb # (abbrev code) - .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine) - .byte 0 # DW_children_no - .uleb128 0x31 # (DW_AT_abstract_origin) - .uleb128 0x13 # (DW_FORM_ref4) - .uleb128 0x52 # (DW_AT_entry_pc) - .uleb128 0x1 # (DW_FORM_addr) - .uleb128 0x2138 # (DW_AT_GNU_entry_view) - .uleb128 0xb # (DW_FORM_data1) - .uleb128 0x11 # (DW_AT_low_pc) - .uleb128 0x1 # (DW_FORM_addr) - .uleb128 0x12 # (DW_AT_high_pc) - .uleb128 0x7 # (DW_FORM_data8) - .uleb128 0x58 # (DW_AT_call_file) - .uleb128 0xb # (DW_FORM_data1) - .uleb128 0x59 # (DW_AT_call_line) - .uleb128 0xb # (DW_FORM_data1) - .uleb128 0x57 # (DW_AT_call_column) - .uleb128 0xb # (DW_FORM_data1) - .uleb128 0x2136 # (DW_AT_GNU_discriminator) - .uleb128 0xb # (DW_FORM_data1) - .byte 0 - .byte 0 .uleb128 0xc # (abbrev code) .uleb128 0x2e # (TAG: DW_TAG_subprogram) .byte 0 # DW_children_no This is bit of a mystery to me why it moved around