]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
2005-10-10 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 10 Oct 2005 18:42:11 +0000 (18:42 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 10 Oct 2005 18:42:11 +0000 (18:42 +0000)
PR binutils/1436
* readelf.c (ABSADDR): New.
(dump_ia64_unwind): Use ABSADDR to get the unwind info address.

binutils/ChangeLog
binutils/readelf.c

index 47a74c219034d42b3879251a793843a594089a96..fd20dd30fa98b4c12802b7ae21827753c634a2bd 100644 (file)
@@ -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
index 04e69d6976ccce71a14c578225ddf8728514f423..d076a652dd223dcc6e13fcd6669cd45289b31e93 100644 (file)
@@ -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",