mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-26 20:36:01 +00:00
* dwarf.c (read_and_display_attr_value): Handle
DW_FORM_GNU_ref_alt and DW_FORM_GNU_strp_alt. (display_debug_macro): Handle DW_MACRO_GNU_define_indirect_alt, DW_MACRO_GNU_undef_indirect_alt and DW_MACRO_GNU_transparent_include_alt.
This commit is contained in:
parent
9761def577
commit
a081f3cd85
@ -1,3 +1,11 @@
|
||||
2012-06-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* dwarf.c (read_and_display_attr_value): Handle
|
||||
DW_FORM_GNU_ref_alt and DW_FORM_GNU_strp_alt.
|
||||
(display_debug_macro): Handle DW_MACRO_GNU_define_indirect_alt,
|
||||
DW_MACRO_GNU_undef_indirect_alt and
|
||||
DW_MACRO_GNU_transparent_include_alt.
|
||||
|
||||
2012-06-01 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* addr2line.c (translate_addresses): Truncate input addresses to
|
||||
|
@ -1284,6 +1284,8 @@ read_and_display_attr_value (unsigned long attribute,
|
||||
|
||||
case DW_FORM_strp:
|
||||
case DW_FORM_sec_offset:
|
||||
case DW_FORM_GNU_ref_alt:
|
||||
case DW_FORM_GNU_strp_alt:
|
||||
uvalue = byte_get (data, offset_size);
|
||||
data += offset_size;
|
||||
break;
|
||||
@ -1349,6 +1351,11 @@ read_and_display_attr_value (unsigned long attribute,
|
||||
printf (" <0x%s>", dwarf_vmatoa ("x",uvalue));
|
||||
break;
|
||||
|
||||
case DW_FORM_GNU_ref_alt:
|
||||
if (!do_loc)
|
||||
printf (" <alt 0x%s>", dwarf_vmatoa ("x",uvalue));
|
||||
break;
|
||||
|
||||
case DW_FORM_ref1:
|
||||
case DW_FORM_ref2:
|
||||
case DW_FORM_ref4:
|
||||
@ -1458,6 +1465,12 @@ read_and_display_attr_value (unsigned long attribute,
|
||||
}
|
||||
break;
|
||||
|
||||
case DW_FORM_GNU_strp_alt:
|
||||
if (!do_loc)
|
||||
printf (_(" (alt indirect string, offset: 0x%s)"),
|
||||
dwarf_vmatoa ("x", uvalue));
|
||||
break;
|
||||
|
||||
case DW_FORM_indirect:
|
||||
/* Handled above. */
|
||||
break;
|
||||
@ -1796,7 +1809,8 @@ read_and_display_attr_value (unsigned long attribute,
|
||||
|
||||
case DW_AT_import:
|
||||
{
|
||||
if (form == DW_FORM_ref_sig8)
|
||||
if (form == DW_FORM_ref_sig8
|
||||
|| form == DW_FORM_GNU_ref_alt)
|
||||
break;
|
||||
|
||||
if (form == DW_FORM_ref1
|
||||
@ -3629,6 +3643,31 @@ display_debug_macro (struct dwarf_section *section,
|
||||
(unsigned long) offset);
|
||||
break;
|
||||
|
||||
case DW_MACRO_GNU_define_indirect_alt:
|
||||
lineno = read_leb128 (curr, &bytes_read, 0);
|
||||
curr += bytes_read;
|
||||
offset = byte_get (curr, offset_size);
|
||||
curr += offset_size;
|
||||
printf (_(" DW_MACRO_GNU_define_indirect_alt - lineno : %d macro offset : 0x%lx\n"),
|
||||
lineno, (unsigned long) offset);
|
||||
break;
|
||||
|
||||
case DW_MACRO_GNU_undef_indirect_alt:
|
||||
lineno = read_leb128 (curr, &bytes_read, 0);
|
||||
curr += bytes_read;
|
||||
offset = byte_get (curr, offset_size);
|
||||
curr += offset_size;
|
||||
printf (_(" DW_MACRO_GNU_undef_indirect_alt - lineno : %d macro offset : 0x%lx\n"),
|
||||
lineno, (unsigned long) offset);
|
||||
break;
|
||||
|
||||
case DW_MACRO_GNU_transparent_include_alt:
|
||||
offset = byte_get (curr, offset_size);
|
||||
curr += offset_size;
|
||||
printf (_(" DW_MACRO_GNU_transparent_include_alt - offset : 0x%lx\n"),
|
||||
(unsigned long) offset);
|
||||
break;
|
||||
|
||||
default:
|
||||
if (extended_ops == NULL || extended_ops[op] == NULL)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user