Make the printing of DW_OP_GNU_implicit_pointer consistent with other
operations that have a DIE offset as argument.

Before:
 [  6e4a]        formal_parameter
                 abstract_origin      (ref4) [  616a]
                 location             (exprloc)
                  [   0] GNU_implicit_pointer 0x6dbe, +0

After:
 [  6e4a]        formal_parameter
                 abstract_origin      (ref4) [  616a]
                 location             (exprloc)
                  [   0] GNU_implicit_pointer [  6dbe] +0

Signed-off-by: Mark Wielaard <[email protected]>
---
 src/ChangeLog |    5 +++++
 src/readelf.c |    2 +-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 5c3bf65..8373b70 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2013-05-06  Mark Wielaard  <[email protected]>
+
+       * readelf.c (print_ops): Format first DW_OP_GNU_implicit_pointer
+       argument as DIE offset.
+
 2013-04-24  Mark Wielaard  <[email protected]>
 
        * Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
diff --git a/src/readelf.c b/src/readelf.c
index d9527c6..236d088 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -4019,7 +4019,7 @@ print_ops (Dwfl_Module *dwflmod, Dwarf *dbg, int indent, 
int indentrest,
          /* Byte offset operand.  */
          get_sleb128 (sleb, data); /* XXX check overrun */
 
-         printf ("%*s[%4" PRIuMAX "] %s %#" PRIxMAX ", %+" PRId64 "\n",
+         printf ("%*s[%4" PRIuMAX "] %s [%6" PRIxMAX "] %+" PRId64 "\n",
                  indent, "", (intmax_t) offset,
                  op_name, (uintmax_t) addr, sleb);
          CONSUME (data - start);
-- 
1.7.1

_______________________________________________
elfutils-devel mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/elfutils-devel

Reply via email to