Fix the display of the idnex values for DW_FORM_loclistx and DW_FORM_rnglistx. Correct the display of .debug.loclists sections.

PR 29267
	* dwarf.c (display_debug_rnglists): New function, broken out of..
	(display_debug_ranges): ... here.
	(read_and_display_attr_value): Correct calculation of index
	displayed for DW_FORM_loclistx and DW_FORM_rnglistx.
	* testsuite/binutils-all/x86-64/pr26808.dump: Update expected
	output.
This commit is contained in:
Nick Clifton
2022-06-28 12:30:19 +01:00
parent d0e0f9c87a
commit dbcbf67ca5
3 changed files with 183 additions and 127 deletions

View File

@ -1,3 +1,13 @@
2022-06-28 Nick Clifton <nickc@redhat.com>
PR 29267
* dwarf.c (display_debug_rnglists): New function, broken out of..
(display_debug_ranges): ... here.
(read_and_display_attr_value): Correct calculation of index
displayed for DW_FORM_loclistx and DW_FORM_rnglistx.
* testsuite/binutils-all/x86-64/pr26808.dump: Update expected
output.
2022-06-27 Nick Clifton <nickc@redhat.com> 2022-06-27 Nick Clifton <nickc@redhat.com>
PR 29289 PR 29289

View File

@ -763,7 +763,7 @@ fetch_indexed_addr (dwarf_vma offset, uint32_t num_bytes)
if (section->start == NULL) if (section->start == NULL)
{ {
warn (_("<no .debug_addr section>")); warn (_("Cannot fetch indexed address: the .debug_addr section is missing\n"));
return 0; return 0;
} }
@ -778,7 +778,7 @@ fetch_indexed_addr (dwarf_vma offset, uint32_t num_bytes)
} }
/* Fetch a value from a debug section that has been indexed by /* Fetch a value from a debug section that has been indexed by
something in another section (eg DW_FORM_loclistx). something in another section (eg DW_FORM_loclistx or DW_FORM_rnglistx).
Returns 0 if the value could not be found. */ Returns 0 if the value could not be found. */
static dwarf_vma static dwarf_vma
@ -811,7 +811,7 @@ fetch_indexed_value (dwarf_vma idx,
/* Offsets are biased by the size of the section header /* Offsets are biased by the size of the section header
or base address. */ or base address. */
if (sec_enum == loclists) if (base_address)
offset += base_address; offset += base_address;
else else
offset += bias; offset += bias;
@ -2743,9 +2743,37 @@ read_and_display_attr_value (unsigned long attribute,
case DW_FORM_rnglistx: case DW_FORM_rnglistx:
if (!do_loc) if (!do_loc)
{ {
dwarf_vma base; dwarf_vma base, index;
dwarf_vma offset;
if (form == DW_FORM_loclistx)
{
if (debug_info_p == NULL)
{
index = fetch_indexed_value (uvalue, loclists, 0);
}
else
{
/* We want to compute:
index = fetch_indexed_value (uvalue, loclists, debug_info_p->loclists_base);
index += debug_info_p->loclists_base;
Fortunately we already have that sum cached in the
loc_offsets array. */
index = debug_info_p->loc_offsets [uvalue];
}
}
else if (form == DW_FORM_rnglistx)
{
if (debug_info_p == NULL)
base = 0;
else
base = debug_info_p->rnglists_base;
/* We do not have a cached value this time, so we perform the
computation manually. */
index = fetch_indexed_value (uvalue, rnglists, base);
index += base;
}
else
{
if (debug_info_p == NULL) if (debug_info_p == NULL)
base = 0; base = 0;
else if (debug_info_p->addr_base == DEBUG_INFO_UNAVAILABLE) else if (debug_info_p->addr_base == DEBUG_INFO_UNAVAILABLE)
@ -2753,27 +2781,14 @@ read_and_display_attr_value (unsigned long attribute,
else else
base = debug_info_p->addr_base; base = debug_info_p->addr_base;
offset = base + uvalue * pointer_size; base += uvalue * pointer_size;
index = fetch_indexed_addr (base, pointer_size);
}
if (do_wide)
/* We have already displayed the form name. */ /* We have already displayed the form name. */
if (form == DW_FORM_loclistx)
printf (_("%c(index: 0x%s): %s"), delimiter, printf (_("%c(index: 0x%s): %s"), delimiter,
dwarf_vmatoa ("x", uvalue), dwarf_vmatoa ("x", uvalue),
dwarf_vmatoa ("x", debug_info_p->loc_offsets [uvalue])); dwarf_vmatoa ("x", index));
else
printf (_("%c(index: 0x%s): %s"), delimiter,
dwarf_vmatoa ("x", uvalue),
dwarf_vmatoa ("x", fetch_indexed_addr (offset, pointer_size)));
else
if (form == DW_FORM_loclistx)
printf (_("%c(addr_index: 0x%s): %s"), delimiter,
dwarf_vmatoa ("x", uvalue),
dwarf_vmatoa ("x", debug_info_p->loc_offsets [uvalue]));
else
printf (_("%c(addr_index: 0x%s): %s"), delimiter,
dwarf_vmatoa ("x", uvalue),
dwarf_vmatoa ("x", fetch_indexed_addr (offset, pointer_size)));
} }
break; break;
@ -2797,20 +2812,26 @@ read_and_display_attr_value (unsigned long attribute,
{ {
case DW_AT_loclists_base: case DW_AT_loclists_base:
if (debug_info_p->loclists_base) if (debug_info_p->loclists_base)
warn (_("CU @ 0x%s has multiple loclists_base values"), warn (_("CU @ 0x%s has multiple loclists_base values (0x%s and 0x%s)"),
dwarf_vmatoa ("x", debug_info_p->cu_offset)); dwarf_vmatoa ("x", debug_info_p->cu_offset),
dwarf_vmatoa ("x", debug_info_p->loclists_base),
dwarf_vmatoa ("x", uvalue));
debug_info_p->loclists_base = uvalue; debug_info_p->loclists_base = uvalue;
break; break;
case DW_AT_rnglists_base: case DW_AT_rnglists_base:
if (debug_info_p->rnglists_base) if (debug_info_p->rnglists_base)
warn (_("CU @ 0x%s has multiple rnglists_base values"), warn (_("CU @ 0x%s has multiple rnglists_base values (0x%s and 0x%s)"),
dwarf_vmatoa ("x", debug_info_p->cu_offset)); dwarf_vmatoa ("x", debug_info_p->cu_offset),
dwarf_vmatoa ("x", debug_info_p->rnglists_base),
dwarf_vmatoa ("x", uvalue));
debug_info_p->rnglists_base = uvalue; debug_info_p->rnglists_base = uvalue;
break; break;
case DW_AT_str_offsets_base: case DW_AT_str_offsets_base:
if (debug_info_p->str_offsets_base) if (debug_info_p->str_offsets_base)
warn (_("CU @ 0x%s has multiple str_offsets_base values"), warn (_("CU @ 0x%s has multiple str_offsets_base values (0x%s and 0x%s)"),
dwarf_vmatoa ("x", debug_info_p->cu_offset)); dwarf_vmatoa ("x", debug_info_p->cu_offset),
dwarf_vmatoa ("x", debug_info_p->str_offsets_base),
dwarf_vmatoa ("x", uvalue));
debug_info_p->str_offsets_base = uvalue; debug_info_p->str_offsets_base = uvalue;
break; break;
@ -3811,6 +3832,7 @@ process_debug_info (struct dwarf_section * section,
debug_information [unit].base_address = 0; debug_information [unit].base_address = 0;
debug_information [unit].addr_base = DEBUG_INFO_UNAVAILABLE; debug_information [unit].addr_base = DEBUG_INFO_UNAVAILABLE;
debug_information [unit].ranges_base = DEBUG_INFO_UNAVAILABLE; debug_information [unit].ranges_base = DEBUG_INFO_UNAVAILABLE;
debug_information [unit].rnglists_base = 0;
debug_information [unit].loc_offsets = NULL; debug_information [unit].loc_offsets = NULL;
debug_information [unit].have_frame_base = NULL; debug_information [unit].have_frame_base = NULL;
debug_information [unit].max_loc_offsets = 0; debug_information [unit].max_loc_offsets = 0;
@ -7940,7 +7962,7 @@ display_debug_ranges_list (unsigned char * start,
} }
} }
static void static unsigned char *
display_debug_rnglists_list (unsigned char * start, display_debug_rnglists_list (unsigned char * start,
unsigned char * finish, unsigned char * finish,
unsigned int pointer_size, unsigned int pointer_size,
@ -8050,40 +8072,28 @@ display_debug_rnglists_list (unsigned char * start,
putchar ('\n'); putchar ('\n');
} }
return start;
} }
static int static int
display_debug_ranges (struct dwarf_section *section, display_debug_rnglists (struct dwarf_section *section)
void *file ATTRIBUTE_UNUSED)
{ {
unsigned char * start = section->start; unsigned char * start = section->start;
unsigned char * last_start = start; unsigned char * finish = start + section->size;
dwarf_vma bytes = section->size;
unsigned char * section_begin = start;
unsigned char * finish = start + bytes;
unsigned int num_range_list, i;
struct range_entry * range_entries;
struct range_entry * range_entry_fill;
int is_rnglists = strstr (section->name, "debug_rnglists") != NULL;
/* Initialize it due to a false compiler warning. */
unsigned char address_size = 0;
dwarf_vma last_offset = 0;
unsigned int offset_size = 0;
if (bytes == 0) while (start < finish)
{
printf (_("\nThe %s section is empty.\n"), section->name);
return 0;
}
introduce (section, false);
if (is_rnglists)
{ {
unsigned char * table_start;
dwarf_vma offset = start - section->start;
unsigned char * end;
dwarf_vma initial_length; dwarf_vma initial_length;
unsigned char segment_selector_size; unsigned char segment_selector_size;
unsigned int offset_entry_count; unsigned int offset_entry_count;
unsigned int i;
unsigned short version; unsigned short version;
unsigned char address_size = 0;
unsigned char offset_size;
/* Get and check the length of the block. */ /* Get and check the length of the block. */
SAFE_BYTE_GET_AND_INC (initial_length, start, 4, finish); SAFE_BYTE_GET_AND_INC (initial_length, start, 4, finish);
@ -8103,9 +8113,7 @@ display_debug_ranges (struct dwarf_section *section,
not complain if it is inaccurate (and probably negative). not complain if it is inaccurate (and probably negative).
It is copied from .debug_line handling code. */ It is copied from .debug_line handling code. */
if (reloc_at (section, (start - section->start) - offset_size)) if (reloc_at (section, (start - section->start) - offset_size))
{
initial_length = finish - start; initial_length = finish - start;
}
else else
{ {
warn (_("The length field (0x%lx) in the debug_rnglists header is wrong - the section is too small\n"), warn (_("The length field (0x%lx) in the debug_rnglists header is wrong - the section is too small\n"),
@ -8114,12 +8122,15 @@ display_debug_ranges (struct dwarf_section *section,
} }
} }
end = start + initial_length;
/* Get the other fields in the header. */ /* Get the other fields in the header. */
SAFE_BYTE_GET_AND_INC (version, start, 2, finish); SAFE_BYTE_GET_AND_INC (version, start, 2, finish);
SAFE_BYTE_GET_AND_INC (address_size, start, 1, finish); SAFE_BYTE_GET_AND_INC (address_size, start, 1, finish);
SAFE_BYTE_GET_AND_INC (segment_selector_size, start, 1, finish); SAFE_BYTE_GET_AND_INC (segment_selector_size, start, 1, finish);
SAFE_BYTE_GET_AND_INC (offset_entry_count, start, 4, finish); SAFE_BYTE_GET_AND_INC (offset_entry_count, start, 4, finish);
printf (_(" Table at Offset: 0x%s:\n"), dwarf_vmatoa ("x", offset));
printf (_(" Length: 0x%s\n"), dwarf_vmatoa ("x", initial_length)); printf (_(" Length: 0x%s\n"), dwarf_vmatoa ("x", initial_length));
printf (_(" DWARF version: %u\n"), version); printf (_(" DWARF version: %u\n"), version);
printf (_(" Address size: %u\n"), address_size); printf (_(" Address size: %u\n"), address_size);
@ -8142,6 +8153,8 @@ display_debug_ranges (struct dwarf_section *section,
return 0; return 0;
} }
table_start = start;
if (offset_entry_count != 0) if (offset_entry_count != 0)
{ {
printf (_("\n Offsets starting at 0x%lx:\n"), (long)(start - section->start)); printf (_("\n Offsets starting at 0x%lx:\n"), (long)(start - section->start));
@ -8166,8 +8179,60 @@ display_debug_ranges (struct dwarf_section *section,
} }
} }
} }
else
offset_entry_count = 1;
for (i = 0; i < offset_entry_count; i++)
{
dwarf_vma indx = start - table_start;
offset = start - section->start;
printf (_("\n Offset: %lx, Index: 0x%s\n"),
(long) offset, dwarf_vmatoa ("x", indx));
printf (_(" Offset Begin End\n"));
start = display_debug_rnglists_list
(start, end, address_size, offset, 0, offset_size);
if (start >= end)
break;
} }
start = end;
if (start < finish)
putchar ('\n');
}
return 1;
}
static int
display_debug_ranges (struct dwarf_section *section,
void *file ATTRIBUTE_UNUSED)
{
unsigned char * start = section->start;
unsigned char * last_start = start;
dwarf_vma bytes = section->size;
unsigned char * section_begin = start;
unsigned char * finish = start + bytes;
unsigned int num_range_list, i;
struct range_entry * range_entries;
struct range_entry * range_entry_fill;
int is_rnglists = strstr (section->name, "debug_rnglists") != NULL;
/* Initialize it due to a false compiler warning. */
unsigned char address_size = 0;
dwarf_vma last_offset = 0;
if (bytes == 0)
{
printf (_("\nThe %s section is empty.\n"), section->name);
return 0;
}
introduce (section, false);
if (is_rnglists)
return display_debug_rnglists (section);
if (load_debug_info (file) == 0) if (load_debug_info (file) == 0)
{ {
warn (_("Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"), warn (_("Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"),
@ -8177,15 +8242,7 @@ display_debug_ranges (struct dwarf_section *section,
num_range_list = 0; num_range_list = 0;
for (i = 0; i < num_debug_info_entries; i++) for (i = 0; i < num_debug_info_entries; i++)
{
if (debug_information [i].dwarf_version < 5 && is_rnglists)
/* Skip .debug_rnglists reference. */
continue;
if (debug_information [i].dwarf_version >= 5 && !is_rnglists)
/* Skip .debug_range reference. */
continue;
num_range_list += debug_information [i].num_range_lists; num_range_list += debug_information [i].num_range_lists;
}
if (num_range_list == 0) if (num_range_list == 0)
{ {
@ -8204,13 +8261,6 @@ display_debug_ranges (struct dwarf_section *section,
debug_info *debug_info_p = &debug_information[i]; debug_info *debug_info_p = &debug_information[i];
unsigned int j; unsigned int j;
if (debug_information [i].dwarf_version < 5 && is_rnglists)
/* Skip .debug_rnglists reference. */
continue;
if (debug_information [i].dwarf_version >= 5 && !is_rnglists)
/* Skip .debug_range reference. */
continue;
for (j = 0; j < debug_info_p->num_range_lists; j++) for (j = 0; j < debug_info_p->num_range_lists; j++)
{ {
range_entry_fill->ranges_offset = debug_info_p->range_lists[j]; range_entry_fill->ranges_offset = debug_info_p->range_lists[j];
@ -8287,10 +8337,6 @@ display_debug_ranges (struct dwarf_section *section,
start = next; start = next;
last_start = next; last_start = next;
if (is_rnglists)
display_debug_rnglists_list
(start, finish, pointer_size, offset, base_address, offset_size);
else
display_debug_ranges_list display_debug_ranges_list
(start, finish, pointer_size, offset, base_address); (start, finish, pointer_size, offset, base_address);
} }

View File

@ -30,13 +30,13 @@ Contents of the .debug_info.dwo section:
<a5> DW_AT_decl_file : 1 <a5> DW_AT_decl_file : 1
<a6> DW_AT_decl_line : 30 <a6> DW_AT_decl_line : 30
<a7> DW_AT_type : <0x90> <a7> DW_AT_type : <0x90>
<ab> DW_AT_low_pc : (addr_index: 0x0): 0 <ab> DW_AT_low_pc : (index: 0x0): 0
<ac> DW_AT_high_pc : 0x304 <ac> DW_AT_high_pc : 0x304
<b4> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <b4> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<b6> DW_AT_GNU_all_tail_call_sites: 1 <b6> DW_AT_GNU_all_tail_call_sites: 1
<b6> DW_AT_sibling : <0x11b> <b6> DW_AT_sibling : <0x11b>
<2><ba>: Abbrev Number: 14 (DW_TAG_lexical_block) <2><ba>: Abbrev Number: 14 (DW_TAG_lexical_block)
<bb> DW_AT_low_pc : (addr_index: 0x1): 0 <bb> DW_AT_low_pc : (index: 0x1): 0
<bc> DW_AT_high_pc : 0x2fa <bc> DW_AT_high_pc : 0x2fa
<3><c4>: Abbrev Number: 15 (DW_TAG_variable) <3><c4>: Abbrev Number: 15 (DW_TAG_variable)
<c5> DW_AT_name : c1 <c5> DW_AT_name : c1
@ -56,7 +56,7 @@ Contents of the .debug_info.dwo section:
<ff> DW_AT_artificial : 1 <ff> DW_AT_artificial : 1
<ff> DW_AT_location : 2 byte block: fb 2 (DW_OP_GNU_addr_index <0x2>) <ff> DW_AT_location : 2 byte block: fb 2 (DW_OP_GNU_addr_index <0x2>)
<3><102>: Abbrev Number: 14 (DW_TAG_lexical_block) <3><102>: Abbrev Number: 14 (DW_TAG_lexical_block)
<103> DW_AT_low_pc : (addr_index: 0x3): 0 <103> DW_AT_low_pc : (index: 0x3): 0
<104> DW_AT_high_pc : 0x2f <104> DW_AT_high_pc : 0x2f
<4><10c>: Abbrev Number: 17 (DW_TAG_variable) <4><10c>: Abbrev Number: 17 (DW_TAG_variable)
<10d> DW_AT_name : i <10d> DW_AT_name : i
@ -274,7 +274,7 @@ Contents of the .debug_info.dwo section:
<2dd> DW_AT_decl_file : 1 <2dd> DW_AT_decl_file : 1
<2de> DW_AT_decl_line : 70 <2de> DW_AT_decl_line : 70
<2df> DW_AT_linkage_name: _Z4f13iv <2df> DW_AT_linkage_name: _Z4f13iv
<2e8> DW_AT_low_pc : (addr_index: 0x0): 0 <2e8> DW_AT_low_pc : (index: 0x0): 0
<2e9> DW_AT_high_pc : 0x6 <2e9> DW_AT_high_pc : 0x6
<2f1> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <2f1> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<2f3> DW_AT_GNU_all_call_sites: 1 <2f3> DW_AT_GNU_all_call_sites: 1
@ -282,7 +282,7 @@ Contents of the .debug_info.dwo section:
<2f4> DW_AT_specification: <0x219> <2f4> DW_AT_specification: <0x219>
<2f8> DW_AT_decl_file : 2 <2f8> DW_AT_decl_file : 2
<2f9> DW_AT_decl_line : 30 <2f9> DW_AT_decl_line : 30
<2fa> DW_AT_low_pc : (addr_index: 0x1): 0 <2fa> DW_AT_low_pc : (index: 0x1): 0
<2fb> DW_AT_high_pc : 0x20 <2fb> DW_AT_high_pc : 0x20
<303> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <303> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<305> DW_AT_object_pointer: <0x30d> <305> DW_AT_object_pointer: <0x30d>
@ -300,7 +300,7 @@ Contents of the .debug_info.dwo section:
<31d> DW_AT_specification: <0x223> <31d> DW_AT_specification: <0x223>
<321> DW_AT_decl_file : 2 <321> DW_AT_decl_file : 2
<322> DW_AT_decl_line : 38 <322> DW_AT_decl_line : 38
<323> DW_AT_low_pc : (addr_index: 0x2): 0 <323> DW_AT_low_pc : (index: 0x2): 0
<324> DW_AT_high_pc : 0x18 <324> DW_AT_high_pc : 0x18
<32c> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <32c> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<32e> DW_AT_object_pointer: <0x336> <32e> DW_AT_object_pointer: <0x336>
@ -316,7 +316,7 @@ Contents of the .debug_info.dwo section:
<341> DW_AT_specification: <0x22d> <341> DW_AT_specification: <0x22d>
<345> DW_AT_decl_file : 2 <345> DW_AT_decl_file : 2
<346> DW_AT_decl_line : 46 <346> DW_AT_decl_line : 46
<347> DW_AT_low_pc : (addr_index: 0x3): 0 <347> DW_AT_low_pc : (index: 0x3): 0
<348> DW_AT_high_pc : 0x18 <348> DW_AT_high_pc : 0x18
<350> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <350> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<352> DW_AT_object_pointer: <0x35a> <352> DW_AT_object_pointer: <0x35a>
@ -332,7 +332,7 @@ Contents of the .debug_info.dwo section:
<365> DW_AT_specification: <0x237> <365> DW_AT_specification: <0x237>
<369> DW_AT_decl_file : 2 <369> DW_AT_decl_file : 2
<36a> DW_AT_decl_line : 54 <36a> DW_AT_decl_line : 54
<36b> DW_AT_low_pc : (addr_index: 0x4): 0 <36b> DW_AT_low_pc : (index: 0x4): 0
<36c> DW_AT_high_pc : 0x16 <36c> DW_AT_high_pc : 0x16
<374> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <374> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<376> DW_AT_object_pointer: <0x37e> <376> DW_AT_object_pointer: <0x37e>
@ -348,7 +348,7 @@ Contents of the .debug_info.dwo section:
<389> DW_AT_specification: <0x26b> <389> DW_AT_specification: <0x26b>
<38d> DW_AT_decl_file : 2 <38d> DW_AT_decl_file : 2
<38e> DW_AT_decl_line : 62 <38e> DW_AT_decl_line : 62
<38f> DW_AT_low_pc : (addr_index: 0x5): 0 <38f> DW_AT_low_pc : (index: 0x5): 0
<390> DW_AT_high_pc : 0x16 <390> DW_AT_high_pc : 0x16
<398> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <398> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<39a> DW_AT_object_pointer: <0x3a2> <39a> DW_AT_object_pointer: <0x3a2>
@ -366,7 +366,7 @@ Contents of the .debug_info.dwo section:
<3b2> DW_AT_specification: <0x275> <3b2> DW_AT_specification: <0x275>
<3b6> DW_AT_decl_file : 2 <3b6> DW_AT_decl_file : 2
<3b7> DW_AT_decl_line : 72 <3b7> DW_AT_decl_line : 72
<3b8> DW_AT_low_pc : (addr_index: 0x6): 0 <3b8> DW_AT_low_pc : (index: 0x6): 0
<3b9> DW_AT_high_pc : 0x1b <3b9> DW_AT_high_pc : 0x1b
<3c1> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <3c1> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<3c3> DW_AT_object_pointer: <0x3cb> <3c3> DW_AT_object_pointer: <0x3cb>
@ -382,7 +382,7 @@ Contents of the .debug_info.dwo section:
<3d6> DW_AT_specification: <0x27f> <3d6> DW_AT_specification: <0x27f>
<3da> DW_AT_decl_file : 2 <3da> DW_AT_decl_file : 2
<3db> DW_AT_decl_line : 82 <3db> DW_AT_decl_line : 82
<3dc> DW_AT_low_pc : (addr_index: 0x7): 0 <3dc> DW_AT_low_pc : (index: 0x7): 0
<3dd> DW_AT_high_pc : 0x1b <3dd> DW_AT_high_pc : 0x1b
<3e5> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <3e5> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<3e7> DW_AT_object_pointer: <0x3ef> <3e7> DW_AT_object_pointer: <0x3ef>
@ -398,7 +398,7 @@ Contents of the .debug_info.dwo section:
<3fa> DW_AT_specification: <0x289> <3fa> DW_AT_specification: <0x289>
<3fe> DW_AT_decl_file : 2 <3fe> DW_AT_decl_file : 2
<3ff> DW_AT_decl_line : 92 <3ff> DW_AT_decl_line : 92
<400> DW_AT_low_pc : (addr_index: 0x8): 0 <400> DW_AT_low_pc : (index: 0x8): 0
<401> DW_AT_high_pc : 0x19 <401> DW_AT_high_pc : 0x19
<409> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <409> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<40b> DW_AT_object_pointer: <0x413> <40b> DW_AT_object_pointer: <0x413>
@ -414,7 +414,7 @@ Contents of the .debug_info.dwo section:
<41e> DW_AT_specification: <0x2ae> <41e> DW_AT_specification: <0x2ae>
<422> DW_AT_decl_file : 2 <422> DW_AT_decl_file : 2
<423> DW_AT_decl_line : 102 <423> DW_AT_decl_line : 102
<424> DW_AT_low_pc : (addr_index: 0x9): 0 <424> DW_AT_low_pc : (index: 0x9): 0
<425> DW_AT_high_pc : 0x19 <425> DW_AT_high_pc : 0x19
<42d> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <42d> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<42f> DW_AT_object_pointer: <0x437> <42f> DW_AT_object_pointer: <0x437>
@ -432,7 +432,7 @@ Contents of the .debug_info.dwo section:
<447> DW_AT_specification: <0x2b8> <447> DW_AT_specification: <0x2b8>
<44b> DW_AT_decl_file : 2 <44b> DW_AT_decl_file : 2
<44c> DW_AT_decl_line : 112 <44c> DW_AT_decl_line : 112
<44d> DW_AT_low_pc : (addr_index: 0xa): 0 <44d> DW_AT_low_pc : (index: 0xa): 0
<44e> DW_AT_high_pc : 0x1f <44e> DW_AT_high_pc : 0x1f
<456> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <456> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<458> DW_AT_object_pointer: <0x460> <458> DW_AT_object_pointer: <0x460>
@ -451,7 +451,7 @@ Contents of the .debug_info.dwo section:
<471> DW_AT_decl_line : 120 <471> DW_AT_decl_line : 120
<472> DW_AT_linkage_name: _Z4f11av <472> DW_AT_linkage_name: _Z4f11av
<47b> DW_AT_type : <0x242> <47b> DW_AT_type : <0x242>
<47f> DW_AT_low_pc : (addr_index: 0xb): 0 <47f> DW_AT_low_pc : (index: 0xb): 0
<480> DW_AT_high_pc : 0xb <480> DW_AT_high_pc : 0xb
<488> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <488> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<48a> DW_AT_GNU_all_call_sites: 1 <48a> DW_AT_GNU_all_call_sites: 1
@ -459,7 +459,7 @@ Contents of the .debug_info.dwo section:
<48b> DW_AT_specification: <0x2c2> <48b> DW_AT_specification: <0x2c2>
<48f> DW_AT_decl_file : 2 <48f> DW_AT_decl_file : 2
<490> DW_AT_decl_line : 126 <490> DW_AT_decl_line : 126
<491> DW_AT_low_pc : (addr_index: 0xc): 0 <491> DW_AT_low_pc : (index: 0xc): 0
<492> DW_AT_high_pc : 0x20 <492> DW_AT_high_pc : 0x20
<49a> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <49a> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<49c> DW_AT_object_pointer: <0x4a4> <49c> DW_AT_object_pointer: <0x4a4>
@ -478,7 +478,7 @@ Contents of the .debug_info.dwo section:
<4b4> DW_AT_decl_line : 134 <4b4> DW_AT_decl_line : 134
<4b5> DW_AT_linkage_name: _Z3t12v <4b5> DW_AT_linkage_name: _Z3t12v
<4bd> DW_AT_type : <0x249> <4bd> DW_AT_type : <0x249>
<4c1> DW_AT_low_pc : (addr_index: 0xd): 0 <4c1> DW_AT_low_pc : (index: 0xd): 0
<4c2> DW_AT_high_pc : 0x19 <4c2> DW_AT_high_pc : 0x19
<4ca> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <4ca> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<4cc> DW_AT_GNU_all_tail_call_sites: 1 <4cc> DW_AT_GNU_all_tail_call_sites: 1
@ -489,7 +489,7 @@ Contents of the .debug_info.dwo section:
<4d2> DW_AT_decl_line : 142 <4d2> DW_AT_decl_line : 142
<4d3> DW_AT_linkage_name: _Z3t13v <4d3> DW_AT_linkage_name: _Z3t13v
<4db> DW_AT_type : <0x249> <4db> DW_AT_type : <0x249>
<4df> DW_AT_low_pc : (addr_index: 0xe): 0 <4df> DW_AT_low_pc : (index: 0xe): 0
<4e0> DW_AT_high_pc : 0x14 <4e0> DW_AT_high_pc : 0x14
<4e8> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <4e8> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<4ea> DW_AT_GNU_all_tail_call_sites: 1 <4ea> DW_AT_GNU_all_tail_call_sites: 1
@ -500,13 +500,13 @@ Contents of the .debug_info.dwo section:
<4f0> DW_AT_decl_line : 150 <4f0> DW_AT_decl_line : 150
<4f1> DW_AT_linkage_name: _Z3t14v <4f1> DW_AT_linkage_name: _Z3t14v
<4f9> DW_AT_type : <0x249> <4f9> DW_AT_type : <0x249>
<4fd> DW_AT_low_pc : (addr_index: 0xf): 0 <4fd> DW_AT_low_pc : (index: 0xf): 0
<4fe> DW_AT_high_pc : 0x61 <4fe> DW_AT_high_pc : 0x61
<506> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <506> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<508> DW_AT_GNU_all_tail_call_sites: 1 <508> DW_AT_GNU_all_tail_call_sites: 1
<508> DW_AT_sibling : <0x532> <508> DW_AT_sibling : <0x532>
<2><50c>: Abbrev Number: 24 (DW_TAG_lexical_block) <2><50c>: Abbrev Number: 24 (DW_TAG_lexical_block)
<50d> DW_AT_low_pc : (addr_index: 0x10): 0 <50d> DW_AT_low_pc : (index: 0x10): 0
<50e> DW_AT_high_pc : 0x57 <50e> DW_AT_high_pc : 0x57
<3><516>: Abbrev Number: 25 (DW_TAG_variable) <3><516>: Abbrev Number: 25 (DW_TAG_variable)
<517> DW_AT_name : s1 <517> DW_AT_name : s1
@ -538,13 +538,13 @@ Contents of the .debug_info.dwo section:
<54b> DW_AT_decl_line : 163 <54b> DW_AT_decl_line : 163
<54c> DW_AT_linkage_name: _Z3t15v <54c> DW_AT_linkage_name: _Z3t15v
<554> DW_AT_type : <0x249> <554> DW_AT_type : <0x249>
<558> DW_AT_low_pc : (addr_index: 0x11): 0 <558> DW_AT_low_pc : (index: 0x11): 0
<559> DW_AT_high_pc : 0x5d <559> DW_AT_high_pc : 0x5d
<561> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <561> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<563> DW_AT_GNU_all_tail_call_sites: 1 <563> DW_AT_GNU_all_tail_call_sites: 1
<563> DW_AT_sibling : <0x58d> <563> DW_AT_sibling : <0x58d>
<2><567>: Abbrev Number: 24 (DW_TAG_lexical_block) <2><567>: Abbrev Number: 24 (DW_TAG_lexical_block)
<568> DW_AT_low_pc : (addr_index: 0x12): 0 <568> DW_AT_low_pc : (index: 0x12): 0
<569> DW_AT_high_pc : 0x53 <569> DW_AT_high_pc : 0x53
<3><571>: Abbrev Number: 25 (DW_TAG_variable) <3><571>: Abbrev Number: 25 (DW_TAG_variable)
<572> DW_AT_name : s1 <572> DW_AT_name : s1
@ -576,7 +576,7 @@ Contents of the .debug_info.dwo section:
<5a9> DW_AT_decl_line : 176 <5a9> DW_AT_decl_line : 176
<5aa> DW_AT_linkage_name: _Z3t16v <5aa> DW_AT_linkage_name: _Z3t16v
<5b2> DW_AT_type : <0x249> <5b2> DW_AT_type : <0x249>
<5b6> DW_AT_low_pc : (addr_index: 0x13): 0 <5b6> DW_AT_low_pc : (index: 0x13): 0
<5b7> DW_AT_high_pc : 0x13 <5b7> DW_AT_high_pc : 0x13
<5bf> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <5bf> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<5c1> DW_AT_GNU_all_tail_call_sites: 1 <5c1> DW_AT_GNU_all_tail_call_sites: 1
@ -587,13 +587,13 @@ Contents of the .debug_info.dwo section:
<5c7> DW_AT_decl_line : 184 <5c7> DW_AT_decl_line : 184
<5c8> DW_AT_linkage_name: _Z3t17v <5c8> DW_AT_linkage_name: _Z3t17v
<5d0> DW_AT_type : <0x249> <5d0> DW_AT_type : <0x249>
<5d4> DW_AT_low_pc : (addr_index: 0x14): 0 <5d4> DW_AT_low_pc : (index: 0x14): 0
<5d5> DW_AT_high_pc : 0x5f <5d5> DW_AT_high_pc : 0x5f
<5dd> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <5dd> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<5df> DW_AT_GNU_all_call_sites: 1 <5df> DW_AT_GNU_all_call_sites: 1
<5df> DW_AT_sibling : <0x612> <5df> DW_AT_sibling : <0x612>
<2><5e3>: Abbrev Number: 24 (DW_TAG_lexical_block) <2><5e3>: Abbrev Number: 24 (DW_TAG_lexical_block)
<5e4> DW_AT_low_pc : (addr_index: 0x15): 0 <5e4> DW_AT_low_pc : (index: 0x15): 0
<5e5> DW_AT_high_pc : 0x59 <5e5> DW_AT_high_pc : 0x59
<3><5ed>: Abbrev Number: 25 (DW_TAG_variable) <3><5ed>: Abbrev Number: 25 (DW_TAG_variable)
<5ee> DW_AT_name : c <5ee> DW_AT_name : c
@ -602,7 +602,7 @@ Contents of the .debug_info.dwo section:
<5f2> DW_AT_type : <0x53d> <5f2> DW_AT_type : <0x53d>
<5f6> DW_AT_location : 2 byte block: 91 6f (DW_OP_fbreg: -17) <5f6> DW_AT_location : 2 byte block: 91 6f (DW_OP_fbreg: -17)
<3><5f9>: Abbrev Number: 24 (DW_TAG_lexical_block) <3><5f9>: Abbrev Number: 24 (DW_TAG_lexical_block)
<5fa> DW_AT_low_pc : (addr_index: 0x16): 0 <5fa> DW_AT_low_pc : (index: 0x16): 0
<5fb> DW_AT_high_pc : 0x50 <5fb> DW_AT_high_pc : 0x50
<4><603>: Abbrev Number: 25 (DW_TAG_variable) <4><603>: Abbrev Number: 25 (DW_TAG_variable)
<604> DW_AT_name : i <604> DW_AT_name : i
@ -620,13 +620,13 @@ Contents of the .debug_info.dwo section:
<618> DW_AT_decl_line : 199 <618> DW_AT_decl_line : 199
<619> DW_AT_linkage_name: _Z3t18v <619> DW_AT_linkage_name: _Z3t18v
<621> DW_AT_type : <0x249> <621> DW_AT_type : <0x249>
<625> DW_AT_low_pc : (addr_index: 0x17): 0 <625> DW_AT_low_pc : (index: 0x17): 0
<626> DW_AT_high_pc : 0x5f <626> DW_AT_high_pc : 0x5f
<62e> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <62e> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<630> DW_AT_GNU_all_tail_call_sites: 1 <630> DW_AT_GNU_all_tail_call_sites: 1
<630> DW_AT_sibling : <0x67a> <630> DW_AT_sibling : <0x67a>
<2><634>: Abbrev Number: 24 (DW_TAG_lexical_block) <2><634>: Abbrev Number: 24 (DW_TAG_lexical_block)
<635> DW_AT_low_pc : (addr_index: 0x18): 0 <635> DW_AT_low_pc : (index: 0x18): 0
<636> DW_AT_high_pc : 0x55 <636> DW_AT_high_pc : 0x55
<3><63e>: Abbrev Number: 25 (DW_TAG_variable) <3><63e>: Abbrev Number: 25 (DW_TAG_variable)
<63f> DW_AT_name : c <63f> DW_AT_name : c
@ -635,7 +635,7 @@ Contents of the .debug_info.dwo section:
<643> DW_AT_type : <0x53d> <643> DW_AT_type : <0x53d>
<647> DW_AT_location : 2 byte block: 91 6f (DW_OP_fbreg: -17) <647> DW_AT_location : 2 byte block: 91 6f (DW_OP_fbreg: -17)
<3><64a>: Abbrev Number: 24 (DW_TAG_lexical_block) <3><64a>: Abbrev Number: 24 (DW_TAG_lexical_block)
<64b> DW_AT_low_pc : (addr_index: 0x19): 0 <64b> DW_AT_low_pc : (index: 0x19): 0
<64c> DW_AT_high_pc : 0x4c <64c> DW_AT_high_pc : 0x4c
<4><654>: Abbrev Number: 25 (DW_TAG_variable) <4><654>: Abbrev Number: 25 (DW_TAG_variable)
<655> DW_AT_name : i <655> DW_AT_name : i
@ -644,7 +644,7 @@ Contents of the .debug_info.dwo section:
<659> DW_AT_type : <0x242> <659> DW_AT_type : <0x242>
<65d> DW_AT_location : 2 byte block: 91 68 (DW_OP_fbreg: -24) <65d> DW_AT_location : 2 byte block: 91 68 (DW_OP_fbreg: -24)
<4><660>: Abbrev Number: 24 (DW_TAG_lexical_block) <4><660>: Abbrev Number: 24 (DW_TAG_lexical_block)
<661> DW_AT_low_pc : (addr_index: 0x1a): 0 <661> DW_AT_low_pc : (index: 0x1a): 0
<662> DW_AT_high_pc : 0x34 <662> DW_AT_high_pc : 0x34
<5><66a>: Abbrev Number: 25 (DW_TAG_variable) <5><66a>: Abbrev Number: 25 (DW_TAG_variable)
<66b> DW_AT_name : s <66b> DW_AT_name : s
@ -786,7 +786,7 @@ Contents of the .debug_info.dwo section:
<7d3> DW_AT_decl_line : 32 <7d3> DW_AT_decl_line : 32
<7d4> DW_AT_linkage_name: _Z4t16av <7d4> DW_AT_linkage_name: _Z4t16av
<7dd> DW_AT_type : <0x7c4> <7dd> DW_AT_type : <0x7c4>
<7e1> DW_AT_low_pc : (addr_index: 0x0): 0 <7e1> DW_AT_low_pc : (index: 0x0): 0
<7e2> DW_AT_high_pc : 0x13 <7e2> DW_AT_high_pc : 0x13
<7ea> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <7ea> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<7ec> DW_AT_GNU_all_tail_call_sites: 1 <7ec> DW_AT_GNU_all_tail_call_sites: 1
@ -878,14 +878,14 @@ Contents of the .debug_info.dwo section:
<908> DW_AT_decl_file : 1 <908> DW_AT_decl_file : 1
<909> DW_AT_decl_line : 70 <909> DW_AT_decl_line : 70
<90a> DW_AT_linkage_name: _Z4f13iv <90a> DW_AT_linkage_name: _Z4f13iv
<913> DW_AT_low_pc : (addr_index: 0x0): 0 <913> DW_AT_low_pc : (index: 0x0): 0
<914> DW_AT_high_pc : 0x6 <914> DW_AT_high_pc : 0x6
<91c> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <91c> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<91e> DW_AT_GNU_all_call_sites: 1 <91e> DW_AT_GNU_all_call_sites: 1
<1><91e>: Abbrev Number: 17 (DW_TAG_subprogram) <1><91e>: Abbrev Number: 17 (DW_TAG_subprogram)
<91f> DW_AT_specification: <0x8a8> <91f> DW_AT_specification: <0x8a8>
<923> DW_AT_decl_file : 2 <923> DW_AT_decl_file : 2
<924> DW_AT_low_pc : (addr_index: 0x1): 0 <924> DW_AT_low_pc : (index: 0x1): 0
<925> DW_AT_high_pc : 0xf <925> DW_AT_high_pc : 0xf
<92d> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <92d> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<92f> DW_AT_object_pointer: <0x937> <92f> DW_AT_object_pointer: <0x937>
@ -903,7 +903,7 @@ Contents of the .debug_info.dwo section:
<94b> DW_AT_specification: <0x89b> <94b> DW_AT_specification: <0x89b>
<94f> DW_AT_decl_file : 2 <94f> DW_AT_decl_file : 2
<950> DW_AT_decl_line : 36 <950> DW_AT_decl_line : 36
<951> DW_AT_low_pc : (addr_index: 0x2): 0 <951> DW_AT_low_pc : (index: 0x2): 0
<952> DW_AT_high_pc : 0x20 <952> DW_AT_high_pc : 0x20
<95a> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <95a> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<95c> DW_AT_object_pointer: <0x964> <95c> DW_AT_object_pointer: <0x964>
@ -922,7 +922,7 @@ Contents of the .debug_info.dwo section:
<978> DW_AT_decl_line : 72 <978> DW_AT_decl_line : 72
<979> DW_AT_linkage_name: _Z3f10v <979> DW_AT_linkage_name: _Z3f10v
<981> DW_AT_type : <0x8b7> <981> DW_AT_type : <0x8b7>
<985> DW_AT_low_pc : (addr_index: 0x3): 0 <985> DW_AT_low_pc : (index: 0x3): 0
<986> DW_AT_high_pc : 0xb <986> DW_AT_high_pc : 0xb
<98e> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <98e> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<990> DW_AT_GNU_all_call_sites: 1 <990> DW_AT_GNU_all_call_sites: 1
@ -933,7 +933,7 @@ Contents of the .debug_info.dwo section:
<997> DW_AT_decl_line : 80 <997> DW_AT_decl_line : 80
<998> DW_AT_linkage_name: _Z4f11bPFivE <998> DW_AT_linkage_name: _Z4f11bPFivE
<9a5> DW_AT_type : <0x8b7> <9a5> DW_AT_type : <0x8b7>
<9a9> DW_AT_low_pc : (addr_index: 0x4): 0 <9a9> DW_AT_low_pc : (index: 0x4): 0
<9aa> DW_AT_high_pc : 0x14 <9aa> DW_AT_high_pc : 0x14
<9b2> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <9b2> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<9b4> DW_AT_GNU_all_tail_call_sites: 1 <9b4> DW_AT_GNU_all_tail_call_sites: 1
@ -954,7 +954,7 @@ Contents of the .debug_info.dwo section:
<9d3> DW_AT_specification: <0x8e0> <9d3> DW_AT_specification: <0x8e0>
<9d7> DW_AT_decl_file : 2 <9d7> DW_AT_decl_file : 2
<9d8> DW_AT_decl_line : 88 <9d8> DW_AT_decl_line : 88
<9d9> DW_AT_low_pc : (addr_index: 0x5): 0 <9d9> DW_AT_low_pc : (index: 0x5): 0
<9da> DW_AT_high_pc : 0xf <9da> DW_AT_high_pc : 0xf
<9e2> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <9e2> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<9e4> DW_AT_object_pointer: <0x9ec> <9e4> DW_AT_object_pointer: <0x9ec>
@ -976,7 +976,7 @@ Contents of the .debug_info.dwo section:
<a06> DW_AT_decl_line : 96 <a06> DW_AT_decl_line : 96
<a07> DW_AT_linkage_name: _Z3f13v <a07> DW_AT_linkage_name: _Z3f13v
<a0f> DW_AT_type : <0xa1e> <a0f> DW_AT_type : <0xa1e>
<a13> DW_AT_low_pc : (addr_index: 0x6): 0 <a13> DW_AT_low_pc : (index: 0x6): 0
<a14> DW_AT_high_pc : 0xb <a14> DW_AT_high_pc : 0xb
<a1c> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <a1c> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<a1e> DW_AT_GNU_all_call_sites: 1 <a1e> DW_AT_GNU_all_call_sites: 1
@ -990,7 +990,7 @@ Contents of the .debug_info.dwo section:
<a2a> DW_AT_decl_line : 104 <a2a> DW_AT_decl_line : 104
<a2b> DW_AT_linkage_name: _Z3f14v <a2b> DW_AT_linkage_name: _Z3f14v
<a33> DW_AT_type : <0xa42> <a33> DW_AT_type : <0xa42>
<a37> DW_AT_low_pc : (addr_index: 0x7): 0 <a37> DW_AT_low_pc : (index: 0x7): 0
<a38> DW_AT_high_pc : 0xb <a38> DW_AT_high_pc : 0xb
<a40> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <a40> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<a42> DW_AT_GNU_all_call_sites: 1 <a42> DW_AT_GNU_all_call_sites: 1
@ -1010,7 +1010,7 @@ Contents of the .debug_info.dwo section:
<a5b> DW_AT_decl_line : 112 <a5b> DW_AT_decl_line : 112
<a5c> DW_AT_linkage_name: _Z3f15v <a5c> DW_AT_linkage_name: _Z3f15v
<a64> DW_AT_type : <0xa73> <a64> DW_AT_type : <0xa73>
<a68> DW_AT_low_pc : (addr_index: 0x8): 0 <a68> DW_AT_low_pc : (index: 0x8): 0
<a69> DW_AT_high_pc : 0xb <a69> DW_AT_high_pc : 0xb
<a71> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <a71> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<a73> DW_AT_GNU_all_call_sites: 1 <a73> DW_AT_GNU_all_call_sites: 1
@ -1030,7 +1030,7 @@ Contents of the .debug_info.dwo section:
<a8f> DW_AT_decl_line : 127 <a8f> DW_AT_decl_line : 127
<a90> DW_AT_linkage_name: _Z3f18i <a90> DW_AT_linkage_name: _Z3f18i
<a98> DW_AT_type : <0xa42> <a98> DW_AT_type : <0xa42>
<a9c> DW_AT_low_pc : (addr_index: 0x9): 0 <a9c> DW_AT_low_pc : (index: 0x9): 0
<a9d> DW_AT_high_pc : 0x44 <a9d> DW_AT_high_pc : 0x44
<aa5> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <aa5> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<aa7> DW_AT_GNU_all_call_sites: 1 <aa7> DW_AT_GNU_all_call_sites: 1