diff options
author | Petr Machata <pmachata@redhat.com> | 2009-09-08 13:03:06 +0200 |
---|---|---|
committer | Petr Machata <pmachata@redhat.com> | 2009-09-08 13:03:06 +0200 |
commit | d3d102e6c066b3e432bbec1c3e9a18fee9ccc82c (patch) | |
tree | e2fceca9b1b5c92e91d51a18e56a6d1c9c63848d | |
parent | c587c8f5fb55c71a463e9e75f28787c366501e83 (diff) |
expr_opcodes.h will hold more general information about opcodes
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/dwarf-opcodes.h | 204 | ||||
-rw-r--r-- | src/dwarflint.c | 15 | ||||
-rw-r--r-- | src/expr_opcodes.h | 154 |
4 files changed, 217 insertions, 158 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index bf4089b7..e8c14bc1 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -99,7 +99,7 @@ readelf_SOURCES = readelf.c dwarfstrings.c noinst_HEADERS = ld.h symbolhash.h sectionhash.h versionhash.h \ ldscript.h xelf.h unaligned.h dwarfstrings.h \ - expr_opcodes.h + dwarf-opcodes.h EXTRA_DIST = elf32-i386.script libld_elf_i386.map $(ld_modules) arlib.h \ debugpred.h diff --git a/src/dwarf-opcodes.h b/src/dwarf-opcodes.h new file mode 100644 index 00000000..739676b2 --- /dev/null +++ b/src/dwarf-opcodes.h @@ -0,0 +1,204 @@ +/* + Copyright (C) 2009 Red Hat, Inc. + This file is part of Red Hat elfutils. + + Red Hat elfutils is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by the + Free Software Foundation; version 2 of the License. + + Red Hat elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License along + with Red Hat elfutils; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. + + In addition, as a special exception, Red Hat, Inc. gives You the + additional right to link the code of Red Hat elfutils with code licensed + under any Open Source Initiative certified open source license + (http://www.opensource.org/licenses/index.php) which requires the + distribution of source code with any binary distribution and to + distribute linked combinations of the two. Non-GPL Code permitted under + this exception must only link to the code of Red Hat elfutils through + those well defined interfaces identified in the file named EXCEPTION + found in the source code files (the "Approved Interfaces"). The files + of Non-GPL Code may instantiate templates or use macros or inline + functions from the Approved Interfaces without causing the resulting + work to be covered by the GNU General Public License. Only Red Hat, + Inc. may make changes or additions to the list of Approved Interfaces. + Red Hat's grant of this exception is conditioned upon your not adding + any new exceptions. If you wish to add a new Approved Interface or + exception, please contact Red Hat. You must obey the GNU General Public + License in all respects for all of the Red Hat elfutils code and other + code used in conjunction with Red Hat elfutils except the Non-GPL Code + covered by this exception. If you modify this file, you may extend this + exception to your version of the file, but you are not obligated to do + so. If you do not wish to provide this exception without modification, + you must delete this exception statement from your version and license + this file solely under the GPL without exception. + + Red Hat elfutils is an included package of the Open Invention Network. + An included package of the Open Invention Network is a package for which + Open Invention Network licensees cross-license their patents. No patent + license is granted, either expressly or impliedly, by designation as an + included package. Should you wish to participate in the Open Invention + Network licensing program, please visit www.openinventionnetwork.com + <http://www.openinventionnetwork.com>. */ + +#define DW_OP_OPERANDS \ + DW_OP_1 (DW_OP_addr, DW_FORM_addr) \ + DW_OP_0 (DW_OP_deref) \ + DW_OP_0 (DW_OP_xderef) \ + DW_OP_1 (DW_OP_deref_size, DW_FORM_data1) \ + DW_OP_1 (DW_OP_xderef_size, DW_FORM_data1) \ + DW_OP_1 (DW_OP_const1u, DW_FORM_data1) \ + DW_OP_1 (DW_OP_const1s, DW_FORM_data1) \ + DW_OP_1 (DW_OP_const2u, DW_FORM_data2) \ + DW_OP_1 (DW_OP_const2s, DW_FORM_data2) \ + DW_OP_1 (DW_OP_const4u, DW_FORM_data4) \ + DW_OP_1 (DW_OP_const4s, DW_FORM_data4) \ + DW_OP_1 (DW_OP_const8u, DW_FORM_data8) \ + DW_OP_1 (DW_OP_const8s, DW_FORM_data8) \ + DW_OP_1 (DW_OP_constu, DW_FORM_udata) \ + DW_OP_1 (DW_OP_consts, DW_FORM_sdata) \ + DW_OP_0 (DW_OP_dup) \ + DW_OP_0 (DW_OP_drop) \ + DW_OP_0 (DW_OP_over) \ + DW_OP_1 (DW_OP_pick, DW_FORM_data1) \ + DW_OP_0 (DW_OP_swap) \ + DW_OP_0 (DW_OP_rot) \ + DW_OP_0 (DW_OP_abs) \ + DW_OP_0 (DW_OP_and) \ + DW_OP_0 (DW_OP_div) \ + DW_OP_0 (DW_OP_minus) \ + DW_OP_0 (DW_OP_mod) \ + DW_OP_0 (DW_OP_mul) \ + DW_OP_0 (DW_OP_neg) \ + DW_OP_0 (DW_OP_not) \ + DW_OP_0 (DW_OP_or) \ + DW_OP_0 (DW_OP_plus) \ + DW_OP_1 (DW_OP_plus_uconst, DW_FORM_udata) \ + DW_OP_0 (DW_OP_shl) \ + DW_OP_0 (DW_OP_shr) \ + DW_OP_0 (DW_OP_shra) \ + DW_OP_0 (DW_OP_xor) \ + DW_OP_1 (DW_OP_bra, DW_FORM_data2) \ + DW_OP_0 (DW_OP_eq) \ + DW_OP_0 (DW_OP_ge) \ + DW_OP_0 (DW_OP_gt) \ + DW_OP_0 (DW_OP_le) \ + DW_OP_0 (DW_OP_lt) \ + DW_OP_0 (DW_OP_ne) \ + DW_OP_1 (DW_OP_skip, DW_FORM_data2) \ + DW_OP_0 (DW_OP_lit0) \ + DW_OP_0 (DW_OP_lit1) \ + DW_OP_0 (DW_OP_lit2) \ + DW_OP_0 (DW_OP_lit3) \ + DW_OP_0 (DW_OP_lit4) \ + DW_OP_0 (DW_OP_lit5) \ + DW_OP_0 (DW_OP_lit6) \ + DW_OP_0 (DW_OP_lit7) \ + DW_OP_0 (DW_OP_lit8) \ + DW_OP_0 (DW_OP_lit9) \ + DW_OP_0 (DW_OP_lit10) \ + DW_OP_0 (DW_OP_lit11) \ + DW_OP_0 (DW_OP_lit12) \ + DW_OP_0 (DW_OP_lit13) \ + DW_OP_0 (DW_OP_lit14) \ + DW_OP_0 (DW_OP_lit15) \ + DW_OP_0 (DW_OP_lit16) \ + DW_OP_0 (DW_OP_lit17) \ + DW_OP_0 (DW_OP_lit18) \ + DW_OP_0 (DW_OP_lit19) \ + DW_OP_0 (DW_OP_lit20) \ + DW_OP_0 (DW_OP_lit21) \ + DW_OP_0 (DW_OP_lit22) \ + DW_OP_0 (DW_OP_lit23) \ + DW_OP_0 (DW_OP_lit24) \ + DW_OP_0 (DW_OP_lit25) \ + DW_OP_0 (DW_OP_lit26) \ + DW_OP_0 (DW_OP_lit27) \ + DW_OP_0 (DW_OP_lit28) \ + DW_OP_0 (DW_OP_lit29) \ + DW_OP_0 (DW_OP_lit30) \ + DW_OP_0 (DW_OP_lit31) \ + DW_OP_0 (DW_OP_reg0) \ + DW_OP_0 (DW_OP_reg1) \ + DW_OP_0 (DW_OP_reg2) \ + DW_OP_0 (DW_OP_reg3) \ + DW_OP_0 (DW_OP_reg4) \ + DW_OP_0 (DW_OP_reg5) \ + DW_OP_0 (DW_OP_reg6) \ + DW_OP_0 (DW_OP_reg7) \ + DW_OP_0 (DW_OP_reg8) \ + DW_OP_0 (DW_OP_reg9) \ + DW_OP_0 (DW_OP_reg10) \ + DW_OP_0 (DW_OP_reg11) \ + DW_OP_0 (DW_OP_reg12) \ + DW_OP_0 (DW_OP_reg13) \ + DW_OP_0 (DW_OP_reg14) \ + DW_OP_0 (DW_OP_reg15) \ + DW_OP_0 (DW_OP_reg16) \ + DW_OP_0 (DW_OP_reg17) \ + DW_OP_0 (DW_OP_reg18) \ + DW_OP_0 (DW_OP_reg19) \ + DW_OP_0 (DW_OP_reg20) \ + DW_OP_0 (DW_OP_reg21) \ + DW_OP_0 (DW_OP_reg22) \ + DW_OP_0 (DW_OP_reg23) \ + DW_OP_0 (DW_OP_reg24) \ + DW_OP_0 (DW_OP_reg25) \ + DW_OP_0 (DW_OP_reg26) \ + DW_OP_0 (DW_OP_reg27) \ + DW_OP_0 (DW_OP_reg28) \ + DW_OP_0 (DW_OP_reg29) \ + DW_OP_0 (DW_OP_reg30) \ + DW_OP_0 (DW_OP_reg31) \ + DW_OP_1 (DW_OP_breg0, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg1, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg2, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg3, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg4, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg5, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg6, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg7, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg8, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg9, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg10, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg11, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg12, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg13, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg14, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg15, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg16, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg17, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg18, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg19, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg20, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg21, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg22, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg23, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg24, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg25, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg26, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg27, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg28, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg29, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg30, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_breg31, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_regx, DW_FORM_udata) \ + DW_OP_1 (DW_OP_fbreg, DW_FORM_sdata) \ + DW_OP_2 (DW_OP_bregx, DW_FORM_udata, DW_FORM_sdata) \ + DW_OP_1 (DW_OP_piece, DW_FORM_udata) \ + DW_OP_0 (DW_OP_nop) \ + DW_OP_0 (DW_OP_push_object_address) \ + DW_OP_1 (DW_OP_call2, DW_FORM_data2) \ + DW_OP_1 (DW_OP_call4, DW_FORM_data4) \ + DW_OP_1 (DW_OP_call_ref, DW_FORM_addr) \ + DW_OP_0 (DW_OP_form_tls_address) \ + DW_OP_0 (DW_OP_GNU_push_tls_address) \ + DW_OP_0 (DW_OP_call_frame_cfa) \ + DW_OP_2 (DW_OP_bit_piece, DW_FORM_udata, DW_FORM_udata) \ + DW_OP_0 (DW_OP_GNU_uninit) diff --git a/src/dwarflint.c b/src/dwarflint.c index 64307bbf..da29c0fe 100644 --- a/src/dwarflint.c +++ b/src/dwarflint.c @@ -51,6 +51,7 @@ #include "dwarfstrings.h" #include "dwarflint.h" #include "dwarflint-readctx.h" +#include "dwarf-opcodes.h" /* Bug report address. */ const char *argp_program_bug_address = PACKAGE_BUGREPORT; @@ -4114,10 +4115,18 @@ get_location_opcode_operands (uint8_t opcode, uint8_t *op1, uint8_t *op2) { switch (opcode) { -#define DEF_DW_OP(OPCODE, OP1, OP2) \ +#define DW_OP_G(OPCODE, OP1, OP2) \ case OPCODE: *op1 = OP1; *op2 = OP2; return true; -# include "expr_opcodes.h" -#undef DEF_DW_OP +#define DW_OP_0(OPCODE) DW_OP_G(OPCODE, 0, 0) +#define DW_OP_1(OPCODE, OP1) DW_OP_G(OPCODE, OP1, 0) +#define DW_OP_2(OPCODE, OP1, OP2) DW_OP_G(OPCODE, OP1, OP2) + + DW_OP_OPERANDS + +#undef DEF_DW_OP_2 +#undef DEF_DW_OP_1 +#undef DEF_DW_OP_0 +#undef DEF_DW_OP_G default: return false; }; diff --git a/src/expr_opcodes.h b/src/expr_opcodes.h deleted file mode 100644 index b38f218a..00000000 --- a/src/expr_opcodes.h +++ /dev/null @@ -1,154 +0,0 @@ -DEF_DW_OP (DW_OP_addr, DW_FORM_addr, 0) -DEF_DW_OP (DW_OP_deref, 0, 0) -DEF_DW_OP (DW_OP_xderef, 0, 0) -DEF_DW_OP (DW_OP_deref_size, DW_FORM_data1, 0) -DEF_DW_OP (DW_OP_xderef_size, DW_FORM_data1, 0) -DEF_DW_OP (DW_OP_const1u, DW_FORM_data1, 0) -DEF_DW_OP (DW_OP_const1s, DW_FORM_data1, 0) -DEF_DW_OP (DW_OP_const2u, DW_FORM_data2, 0) -DEF_DW_OP (DW_OP_const2s, DW_FORM_data2, 0) -DEF_DW_OP (DW_OP_const4u, DW_FORM_data4, 0) -DEF_DW_OP (DW_OP_const4s, DW_FORM_data4, 0) -DEF_DW_OP (DW_OP_const8u, DW_FORM_data8, 0) -DEF_DW_OP (DW_OP_const8s, DW_FORM_data8, 0) -DEF_DW_OP (DW_OP_constu, DW_FORM_udata, 0) -DEF_DW_OP (DW_OP_consts, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_dup, 0, 0) -DEF_DW_OP (DW_OP_drop, 0, 0) -DEF_DW_OP (DW_OP_over, 0, 0) -DEF_DW_OP (DW_OP_pick, DW_FORM_data1, 0) -DEF_DW_OP (DW_OP_swap, 0, 0) -DEF_DW_OP (DW_OP_rot, 0, 0) -DEF_DW_OP (DW_OP_abs, 0, 0) -DEF_DW_OP (DW_OP_and, 0, 0) -DEF_DW_OP (DW_OP_div, 0, 0) -DEF_DW_OP (DW_OP_minus, 0, 0) -DEF_DW_OP (DW_OP_mod, 0, 0) -DEF_DW_OP (DW_OP_mul, 0, 0) -DEF_DW_OP (DW_OP_neg, 0, 0) -DEF_DW_OP (DW_OP_not, 0, 0) -DEF_DW_OP (DW_OP_or, 0, 0) -DEF_DW_OP (DW_OP_plus, 0, 0) -DEF_DW_OP (DW_OP_plus_uconst, DW_FORM_udata, 0) -DEF_DW_OP (DW_OP_shl, 0, 0) -DEF_DW_OP (DW_OP_shr, 0, 0) -DEF_DW_OP (DW_OP_shra, 0, 0) -DEF_DW_OP (DW_OP_xor, 0, 0) -DEF_DW_OP (DW_OP_bra, DW_FORM_data2, 0) -DEF_DW_OP (DW_OP_eq, 0, 0) -DEF_DW_OP (DW_OP_ge, 0, 0) -DEF_DW_OP (DW_OP_gt, 0, 0) -DEF_DW_OP (DW_OP_le, 0, 0) -DEF_DW_OP (DW_OP_lt, 0, 0) -DEF_DW_OP (DW_OP_ne, 0, 0) -DEF_DW_OP (DW_OP_skip, DW_FORM_data2, 0) -DEF_DW_OP (DW_OP_lit0, 0, 0) -DEF_DW_OP (DW_OP_lit1, 0, 0) -DEF_DW_OP (DW_OP_lit2, 0, 0) -DEF_DW_OP (DW_OP_lit3, 0, 0) -DEF_DW_OP (DW_OP_lit4, 0, 0) -DEF_DW_OP (DW_OP_lit5, 0, 0) -DEF_DW_OP (DW_OP_lit6, 0, 0) -DEF_DW_OP (DW_OP_lit7, 0, 0) -DEF_DW_OP (DW_OP_lit8, 0, 0) -DEF_DW_OP (DW_OP_lit9, 0, 0) -DEF_DW_OP (DW_OP_lit10, 0, 0) -DEF_DW_OP (DW_OP_lit11, 0, 0) -DEF_DW_OP (DW_OP_lit12, 0, 0) -DEF_DW_OP (DW_OP_lit13, 0, 0) -DEF_DW_OP (DW_OP_lit14, 0, 0) -DEF_DW_OP (DW_OP_lit15, 0, 0) -DEF_DW_OP (DW_OP_lit16, 0, 0) -DEF_DW_OP (DW_OP_lit17, 0, 0) -DEF_DW_OP (DW_OP_lit18, 0, 0) -DEF_DW_OP (DW_OP_lit19, 0, 0) -DEF_DW_OP (DW_OP_lit20, 0, 0) -DEF_DW_OP (DW_OP_lit21, 0, 0) -DEF_DW_OP (DW_OP_lit22, 0, 0) -DEF_DW_OP (DW_OP_lit23, 0, 0) -DEF_DW_OP (DW_OP_lit24, 0, 0) -DEF_DW_OP (DW_OP_lit25, 0, 0) -DEF_DW_OP (DW_OP_lit26, 0, 0) -DEF_DW_OP (DW_OP_lit27, 0, 0) -DEF_DW_OP (DW_OP_lit28, 0, 0) -DEF_DW_OP (DW_OP_lit29, 0, 0) -DEF_DW_OP (DW_OP_lit30, 0, 0) -DEF_DW_OP (DW_OP_lit31, 0, 0) -DEF_DW_OP (DW_OP_reg0, 0, 0) -DEF_DW_OP (DW_OP_reg1, 0, 0) -DEF_DW_OP (DW_OP_reg2, 0, 0) -DEF_DW_OP (DW_OP_reg3, 0, 0) -DEF_DW_OP (DW_OP_reg4, 0, 0) -DEF_DW_OP (DW_OP_reg5, 0, 0) -DEF_DW_OP (DW_OP_reg6, 0, 0) -DEF_DW_OP (DW_OP_reg7, 0, 0) -DEF_DW_OP (DW_OP_reg8, 0, 0) -DEF_DW_OP (DW_OP_reg9, 0, 0) -DEF_DW_OP (DW_OP_reg10, 0, 0) -DEF_DW_OP (DW_OP_reg11, 0, 0) -DEF_DW_OP (DW_OP_reg12, 0, 0) -DEF_DW_OP (DW_OP_reg13, 0, 0) -DEF_DW_OP (DW_OP_reg14, 0, 0) -DEF_DW_OP (DW_OP_reg15, 0, 0) -DEF_DW_OP (DW_OP_reg16, 0, 0) -DEF_DW_OP (DW_OP_reg17, 0, 0) -DEF_DW_OP (DW_OP_reg18, 0, 0) -DEF_DW_OP (DW_OP_reg19, 0, 0) -DEF_DW_OP (DW_OP_reg20, 0, 0) -DEF_DW_OP (DW_OP_reg21, 0, 0) -DEF_DW_OP (DW_OP_reg22, 0, 0) -DEF_DW_OP (DW_OP_reg23, 0, 0) -DEF_DW_OP (DW_OP_reg24, 0, 0) -DEF_DW_OP (DW_OP_reg25, 0, 0) -DEF_DW_OP (DW_OP_reg26, 0, 0) -DEF_DW_OP (DW_OP_reg27, 0, 0) -DEF_DW_OP (DW_OP_reg28, 0, 0) -DEF_DW_OP (DW_OP_reg29, 0, 0) -DEF_DW_OP (DW_OP_reg30, 0, 0) -DEF_DW_OP (DW_OP_reg31, 0, 0) -DEF_DW_OP (DW_OP_breg0, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg1, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg2, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg3, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg4, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg5, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg6, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg7, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg8, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg9, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg10, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg11, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg12, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg13, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg14, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg15, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg16, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg17, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg18, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg19, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg20, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg21, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg22, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg23, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg24, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg25, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg26, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg27, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg28, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg29, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg30, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_breg31, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_regx, DW_FORM_udata, 0) -DEF_DW_OP (DW_OP_fbreg, DW_FORM_sdata, 0) -DEF_DW_OP (DW_OP_bregx, DW_FORM_udata, DW_FORM_sdata) -DEF_DW_OP (DW_OP_piece, DW_FORM_udata, 0) -DEF_DW_OP (DW_OP_nop, 0, 0) -DEF_DW_OP (DW_OP_push_object_address, 0, 0) -DEF_DW_OP (DW_OP_call2, DW_FORM_data2, 0) -DEF_DW_OP (DW_OP_call4, DW_FORM_data4, 0) -DEF_DW_OP (DW_OP_call_ref, DW_FORM_addr, 0) -DEF_DW_OP (DW_OP_form_tls_address, 0, 0) -DEF_DW_OP (DW_OP_GNU_push_tls_address, 0, 0) -DEF_DW_OP (DW_OP_call_frame_cfa, 0, 0) -DEF_DW_OP (DW_OP_bit_piece, DW_FORM_udata, DW_FORM_udata) -DEF_DW_OP (DW_OP_GNU_uninit, 0, 0) |