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