diff options
author | Tristan Gingold <gingold@adacore.com> | 2011-05-10 09:08:37 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2011-05-10 09:08:37 +0000 |
commit | 7e665af3af6fdf33dfcbecaa95ccdaa34b285008 (patch) | |
tree | 291b72ed707360d7aafc0d1163a0623de97f393c /binutils | |
parent | bc989cdc1ce4e96e07fcc668742251f3315365ec (diff) | |
download | gdb-7e665af3af6fdf33dfcbecaa95ccdaa34b285008.zip gdb-7e665af3af6fdf33dfcbecaa95ccdaa34b285008.tar.gz gdb-7e665af3af6fdf33dfcbecaa95ccdaa34b285008.tar.bz2 |
2011-05-10 Tristan Gingold <gingold@adacore.com>
* dwarf.c (process_extended_line_op): Dump unknown records.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 4 | ||||
-rw-r--r-- | binutils/dwarf.c | 24 |
2 files changed, 20 insertions, 8 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index bd591b0..e49ec38 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2011-05-10 Tristan Gingold <gingold@adacore.com> + + * dwarf.c (process_extended_line_op): Dump unknown records. + 2011-05-07 Alan Modra <amodra@gmail.com> PR binutils/12632 diff --git a/binutils/dwarf.c b/binutils/dwarf.c index b240af6..5102aec 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -376,14 +376,22 @@ process_extended_line_op (unsigned char *data, int is_stmt) break; default: - if (op_code >= DW_LNE_lo_user - /* The test against DW_LNW_hi_user is redundant due to - the limited range of the unsigned char data type used - for op_code. */ - /*&& op_code <= DW_LNE_hi_user*/) - printf (_("user defined: length %d\n"), len - bytes_read); - else - printf (_("UNKNOWN: length %d\n"), len - bytes_read); + { + unsigned int rlen = len - bytes_read - 1; + + if (op_code >= DW_LNE_lo_user + /* The test against DW_LNW_hi_user is redundant due to + the limited range of the unsigned char data type used + for op_code. */ + /*&& op_code <= DW_LNE_hi_user*/) + printf (_("user defined: ")); + else + printf (_("UNKNOWN: ")); + printf (_("length %d ["), rlen); + for (; rlen; rlen--) + printf (" %02x", *data++); + printf ("]\n"); + } break; } |