diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2005-10-10 18:42:11 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2005-10-10 18:42:11 +0000 |
commit | 1949de15f099f04be574805cc9506f08146cad67 (patch) | |
tree | 1ff8362ab790136fcefffa99b35584d0e48f466e | |
parent | fa4ec3f59fa0afbc6c674951738685ca4fa0000b (diff) | |
download | gdb-1949de15f099f04be574805cc9506f08146cad67.zip gdb-1949de15f099f04be574805cc9506f08146cad67.tar.gz gdb-1949de15f099f04be574805cc9506f08146cad67.tar.bz2 |
2005-10-10 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/1436
* readelf.c (ABSADDR): New.
(dump_ia64_unwind): Use ABSADDR to get the unwind info address.
-rw-r--r-- | binutils/ChangeLog | 6 | ||||
-rw-r--r-- | binutils/readelf.c | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 47a74c2..fd20dd3 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2005-10-10 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/1436 + * readelf.c (ABSADDR): New. + (dump_ia64_unwind): Use ABSADDR to get the unwind info address. + 2005-10-10 Thomas Weidenmueller <w3seek@reactos.com> * resbin.c (res_to_bin_accelerator): Place the terminating NUL at diff --git a/binutils/readelf.c b/binutils/readelf.c index 04e69d6..d076a65 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -4580,6 +4580,11 @@ struct absaddr bfd_vma offset; }; +#define ABSADDR(a) \ + ((a).section \ + ? section_headers [(a).section].sh_addr + (a).offset \ + : (a).offset) + struct ia64_unw_aux_info { struct ia64_unw_table_entry @@ -4672,7 +4677,7 @@ dump_ia64_unwind (struct ia64_unw_aux_info *aux) printf ("], info at +0x%lx\n", (unsigned long) (tp->info.offset - aux->seg_base)); - head = aux->info + (tp->info.offset - aux->info_addr); + head = aux->info + (ABSADDR (tp->info) - aux->info_addr); stamp = byte_get ((unsigned char *) head, sizeof (stamp)); printf (" v%u, flags=0x%lx (%s%s), len=%lu bytes\n", |