mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-12 04:31:28 +00:00
Add more detection of 64-bit DWARF sections
This commit is contained in:
parent
d32820f2fa
commit
428409d521
@ -1,3 +1,12 @@
|
||||
2001-10-02 Nick Clifton <nickc@cambridge.redhat.com>
|
||||
|
||||
* readelf.c (display_debug_line, display_debug_pubnames,
|
||||
display_debug_info, display_debug_frames): Detect and warn
|
||||
about 64-bit format entries.
|
||||
(display_debug_aranges): Reword 64-bit warning.
|
||||
(debug_displays): Add .debug_pubtypes as a known, but not yet
|
||||
supported, debug section.
|
||||
|
||||
2001-10-02 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* coffdump.c (PROGRAM_VERSION): Delete.
|
||||
|
@ -5761,6 +5761,13 @@ display_debug_lines (section, start, file)
|
||||
|
||||
/* Check the length of the block. */
|
||||
info.li_length = BYTE_GET (external->li_length);
|
||||
|
||||
if (info.li_length == 0xffffffff)
|
||||
{
|
||||
warn (_("64-bit DWARF line info is not supported yet.\n"));
|
||||
break;
|
||||
}
|
||||
|
||||
if (info.li_length + sizeof (external->li_length) > section->sh_size)
|
||||
{
|
||||
warn
|
||||
@ -5989,6 +5996,12 @@ display_debug_pubnames (section, start, file)
|
||||
data = start + sizeof (* external);
|
||||
start += pubnames.pn_length + sizeof (external->pn_length);
|
||||
|
||||
if (pubnames.pn_length == 0xffffffff)
|
||||
{
|
||||
warn (_("64-bit DWARF pubnames are not supported yet.\n"));
|
||||
break;
|
||||
}
|
||||
|
||||
if (pubnames.pn_version != 2)
|
||||
{
|
||||
static int warned = 0;
|
||||
@ -7183,6 +7196,12 @@ display_debug_info (section, start, file)
|
||||
compunit.cu_abbrev_offset = BYTE_GET (external->cu_abbrev_offset);
|
||||
compunit.cu_pointer_size = BYTE_GET (external->cu_pointer_size);
|
||||
|
||||
if (compunit.cu_length == 0xffffffff)
|
||||
{
|
||||
warn (_("64-bit DWARF debug info is not supported yet.\n"));
|
||||
break;
|
||||
}
|
||||
|
||||
/* Check for RELA relocations in the abbrev_offset address, and
|
||||
apply them. */
|
||||
for (relsec = section_headers;
|
||||
@ -7378,7 +7397,7 @@ display_debug_aranges (section, start, file)
|
||||
|
||||
if (arange.ar_length == 0xffffffff)
|
||||
{
|
||||
warn (_("DWARF64 aranges not currently supported.\n"));
|
||||
warn (_("64-bit DWARF aranges are not supported yet.\n"));
|
||||
break;
|
||||
}
|
||||
|
||||
@ -7597,6 +7616,12 @@ display_debug_frames (section, start, file)
|
||||
if (length == 0)
|
||||
return 1;
|
||||
|
||||
if (length == 0xffffffff)
|
||||
{
|
||||
warn (_("64-bit DWARF format frames are not supported yet.\n"));
|
||||
break;
|
||||
}
|
||||
|
||||
block_end = saved_start + length + 4;
|
||||
cie_id = byte_get (start, 4); start += 4;
|
||||
|
||||
@ -7705,7 +7730,7 @@ display_debug_frames (section, start, file)
|
||||
|
||||
look_for = is_eh ? start - 4 - cie_id : section_start + cie_id;
|
||||
|
||||
for (cie=chunks; cie ; cie = cie->next)
|
||||
for (cie = chunks; cie ; cie = cie->next)
|
||||
if (cie->chunk_start == look_for)
|
||||
break;
|
||||
|
||||
@ -8147,6 +8172,7 @@ debug_displays[] =
|
||||
{ ".debug_frame", display_debug_frames, NULL },
|
||||
{ ".eh_frame", display_debug_frames, NULL },
|
||||
{ ".debug_macinfo", display_debug_macinfo, NULL },
|
||||
{ ".debug_pubtypes", display_debug_not_supported, NULL },
|
||||
{ ".debug_str", display_debug_not_supported, NULL },
|
||||
{ ".debug_static_func", display_debug_not_supported, NULL },
|
||||
{ ".debug_static_vars", display_debug_not_supported, NULL },
|
||||
|
Loading…
x
Reference in New Issue
Block a user