mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-02 06:54:54 +00:00
* readelf.c (slurp_ia64_unwind_table): Correct 64-bit unwind table
read, and merge with 32-bit case.
This commit is contained in:
parent
59cdf84270
commit
c6a0c68946
@ -1,3 +1,9 @@
|
||||
2009-04-29 Alan Modra <amodra@bigpond.net.au>
|
||||
Denis Scherbakov <denis_scherbakov@yahoo.com>
|
||||
|
||||
* readelf.c (slurp_ia64_unwind_table): Correct 64-bit unwind table
|
||||
read, and merge with 32-bit case.
|
||||
|
||||
2009-04-27 Anthony Green <green@moxielogic.com>
|
||||
|
||||
* NEWS: Mention verilog support added to bfd.
|
||||
|
@ -4975,23 +4975,14 @@ slurp_ia64_unwind_table (FILE * file,
|
||||
|
||||
aux->table = xcmalloc (size / (3 * eh_addr_size), sizeof (aux->table[0]));
|
||||
tep = aux->table;
|
||||
for (tp = table; tp < table + size; tp += 3 * eh_addr_size, ++tep)
|
||||
for (tp = table; tp < table + size; ++tep)
|
||||
{
|
||||
tep->start.section = SHN_UNDEF;
|
||||
tep->end.section = SHN_UNDEF;
|
||||
tep->info.section = SHN_UNDEF;
|
||||
if (is_32bit_elf)
|
||||
{
|
||||
tep->start.offset = byte_get ((unsigned char *) tp + 0, 4);
|
||||
tep->end.offset = byte_get ((unsigned char *) tp + 4, 4);
|
||||
tep->info.offset = byte_get ((unsigned char *) tp + 8, 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
tep->start.offset = BYTE_GET ((unsigned char *) tp + 0);
|
||||
tep->end.offset = BYTE_GET ((unsigned char *) tp + 8);
|
||||
tep->info.offset = BYTE_GET ((unsigned char *) tp + 16);
|
||||
}
|
||||
tep->start.offset = byte_get (tp, eh_addr_size); tp += eh_addr_size;
|
||||
tep->end.offset = byte_get (tp, eh_addr_size); tp += eh_addr_size;
|
||||
tep->info.offset = byte_get (tp, eh_addr_size); tp += eh_addr_size;
|
||||
tep->start.offset += aux->seg_base;
|
||||
tep->end.offset += aux->seg_base;
|
||||
tep->info.offset += aux->seg_base;
|
||||
|
Loading…
x
Reference in New Issue
Block a user