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 | fbf70ebd4d07da93992e9c5d0b0d0229f4b5cdf7 (patch) | |
tree | bbd170d806a5246752534e879defe88f9c3699dc | |
parent | dac5beb4119317a0026c191af6ce47683317d00c (diff) | |
download | binutils-redhat-fbf70ebd4d07da93992e9c5d0b0d0229f4b5cdf7.tar.gz |
* 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.
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/dwarf.c | 13 | ||||
-rw-r--r-- | include/elf/ChangeLog | 5 | ||||
-rw-r--r-- | include/elf/dwarf2.h | 3 |
4 files changed, 26 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 9e505599f4..2baf105aa7 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2009-07-03 Jakub Jelinek <jakub@redhat.com> + + * dwarf.c (decode_location_expression): Handle DW_OP_stack_value + and DW_OP_implicit_value. + 2009-07-01 Nick Clifton <nickc@redhat.com> PR 6714 diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 1a01e009a5..86bf2cb802 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"); diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 99805f1c72..640824e5a0 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,8 @@ +2009-07-03 Jakub Jelinek <jakub@redhat.com> + + * dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value + and DW_OP_stack_value. + 2009-06-22 Alan Modra <amodra@bigpond.net.au> * ppc.h (R_PPC_RELAX*): Define as enum. diff --git a/include/elf/dwarf2.h b/include/elf/dwarf2.h index a7448dc7cf..a22558db64 100644 --- a/include/elf/dwarf2.h +++ b/include/elf/dwarf2.h @@ -541,6 +541,9 @@ enum dwarf_location_atom DW_OP_form_tls_address = 0x9b, DW_OP_call_frame_cfa = 0x9c, DW_OP_bit_piece = 0x9d, + /* DWARF 4 extensions. */ + DW_OP_implicit_value = 0x9e, + DW_OP_stack_value = 0x9f, /* GNU extensions. */ DW_OP_GNU_push_tls_address = 0xe0, DW_OP_GNU_uninit = 0xf0, |