summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-02-05 22:34:30 -0800
committerUlrich Drepper <drepper@redhat.com>2009-02-05 22:34:30 -0800
commitb3490b55d1673cf3a43f93c59c3d558f74edb3a3 (patch)
treeb929ff7cf8073b7ef16c1f55b0f642f66be32190
parent8cbc8e61a6835262ab6f1a1be316956351ed089f (diff)
downloadelfutils-b3490b55d1673cf3a43f93c59c3d558f74edb3a3.tar.gz
Fix DW_CFA_expression output in readelf.
-rw-r--r--src/ChangeLog1
-rw-r--r--src/readelf.c5
2 files changed, 4 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index e05aac10..26056db4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -3,6 +3,7 @@
* objdump.c (show_relocs_x): Minor cleanups.
* readelf.c (print_cfa_program): Correct a few labels.
+ Print first DW_CFA_expression parameter as register.
2009-02-01 Ulrich Drepper <drepper@redhat.com>
diff --git a/src/readelf.c b/src/readelf.c
index d687b7fd..ccf2cb61 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -4335,13 +4335,14 @@ print_cfa_program (const unsigned char *readp, const unsigned char *const endp,
printf (" def_cfa_expression %" PRIu64 "\n", op1);
print_ops (dwflmod, dbg, 10, 10, ptr_size, op1, readp);
readp += op1;
- error (1,0,"need to implement BLOCK reading");
+ //error (1,0,"need to implement BLOCK reading");
break;
case DW_CFA_expression:
// XXX overflow check
get_uleb128 (op1, readp);
get_uleb128 (op2, readp); /* Length of DW_FORM_block. */
- printf (" expression %" PRIu64 "\n", op1);
+ printf (" expression r%" PRIu64 " (%s) \n",
+ op1, regname (op1));
print_ops (dwflmod, dbg, 10, 10, ptr_size, op2, readp);
readp += op2;
break;