summaryrefslogtreecommitdiffstats
path: root/libdw/dwarf.h
diff options
context:
space:
mode:
authorMark Wielaard <[email protected]>2017-11-15 12:13:38 +0100
committerMark Wielaard <[email protected]>2018-03-11 16:34:02 +0100
commit86fbef9bcadb98272e247a005fdc8d7fd0701179 (patch)
tree713bf5f761e9436e5c790fbad1c9f6c57ae73eeb /libdw/dwarf.h
parent06263dda990be6778a4beb33481cfd39ce60c623 (diff)
libdw: Add new DWARF5 Dwarf expression operations.
DW_OP_implicit_pointer, DW_OP_entry_value, DW_OP_const_type, DW_OP_regval_type, DW_OP_deref_type, DW_OP_xderef_type, DW_OP_convert and OP_reinterpret are implemented like their pre-DWARF5 GNU variants. DW_OP_xderef_type is implemented as a (non-CU relative) variant of DW_OP_deref_type. DW_OP_addrx and DW_OP_constx are recognized but not interpreted yet. Signed-off-by: Mark Wielaard <[email protected]>
Diffstat (limited to 'libdw/dwarf.h')
-rw-r--r--libdw/dwarf.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/libdw/dwarf.h b/libdw/dwarf.h
index d53a30d8..99cc1128 100644
--- a/libdw/dwarf.h
+++ b/libdw/dwarf.h
@@ -567,6 +567,17 @@ enum
DW_OP_implicit_value = 0x9e, /* DW_FORM_block follows opcode. */
DW_OP_stack_value = 0x9f, /* No operands, special like DW_OP_piece. */
+ DW_OP_implicit_pointer = 0xa0,
+ DW_OP_addrx = 0xa1,
+ DW_OP_constx = 0xa2,
+ DW_OP_entry_value = 0xa3,
+ DW_OP_const_type = 0xa4,
+ DW_OP_regval_type = 0xa5,
+ DW_OP_deref_type = 0xa6,
+ DW_OP_xderef_type = 0xa7,
+ DW_OP_convert = 0xa8,
+ DW_OP_reinterpret = 0xa9,
+
/* GNU extensions. */
DW_OP_GNU_push_tls_address = 0xe0,
DW_OP_GNU_uninit = 0xf0,