diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-07-03 08:53:50 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2009-07-03 08:53:50 +0000 |
commit | 3244e8f5d67de04911b76c9df98bdcb7e15c03fb (patch) | |
tree | e3eb48d9690c97d1d51e2db2249ffe3981ef0155 /binutils/dwarf.c | |
parent | d7edf97466276f62a67746d357e5331ca7e9e398 (diff) | |
download | gdb-3244e8f5d67de04911b76c9df98bdcb7e15c03fb.zip gdb-3244e8f5d67de04911b76c9df98bdcb7e15c03fb.tar.gz gdb-3244e8f5d67de04911b76c9df98bdcb7e15c03fb.tar.bz2 |
* dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value
and DW_OP_stack_value.
* dwarf.c (decode_location_expression): Handle DW_OP_stack_value
and DW_OP_implicit_value.
Diffstat (limited to 'binutils/dwarf.c')
-rw-r--r-- | binutils/dwarf.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 1a01e00..86bf2cb 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -1014,6 +1014,19 @@ decode_location_expression (unsigned char * data, data += bytes_read; break; + /* DWARF 4 extensions. */ + case DW_OP_stack_value: + printf ("DW_OP_stack_value"); + break; + + case DW_OP_implicit_value: + printf ("DW_OP_implicit_value"); + uvalue = read_leb128 (data, &bytes_read, 0); + data += bytes_read; + display_block (data, uvalue); + data += uvalue; + break; + /* GNU extensions. */ case DW_OP_GNU_push_tls_address: printf ("DW_OP_GNU_push_tls_address or DW_OP_HP_unknown"); |