From b3490b55d1673cf3a43f93c59c3d558f74edb3a3 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 5 Feb 2009 22:34:30 -0800 Subject: [PATCH] Fix DW_CFA_expression output in readelf. --- src/ChangeLog | 1 + src/readelf.c | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index e05aac10e..26056db46 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 diff --git a/src/readelf.c b/src/readelf.c index d687b7fdf..ccf2cb618 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; -- 2.47.3