diff options
author | nobody <> | 2008-11-20 00:35:24 +0000 |
---|---|---|
committer | nobody <> | 2008-11-20 00:35:24 +0000 |
commit | b4812cfe4dc394392e47e0489f38521da4a0b7ce (patch) | |
tree | 172f8d09ca7fb6f4007896cdd0f4a7d7ba98fd4d /bfd | |
parent | 438f751013d510ce01e77855d560ce8dacc32276 (diff) | |
download | gdb-b4812cfe4dc394392e47e0489f38521da4a0b7ce.zip gdb-b4812cfe4dc394392e47e0489f38521da4a0b7ce.tar.gz gdb-b4812cfe4dc394392e47e0489f38521da4a0b7ce.tar.bz2 |
This commit was manufactured by cvs2svn to create branchmultiprocess-20081120-branchpoint
'multiprocess-20081120-branch'.
Sprout from reverse-20080930-branch 2008-09-30 21:53:33 UTC nobody 'This commit was manufactured by cvs2svn to create branch'
Cherrypick from master 2008-11-20 00:35:23 UTC Doug Evans <dje@google.com> ' * inferior.h (proceed_to_finish): Delete, unused.':
ChangeLog
Makefile.def
Makefile.in
Makefile.tpl
bfd/ChangeLog
bfd/bfd-in2.h
bfd/bfd.c
bfd/bfdio.c
bfd/cache.c
bfd/cofflink.c
bfd/config.bfd
bfd/config.in
bfd/configure
bfd/configure.com
bfd/configure.in
bfd/doc/ChangeLog
bfd/doc/bfd.texinfo
bfd/doc/fdl.texi
bfd/dwarf2.c
bfd/elf-bfd.h
bfd/elf.c
bfd/elf32-arm.c
bfd/elf32-avr.c
bfd/elf32-cr16.c
bfd/elf32-cris.c
bfd/elf32-ppc.c
bfd/elf32-sh-symbian.c
bfd/elf32-spu.c
bfd/elf64-ppc.c
bfd/elflink.c
bfd/elfxx-sparc.c
bfd/hosts/alphavms.h
bfd/libbfd.h
bfd/linker.c
bfd/mach-o-target.c
bfd/mach-o.c
bfd/mach-o.h
bfd/makefile.vms
bfd/po/id.po
bfd/reloc.c
bfd/version.h
bfd/vms-hdr.c
bfd/xtensa-modules.c
configure
configure.ac
gdb/CONTRIBUTE
gdb/ChangeLog
gdb/MAINTAINERS
gdb/Makefile.in
gdb/NEWS
gdb/ada-exp.y
gdb/ada-lang.c
gdb/ada-lang.h
gdb/ada-tasks.c
gdb/ada-valprint.c
gdb/aix-thread.c
gdb/amd64-tdep.c
gdb/arm-tdep.c
gdb/auxv.c
gdb/breakpoint.c
gdb/breakpoint.h
gdb/bsd-uthread.c
gdb/c-exp.y
gdb/c-lang.c
gdb/c-lang.h
gdb/c-typeprint.c
gdb/c-valprint.c
gdb/cli/cli-cmds.c
gdb/cli/cli-dump.c
gdb/cli/cli-logging.c
gdb/cli/cli-script.c
gdb/coffread.c
gdb/config/alpha/alpha-osf3.mh
gdb/configure
gdb/configure.ac
gdb/configure.tgt
gdb/corefile.c
gdb/corelow.c
gdb/cp-name-parser.y
gdb/cp-valprint.c
gdb/dbxread.c
gdb/dec-thread.c
gdb/defs.h
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/doc/gdbint.texinfo
gdb/doc/observer.texi
gdb/dummy-frame.c
gdb/dwarf2read.c
gdb/elfread.c
gdb/eval.c
gdb/event-loop.c
gdb/event-loop.h
gdb/exec.c
gdb/expprint.c
gdb/f-lang.c
gdb/f-lang.h
gdb/f-typeprint.c
gdb/f-valprint.c
gdb/fbsd-nat.c
gdb/features/Makefile
gdb/features/rs6000/power-fpu-isa205.xml
gdb/features/rs6000/powerpc-isa205-32l.c
gdb/features/rs6000/powerpc-isa205-32l.xml
gdb/features/rs6000/powerpc-isa205-64l.c
gdb/features/rs6000/powerpc-isa205-64l.xml
gdb/features/rs6000/powerpc-isa205-altivec32l.c
gdb/features/rs6000/powerpc-isa205-altivec32l.xml
gdb/features/rs6000/powerpc-isa205-altivec64l.c
gdb/features/rs6000/powerpc-isa205-altivec64l.xml
gdb/features/rs6000/powerpc-isa205-vsx32l.c
gdb/features/rs6000/powerpc-isa205-vsx32l.xml
gdb/features/rs6000/powerpc-isa205-vsx64l.c
gdb/features/rs6000/powerpc-isa205-vsx64l.xml
gdb/fork-child.c
gdb/frv-tdep.c
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh
gdb/gdbinit.in
gdb/gdbserver/ChangeLog
gdb/gdbserver/Makefile.in
gdb/gdbserver/configure.srv
gdb/gdbserver/linux-low.c
gdb/gdbserver/linux-ppc-low.c
gdb/gdbserver/linux-sparc-low.c
gdb/gdbserver/server.c
gdb/gdbserver/xtensa-xtregs.c
gdb/gdbthread.h
gdb/gdbtypes.c
gdb/gdbtypes.h
gdb/gnu-nat.c
gdb/gnu-nat.h
gdb/go32-nat.c
gdb/hpux-thread.c
gdb/i386-dicos-tdep.c
gdb/i386gnu-nat.c
gdb/ia64-tdep.c
gdb/inf-loop.c
gdb/inf-ptrace.c
gdb/inf-ttrace.c
gdb/infcall.c
gdb/infcmd.c
gdb/inferior.c
gdb/inferior.h
gdb/inflow.c
gdb/infrun.c
gdb/interps.c
gdb/jv-lang.h
gdb/jv-typeprint.c
gdb/jv-valprint.c
gdb/language.c
gdb/language.h
gdb/linux-nat.c
gdb/linux-thread-db.c
gdb/m2-exp.y
gdb/m2-lang.c
gdb/m2-lang.h
gdb/m2-typeprint.c
gdb/m2-valprint.c
gdb/m68hc11-tdep.c
gdb/maint.c
gdb/mdebugread.c
gdb/mi/mi-cmd-stack.c
gdb/mi/mi-cmds.c
gdb/mi/mi-cmds.h
gdb/mi/mi-common.h
gdb/mi/mi-interp.c
gdb/mi/mi-main.c
gdb/minsyms.c
gdb/mips-linux-tdep.c
gdb/mips-tdep.c
gdb/monitor.c
gdb/mt-tdep.c
gdb/nto-procfs.c
gdb/objc-lang.c
gdb/objfiles.h
gdb/p-exp.y
gdb/p-lang.c
gdb/p-lang.h
gdb/p-typeprint.c
gdb/p-valprint.c
gdb/parse.c
gdb/ppc-linux-nat.c
gdb/ppc-linux-tdep.c
gdb/ppc-linux-tdep.h
gdb/printcmd.c
gdb/procfs.c
gdb/python/python-internal.h
gdb/python/python-value.c
gdb/python/python.c
gdb/python/python.h
gdb/regcache.c
gdb/regformats/reg-sparc64.dat
gdb/regformats/reg-xtensa.dat
gdb/regformats/rs6000/powerpc-isa205-32l.dat
gdb/regformats/rs6000/powerpc-isa205-64l.dat
gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat
gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat
gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat
gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat
gdb/reggroups.c
gdb/remote-m32r-sdi.c
gdb/remote-mips.c
gdb/remote-sim.c
gdb/remote.c
gdb/reply_mig_hack.awk
gdb/reverse.c
gdb/rs6000-nat.c
gdb/scm-lang.c
gdb/scm-lang.h
gdb/scm-valprint.c
gdb/ser-mingw.c
gdb/sh64-tdep.c
gdb/sol-thread.c
gdb/solib-frv.c
gdb/solib-osf.c
gdb/solib-som.c
gdb/solib.c
gdb/source.c
gdb/stack.c
gdb/symfile.c
gdb/symmisc.c
gdb/symtab.c
gdb/symtab.h
gdb/target.c
gdb/target.h
gdb/testsuite/ChangeLog
gdb/testsuite/Makefile.in
gdb/testsuite/configure
gdb/testsuite/configure.ac
gdb/testsuite/gdb.ada/int_deref.exp
gdb/testsuite/gdb.ada/int_deref/foo.adb
gdb/testsuite/gdb.ada/int_deref/pck.ads
gdb/testsuite/gdb.ada/ref_tick_size.exp
gdb/testsuite/gdb.ada/ref_tick_size/p.adb
gdb/testsuite/gdb.ada/ref_tick_size/pck.adb
gdb/testsuite/gdb.ada/ref_tick_size/pck.ads
gdb/testsuite/gdb.arch/ppc-dfp.c
gdb/testsuite/gdb.arch/ppc-dfp.exp
gdb/testsuite/gdb.base/args.exp
gdb/testsuite/gdb.base/callexit.c
gdb/testsuite/gdb.base/callexit.exp
gdb/testsuite/gdb.base/completion.exp
gdb/testsuite/gdb.base/corefile.exp
gdb/testsuite/gdb.base/dbx.exp
gdb/testsuite/gdb.base/exprs.exp
gdb/testsuite/gdb.base/foll-exec.exp
gdb/testsuite/gdb.base/foll-fork.exp
gdb/testsuite/gdb.base/hashline2.exp
gdb/testsuite/gdb.base/hashline3.exp
gdb/testsuite/gdb.base/help.exp
gdb/testsuite/gdb.base/macscp.exp
gdb/testsuite/gdb.base/maint.exp
gdb/testsuite/gdb.base/pointers.c
gdb/testsuite/gdb.base/pointers.exp
gdb/testsuite/gdb.base/remotetimeout.exp
gdb/testsuite/gdb.base/sepsymtab.exp
gdb/testsuite/gdb.cp/gdb2384-base.cc
gdb/testsuite/gdb.cp/gdb2384-base.h
gdb/testsuite/gdb.cp/gdb2384.cc
gdb/testsuite/gdb.cp/gdb2384.exp
gdb/testsuite/gdb.cp/mb-ctor.exp
gdb/testsuite/gdb.dwarf2/dw2-cu-size.S
gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp
gdb/testsuite/gdb.dwarf2/dw2-intercu.S
gdb/testsuite/gdb.mi/gdb2549.exp
gdb/testsuite/gdb.mi/mi-nonstop.exp
gdb/testsuite/gdb.mi/mi-nsmoribund.exp
gdb/testsuite/gdb.mi/mi-pthreads.exp
gdb/testsuite/gdb.mi/mi-syn-frame.exp
gdb/testsuite/gdb.mi/mi2-syn-frame.exp
gdb/testsuite/gdb.mi/nsmoribund.c
gdb/testsuite/gdb.python/Makefile.in
gdb/testsuite/gdb.python/python-value.c
gdb/testsuite/gdb.python/python-value.exp
gdb/testsuite/lib/gdb.exp
gdb/testsuite/lib/mi-support.exp
gdb/thread.c
gdb/tracepoint.c
gdb/tui/tui-regs.c
gdb/typeprint.c
gdb/utils.c
gdb/valops.c
gdb/valprint.c
gdb/valprint.h
gdb/value.c
gdb/value.h
gdb/varobj.c
gdb/version.in
gdb/win32-nat.c
gdb/xcoffread.c
gdb/xml-tdesc.c
gdb/xtensa-config.c
gdb/xtensa-xtregs.c
include/ChangeLog
include/demangle.h
include/elf/ChangeLog
include/elf/arm.h
include/elf/common.h
include/elf/cris.h
include/elf/internal.h
include/elf/ppc.h
include/fopen-vms.h
include/obstack.h
include/opcode/ChangeLog
include/opcode/arm.h
include/opcode/mips.h
include/xtensa-config.h
libdecnumber/ChangeLog
libdecnumber/decBasic.c
libdecnumber/decDouble.h
libdecnumber/decNumberLocal.h
libdecnumber/decQuad.h
libdecnumber/decSingle.h
libiberty/ChangeLog
libiberty/Makefile.in
libiberty/config.h-vms
libiberty/config.in
libiberty/configure
libiberty/configure.ac
libiberty/cp-demangle.c
libiberty/cp-demangle.h
libiberty/makefile.vms
libiberty/testsuite/demangle-expected
libiberty/xstrdup.c
opcodes/ChangeLog
opcodes/arm-dis.c
opcodes/avr-dis.c
opcodes/configure
opcodes/configure.in
opcodes/i386-opc.tbl
opcodes/i386-tbl.h
opcodes/makefile.vms
opcodes/mips-dis.c
opcodes/mips-opc.c
sim/common/ChangeLog
sim/common/Make-common.in
sim/common/aclocal.m4
sim/erc32/ChangeLog
sim/erc32/erc32.c
sim/erc32/exec.c
sim/m32c/ChangeLog
sim/m32c/int.c
sim/ppc/ChangeLog
sim/ppc/Makefile.in
sim/ppc/configure
sim/ppc/configure.ac
sim/ppc/debug.c
sim/ppc/debug.h
sim/ppc/hw_sem.c
sim/ppc/hw_shm.c
Delete:
gdb/cli/cli-utils.c
gdb/cli/cli-utils.h
Diffstat (limited to 'bfd')
39 files changed, 9255 insertions, 1666 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f775536..3e5a87b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,317 @@ +2008-11-19 Bob Wilson <bob.wilson@acm.org> + + * xtensa-modules.c (sysregs): Add MMID, VECBASE, EPC5, EPC6, EPC7, + EXCSAVE5, EXCSAVE6, EXCSAVE7, EPS5, EPS6, EPS7, CPENABLE, + SCOMPARE1, and THREADPTR registers. + (NUM_SYSREGS, MAX_USER_REG): Update. + (states): Change width of INTERRUPT, WindowBase, WindowStart, and + INTENABLE. Add VECBASE, EPC5, EPC6, EPC7, EXCSAVE5, EXCSAVE6, + EXCSAVE7, EPS6, EPS6, EPS7, THREADPTR, CPENABLE, and SCOMPARE1 states. + (NUM_STATES): Update. + (enum xtensa_state_id): Add entries for new states. + (enum xtensa_field_id): Add entries for xt_wbr15_imm and xt_wbr18_imm + fields, along with functions to extract and set them. + (regfiles): Change number of AR registers to 32. + (Operand_ar0_encode, Operand_ar4_encode, Operand_ar8_encode, + Operand_ar12_encode, Operand_ars_entry_encode): Update register mask. + (operands): Add entries for tp7, xt_wbr15_label, xt_wbr18_label, + xt_wbr15_imm, and xt_wbr18_imm operands, along with functions to + encode and decode them. + (enum xtensa_operand_id): Add entries for new operands. + (Iclass_xt_iclass_rfi_stateArgs): Add EPC5, EPC6, EPC7, EPS5, EPS6, and + EPC7 states. + (Iclass_xt_iclass_rfdo_stateArgs): Replace EPC4 and EPS4 by EPC6 and + EPS6, respectively. + (iclasses): Add entries for rur_threadptr, wur_threadptr, + xt_iclass_wsr_176, xt_iclass_rsr_epc5, xt_iclass_wsr_epc5, + xt_iclass_xsr_epc5, xt_iclass_rsr_excsave5, xt_iclass_wsr_excsave5, + xt_iclass_xsr_excsave5, xt_iclass_rsr_epc6, xt_iclass_wsr_epc6, + xt_iclass_xsr_epc6, xt_iclass_rsr_excsave6, xt_iclass_wsr_excsave6, + xt_iclass_xsr_excsave6, xt_iclass_rsr_epc7, xt_iclass_wsr_epc7, + xt_iclass_xsr_epc7, xt_iclass_rsr_excsave7, xt_iclass_wsr_excsave7, + xt_iclass_xsr_excsave7, xt_iclass_rsr_eps5, xt_iclass_wsr_eps5, + xt_iclass_xsr_eps5, xt_iclass_rsr_eps6, xt_iclass_wsr_eps6, + xt_iclass_xsr_eps6, xt_iclass_rsr_eps7, xt_iclass_wsr_eps7, + xt_iclass_xsr_eps7, xt_iclass_rsr_vecbase, xt_iclass_wsr_vecbase, + xt_iclass_xsr_vecbase, xt_iclass_mul16, xt_iclass_wsr_mmid, + xt_iclass_icache_lock, xt_iclass_dcache_lock, xt_iclass_rsr_cpenable, + xt_iclass_wsr_cpenable, xt_iclass_xsr_cpenable, xt_iclass_clamp, + xt_iclass_minmax, xt_iclass_sx, xt_iclass_l32ai, xt_iclass_s32ri, + xt_iclass_s32c1i, xt_iclass_rsr_scompare1, xt_iclass_wsr_scompare1, + xt_iclass_xsr_scompare1, xt_iclass_div, and xt_iclass_mul32, along + with corresponding argument and state argument arrays. Change + number of state arguments for xt_iclass_rfi. Add arguments for + xt_iclass_rfdo. + (enum xtensa_iclass_id): Add entries for new iclasses. + (opcodes): Add entries for RUR_THREADPTR, WUR_THREADPTR, WSR_176, + RSR_EPC5, WSR_EPC5, XSR_EPC5, RSR_EXCSAVE5, WSR_EXCSAVE5, XSR_EXCSAVE5, + RSR_EPC6, WSR_EPC6, XSR_EPC6, RSR_EXCSAVE6, WSR_EXCSAVE6, XSR_EXCSAVE6, + RSR_EPC7, WSR_EPC7, XSR_EPC7, RSR_EXCSAVE7, WSR_EXCSAVE7, XSR_EXCSAVE7, + RSR_EPS5, WSR_EPS5, XSR_EPS5, RSR_EPS6, WSR_EPS6, XSR_EPS6, RSR_EPS7, + WSR_EPS7, XSR_EPS7, RSR_VECBASE, WSR_VECBASE, XSR_VECBASE, MUL16U, + MUL16S, WSR_MMID, IPFL, IHU, IIU, DPFL, DHU, DIU, RSR_CPENABLE, + WSR_CPENABLE, XSR_CPENABLE, CLAMPS, MIN, MAX, MINU, MAXU, SEXT, L32AI, + S32RI, S32C1I, RSR_SCOMPARE1, WSR_SCOMPARE1, XSR_SCOMPARE1, QUOU, QUOS, + REMU, REMS, and MULL opcodes, along with the corresponding functions + to encode them. + (enum xtensa_opcode_id): Add entries for new opcodes. + (Slot_inst_decode): Handle new opcodes. + (Slot_inst_get_field_fns, Slot_inst_set_field_fns): Add entries for + xt_wbr15_imm and xt_wbr18_imm fields. + (Slot_inst16a_get_field_fns, Slot_inst16a_set_field_fns): Likewise. + (Slot_inst16b_get_field_fns, Slot_inst16b_set_field_fns): Likewise. + (xtensa_modules): Update number of fields, operands, iclasses and + opcodes. + +2008-11-19 Nix <nix@esperi.org.uk> + + * elf.c (swap_out_syms) [USE_STT_COMMON]: Fix syntax error. + +2008-11-19 Nick Clifton <nickc@redhat.com> + + PR 7027 + * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Treat WPLT30 relocs + against local symbols in 64-bit binaries as if they were WDISP30 + relocs. + (_bfd_sparc_elf_relocate_section): Likewise. + +2008-11-18 Catherine Moore <clm@codesourcery.com> + + * elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge + half-precision attributes. + (elf32_arm_copy_one_eabi_other_attribute): New. + (elf32_arm_copy_other_attribute_list): New. + +2008-11-18 Nick Clifton <nickc@redhat.com> + + * dwarf2.c (read_section): Fix formatting. + (read_n_bytes): Remove unhelpful comment. + (read_indirect_string): Pass symbol table to read_section in case + the .debug_str section needs relocating. + + PR 7037 + * elf32-cr16.c (cr16_elf_howto_table): Zero the src_mask field of + the reloc descriptions. + +2008-11-14 Eric B. Weddington <eric.weddington@atmel.com> + + PR 7022 + * elf32-avr.c (bfd_elf_avr_final_write_processing): + Add missing break statements. + +2008-11-14 Bob Wilson <bob.wilson@acm.org> + + * xtensa-modules.c (xtensa_state_id): New enum, replacing STATE macros. + (xtensa_field_id, xtensa_regfile_id, xtensa_operand_id) + (xtensa_iclass_id, xtensa_opcode_id): New enums. + Replace hardcoded constants throughout this file with enum values. + +2008-11-14 Nathan Sidwell <nathan@codesourcery.com> + + * elf.c (assign_file_positions_for_load_sections): Use header_size + to avoid moving the load address of file headers. + (assign_file_positions_for_load_sections): Set header_size for + segments containing the file header. + +2008-11-14 Tristan Gingold <gingold@adacore.com> + + * configure.com: Handle bfd_default_target_size, BFD_HOST_LONG_LONG, + BFD_HOST_64BIT_LONG_LONG, BFD_HOSTPTR_T, bfd_file_ptr. + Generate bfdver.h. + * vms-hdr.c (_bfd_vms_write_hdr): Use strdup/free instead of alloca. + * hosts/alphavms.h: Defines macros to bypass i18n. + * makefile.vms (OBJS): Update file list. + (DEFS): Remove VMS_DEBUG, const, add DEBUGDIR. + (CFLAGS): Update flags. + * bfdio.c (real_fopen): Add code specific to VMS: extract attributes + from modes. + +2008-11-13 Joel Brobecker <brobecker@adacore.com> + + * configure.in: Deactivate large-file support on native 32bit + sparc-solaris unless the user explicitly requested it. + * configure: Regenerate. + +2008-11-13 Hans-Peter Nilsson <hp@axis.com> + + PR ld/7028 + * elf.c (assign_file_positions_for_load_sections): Allocate phrds + with bfd_zalloc2 instead of bfd_alloc2. For the amount, use + the possibly-preset header-size, not the computed one. + +2008-11-13 Alan Modra <amodra@bigpond.net.au> + + PR 7023 + * elf.c (bfd_section_from_shdr <SHT_SYMTAB>): Fail on invalid sh_info. + +2008-11-11 Alan Modra <amodra@bigpond.net.au> + + * elf.c (assign_file_positions_for_non_load_sections): Consolidate + PT_GNU_RELRO handling. + +2008-11-11 Alan Modra <amodra@bigpond.net.au> + + PR 7012 + * dwarf2.c (find_line): Don't keep stale pointers into realloc'd + memory. Return on errors. Fix memory leak. + (_bfd_dwarf2_cleanup_debug_info): Free dwarf_str_buffer. + +2008-11-10 Andreas Schwab <schwab@suse.de> + + PR 7011 + * elf.c (assign_file_positions_for_non_load_sections): Handle + PT_GNU_RELRO specially. + +2008-11-06 Joel Sherrill <joel.sherrill@oarcorp.com> + + * config.bfd: Add m32c-*-rtems* and m32r-*-rtems*. + +2008-11-06 Tom Tromey <tromey@redhat.com> + + * configure, config.in: Rebuild. + * configure.in: Check for fileno. + * bfdio.c (close_on_exec): New function. + (real_fopen): Use it. + (FD_CLOEXEC): New define. + +2008-11-06 Tristan Gingold <gingold@adacore.com> + + * mach-o.h (BFD_MACH_O_NO_SECT): Add; reorders the macros. + (BFD_MACH_O_SYM_NTYPE, BFD_MACH_O_SYM_NSECT, + BFD_MACH_O_SYM_NDESC): New macros. + (bfd_mach_o_i386_thread_flavour): Define according to the latest + definition from system header. + (bfd_mach_o_load_command_type): Add BFD_MACH_O_LC_RPATH, + BFD_MACH_O_LC_CODE_SIGNATURE. + (BFD_MACH_O_SECTION_TYPE_MASK, BFD_MACH_O_SECTION_ATTRIBUTES_MASK, + BFD_MACH_O_SECTION_ATTRIBUTES_SYS, BFD_MACH_O_SECTION_ATTRIBUTES_USR, + BFD_MACH_O_S_ATTR_LOC_RELOC, BFD_MACH_O_S_ATTR_EXT_RELOC, + BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS, BFD_MACH_O_S_ATTR_DEBUG, + BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS): Add. + (bfd_mach_o_segment_command): Add room for a nul terminator in + segname field. + (BFD_MACH_O_PROT_READ, BFD_MACH_O_PROT_WRITE, + BFD_MACH_O_PROT_EXECUTE): Add. + (INDIRECT_SYMBOL_LOCAL): Renames to BFD_MACH_O_INDIRECT_SYMBOL_LOCAL. + (INDIRECT_SYMBOL_ABS): Renames to BFD_MACH_O_INDIRECT_SYMBOL_ABS. + (bfd_mach_o_uuid_command): Add the structure. + (bfd_mach_o_load_command): Add uuid field. + (bfd_get_mach_o_data): New macro. + * mach-o.c (bfd_mach_o_bfd_print_private_bfd_data): New function which + replaces the macro. + (SECTION_TYPE, SECTION_ATTRIBUTES, SECTION_ATTRIBUTES_USR, + S_ATTR_PURE_INSTRUCTIONS, SECTION_ATTRIBUTES_SYS, + S_ATTR_SOME_INSTRUCTIONS, S_ATTR_EXT_RELOC, S_ATTR_LOC_RELOC): Renamed + and moved to mach-o.h. + (N_STAB, N_TYPE, N_EXT, N_UNDF, N_ABS, N_TEXT, N_DATA, N_BSS, + N_SECT, N_INDR): Removed as they duplicated macros in mach-o.h. + (bfd_mach_o_print_symbol): Print much more details. + (bfd_mach_o_make_bfd_section): Add prot argument, use canonical + dwarf name for dwarf sections. Precisely set section flags. + (bfd_mach_o_scan_read_section_32): Add prot argument. + (bfd_mach_o_scan_read_section_64): Ditto. + (bfd_mach_o_scan_read_section): Ditto. + (bfd_mach_o_scan_read_symtab_symbol): Set section for debugging + stabs, set BSF_GLOBAL and LOCAL flags correctly. Fix section + for N_SECT symbols. + (bfd_mach_o_i386_flavour_string): Reindent and adjust for new + names. + (bfd_mach_o_scan_read_symtab): Set HAS_SYMS flags on bfd if there + are symbols. + (bfd_mach_o_scan_read_uuid): New function. + (bfd_mach_o_scan_read_segment): Add a trailing nul. Segments + flags are now simply HAS_CONTENTS. Pass protection to + bfd_mach_o_scan_read_section. + (bfd_mach_o_scan_read_command): Decode UUID command. + (bfd_mach_o_flatten_sections): Add comments. Fix flavour names. + (bfd_mach_o_scan): Set flags according to file type. + (mach_o_fat_archentry): Remove abfd field. + (bfd_mach_o_archive_p): Remove initialization of abfd field. + (bfd_mach_o_openr_next_archived_file): Find previous archive + by position and not by bfd (as former bfds may have been freed). + Give architecture name to archived file. + * mach-o-target.c (TARGET_NAME): Use generic archive for non fat + targets. + +2008-10-30 Jay Krell <jay.krell@cornell.edu> + + * cache.c (cache_bread): Cast void * pointer before performing + arithmetic on it. + +2008-10-20 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_process_dot_syms): Renamed from + ppc64_elf_check_directives. + * elf32-sh-symbian.c (sh_symbian_process_directives): Combine.. + (sh_symbian_check_directives): ..this + (bfd_elf32_sh_symbian_process_directives) ..and this function. + +2008-10-20 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (bfd_elf_final_link): Move code reading relocs to.. + * elf32-spu.c (spu_elf_count_relocs): ..here. Adjust params. + * elf-bfd.h (struct elf_backend_data): Update elf_backend_count_relocs + params. + +2008-10-20 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (bfd_elf_final_link): Use d_ptr rather than d_val + where Elf_Internal_Dyn holds an address. + +2008-10-10 Nathan Froyd <froydnj@codesourcery.com> + + * elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge + Tag_GNU_Power_ABI_Struct_Return. + +2008-10-09 Kai Tietz <kai.tietz@onevision.com> + + * cofflink.c (_bfd_coff_generic_relocate_section): Dump bfd_vma + sized addresses instead of long sized. + +2008-10-09 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't attempt to + read plt relocs if no dynamic syms. + +2008-10-08 Nick Clifton <nickc@redhat.com> + + * configure.in (ALL_LINGUAS): Add "id". + * configure: Regenerate. + * po/id.po: New Indonesian translation. + +2008-10-08 Alan Modra <amodra@bigpond.net.au> + + * elf.c (assign_file_positions_for_load_sections): When checking + a segment for contents, don't assume that a non-TLS nobits section + must only be followed by nobits sections. + +2008-10-04 Hans-Peter Nilsson <hp@axis.com> + + * elf32-cris.c (TLSHOWTO32, TLSHOWTO16): New macros. + (cris_elf_howto_table): Add entries for R_CRIS_32_GOT_GD, + R_CRIS_16_GOT_GD, R_CRIS_32_GD, R_CRIS_DTP, R_CRIS_32_DTPREL, + R_CRIS_16_DTPREL, R_CRIS_DTPMOD, R_CRIS_32_GOT_TPREL, + R_CRIS_16_GOT_TPREL, R_CRIS_32_TPREL, R_CRIS_16_TPREL. + (cris_reloc_map): Similarly. + * reloc.c (bfd_reloc_code_type): Add entries for + BFD_RELOC_CRIS_32_GOT_GD, BFD_RELOC_CRIS_16_GOT_GD, + BFD_RELOC_CRIS_32_GD, BFD_RELOC_CRIS_DTP, + BFD_RELOC_CRIS_32_DTPREL, BFD_RELOC_CRIS_16_DTPREL, + BFD_RELOC_CRIS_DTPMOD, BFD_RELOC_CRIS_32_GOT_TPREL, + BFD_RELOC_CRIS_16_GOT_TPREL, BFD_RELOC_CRIS_32_TPREL, + BFD_RELOC_CRIS_16_TPREL. + * libbfd.h, bfd-in2.h: Regenerate. + +2008-10-03 Alan Modra <amodra@bigpond.net.au> + + PR 6931 + * elf.c (bfd_elf_set_group_contents): Assign sh_info for ld -r when + the signature symbol is global. + * elflink.c (elf_link_input_bfd): Ensure group signature symbol + is output when ld -r. Set group sh_info when local. + * linker.c (default_indirect_link_order): Handle group sections + specially. + 2008-09-30 Wesley W. Terpstra <wesley@terpstra.ca> Nick Clifton <nickc@redhat.com> @@ -133,7 +447,7 @@ BFD_MACH_O_x86_EXCEPTION_STATE. (bfd_mach_o_load_command_type): Add BFD_MACH_O_LC_SEGMENT_64, BFD_MACH_O_LC_ROUTINES_64, - BFD_MACH_O_LC_UUID. + BFD_MACH_O_LC_UUID. (BFD_MACH_O_CPU_IS64BIT): Added. (bfd_mach_o_cpu_type): Add BFD_MACH_O_CPU_TYPE_POWERPC_64, BFD_MACH_O_CPU_TYPE_X86_64. @@ -165,7 +479,7 @@ (bfd_mach_o_scan_start_address): Ditto. (bfd_mach_o_scan): Ditto. (bfd_mach_o_lookup_section): Ditto. - + 2008-08-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * elf-hppa.h (elf_hppa_reloc_final_type): Handle R_PARISC_GPREL64, diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index c8ef5f9..16609cb 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -4192,6 +4192,19 @@ This is the 5 bits of a value. */ /* 32-bit offset to symbol with PLT entry, relative to this relocation. */ BFD_RELOC_CRIS_32_PLT_PCREL, +/* Relocs used in TLS code for CRIS. */ + BFD_RELOC_CRIS_32_GOT_GD, + BFD_RELOC_CRIS_16_GOT_GD, + BFD_RELOC_CRIS_32_GD, + BFD_RELOC_CRIS_DTP, + BFD_RELOC_CRIS_32_DTPREL, + BFD_RELOC_CRIS_16_DTPREL, + BFD_RELOC_CRIS_32_GOT_TPREL, + BFD_RELOC_CRIS_16_GOT_TPREL, + BFD_RELOC_CRIS_32_TPREL, + BFD_RELOC_CRIS_16_TPREL, + BFD_RELOC_CRIS_DTPMOD, + /* Intel i860 Relocations. */ BFD_RELOC_860_COPY, BFD_RELOC_860_GLOB_DAT, @@ -1001,6 +1001,9 @@ bfd_get_sign_extend_vma (bfd *abfd) || strcmp (name, "pei-arm-wince-little") == 0) return 1; + if (CONST_STRNEQ (name, "mach-o")) + return 0; + bfd_set_error (bfd_error_wrong_format); return -1; } diff --git a/bfd/bfdio.c b/bfd/bfdio.c index d8aa1de..7cba51f 100644 --- a/bfd/bfdio.c +++ b/bfd/bfdio.c @@ -38,6 +38,10 @@ #define S_IXOTH 0001 /* Execute by others. */ #endif +#ifndef FD_CLOEXEC +#define FD_CLOEXEC 1 +#endif + file_ptr real_ftell (FILE *file) { @@ -62,14 +66,57 @@ real_fseek (FILE *file, file_ptr offset, int whence) #endif } +/* Mark FILE as close-on-exec. Return FILE. FILE may be NULL, in + which case nothing is done. */ +static FILE * +close_on_exec (FILE *file) +{ +#if defined (HAVE_FILENO) && defined (F_GETFD) + if (file) + { + int fd = fileno (file); + int old = fcntl (fd, F_GETFD, 0); + if (old >= 0) + fcntl (fd, F_SETFD, old | FD_CLOEXEC); + } +#endif + return file; +} + FILE * real_fopen (const char *filename, const char *modes) { +#ifdef VMS + char vms_modes[4]; + char *vms_attr; + + /* On VMS, fopen allows file attributes as optionnal arguments. + We need to use them but we'd better to use the common prototype. + In fopen-vms.h, they are separated from the mode with a comma. + Split here. */ + vms_attr = strchr (modes, ','); + if (vms_attr == NULL) + { + /* No attributes. */ + return close_on_exec (fopen (filename, modes)); + } + else + { + /* Attribute found - rebuild modes. */ + size_t modes_len = vms_attr - modes; + + BFD_ASSERT (modes_len < sizeof (vms_modes)); + memcpy (vms_modes, modes, modes_len); + vms_modes[modes_len] = 0; + return close_on_exec (fopen (filename, vms_modes, vms_attr + 1)); + } +#else /* !VMS */ #if defined (HAVE_FOPEN64) - return fopen64 (filename, modes); + return close_on_exec (fopen64 (filename, modes)); #else - return fopen (filename, modes); + return close_on_exec (fopen (filename, modes)); #endif +#endif /* !VMS */ } /* diff --git a/bfd/cache.c b/bfd/cache.c index 3906335..50674e8 100644 --- a/bfd/cache.c +++ b/bfd/cache.c @@ -317,7 +317,7 @@ cache_bread (struct bfd *abfd, void *buf, file_ptr nbytes) if (chunk_size > max_chunk_size) chunk_size = max_chunk_size; - chunk_nread = cache_bread_1 (abfd, buf + nread, chunk_size); + chunk_nread = cache_bread_1 (abfd, (char *) buf + nread, chunk_size); /* Update the nread count. @@ -342,6 +342,7 @@ cache_bwrite (struct bfd *abfd, const void *where, file_ptr nbytes) { file_ptr nwrite; FILE *f = bfd_cache_lookup (abfd, 0); + if (f == NULL) return 0; nwrite = fwrite (where, 1, nbytes, f); @@ -364,6 +365,7 @@ cache_bflush (struct bfd *abfd) { int sts; FILE *f = bfd_cache_lookup (abfd, CACHE_NO_OPEN); + if (f == NULL) return 0; sts = fflush (f); @@ -377,6 +379,7 @@ cache_bstat (struct bfd *abfd, struct stat *sb) { int sts; FILE *f = bfd_cache_lookup (abfd, CACHE_NO_SEEK_ERROR); + if (f == NULL) return -1; sts = fstat (fileno (f), sb); @@ -385,7 +388,8 @@ cache_bstat (struct bfd *abfd, struct stat *sb) return sts; } -static const struct bfd_iovec cache_iovec = { +static const struct bfd_iovec cache_iovec = +{ &cache_bread, &cache_bwrite, &cache_btell, &cache_bseek, &cache_bclose, &cache_bflush, &cache_bstat }; diff --git a/bfd/cofflink.c b/bfd/cofflink.c index 19a7dd2..d771168 100644 --- a/bfd/cofflink.c +++ b/bfd/cofflink.c @@ -2985,16 +2985,16 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd, absolute. We output the address here to a file. This file is then read by dlltool when generating the reloc section. Note that the base file is not - portable between systems. We write out a long here, - and dlltool reads in a long. */ - long addr = (rel->r_vaddr + portable between systems. We write out a bfd_vma here, + and dlltool reads in a bfd_vma. */ + bfd_vma addr = (rel->r_vaddr - input_section->vma + input_section->output_offset + input_section->output_section->vma); if (coff_data (output_bfd)->pe) addr -= pe_data(output_bfd)->pe_opthdr.ImageBase; - if (fwrite (&addr, 1, sizeof (long), (FILE *) info->base_file) - != sizeof (long)) + if (fwrite (&addr, 1, sizeof (bfd_vma), (FILE *) info->base_file) + != sizeof (bfd_vma)) { bfd_set_error (bfd_error_system_call); return FALSE; diff --git a/bfd/config.bfd b/bfd/config.bfd index 9309502..1bc971d 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -721,7 +721,7 @@ case "${targ}" in targ_defvec=bfd_elf32_iq2000_vec ;; - m32c-*-elf) + m32c-*-elf | m32c-*-rtems*) targ_defvec=bfd_elf32_m32c_vec ;; diff --git a/bfd/config.in b/bfd/config.in index f15e4ff..d1797ae 100644 --- a/bfd/config.in +++ b/bfd/config.in @@ -78,6 +78,9 @@ /* Define to 1 if you have the `fdopen' function. */ #undef HAVE_FDOPEN +/* Define to 1 if you have the `fileno' function. */ +#undef HAVE_FILENO + /* Define to 1 if you have the `fopen64' function. */ #undef HAVE_FOPEN64 diff --git a/bfd/configure b/bfd/configure index 0cefd4d..9827e6c 100755 --- a/bfd/configure +++ b/bfd/configure @@ -4934,6 +4934,21 @@ _ACEOF _ACEOF + +case "${target}" in + sparc-*-solaris*) + # On native 32bit sparc-solaris, large-file and procfs support are + # mutually exclusive; and without procfs support, the elf module + # cannot provide certain routines such as elfcore_write_prpsinfo + # or elfcore_write_prstatus. So unless the user explicitly requested + # large-file support through the --enable-largefile switch, disable + # large-file support in favor of procfs support. + if test "${target}" = "${host}" -a "$enable_largefile" != 'yes'; then + enable_largefile="no" + fi + ;; +esac + # Check whether --enable-largefile or --disable-largefile was given. if test "${enable_largefile+set}" = set; then enableval="$enable_largefile" @@ -5705,13 +5720,13 @@ if test "${lt_cv_nm_interface+set}" = set; then else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:5708: $ac_compile\"" >&5) + (eval echo "\"\$as_me:5723: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:5711: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:5726: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:5714: output\"" >&5) + (eval echo "\"\$as_me:5729: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -6868,7 +6883,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 6871 "configure"' > conftest.$ac_ext + echo '#line 6886 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -8144,11 +8159,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8147: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8162: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8151: \$? = $ac_status" >&5 + echo "$as_me:8166: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8483,11 +8498,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8486: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8501: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8490: \$? = $ac_status" >&5 + echo "$as_me:8505: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8588,11 +8603,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8591: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8606: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8595: \$? = $ac_status" >&5 + echo "$as_me:8610: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8643,11 +8658,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8646: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8661: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8650: \$? = $ac_status" >&5 + echo "$as_me:8665: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -11440,7 +11455,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11443 "configure" +#line 11458 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11536,7 +11551,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11539 "configure" +#line 11554 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12091,7 +12106,7 @@ bfd_default_target_size=32 # host stuff: -ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi" +ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi id" # If we haven't got the data from the intl directory, # assume NLS is disabled. USE_NLS=no @@ -17553,7 +17568,8 @@ fi -for ac_func in fcntl getpagesize setitimer sysconf fdopen getuid getgid + +for ac_func in fcntl getpagesize setitimer sysconf fdopen getuid getgid fileno do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 diff --git a/bfd/configure.com b/bfd/configure.com index 929977c..de44dfc 100644 --- a/bfd/configure.com +++ b/bfd/configure.com @@ -49,12 +49,30 @@ $DECK ERASE(match_pos); COPY_TEXT('64'); ENDIF; + match_pos := SEARCH_QUIETLY('@bfd_default_target_size@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('64'); + ENDIF; match_pos := SEARCH_QUIETLY('@BFD_HOST_64BIT_LONG@', FORWARD, EXACT, rang); IF match_pos <> 0 THEN; POSITION(BEGINNING_OF(match_pos)); ERASE(match_pos); COPY_TEXT('0'); ENDIF; + match_pos := SEARCH_QUIETLY('@BFD_HOST_LONG_LONG@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('0'); + ENDIF; + match_pos := SEARCH_QUIETLY('@BFD_HOST_64BIT_LONG_LONG@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('0'); + ENDIF; match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT_DEFINED@', FORWARD, EXACT, rang); IF match_pos <> 0 THEN; POSITION(BEGINNING_OF(match_pos)); @@ -75,6 +93,24 @@ $DECK ERASE(match_pos); COPY_TEXT('uint64'); ENDIF; + match_pos := SEARCH_QUIETLY('@BFD_HOSTPTR_T@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('uint64'); + ENDIF; + match_pos := SEARCH_QUIETLY('@bfd_file_ptr@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('bfd_signed_vma'); + ENDIF; + match_pos := SEARCH_QUIETLY('unsigned @bfd_file_ptr@ ufile_ptr', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('bfd_vma ufile_ptr'); + ENDIF; WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file")); QUIT $ EOD @@ -152,6 +188,61 @@ $endif $ $ write sys$output "Generated `bfd.h' from `bfd-in2.h'." $! +$! create bfdver.h +$! +$ edit/tpu/nojournal/nosection/nodisplay/command=sys$input - + []version.h /output=[]bfdver.h +$DECK +! +! Copy file, changing lines with macros (@@) +! +! + vfile := CREATE_BUFFER("vfile", "configure.in"); + rang := CREATE_RANGE(BEGINNING_OF(vfile), END_OF(vfile)); + match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + vers := CURRENT_LINE-")"; + ELSE; + vers := "unknown"; + ENDIF; + versnum := vers - "." - "."; + + file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name")); + rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file)); + + match_pos := SEARCH_QUIETLY('@bfd_version@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT(versnum); + ENDIF; + match_pos := SEARCH_QUIETLY('@bfd_version_string@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('"'); + COPY_TEXT(vers); + COPY_TEXT('"'); + ENDIF; + match_pos := SEARCH_QUIETLY('@bfd_version_package@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('"(GNU Binutils) "'); + ENDIF; + match_pos := SEARCH_QUIETLY('@report_bugs_to@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('"<http://www.sourceware.org/bugzilla/>"'); + ENDIF; + WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file")); + QUIT +$ EOD +$ write sys$output "Generated `bfdver.h' from 'version.h' and `configure.in'." +$! $! $! create targmatch.h $! @@ -210,6 +301,8 @@ $ create []config.h #define HAVE_TIME_H 1 /* Define if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 +/* Disable NLS */ +#undef ENABLE_NLS $! $ write sys$output "Generated `config.h'" diff --git a/bfd/configure.in b/bfd/configure.in index 6c33648..22ceb61 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -22,6 +22,21 @@ AC_DISABLE_SHARED AC_PROG_CC AC_GNU_SOURCE AC_USE_SYSTEM_EXTENSIONS + +case "${target}" in + sparc-*-solaris*) + # On native 32bit sparc-solaris, large-file and procfs support are + # mutually exclusive; and without procfs support, the elf module + # cannot provide certain routines such as elfcore_write_prpsinfo + # or elfcore_write_prstatus. So unless the user explicitly requested + # large-file support through the --enable-largefile switch, disable + # large-file support in favor of procfs support. + if test "${target}" = "${host}" -a "$enable_largefile" != 'yes'; then + enable_largefile="no" + fi + ;; +esac + AC_SYS_LARGEFILE LT_INIT @@ -120,7 +135,7 @@ bfd_default_target_size=32 # host stuff: -ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi" +ALL_LINGUAS="fr tr ja es sv da zh_CN ro rw vi fi id" ZW_GNU_GETTEXT_SISTER_DIR AM_PO_SUBDIRS @@ -179,7 +194,7 @@ GCC_HEADER_STDINT(bfd_stdint.h) AC_HEADER_TIME AC_HEADER_DIRENT ACX_HEADER_STRING -AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid) +AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid fileno) AC_CHECK_FUNCS(strtoull) AC_CHECK_DECLS(basename) diff --git a/bfd/doc/ChangeLog b/bfd/doc/ChangeLog index 4559d6b..8202a75 100644 --- a/bfd/doc/ChangeLog +++ b/bfd/doc/ChangeLog @@ -1,3 +1,8 @@ +2008-11-19 Nick Clifton <nickc@redhat.com> + + * fdl.texi: Update to v1.3 + * bfd.texinfo: Change license to v1.3. + 2008-08-24 Alan Modra <amodra@bigpond.net.au> * Makefile.am (chew.o): Delete rule. diff --git a/bfd/doc/bfd.texinfo b/bfd/doc/bfd.texinfo index 04b4266..7eeb919 100644 --- a/bfd/doc/bfd.texinfo +++ b/bfd/doc/bfd.texinfo @@ -1,7 +1,7 @@ \input texinfo.tex @setfilename bfd.info @c Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997, 2000, -@c 2001, 2002, 2003, 2006, 2007 +@c 2001, 2002, 2003, 2006, 2007, 2008 @c Free Software Foundation, Inc. @c @synindex fn cp @@ -17,10 +17,10 @@ END-INFO-DIR-ENTRY @copying This file documents the BFD library. -Copyright @copyright{} 1991, 2000, 2001, 2003, 2006, 2007 Free Software Foundation, Inc. +Copyright @copyright{} 1991, 2000, 2001, 2003, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or +under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being ``GNU General Public License'' and ``Funding Free Software'', the Front-Cover texts being (a) (see below), and with @@ -65,10 +65,10 @@ included in the section entitled ``GNU Free Documentation License''. @end tex @vskip 0pt plus 1filll -Copyright @copyright{} 1991, 2001, 2003, 2006 Free Software Foundation, Inc. +Copyright @copyright{} 1991, 2001, 2003, 2006, 2008 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.1 + under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the diff --git a/bfd/doc/fdl.texi b/bfd/doc/fdl.texi index a83ecf7..8805f1a 100644 --- a/bfd/doc/fdl.texi +++ b/bfd/doc/fdl.texi @@ -1,26 +1,28 @@ -@c -*-texinfo-*- -@appendix GNU Free Documentation License -@center Version 1.1, March 2000 +@c The GNU Free Documentation License. +@center Version 1.3, 3 November 2008 + +@c This file is intended to be included within another document, +@c hence no sectioning command or @node. @display -Copyright (C) 2000, 2003 Free Software Foundation, Inc. -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. +@uref{http://fsf.org/} Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @end display -@sp 1 + @enumerate 0 @item PREAMBLE The purpose of this License is to make a manual, textbook, or other -written document ``free'' in the sense of freedom: to assure everyone -the effective freedom to copy and redistribute it, with or without -modifying it, either commercially or noncommercially. Secondarily, -this License preserves for the author and publisher a way to get -credit for their work, while not being considered responsible for -modifications made by others. +functional and useful document @dfn{free} in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. This License is a kind of ``copyleft'', which means that derivative works of the document must themselves be free in the same sense. It @@ -35,60 +37,72 @@ it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. -@sp 1 @item APPLICABILITY AND DEFINITIONS -This License applies to any manual or other work that contains a -notice placed by the copyright holder saying it can be distributed -under the terms of this License. The ``Document'', below, refers to any -such manual or work. Any member of the public is a licensee, and is -addressed as ``you.'' +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The ``Document'', below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as ``you''. You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. A ``Modified Version'' of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. -A ``Secondary Section'' is a named appendix or a front-matter section of -the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall subject -(or to related matters) and contains nothing that could fall directly -within that overall subject. (For example, if the Document is in part a -textbook of mathematics, a Secondary Section may not explain any -mathematics.) The relationship could be a matter of historical +A ``Secondary Section'' is a named appendix or a front-matter section +of the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The ``Invariant Sections'' are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. The ``Cover Texts'' are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. A ``Transparent'' copy of the Document means a machine-readable copy, represented in a format whose specification is available to the -general public, whose contents can be viewed and edited directly and +general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file -format whose markup has been designed to thwart or discourage -subsequent modification by readers is not Transparent. A copy that is -not ``Transparent'' is called ``Opaque.'' +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not ``Transparent'' is called ``Opaque''. Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input format, SGML -or XML using a publicly available DTD, and standard-conforming simple -HTML designed for human modification. Opaque formats include -PostScript, PDF, proprietary formats that can be read and edited only -by proprietary word processors, SGML or XML for which the DTD and/or -processing tools are not generally available, and the -machine-generated HTML produced by some word processors for output -purposes only. +@sc{ascii} without markup, Texinfo input format, La@TeX{} input +format, @acronym{SGML} or @acronym{XML} using a publicly available +@acronym{DTD}, and standard-conforming simple @acronym{HTML}, +PostScript or @acronym{PDF} designed for human modification. Examples +of transparent image formats include @acronym{PNG}, @acronym{XCF} and +@acronym{JPG}. Opaque formats include proprietary formats that can be +read and edited only by proprietary word processors, @acronym{SGML} or +@acronym{XML} for which the @acronym{DTD} and/or processing tools are +not generally available, and the machine-generated @acronym{HTML}, +PostScript or @acronym{PDF} produced by some word processors for +output purposes only. The ``Title Page'' means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material @@ -96,7 +110,25 @@ this License requires to appear in the title page. For works in formats which do not have any title page as such, ``Title Page'' means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. -@sp 1 + +The ``publisher'' means any person or entity that distributes copies +of the Document to the public. + +A section ``Entitled XYZ'' means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as ``Acknowledgements'', +``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' +of such a section when you modify the Document means that it remains a +section ``Entitled XYZ'' according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + @item VERBATIM COPYING @@ -112,13 +144,14 @@ number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. -@sp 1 + @item COPYING IN QUANTITY -If you publish printed copies of the Document numbering more than 100, -and the Document's license notice requires Cover Texts, you must enclose -the copies in covers that carry, clearly and legibly, all these Cover +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present @@ -136,21 +169,20 @@ pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy -a publicly-accessible computer-network location containing a complete -Transparent copy of the Document, free of added material, which the -general network-using public has access to download anonymously at no -charge using public-standard network protocols. If you use the latter -option, you must take reasonably prudent steps, when you begin -distribution of Opaque copies in quantity, to ensure that this -Transparent copy will remain thus accessible at the stated location -until at least one year after the last time you distribute an Opaque -copy (directly or through your agents or retailers) of that edition to -the public. +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. -@sp 1 + @item MODIFICATIONS @@ -161,52 +193,85 @@ Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: -A. Use in the Title Page (and on the covers, if any) a title distinct - from that of the Document, and from those of previous versions - (which should, if there were any, be listed in the History section - of the Document). You may use the same title as a previous version - if the original publisher of that version gives permission.@* -B. List on the Title Page, as authors, one or more persons or entities - responsible for authorship of the modifications in the Modified - Version, together with at least five of the principal authors of the - Document (all of its principal authors, if it has less than five).@* -C. State on the Title page the name of the publisher of the - Modified Version, as the publisher.@* -D. Preserve all the copyright notices of the Document.@* -E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices.@* -F. Include, immediately after the copyright notices, a license notice - giving the public permission to use the Modified Version under the - terms of this License, in the form shown in the Addendum below.@* -G. Preserve in that license notice the full lists of Invariant Sections - and required Cover Texts given in the Document's license notice.@* -H. Include an unaltered copy of this License.@* -I. Preserve the section entitled ``History'', and its title, and add to - it an item stating at least the title, year, new authors, and - publisher of the Modified Version as given on the Title Page. If - there is no section entitled ``History'' in the Document, create one - stating the title, year, authors, and publisher of the Document as - given on its Title Page, then add an item describing the Modified - Version as stated in the previous sentence.@* -J. Preserve the network location, if any, given in the Document for - public access to a Transparent copy of the Document, and likewise - the network locations given in the Document for previous versions - it was based on. These may be placed in the ``History'' section. - You may omit a network location for a work that was published at - least four years before the Document itself, or if the original - publisher of the version it refers to gives permission.@* -K. In any section entitled ``Acknowledgements'' or ``Dedications'', - preserve the section's title, and preserve in the section all the - substance and tone of each of the contributor acknowledgements - and/or dedications given therein.@* -L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section titles.@* -M. Delete any section entitled ``Endorsements.'' Such a section - may not be included in the Modified Version.@* -N. Do not retitle any existing section as ``Endorsements'' - or to conflict in title with any Invariant Section.@* -@sp 1 +@enumerate A +@item +Use in the Title Page (and on the covers, if any) a title distinct +from that of the Document, and from those of previous versions +(which should, if there were any, be listed in the History section +of the Document). You may use the same title as a previous version +if the original publisher of that version gives permission. + +@item +List on the Title Page, as authors, one or more persons or entities +responsible for authorship of the modifications in the Modified +Version, together with at least five of the principal authors of the +Document (all of its principal authors, if it has fewer than five), +unless they release you from this requirement. + +@item +State on the Title page the name of the publisher of the +Modified Version, as the publisher. + +@item +Preserve all the copyright notices of the Document. + +@item +Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. + +@item +Include, immediately after the copyright notices, a license notice +giving the public permission to use the Modified Version under the +terms of this License, in the form shown in the Addendum below. + +@item +Preserve in that license notice the full lists of Invariant Sections +and required Cover Texts given in the Document's license notice. + +@item +Include an unaltered copy of this License. + +@item +Preserve the section Entitled ``History'', Preserve its Title, and add +to it an item stating at least the title, year, new authors, and +publisher of the Modified Version as given on the Title Page. If +there is no section Entitled ``History'' in the Document, create one +stating the title, year, authors, and publisher of the Document as +given on its Title Page, then add an item describing the Modified +Version as stated in the previous sentence. + +@item +Preserve the network location, if any, given in the Document for +public access to a Transparent copy of the Document, and likewise +the network locations given in the Document for previous versions +it was based on. These may be placed in the ``History'' section. +You may omit a network location for a work that was published at +least four years before the Document itself, or if the original +publisher of the version it refers to gives permission. + +@item +For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve +the Title of the section, and preserve in the section all the +substance and tone of each of the contributor acknowledgements and/or +dedications given therein. + +@item +Preserve all the Invariant Sections of the Document, +unaltered in their text and in their titles. Section numbers +or the equivalent are not considered part of the section titles. + +@item +Delete any section Entitled ``Endorsements''. Such a section +may not be included in the Modified Version. + +@item +Do not retitle any existing section to be Entitled ``Endorsements'' or +to conflict in title with any Invariant Section. + +@item +Preserve any Warranty Disclaimers. +@end enumerate + If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all @@ -214,9 +279,9 @@ of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. -You may add a section entitled ``Endorsements'', provided it contains +You may add a section Entitled ``Endorsements'', provided it contains nothing but endorsements of your Modified Version by various -parties--for example, statements of peer review or that the text has +parties---for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. @@ -233,7 +298,7 @@ permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. -@sp 1 + @item COMBINING DOCUMENTS @@ -242,7 +307,7 @@ License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its -license notice. +license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single @@ -253,12 +318,12 @@ author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. -In the combination, you must combine any sections entitled ``History'' -in the various original documents, forming one section entitled -``History''; likewise combine any sections entitled ``Acknowledgements'', -and any sections entitled ``Dedications.'' You must delete all sections -entitled ``Endorsements.'' -@sp 1 +In the combination, you must combine any sections Entitled ``History'' +in the various original documents, forming one section Entitled +``History''; likewise combine any sections Entitled ``Acknowledgements'', +and any sections Entitled ``Dedications''. You must delete all +sections Entitled ``Endorsements.'' + @item COLLECTIONS OF DOCUMENTS @@ -272,25 +337,27 @@ You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. -@sp 1 + @item AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or -distribution medium, does not as a whole count as a Modified Version -of the Document, provided no compilation copyright is claimed for the -compilation. Such a compilation is called an ``aggregate'', and this -License does not apply to the other self-contained works thus compiled -with the Document, on account of their being thus compiled, if they -are not themselves derivative works of the Document. +distribution medium, is called an ``aggregate'' if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one quarter -of the entire aggregate, the Document's Cover Texts may be placed on -covers that surround only the Document within the aggregate. -Otherwise they must appear on covers around the whole aggregate. -@sp 1 +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + @item TRANSLATION @@ -300,22 +367,46 @@ Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a -translation of this License provided that you also include the -original English version of this License. In case of a disagreement -between the translation and the original English version of this -License, the original English version will prevail. -@sp 1 +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled ``Acknowledgements'', +``Dedications'', or ``History'', the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + @item TERMINATION -You may not copy, modify, sublicense, or distribute the Document except -as expressly provided for under this License. Any other attempt to -copy, modify, sublicense or distribute the Document is void, and will -automatically terminate your rights under this License. However, -parties who have received copies, or rights, from you under this -License will not have their licenses terminated so long as such -parties remain in full compliance. -@sp 1 +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, and +will automatically terminate your rights under this License. + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, receipt of a copy of some or all of the same material does +not give you any rights to use it. + @item FUTURE REVISIONS OF THIS LICENSE @@ -323,7 +414,7 @@ The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See -http://www.gnu.org/copyleft/. +@uref{http://www.gnu.org/copyleft/}. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this @@ -332,11 +423,46 @@ following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. +as a draft) by the Free Software Foundation. If the Document +specifies that a proxy can decide which future versions of this +License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the +Document. + +@item +RELICENSING + +``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. A +``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the +site means any set of copyrightable works thus published on the MMC +site. + +``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. + +``Incorporate'' means to publish or republish a Document, in whole or +in part, as part of another Document. + +An MMC is ``eligible for relicensing'' if it is licensed under this +License, and if all works that were first published under this License +somewhere other than this MMC, and subsequently incorporated in whole +or in part into the MMC, (1) had no cover texts or invariant sections, +and (2) were thus incorporated prior to November 1, 2008. + +The operator of an MMC Site may republish an MMC contained in the site +under CC-BY-SA on the same site at any time before August 1, 2009, +provided the MMC is eligible for relicensing. @end enumerate -@unnumberedsec ADDENDUM: How to use this License for your documents +@page +@heading ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and @@ -344,23 +470,37 @@ license notices just after the title page: @smallexample @group -Copyright (C) @var{year} @var{your name}. -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 -or any later version published by the Free Software Foundation; -with the Invariant Sections being @var{list their titles}, with the -Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}. -A copy of the license is included in the section entitled "GNU -Free Documentation License." + Copyright (C) @var{year} @var{your name}. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is included in the section entitled ``GNU + Free Documentation License''. @end group @end smallexample -If you have no Invariant Sections, write ``with no Invariant Sections'' -instead of saying which ones are invariant. If you have no -Front-Cover Texts, write ``no Front-Cover Texts'' instead of -``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts. +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the ``with@dots{}Texts.'' line with this: + +@smallexample +@group + with the Invariant Sections being @var{list their titles}, with + the Front-Cover Texts being @var{list}, and with the Back-Cover Texts + being @var{list}. +@end group +@end smallexample + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. + +@c Local Variables: +@c ispell-local-pdict: "ispell-dict" +@c End: + diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index a4918ac..f1f6c90 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -399,15 +399,19 @@ lookup_info_hash_table (struct info_hash_table *hash_table, const char *key) } /* Read a section into its appropriate place in the dwarf2_debug - struct (indicated by SECTION_BUFFER and SECTION_SIZE). If syms is + struct (indicated by SECTION_BUFFER and SECTION_SIZE). If SYMS is not NULL, use bfd_simple_get_relocated_section_contents to read the - section contents, otherwise use bfd_get_section_contents. */ + section contents, otherwise use bfd_get_section_contents. Fail if + the located section does not contain at least OFFSET bytes. */ static bfd_boolean -read_section (bfd *abfd, - const char* section_name, const char* compressed_section_name, - asymbol** syms, bfd_uint64_t offset, - bfd_byte **section_buffer, bfd_size_type *section_size) +read_section (bfd * abfd, + const char * section_name, + const char * compressed_section_name, + asymbol ** syms, + bfd_uint64_t offset, + bfd_byte ** section_buffer, + bfd_size_type * section_size) { asection *msec; bfd_boolean section_is_compressed = FALSE; @@ -459,11 +463,11 @@ read_section (bfd *abfd, } /* It is possible to get a bad value for the offset into the section - * that the client wants. Validate it here to avoid trouble later. */ + that the client wants. Validate it here to avoid trouble later. */ if (offset != 0 && offset >= *section_size) { (*_bfd_error_handler) (_("Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."), - offset, section_name, *section_size); + (long) offset, section_name, *section_size); bfd_set_error (bfd_error_bad_value); return FALSE; } @@ -512,9 +516,6 @@ read_n_bytes (bfd *abfd ATTRIBUTE_UNUSED, bfd_byte *buf, unsigned int size ATTRIBUTE_UNUSED) { - /* If the size of a host char is 8 bits, we can return a pointer - to the buffer, otherwise we have to copy the data to a buffer - allocated on the temporary obstack. */ return buf; } @@ -525,6 +526,7 @@ read_string (bfd *abfd ATTRIBUTE_UNUSED, { /* Return a pointer to the embedded string. */ char *str = (char *) buf; + if (*str == '\0') { *bytes_read_ptr = 1; @@ -535,10 +537,12 @@ read_string (bfd *abfd ATTRIBUTE_UNUSED, return str; } +/* END VERBATIM */ + static char * -read_indirect_string (struct comp_unit* unit, - bfd_byte *buf, - unsigned int *bytes_read_ptr) +read_indirect_string (struct comp_unit * unit, + bfd_byte * buf, + unsigned int * bytes_read_ptr) { bfd_uint64_t offset; struct dwarf2_debug *stash = unit->stash; @@ -548,12 +552,13 @@ read_indirect_string (struct comp_unit* unit, offset = read_4_bytes (unit->abfd, buf); else offset = read_8_bytes (unit->abfd, buf); + *bytes_read_ptr = unit->offset_size; if (! read_section (unit->abfd, ".debug_str", ".zdebug_str", - 0, offset, + stash->syms, offset, &stash->dwarf_str_buffer, &stash->dwarf_str_size)) - return 0; + return NULL; str = (char *) stash->dwarf_str_buffer + offset; if (*str == '\0') @@ -561,8 +566,6 @@ read_indirect_string (struct comp_unit* unit, return str; } -/* END VERBATIM */ - static bfd_uint64_t read_address (struct comp_unit *unit, bfd_byte *buf) { @@ -2989,8 +2992,6 @@ find_line (bfd *abfd, symbols, 0, &stash->info_ptr_memory, &total_size)) goto done; - stash->info_ptr = stash->info_ptr_memory; - stash->info_ptr_end = stash->info_ptr + total_size; } else { @@ -3008,63 +3009,64 @@ find_line (bfd *abfd, if (stash->info_ptr_memory == NULL) goto done; - stash->info_ptr = stash->info_ptr_memory; - stash->info_ptr_end = stash->info_ptr; - + total_size = 0; for (msec = find_debug_info (debug_bfd, NULL); msec; msec = find_debug_info (debug_bfd, msec)) { bfd_size_type size; - bfd_size_type start; size = msec->size; if (size == 0) continue; - start = stash->info_ptr_end - stash->info_ptr; + if (!(bfd_simple_get_relocated_section_contents + (debug_bfd, msec, stash->info_ptr_memory + total_size, + symbols))) + goto done; - if ((bfd_simple_get_relocated_section_contents - (debug_bfd, msec, stash->info_ptr + start, symbols)) - == NULL) - continue; - - stash->info_ptr_end = stash->info_ptr + start + size; + total_size += size; } - - BFD_ASSERT (stash->info_ptr_end == stash->info_ptr + total_size); } else { /* Case 3: multiple sections, some or all compressed. */ - stash->info_ptr_memory = bfd_malloc (1); - stash->info_ptr = stash->info_ptr_memory; - stash->info_ptr_end = stash->info_ptr; + stash->info_ptr_memory = NULL; + total_size = 0; for (msec = find_debug_info (debug_bfd, NULL); msec; msec = find_debug_info (debug_bfd, msec)) { bfd_size_type size = msec->size; - bfd_byte* buffer - = (bfd_simple_get_relocated_section_contents - (debug_bfd, msec, NULL, symbols)); - if (! buffer) + bfd_byte* buffer; + + if (size == 0) continue; + + buffer = (bfd_simple_get_relocated_section_contents + (debug_bfd, msec, NULL, symbols)); + if (! buffer) + goto done; + if (strcmp (msec->name, DWARF2_COMPRESSED_DEBUG_INFO) == 0) { if (! bfd_uncompress_section_contents (&buffer, &size)) - continue; + { + free (buffer); + goto done; + } } - stash->info_ptr = bfd_realloc (stash->info_ptr, - stash->info_ptr_end - - stash->info_ptr + size); - memcpy (stash->info_ptr_end, buffer, size); + stash->info_ptr_memory = bfd_realloc (stash->info_ptr_memory, + total_size + size); + memcpy (stash->info_ptr_memory + total_size, buffer, size); free (buffer); - stash->info_ptr_end += size; + total_size += size; } } } + stash->info_ptr = stash->info_ptr_memory; + stash->info_ptr_end = stash->info_ptr + total_size; stash->sec = find_debug_info (debug_bfd, NULL); stash->sec_info_ptr = stash->info_ptr; stash->syms = symbols; @@ -3364,8 +3366,14 @@ _bfd_dwarf2_cleanup_debug_info (bfd *abfd) } } - free (stash->dwarf_abbrev_buffer); - free (stash->dwarf_line_buffer); - free (stash->dwarf_ranges_buffer); - free (stash->info_ptr_memory); + if (stash->dwarf_abbrev_buffer) + free (stash->dwarf_abbrev_buffer); + if (stash->dwarf_line_buffer) + free (stash->dwarf_line_buffer); + if (stash->dwarf_str_buffer) + free (stash->dwarf_str_buffer); + if (stash->dwarf_ranges_buffer) + free (stash->dwarf_ranges_buffer); + if (stash->info_ptr_memory) + free (stash->info_ptr_memory); } diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 993458e..9615a4a 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1012,7 +1012,7 @@ struct elf_backend_data /* Count relocations. Not called for relocatable links or if all relocs are being preserved in the output. */ unsigned int (*elf_backend_count_relocs) - (asection *, Elf_Internal_Rela *); + (struct bfd_link_info *, asection *); /* This function, if defined, is called when an NT_PRSTATUS note is found in a core file. */ @@ -1608,6 +1608,8 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex) if (hdr->sh_entsize != bed->s->sizeof_sym) return FALSE; + if (hdr->sh_info * hdr->sh_entsize > hdr->sh_size) + return FALSE; BFD_ASSERT (elf_onesymtab (abfd) == 0); elf_onesymtab (abfd) = shindex; elf_tdata (abfd)->symtab_hdr = *hdr; @@ -2681,13 +2683,15 @@ elf_fake_sections (bfd *abfd, asection *asect, void *failedptrarg) *failedptr = TRUE; } -/* Fill in the contents of a SHT_GROUP section. */ +/* Fill in the contents of a SHT_GROUP section. Called from + _bfd_elf_compute_section_file_positions for gas, objcopy, and + when ELF targets use the generic linker, ld. Called for ld -r + from bfd_elf_final_link. */ void bfd_elf_set_group_contents (bfd *abfd, asection *sec, void *failedptrarg) { bfd_boolean *failedptr = failedptrarg; - unsigned long symindx; asection *elt, *first; unsigned char *loc; bfd_boolean gas; @@ -2698,20 +2702,49 @@ bfd_elf_set_group_contents (bfd *abfd, asection *sec, void *failedptrarg) || *failedptr) return; - symindx = 0; - if (elf_group_id (sec) != NULL) - symindx = elf_group_id (sec)->udata.i; + if (elf_section_data (sec)->this_hdr.sh_info == 0) + { + unsigned long symindx = 0; + + /* elf_group_id will have been set up by objcopy and the + generic linker. */ + if (elf_group_id (sec) != NULL) + symindx = elf_group_id (sec)->udata.i; - if (symindx == 0) + if (symindx == 0) + { + /* If called from the assembler, swap_out_syms will have set up + elf_section_syms. */ + BFD_ASSERT (elf_section_syms (abfd) != NULL); + symindx = elf_section_syms (abfd)[sec->index]->udata.i; + } + elf_section_data (sec)->this_hdr.sh_info = symindx; + } + else if (elf_section_data (sec)->this_hdr.sh_info == (unsigned int) -2) { - /* If called from the assembler, swap_out_syms will have set up - elf_section_syms; If called for "ld -r", use target_index. */ - if (elf_section_syms (abfd) != NULL) - symindx = elf_section_syms (abfd)[sec->index]->udata.i; - else - symindx = sec->target_index; + /* The ELF backend linker sets sh_info to -2 when the group + signature symbol is global, and thus the index can't be + set until all local symbols are output. */ + asection *igroup = elf_sec_group (elf_next_in_group (sec)); + struct bfd_elf_section_data *sec_data = elf_section_data (igroup); + unsigned long symndx = sec_data->this_hdr.sh_info; + unsigned long extsymoff = 0; + struct elf_link_hash_entry *h; + + if (!elf_bad_symtab (igroup->owner)) + { + Elf_Internal_Shdr *symtab_hdr; + + symtab_hdr = &elf_tdata (igroup->owner)->symtab_hdr; + extsymoff = symtab_hdr->sh_info; + } + h = elf_sym_hashes (igroup->owner)[symndx - extsymoff]; + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + + elf_section_data (sec)->this_hdr.sh_info = h->indx; } - elf_section_data (sec)->this_hdr.sh_info = symindx; /* The contents won't be allocated for "ld -r" or objcopy. */ gas = TRUE; @@ -4125,6 +4158,7 @@ assign_file_positions_for_load_sections (bfd *abfd, bfd_size_type maxpagesize; unsigned int alloc; unsigned int i, j; + bfd_vma header_pad = 0; if (link_info == NULL && !_bfd_elf_map_sections_to_segments (abfd, link_info)) @@ -4132,7 +4166,11 @@ assign_file_positions_for_load_sections (bfd *abfd, alloc = 0; for (m = elf_tdata (abfd)->segment_map; m != NULL; m = m->next) - ++alloc; + { + ++alloc; + if (m->header_size) + header_pad = m->header_size; + } elf_elfheader (abfd)->e_phoff = bed->s->sizeof_ehdr; elf_elfheader (abfd)->e_phentsize = bed->s->sizeof_phdr; @@ -4150,7 +4188,21 @@ assign_file_positions_for_load_sections (bfd *abfd, return TRUE; } - phdrs = bfd_alloc2 (abfd, alloc, sizeof (Elf_Internal_Phdr)); + /* We're writing the size in elf_tdata (abfd)->program_header_size, + see assign_file_positions_except_relocs, so make sure we have + that amount allocated, with trailing space cleared. + The variable alloc contains the computed need, while elf_tdata + (abfd)->program_header_size contains the size used for the + layout. + See ld/emultempl/elf-generic.em:gld${EMULATION_NAME}_map_segments + where the layout is forced to according to a larger size in the + last iterations for the testcase ld-elf/header. */ + BFD_ASSERT (elf_tdata (abfd)->program_header_size % bed->s->sizeof_phdr + == 0); + phdrs = bfd_zalloc2 (abfd, + (elf_tdata (abfd)->program_header_size + / bed->s->sizeof_phdr), + sizeof (Elf_Internal_Phdr)); elf_tdata (abfd)->phdr = phdrs; if (phdrs == NULL) return FALSE; @@ -4161,6 +4213,11 @@ assign_file_positions_for_load_sections (bfd *abfd, off = bed->s->sizeof_ehdr; off += alloc * bed->s->sizeof_phdr; + if (header_pad < (bfd_vma) off) + header_pad = 0; + else + header_pad -= off; + off += header_pad; for (m = elf_tdata (abfd)->segment_map, p = phdrs, j = 0; m != NULL; @@ -4257,21 +4314,14 @@ assign_file_positions_for_load_sections (bfd *abfd, elf_section_type (m->sections[i]) = SHT_NOBITS; /* Find out whether this segment contains any loadable - sections. If the first section isn't loadable, the same - holds for any other sections. */ - i = 0; - while (elf_section_type (m->sections[i]) == SHT_NOBITS) - { - /* If a segment starts with .tbss, we need to look - at the next section to decide whether the segment - has any loadable sections. */ - if ((elf_section_flags (m->sections[i]) & SHF_TLS) == 0 - || ++i >= m->count) - { - no_contents = TRUE; - break; - } - } + sections. */ + no_contents = TRUE; + for (i = 0; i < m->count; i++) + if (elf_section_type (m->sections[i]) != SHT_NOBITS) + { + no_contents = FALSE; + break; + } off_adjust = vma_page_aligned_bias (m->sections[0]->vma, off, align); off += off_adjust; @@ -4355,6 +4405,11 @@ assign_file_positions_for_load_sections (bfd *abfd, p->p_filesz += alloc * bed->s->sizeof_phdr; p->p_memsz += alloc * bed->s->sizeof_phdr; + if (m->count) + { + p->p_filesz += header_pad; + p->p_memsz += header_pad; + } } if (p->p_type == PT_LOAD @@ -4607,7 +4662,61 @@ assign_file_positions_for_non_load_sections (bfd *abfd, m != NULL; m = m->next, p++) { - if (m->count != 0) + if (p->p_type == PT_GNU_RELRO) + { + const Elf_Internal_Phdr *lp; + + BFD_ASSERT (!m->includes_filehdr && !m->includes_phdrs); + + if (link_info != NULL) + { + /* During linking the range of the RELRO segment is passed + in link_info. */ + for (lp = phdrs; lp < phdrs + count; ++lp) + { + if (lp->p_type == PT_LOAD + && lp->p_vaddr >= link_info->relro_start + && lp->p_vaddr < link_info->relro_end + && lp->p_vaddr + lp->p_filesz >= link_info->relro_end) + break; + } + } + else + { + /* Otherwise we are copying an executable or shared + library, but we need to use the same linker logic. */ + for (lp = phdrs; lp < phdrs + count; ++lp) + { + if (lp->p_type == PT_LOAD + && lp->p_paddr == p->p_paddr) + break; + } + } + + if (lp < phdrs + count) + { + p->p_vaddr = lp->p_vaddr; + p->p_paddr = lp->p_paddr; + p->p_offset = lp->p_offset; + if (link_info != NULL) + p->p_filesz = link_info->relro_end - lp->p_vaddr; + else if (m->p_size_valid) + p->p_filesz = m->p_size; + else + abort (); + p->p_memsz = p->p_filesz; + p->p_align = 1; + p->p_flags = (lp->p_flags & ~PF_W); + } + else if (link_info != NULL) + { + memset (p, 0, sizeof *p); + p->p_type = PT_NULL; + } + else + abort (); + } + else if (m->count != 0) { if (p->p_type != PT_LOAD && (p->p_type != PT_NOTE @@ -4623,87 +4732,20 @@ assign_file_positions_for_non_load_sections (bfd *abfd, p->p_filesz = sect->filepos - m->sections[0]->filepos; if (hdr->sh_type != SHT_NOBITS) p->p_filesz += hdr->sh_size; - - if (p->p_type == PT_GNU_RELRO) - { - /* When we get here, we are copying executable - or shared library. But we need to use the same - linker logic. */ - Elf_Internal_Phdr *lp; - - for (lp = phdrs; lp < phdrs + count; ++lp) - { - if (lp->p_type == PT_LOAD - && lp->p_paddr == p->p_paddr) - break; - } - - if (lp < phdrs + count) - { - /* We should use p_size if it is valid since it - may contain the first few bytes of the next - SEC_ALLOC section. */ - if (m->p_size_valid) - p->p_filesz = m->p_size; - else - abort (); - p->p_vaddr = lp->p_vaddr; - p->p_offset = lp->p_offset; - p->p_memsz = p->p_filesz; - p->p_align = 1; - } - else - abort (); - } - else - p->p_offset = m->sections[0]->filepos; + p->p_offset = m->sections[0]->filepos; } } - else + else if (m->includes_filehdr) { - if (m->includes_filehdr) - { - p->p_vaddr = filehdr_vaddr; - if (! m->p_paddr_valid) - p->p_paddr = filehdr_paddr; - } - else if (m->includes_phdrs) - { - p->p_vaddr = phdrs_vaddr; - if (! m->p_paddr_valid) - p->p_paddr = phdrs_paddr; - } - else if (p->p_type == PT_GNU_RELRO) - { - Elf_Internal_Phdr *lp; - - for (lp = phdrs; lp < phdrs + count; ++lp) - { - if (lp->p_type == PT_LOAD - && lp->p_vaddr <= link_info->relro_end - && lp->p_vaddr >= link_info->relro_start - && (lp->p_vaddr + lp->p_filesz - >= link_info->relro_end)) - break; - } - - if (lp < phdrs + count - && link_info->relro_end > lp->p_vaddr) - { - p->p_vaddr = lp->p_vaddr; - p->p_paddr = lp->p_paddr; - p->p_offset = lp->p_offset; - p->p_filesz = link_info->relro_end - lp->p_vaddr; - p->p_memsz = p->p_filesz; - p->p_align = 1; - p->p_flags = (lp->p_flags & ~PF_W); - } - else - { - memset (p, 0, sizeof *p); - p->p_type = PT_NULL; - } - } + p->p_vaddr = filehdr_vaddr; + if (! m->p_paddr_valid) + p->p_paddr = filehdr_paddr; + } + else if (m->includes_phdrs) + { + p->p_vaddr = phdrs_vaddr; + if (! m->p_paddr_valid) + p->p_paddr = phdrs_paddr; } } @@ -5850,6 +5892,10 @@ copy_elf_program_header (bfd *ibfd, bfd *obfd) phdr_included = TRUE; } + if (map->includes_filehdr && first_section) + /* We need to keep the space used by the headers fixed. */ + map->header_size = first_section->vma - segment->p_vaddr; + if (!map->includes_phdrs && !map->includes_filehdr && map->p_paddr_valid) @@ -6414,9 +6460,8 @@ Unable to find equivalent output section for symbol '%s' from section '%s'"), if (type == STT_OBJECT) sym.st_info = ELF_ST_INFO (STB_GLOBAL, STT_COMMON); else -#else - sym.st_info = ELF_ST_INFO (STB_GLOBAL, type); #endif + sym.st_info = ELF_ST_INFO (STB_GLOBAL, type); } else if (bfd_is_und_section (syms[idx]->section)) sym.st_info = ELF_ST_INFO (((flags & BSF_WEAK) diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index da1ac24..9008a4b 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -8163,6 +8163,33 @@ elf32_arm_obj_attrs_arg_type (int tag) return (tag & 1) != 0 ? 2 : 1; } +static void +elf32_arm_copy_one_eabi_other_attribute (bfd *ibfd, bfd *obfd, obj_attribute_list *in_list) +{ + switch (in_list->tag) + { + case Tag_VFP_HP_extension: + case Tag_ABI_FP_16bit_format: + bfd_elf_add_obj_attr_int (obfd, OBJ_ATTR_PROC, in_list->tag, in_list->attr.i); + break; + + default: + if ((in_list->tag & 127) < 64) + { + _bfd_error_handler + (_("Warning: %B: Unknown EABI object attribute %d"), ibfd, in_list->tag); + break; + } + } +} + +static void +elf32_arm_copy_eabi_other_attribute_list (bfd *ibfd, bfd *obfd, obj_attribute_list *in_list) +{ + for (; in_list; in_list = in_list->next ) + elf32_arm_copy_one_eabi_other_attribute (ibfd, obfd, in_list); +} + /* Merge EABI object attributes from IBFD into OBFD. Raise an error if there are conflicting attributes. */ @@ -8172,6 +8199,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd) obj_attribute *in_attr; obj_attribute *out_attr; obj_attribute_list *in_list; + obj_attribute_list *out_list; /* Some tags have 0 = don't care, 1 = strong requirement, 2 = weak requirement. */ static const int order_312[3] = {3, 1, 2}; @@ -8196,7 +8224,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd) /* This needs to happen before Tag_ABI_FP_number_model is merged. */ if (in_attr[Tag_ABI_VFP_args].i != out_attr[Tag_ABI_VFP_args].i) { - /* Ignore mismatches if teh object doesn't use floating point. */ + /* Ignore mismatches if the object doesn't use floating point. */ if (out_attr[Tag_ABI_FP_number_model].i == 0) out_attr[Tag_ABI_VFP_args].i = in_attr[Tag_ABI_VFP_args].i; else if (in_attr[Tag_ABI_FP_number_model].i != 0) @@ -8362,6 +8390,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd) return FALSE; } break; + default: /* All known attributes should be explicitly covered. */ abort (); } @@ -8392,15 +8421,67 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd) while (in_list && in_list->tag == Tag_compatibility) in_list = in_list->next; - for (; in_list; in_list = in_list->next) + out_list = elf_other_obj_attributes_proc (obfd); + while (out_list && out_list->tag == Tag_compatibility) + out_list = out_list->next; + + for (; in_list != NULL; ) { - if ((in_list->tag & 128) < 64) + if (out_list == NULL) { - _bfd_error_handler - (_("Warning: %B: Unknown EABI object attribute %d"), - ibfd, in_list->tag); - break; + elf32_arm_copy_eabi_other_attribute_list (ibfd, obfd, in_list); + return TRUE; + } + + /* The tags for each list are in numerical order. */ + /* If the tags are equal, then merge. */ + if (in_list->tag == out_list->tag) + { + switch (in_list->tag) + { + case Tag_VFP_HP_extension: + if (out_list->attr.i == 0) + out_list->attr.i = in_list->attr.i; + break; + + case Tag_ABI_FP_16bit_format: + if (in_list->attr.i != 0 && out_list->attr.i != 0) + { + if (in_list->attr.i != out_list->attr.i) + { + _bfd_error_handler + (_("ERROR: fp16 format mismatch between %B and %B"), + ibfd, obfd); + return FALSE; + } + } + if (in_list->attr.i != 0) + out_list->attr.i = in_list->attr.i; + break; + + default: + if ((in_list->tag & 127) < 64) + { + _bfd_error_handler + (_("Warning: %B: Unknown EABI object attribute %d"), ibfd, in_list->tag); + break; + } + } + } + else if (in_list->tag < out_list->tag) + { + /* This attribute is in ibfd, but not obfd. Copy to obfd and advance to + next input attribute. */ + elf32_arm_copy_one_eabi_other_attribute (ibfd, obfd, in_list); + } + if (in_list->tag <= out_list->tag) + { + in_list = in_list->next; + if (in_list == NULL) + continue; } + while (out_list && out_list->tag < in_list->tag) + out_list = out_list->next; } return TRUE; } diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c index fffd040..17e20fa 100644 --- a/bfd/elf32-avr.c +++ b/bfd/elf32-avr.c @@ -1298,6 +1298,7 @@ bfd_elf_avr_final_write_processing (bfd *abfd, case bfd_mach_avr25: val = E_AVR_MACH_AVR25; + break; case bfd_mach_avr3: val = E_AVR_MACH_AVR3; @@ -1305,9 +1306,11 @@ bfd_elf_avr_final_write_processing (bfd *abfd, case bfd_mach_avr31: val = E_AVR_MACH_AVR31; + break; case bfd_mach_avr35: val = E_AVR_MACH_AVR35; + break; case bfd_mach_avr4: val = E_AVR_MACH_AVR4; diff --git a/bfd/elf32-cr16.c b/bfd/elf32-cr16.c index 84130b0..47eb2fc 100644 --- a/bfd/elf32-cr16.c +++ b/bfd/elf32-cr16.c @@ -93,7 +93,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_NUM8", /* name */ FALSE, /* partial_inplace */ - 0xff, /* src_mask */ + 0x0, /* src_mask */ 0xff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -107,7 +107,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_NUM16", /* name */ FALSE, /* partial_inplace */ - 0xffff, /* src_mask */ + 0x0, /* src_mask */ 0xffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -121,7 +121,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_NUM32", /* name */ FALSE, /* partial_inplace */ - 0xffffffff, /* src_mask */ + 0x0, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -135,7 +135,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_NUM32a", /* name */ FALSE, /* partial_inplace */ - 0xffffffff, /* src_mask */ + 0x0, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -149,7 +149,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_REGREL4", /* name */ FALSE, /* partial_inplace */ - 0xf, /* src_mask */ + 0x0, /* src_mask */ 0xf, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -163,7 +163,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_REGREL4a", /* name */ FALSE, /* partial_inplace */ - 0xf, /* src_mask */ + 0x0, /* src_mask */ 0xf, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -177,7 +177,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_REGREL14", /* name */ FALSE, /* partial_inplace */ - 0x3fff, /* src_mask */ + 0x0, /* src_mask */ 0x3fff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -191,7 +191,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_REGREL14a", /* name */ FALSE, /* partial_inplace */ - 0x3fff, /* src_mask */ + 0x0, /* src_mask */ 0x3fff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -205,7 +205,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_REGREL16", /* name */ FALSE, /* partial_inplace */ - 0xffff, /* src_mask */ + 0x0, /* src_mask */ 0xffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -219,7 +219,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_REGREL20", /* name */ FALSE, /* partial_inplace */ - 0xfffff, /* src_mask */ + 0x0, /* src_mask */ 0xfffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -233,7 +233,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_REGREL20a", /* name */ FALSE, /* partial_inplace */ - 0xfffff, /* src_mask */ + 0x0, /* src_mask */ 0xfffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -247,7 +247,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_ABS20", /* name */ FALSE, /* partial_inplace */ - 0xfffff, /* src_mask */ + 0x0, /* src_mask */ 0xfffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -261,7 +261,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_ABS24", /* name */ FALSE, /* partial_inplace */ - 0xffffff, /* src_mask */ + 0x0, /* src_mask */ 0xffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -275,7 +275,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_IMM4", /* name */ FALSE, /* partial_inplace */ - 0xf, /* src_mask */ + 0x0, /* src_mask */ 0xf, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -289,7 +289,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_IMM8", /* name */ FALSE, /* partial_inplace */ - 0xff, /* src_mask */ + 0x0, /* src_mask */ 0xff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -303,7 +303,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_IMM16", /* name */ FALSE, /* partial_inplace */ - 0xffff, /* src_mask */ + 0x0, /* src_mask */ 0xffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -317,7 +317,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_IMM20", /* name */ FALSE, /* partial_inplace */ - 0xfffff, /* src_mask */ + 0x0, /* src_mask */ 0xfffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -331,7 +331,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_IMM24", /* name */ FALSE, /* partial_inplace */ - 0xffffff, /* src_mask */ + 0x0, /* src_mask */ 0xffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -345,7 +345,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_IMM32", /* name */ FALSE, /* partial_inplace */ - 0xffffffff, /* src_mask */ + 0x0, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -359,7 +359,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_IMM32a", /* name */ FALSE, /* partial_inplace */ - 0xffffffff, /* src_mask */ + 0x0, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -373,7 +373,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_DISP4", /* name */ FALSE, /* partial_inplace */ - 0xf, /* src_mask */ + 0x0, /* src_mask */ 0xf, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -387,7 +387,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_DISP8", /* name */ FALSE, /* partial_inplace */ - 0x1ff, /* src_mask */ + 0x0, /* src_mask */ 0x1ff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -401,7 +401,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_DISP16", /* name */ FALSE, /* partial_inplace */ - 0x1ffff, /* src_mask */ + 0x0, /* src_mask */ 0x1ffff, /* dst_mask */ FALSE), /* pcrel_offset */ /* REVISIT: DISP24 should be left-shift by 2 as per ISA doc @@ -416,7 +416,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_DISP24", /* name */ FALSE, /* partial_inplace */ - 0x1ffffff, /* src_mask */ + 0x0, /* src_mask */ 0x1ffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -430,7 +430,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_DISP24a", /* name */ FALSE, /* partial_inplace */ - 0xffffff, /* src_mask */ + 0x0, /* src_mask */ 0xffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -447,7 +447,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_SWITCH8", /* name */ FALSE, /* partial_inplace */ - 0xff, /* src_mask */ + 0x0, /* src_mask */ 0xff, /* dst_mask */ TRUE), /* pcrel_offset */ @@ -464,7 +464,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_SWITCH16", /* name */ FALSE, /* partial_inplace */ - 0xffff, /* src_mask */ + 0x0, /* src_mask */ 0xffff, /* dst_mask */ TRUE), /* pcrel_offset */ @@ -481,7 +481,7 @@ static reloc_howto_type cr16_elf_howto_table[] = bfd_elf_generic_reloc, /* special_function */ "R_CR16_SWITCH32", /* name */ FALSE, /* partial_inplace */ - 0xffffffff, /* src_mask */ + 0x0, /* src_mask */ 0xffffffff, /* dst_mask */ TRUE) /* pcrel_offset */ }; @@ -945,7 +945,7 @@ elf32_cr16_relocate_section (bfd *output_bfd, struct bfd_link_info *info, (info, (h ? &h->root : NULL), name, howto->name, (bfd_vma) 0, input_bfd, input_section, rel->r_offset))) - return FALSE; + return FALSE; break; case bfd_reloc_undefined: diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index 75d0695..360cba6 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -409,7 +409,31 @@ static reloc_howto_type cris_elf_howto_table [] = FALSE, /* partial_inplace */ 0, /* src_mask */ 0xffffffff, /* dst_mask */ - TRUE) /* pcrel_offset */ + TRUE), /* pcrel_offset */ + + /* We don't handle these in any special manner and cross-format + linking is not supported; just recognize them enough to pass them + around. FIXME: do the same for most PIC relocs and add sanity + tests to actually refuse gracefully to handle these and PIC + relocs for cross-format linking. */ +#define TLSHOWTO32(name) \ + HOWTO (name, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, \ + bfd_elf_generic_reloc, #name, FALSE, 0, 0xffffffff, FALSE) +#define TLSHOWTO16(name) \ + HOWTO (name, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, \ + bfd_elf_generic_reloc, #name, FALSE, 0, 0xffff, FALSE) + + TLSHOWTO32 (R_CRIS_32_GOT_GD), + TLSHOWTO16 (R_CRIS_16_GOT_GD), + TLSHOWTO32 (R_CRIS_32_GD), + TLSHOWTO32 (R_CRIS_DTP), + TLSHOWTO32 (R_CRIS_32_DTPREL), + TLSHOWTO16 (R_CRIS_16_DTPREL), + TLSHOWTO32 (R_CRIS_32_GOT_TPREL), + TLSHOWTO16 (R_CRIS_16_GOT_TPREL), + TLSHOWTO32 (R_CRIS_32_TPREL), + TLSHOWTO16 (R_CRIS_16_TPREL), + TLSHOWTO32 (R_CRIS_DTPMOD) }; /* Map BFD reloc types to CRIS ELF reloc types. */ @@ -441,7 +465,18 @@ static const struct cris_reloc_map cris_reloc_map [] = { BFD_RELOC_CRIS_32_GOTPLT, R_CRIS_32_GOTPLT }, { BFD_RELOC_CRIS_32_GOTREL, R_CRIS_32_GOTREL }, { BFD_RELOC_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_GOTREL }, - { BFD_RELOC_CRIS_32_PLT_PCREL, R_CRIS_32_PLT_PCREL } + { BFD_RELOC_CRIS_32_PLT_PCREL, R_CRIS_32_PLT_PCREL }, + { BFD_RELOC_CRIS_32_GOT_GD, R_CRIS_32_GOT_GD }, + { BFD_RELOC_CRIS_16_GOT_GD, R_CRIS_16_GOT_GD }, + { BFD_RELOC_CRIS_32_GD, R_CRIS_32_GD }, + { BFD_RELOC_CRIS_DTP, R_CRIS_DTP }, + { BFD_RELOC_CRIS_32_DTPREL, R_CRIS_32_DTPREL }, + { BFD_RELOC_CRIS_16_DTPREL, R_CRIS_16_DTPREL }, + { BFD_RELOC_CRIS_32_GOT_TPREL, R_CRIS_32_GOT_TPREL }, + { BFD_RELOC_CRIS_16_GOT_TPREL, R_CRIS_16_GOT_TPREL }, + { BFD_RELOC_CRIS_32_TPREL, R_CRIS_32_TPREL }, + { BFD_RELOC_CRIS_16_TPREL, R_CRIS_16_TPREL }, + { BFD_RELOC_CRIS_DTPMOD, R_CRIS_DTPMOD } }; static reloc_howto_type * diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 1d9cabd..83a9274 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -3964,6 +3964,33 @@ ppc_elf_merge_obj_attributes (bfd *ibfd, bfd *obfd) ibfd, obfd, in_abi, out_abi); } + /* Check for conflicting Tag_GNU_Power_ABI_Struct_Return attributes + and merge non-conflicting ones. */ + in_attr = &in_attrs[Tag_GNU_Power_ABI_Struct_Return]; + out_attr = &out_attrs[Tag_GNU_Power_ABI_Struct_Return]; + if (in_attr->i != out_attr->i) + { + out_attr->type = 1; + if (out_attr->i == 0) + out_attr->i = in_attr->i; + else if (in_attr->i == 0) + ; + else if (out_attr->i == 1 && in_attr->i == 2) + _bfd_error_handler + (_("Warning: %B uses r3/r4 for small structure returns, %B uses memory"), obfd, ibfd); + else if (out_attr->i == 2 && in_attr->i == 1) + _bfd_error_handler + (_("Warning: %B uses r3/r4 for small structure returns, %B uses memory"), ibfd, obfd); + else if (in_attr->i > 2) + _bfd_error_handler + (_("Warning: %B uses unknown small structure return convention %d"), ibfd, + in_attr->i); + else + _bfd_error_handler + (_("Warning: %B uses unknown small structure return convention %d"), obfd, + out_attr->i); + } + /* Merge Tag_compatibility attributes and any common GNU ones. */ _bfd_elf_merge_object_attributes (ibfd, obfd); diff --git a/bfd/elf32-sh-symbian.c b/bfd/elf32-sh-symbian.c index cec0d03..25e3af9 100644 --- a/bfd/elf32-sh-symbian.c +++ b/bfd/elf32-sh-symbian.c @@ -392,10 +392,9 @@ sh_symbian_process_embedded_commands (struct bfd_link_info *info, bfd * abfd, /* Scan a bfd for a .directive section, and if found process it. Returns TRUE upon success, FALSE otherwise. */ -bfd_boolean bfd_elf32_sh_symbian_process_directives (struct bfd_link_info *info, bfd * abfd); -bfd_boolean -bfd_elf32_sh_symbian_process_directives (struct bfd_link_info *info, bfd * abfd) +static bfd_boolean +sh_symbian_process_directives (bfd *abfd, struct bfd_link_info *info) { bfd_boolean result = FALSE; bfd_byte * contents; @@ -617,18 +616,12 @@ sh_symbian_relocate_section (bfd * output_bfd, contents, relocs, local_syms, local_sections); } -static bfd_boolean -sh_symbian_check_directives (bfd *abfd, struct bfd_link_info *info) -{ - return bfd_elf32_sh_symbian_process_directives (info, abfd); -} - #define TARGET_LITTLE_SYM bfd_elf32_shl_symbian_vec #define TARGET_LITTLE_NAME "elf32-shl-symbian" #undef elf_backend_relocate_section #define elf_backend_relocate_section sh_symbian_relocate_section #undef elf_backend_check_directives -#define elf_backend_check_directives sh_symbian_check_directives +#define elf_backend_check_directives sh_symbian_process_directives #include "elf32-target.h" diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c index 00681b2..708ab24 100644 --- a/bfd/elf32-spu.c +++ b/bfd/elf32-spu.c @@ -3895,16 +3895,27 @@ spu_elf_final_link (bfd *output_bfd, struct bfd_link_info *info) that need to be emitted. */ static unsigned int -spu_elf_count_relocs (asection *sec, Elf_Internal_Rela *relocs) +spu_elf_count_relocs (struct bfd_link_info *info, asection *sec) { + Elf_Internal_Rela *relocs; unsigned int count = 0; - Elf_Internal_Rela *relend = relocs + sec->reloc_count; - for (; relocs < relend; relocs++) + relocs = _bfd_elf_link_read_relocs (sec->owner, sec, NULL, NULL, + info->keep_memory); + if (relocs != NULL) { - int r_type = ELF32_R_TYPE (relocs->r_info); - if (r_type == R_SPU_PPU32 || r_type == R_SPU_PPU64) - ++count; + Elf_Internal_Rela *rel; + Elf_Internal_Rela *relend = relocs + sec->reloc_count; + + for (rel = relocs; rel < relend; rel++) + { + int r_type = ELF32_R_TYPE (rel->r_info); + if (r_type == R_SPU_PPU32 || r_type == R_SPU_PPU64) + ++count; + } + + if (elf_section_data (sec)->relocs != relocs) + free (relocs); } return count; diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 86fe3c3..9138371 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -92,7 +92,7 @@ static bfd_vma opd_entry_value #define elf_backend_create_dynamic_sections ppc64_elf_create_dynamic_sections #define elf_backend_copy_indirect_symbol ppc64_elf_copy_indirect_symbol #define elf_backend_add_symbol_hook ppc64_elf_add_symbol_hook -#define elf_backend_check_directives ppc64_elf_check_directives +#define elf_backend_check_directives ppc64_elf_process_dot_syms #define elf_backend_as_needed_cleanup ppc64_elf_as_needed_cleanup #define elf_backend_archive_symbol_lookup ppc64_elf_archive_symbol_lookup #define elf_backend_check_relocs ppc64_elf_check_relocs @@ -3005,8 +3005,8 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd, } /* Get start of .glink stubs from DT_PPC64_GLINK. */ - dynamic = bfd_get_section_by_name (abfd, ".dynamic"); - if (dynamic != NULL) + if (dyn_count != 0 + && (dynamic = bfd_get_section_by_name (abfd, ".dynamic")) != NULL) { bfd_byte *dynbuf, *extdyn, *extdynend; size_t extdynsize; @@ -3061,21 +3061,21 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd, if (resolv_vma) size += sizeof (asymbol) + sizeof ("__glink_PLTresolve"); - } - relplt = bfd_get_section_by_name (abfd, ".rela.plt"); - if (glink != NULL && relplt != NULL) - { - slurp_relocs = get_elf_backend_data (abfd)->s->slurp_reloc_table; - if (! (*slurp_relocs) (abfd, relplt, dyn_syms, TRUE)) - goto free_contents_and_exit; + relplt = bfd_get_section_by_name (abfd, ".rela.plt"); + if (relplt != NULL) + { + slurp_relocs = get_elf_backend_data (abfd)->s->slurp_reloc_table; + if (! (*slurp_relocs) (abfd, relplt, dyn_syms, TRUE)) + goto free_contents_and_exit; - plt_count = relplt->size / sizeof (Elf64_External_Rela); - size += plt_count * sizeof (asymbol); + plt_count = relplt->size / sizeof (Elf64_External_Rela); + size += plt_count * sizeof (asymbol); - p = relplt->relocation; - for (i = 0; i < plt_count; i++, p++) - size += strlen ((*p->sym_ptr_ptr)->name) + sizeof ("@plt"); + p = relplt->relocation; + for (i = 0; i < plt_count; i++, p++) + size += strlen ((*p->sym_ptr_ptr)->name) + sizeof ("@plt"); + } } s = *ret = bfd_malloc (size); @@ -3620,7 +3620,7 @@ struct ppc_link_hash_table /* Set on error. */ unsigned int stub_error:1; - /* Temp used by ppc64_elf_check_directives. */ + /* Temp used by ppc64_elf_process_dot_syms. */ unsigned int twiddled_syms:1; /* Incremented every time we size stubs. */ @@ -4438,7 +4438,7 @@ add_symbol_adjust (struct ppc_link_hash_entry *eh, struct bfd_link_info *info) /* Process list of dot-symbols we made in link_hash_newfunc. */ static bfd_boolean -ppc64_elf_check_directives (bfd *ibfd, struct bfd_link_info *info) +ppc64_elf_process_dot_syms (bfd *ibfd, struct bfd_link_info *info) { struct ppc_link_hash_table *htab; struct ppc_link_hash_entry **p, *eh; diff --git a/bfd/elflink.c b/bfd/elflink.c index 8e59383..f2015ee 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -9062,6 +9062,63 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd) continue; } + if (finfo->info->relocatable + && (o->flags & (SEC_LINKER_CREATED | SEC_GROUP)) == SEC_GROUP) + { + /* Deal with the group signature symbol. */ + struct bfd_elf_section_data *sec_data = elf_section_data (o); + unsigned long symndx = sec_data->this_hdr.sh_info; + asection *osec = o->output_section; + + if (symndx >= locsymcount + || (elf_bad_symtab (input_bfd) + && finfo->sections[symndx] == NULL)) + { + struct elf_link_hash_entry *h = sym_hashes[symndx - extsymoff]; + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + /* Arrange for symbol to be output. */ + h->indx = -2; + elf_section_data (osec)->this_hdr.sh_info = -2; + } + else if (ELF_ST_TYPE (isymbuf[symndx].st_info) == STT_SECTION) + { + /* We'll use the output section target_index. */ + asection *sec = finfo->sections[symndx]->output_section; + elf_section_data (osec)->this_hdr.sh_info = sec->target_index; + } + else + { + if (finfo->indices[symndx] == -1) + { + /* Otherwise output the local symbol now. */ + Elf_Internal_Sym sym = isymbuf[symndx]; + asection *sec = finfo->sections[symndx]->output_section; + const char *name; + + name = bfd_elf_string_from_elf_section (input_bfd, + symtab_hdr->sh_link, + sym.st_name); + if (name == NULL) + return FALSE; + + sym.st_shndx = _bfd_elf_section_from_bfd_section (output_bfd, + sec); + if (sym.st_shndx == SHN_BAD) + return FALSE; + + sym.st_value += o->output_offset; + + finfo->indices[symndx] = bfd_get_symcount (output_bfd); + if (! elf_link_output_sym (finfo, name, &sym, o, NULL)) + return FALSE; + } + elf_section_data (osec)->this_hdr.sh_info + = finfo->indices[symndx]; + } + } + if ((o->flags & SEC_HAS_CONTENTS) == 0 || (o->size == 0 && (o->flags & SEC_RELOC) == 0)) continue; @@ -10038,22 +10095,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) if (info->relocatable || info->emitrelocations) reloc_count = sec->reloc_count; else if (bed->elf_backend_count_relocs) - { - Elf_Internal_Rela * relocs; - - relocs = _bfd_elf_link_read_relocs (sec->owner, sec, - NULL, NULL, - info->keep_memory); - - if (relocs != NULL) - { - reloc_count - = (*bed->elf_backend_count_relocs) (sec, relocs); - - if (elf_section_data (sec)->relocs != relocs) - free (relocs); - } - } + reloc_count = (*bed->elf_backend_count_relocs) (info, sec); if (sec->rawsize > max_contents_size) max_contents_size = sec->rawsize; @@ -10699,16 +10741,16 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) && (h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak)) { - dyn.d_un.d_val = h->root.u.def.value; + dyn.d_un.d_ptr = h->root.u.def.value; o = h->root.u.def.section; if (o->output_section != NULL) - dyn.d_un.d_val += (o->output_section->vma + dyn.d_un.d_ptr += (o->output_section->vma + o->output_offset); else { /* The symbol is imported from another shared library and does not apply to this one. */ - dyn.d_un.d_val = 0; + dyn.d_un.d_ptr = 0; } break; } @@ -10787,6 +10829,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) else type = SHT_RELA; dyn.d_un.d_val = 0; + dyn.d_un.d_ptr = 0; for (i = 1; i < elf_numsections (abfd); i++) { Elf_Internal_Shdr *hdr; @@ -10799,9 +10842,9 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info) dyn.d_un.d_val += hdr->sh_size; else { - if (dyn.d_un.d_val == 0 - || hdr->sh_addr < dyn.d_un.d_val) - dyn.d_un.d_val = hdr->sh_addr; + if (dyn.d_un.d_ptr == 0 + || hdr->sh_addr < dyn.d_un.d_ptr) + dyn.d_un.d_ptr = hdr->sh_addr; } } } diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index 7b81555..83d26b0 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -1329,6 +1329,9 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, goto r_sparc_plt32; break; } + /* PR 7027: We need similar behaviour for 64-bit binaries. */ + else if (r_type == R_SPARC_WPLT30) + break; /* It does not make sense to have a procedure linkage table entry for a local symbol. */ @@ -2760,6 +2763,9 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd, if (h == NULL) break; } + /* PR 7027: We need similar behaviour for 64-bit binaries. */ + else if (r_type == R_SPARC_WPLT30 && h == NULL) + break; else { BFD_ASSERT (h != NULL); diff --git a/bfd/hosts/alphavms.h b/bfd/hosts/alphavms.h index b2a85c2..0afda86 100644 --- a/bfd/hosts/alphavms.h +++ b/bfd/hosts/alphavms.h @@ -34,6 +34,7 @@ #include <time.h> #include "bfd.h" +#include "filenames.h" #ifndef BFD_HOST_64_BIT /* Make the basic types 64-bit quantities on the host. @@ -67,3 +68,12 @@ typedef BFD_HOST_64_BIT int64_type; #endif extern int getpagesize PARAMS ((void)); + +/* No intl. */ +#define gettext(Msgid) (Msgid) +#define dgettext(Domainname, Msgid) (Msgid) +#define dcgettext(Domainname, Msgid, Category) (Msgid) +#define textdomain(Domainname) while (0) /* nothing */ +#define bindtextdomain(Domainname, Dirname) while (0) /* nothing */ +#define _(String) (String) +#define N_(String) (String) diff --git a/bfd/libbfd.h b/bfd/libbfd.h index eb84d58..1707b06 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -1890,6 +1890,17 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_CRIS_32_GOTREL", "BFD_RELOC_CRIS_32_PLT_GOTREL", "BFD_RELOC_CRIS_32_PLT_PCREL", + "BFD_RELOC_CRIS_32_GOT_GD", + "BFD_RELOC_CRIS_16_GOT_GD", + "BFD_RELOC_CRIS_32_GD", + "BFD_RELOC_CRIS_DTP", + "BFD_RELOC_CRIS_32_DTPREL", + "BFD_RELOC_CRIS_16_DTPREL", + "BFD_RELOC_CRIS_32_GOT_TPREL", + "BFD_RELOC_CRIS_16_GOT_TPREL", + "BFD_RELOC_CRIS_32_TPREL", + "BFD_RELOC_CRIS_16_TPREL", + "BFD_RELOC_CRIS_DTPMOD", "BFD_RELOC_860_COPY", "BFD_RELOC_860_GLOB_DAT", "BFD_RELOC_860_JUMP_SLOT", diff --git a/bfd/linker.c b/bfd/linker.c index baf280c..5080d7d 100644 --- a/bfd/linker.c +++ b/bfd/linker.c @@ -2796,18 +2796,36 @@ default_indirect_link_order (bfd *output_bfd, } } - /* Get and relocate the section contents. */ - sec_size = (input_section->rawsize > input_section->size - ? input_section->rawsize - : input_section->size); - contents = bfd_malloc (sec_size); - if (contents == NULL && sec_size != 0) - goto error_return; - new_contents = (bfd_get_relocated_section_contents - (output_bfd, info, link_order, contents, info->relocatable, - _bfd_generic_link_get_symbols (input_bfd))); - if (!new_contents) - goto error_return; + if ((output_section->flags & (SEC_GROUP | SEC_LINKER_CREATED)) == SEC_GROUP + && input_section->size != 0) + { + /* Group section contents are set by bfd_elf_set_group_contents. */ + if (!output_bfd->output_has_begun) + { + /* FIXME: This hack ensures bfd_elf_set_group_contents is called. */ + if (!bfd_set_section_contents (output_bfd, output_section, "", 0, 1)) + goto error_return; + } + new_contents = output_section->contents; + BFD_ASSERT (new_contents != NULL); + BFD_ASSERT (input_section->output_offset == 0); + } + else + { + /* Get and relocate the section contents. */ + sec_size = (input_section->rawsize > input_section->size + ? input_section->rawsize + : input_section->size); + contents = bfd_malloc (sec_size); + if (contents == NULL && sec_size != 0) + goto error_return; + new_contents = (bfd_get_relocated_section_contents + (output_bfd, info, link_order, contents, + info->relocatable, + _bfd_generic_link_get_symbols (input_bfd))); + if (!new_contents) + goto error_return; + } /* Output the section contents. */ loc = input_section->output_offset * bfd_octets_per_byte (output_bfd); diff --git a/bfd/mach-o-target.c b/bfd/mach-o-target.c index fd4d1e1..a435e6e 100644 --- a/bfd/mach-o-target.c +++ b/bfd/mach-o-target.c @@ -84,27 +84,31 @@ const bfd_target TARGET_NAME = #else _bfd_dummy_target, bfd_mach_o_object_p, - _bfd_dummy_target, + bfd_generic_archive_p, bfd_mach_o_core_p #endif }, { /* bfd_set_format. */ bfd_false, bfd_mach_o_mkobject, - bfd_false, + _bfd_generic_mkarchive, bfd_mach_o_mkobject, }, { /* bfd_write_contents. */ bfd_false, bfd_mach_o_write_contents, - bfd_false, + _bfd_write_archive_contents, bfd_mach_o_write_contents, }, BFD_JUMP_TABLE_GENERIC (bfd_mach_o), BFD_JUMP_TABLE_COPY (bfd_mach_o), BFD_JUMP_TABLE_CORE (bfd_mach_o), +#if TARGET_ARCHIVE BFD_JUMP_TABLE_ARCHIVE (bfd_mach_o), +#else + BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd), +#endif BFD_JUMP_TABLE_SYMBOLS (bfd_mach_o), BFD_JUMP_TABLE_RELOCS (_bfd_norelocs), BFD_JUMP_TABLE_WRITE (bfd_mach_o), diff --git a/bfd/mach-o.c b/bfd/mach-o.c index d3d3abc..afad9fd 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -24,6 +24,7 @@ #include "bfd.h" #include "libbfd.h" #include "libiberty.h" +#include "aout/stab_gnu.h" #include <ctype.h> #ifndef BFD_IO_FUNCS @@ -64,7 +65,6 @@ #define bfd_mach_o_set_arch_mach bfd_default_set_arch_mach #define bfd_mach_o_bfd_merge_private_bfd_data _bfd_generic_bfd_merge_private_bfd_data #define bfd_mach_o_bfd_set_private_flags _bfd_generic_bfd_set_private_flags -#define bfd_mach_o_bfd_print_private_bfd_data _bfd_generic_bfd_print_private_bfd_data #define bfd_mach_o_get_section_contents _bfd_generic_get_section_contents #define bfd_mach_o_set_section_contents _bfd_generic_set_section_contents #define bfd_mach_o_bfd_gc_sections bfd_generic_gc_sections @@ -75,37 +75,6 @@ #define bfd_mach_o_bfd_copy_private_header_data _bfd_generic_bfd_copy_private_header_data #define bfd_mach_o_core_file_matches_executable_p generic_core_file_matches_executable_p - -/* The flags field of a section structure is separated into two parts a section - type and section attributes. The section types are mutually exclusive (it - can only have one type) but the section attributes are not (it may have more - than one attribute). */ - -#define SECTION_TYPE 0x000000ff /* 256 section types. */ -#define SECTION_ATTRIBUTES 0xffffff00 /* 24 section attributes. */ - -/* Constants for the section attributes part of the flags field of a section - structure. */ - -#define SECTION_ATTRIBUTES_USR 0xff000000 /* User-settable attributes. */ -#define S_ATTR_PURE_INSTRUCTIONS 0x80000000 /* Section contains only true machine instructions. */ -#define SECTION_ATTRIBUTES_SYS 0x00ffff00 /* System setable attributes. */ -#define S_ATTR_SOME_INSTRUCTIONS 0x00000400 /* Section contains some machine instructions. */ -#define S_ATTR_EXT_RELOC 0x00000200 /* Section has external relocation entries. */ -#define S_ATTR_LOC_RELOC 0x00000100 /* Section has local relocation entries. */ - -#define N_STAB 0xe0 -#define N_TYPE 0x1e -#define N_EXT 0x01 - -#define N_UNDF 0x0 -#define N_ABS 0x2 -#define N_TEXT 0x4 -#define N_DATA 0x6 -#define N_BSS 0x8 -#define N_SECT 0xe -#define N_INDR 0xa - static unsigned int bfd_mach_o_version (bfd *abfd) { @@ -255,6 +224,10 @@ bfd_mach_o_print_symbol (bfd *abfd, bfd_print_symbol_type how) { FILE *file = (FILE *) afile; + unsigned char ntype; + unsigned char nsect; + unsigned int ndesc; + const char *name; switch (how) { @@ -263,7 +236,40 @@ bfd_mach_o_print_symbol (bfd *abfd, break; default: bfd_print_symbol_vandf (abfd, (PTR) file, symbol); - fprintf (file, " %-5s %s", symbol->section->name, symbol->name); + ntype = BFD_MACH_O_SYM_NTYPE (symbol); + nsect = BFD_MACH_O_SYM_NSECT (symbol); + ndesc = BFD_MACH_O_SYM_NDESC (symbol); + if (ntype & BFD_MACH_O_N_STAB) + name = bfd_get_stab_name (ntype); + else + switch (ntype & BFD_MACH_O_N_TYPE) + { + case BFD_MACH_O_N_UNDF: + name = "UND"; + break; + case BFD_MACH_O_N_ABS: + name = "ABS"; + break; + case BFD_MACH_O_N_INDR: + name = "INDR"; + break; + case BFD_MACH_O_N_PBUD: + name = "PBUD"; + break; + case BFD_MACH_O_N_SECT: + name = "SECT"; + break; + default: + name = "???"; + break; + } + if (name == NULL) + name = ""; + fprintf (file, " %02x %-6s %02x %04x", ntype, name, nsect, ndesc); + if ((ntype & BFD_MACH_O_N_STAB) == 0 + && (ntype & BFD_MACH_O_N_TYPE) == BFD_MACH_O_N_SECT) + fprintf (file, " %-5s", symbol->section->name); + fprintf (file, " %s", symbol->name); } } @@ -554,9 +560,9 @@ bfd_mach_o_scan_write_symtab_symbols (bfd *abfd, bfd_mach_o_load_command *comman s = &sym->symbols[i]; /* Instead just set from the stored values. */ - ntype = (s->udata.i >> 24) & 0xff; - nsect = (s->udata.i >> 16) & 0xff; - ndesc = s->udata.i & 0xffff; + ntype = BFD_MACH_O_SYM_NTYPE (s); + nsect = BFD_MACH_O_SYM_NSECT (s); + ndesc = BFD_MACH_O_SYM_NDESC (s); bfd_h_put_32 (abfd, s->name - sym->strtab, buf); bfd_h_put_8 (abfd, ntype, buf + 4); @@ -769,7 +775,8 @@ bfd_mach_o_read_header (bfd *abfd, bfd_mach_o_header *header) } static asection * -bfd_mach_o_make_bfd_section (bfd *abfd, bfd_mach_o_section *section) +bfd_mach_o_make_bfd_section (bfd *abfd, bfd_mach_o_section *section, + unsigned long prot) { asection *bfdsec; char *sname; @@ -784,11 +791,31 @@ bfd_mach_o_make_bfd_section (bfd *abfd, bfd_mach_o_section *section) sname = bfd_alloc (abfd, snamelen); if (sname == NULL) return NULL; - sprintf (sname, "%s.%s.%s", prefix, section->segname, section->sectname); - flags = SEC_ALLOC; - if ((section->flags & SECTION_TYPE) != BFD_MACH_O_S_ZEROFILL) - flags = SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC | SEC_CODE; + /* Use canonical dwarf section names for dwarf sections. */ + if (strcmp (section->segname, "__DWARF") == 0 + && strncmp (section->sectname, "__", 2) == 0) + sprintf (sname, ".%s", section->sectname + 2); + else + sprintf (sname, "%s.%s.%s", prefix, section->segname, section->sectname); + + if (section->flags & BFD_MACH_O_S_ATTR_DEBUG) + flags = SEC_HAS_CONTENTS | SEC_DEBUGGING; + else + { + flags = SEC_ALLOC; + if ((section->flags & BFD_MACH_O_SECTION_TYPE_MASK) + != BFD_MACH_O_S_ZEROFILL) + { + flags |= SEC_HAS_CONTENTS | SEC_LOAD; + if (prot & BFD_MACH_O_PROT_EXECUTE) + flags |= SEC_CODE; + if (prot & BFD_MACH_O_PROT_WRITE) + flags |= SEC_DATA; + else if (prot & BFD_MACH_O_PROT_READ) + flags |= SEC_READONLY; + } + } bfdsec = bfd_make_section_anyway_with_flags (abfd, sname, flags); if (bfdsec == NULL) return NULL; @@ -806,7 +833,8 @@ bfd_mach_o_make_bfd_section (bfd *abfd, bfd_mach_o_section *section) static int bfd_mach_o_scan_read_section_32 (bfd *abfd, bfd_mach_o_section *section, - bfd_vma offset) + bfd_vma offset, + unsigned long prot) { unsigned char buf[68]; @@ -828,7 +856,7 @@ bfd_mach_o_scan_read_section_32 (bfd *abfd, section->reserved1 = bfd_h_get_32 (abfd, buf + 60); section->reserved2 = bfd_h_get_32 (abfd, buf + 64); section->reserved3 = 0; - section->bfdsection = bfd_mach_o_make_bfd_section (abfd, section); + section->bfdsection = bfd_mach_o_make_bfd_section (abfd, section, prot); if (section->bfdsection == NULL) return -1; @@ -839,7 +867,8 @@ bfd_mach_o_scan_read_section_32 (bfd *abfd, static int bfd_mach_o_scan_read_section_64 (bfd *abfd, bfd_mach_o_section *section, - bfd_vma offset) + bfd_vma offset, + unsigned long prot) { unsigned char buf[80]; @@ -861,7 +890,7 @@ bfd_mach_o_scan_read_section_64 (bfd *abfd, section->reserved1 = bfd_h_get_32 (abfd, buf + 68); section->reserved2 = bfd_h_get_32 (abfd, buf + 72); section->reserved3 = bfd_h_get_32 (abfd, buf + 76); - section->bfdsection = bfd_mach_o_make_bfd_section (abfd, section); + section->bfdsection = bfd_mach_o_make_bfd_section (abfd, section, prot); if (section->bfdsection == NULL) return -1; @@ -873,12 +902,13 @@ static int bfd_mach_o_scan_read_section (bfd *abfd, bfd_mach_o_section *section, bfd_vma offset, + unsigned long prot, unsigned int wide) { if (wide) - return bfd_mach_o_scan_read_section_64 (abfd, section, offset); + return bfd_mach_o_scan_read_section_64 (abfd, section, offset, prot); else - return bfd_mach_o_scan_read_section_32 (abfd, section, offset); + return bfd_mach_o_scan_read_section_32 (abfd, section, offset, prot); } int @@ -912,7 +942,7 @@ bfd_mach_o_scan_read_symtab_symbol (bfd *abfd, stroff = bfd_h_get_32 (abfd, buf); type = bfd_h_get_8 (abfd, buf + 4); symtype = (type & 0x0e); - section = bfd_h_get_8 (abfd, buf + 5) - 1; + section = bfd_h_get_8 (abfd, buf + 5); desc = bfd_h_get_16 (abfd, buf + 6); if (wide) value = bfd_h_get_64 (abfd, buf + 8); @@ -936,20 +966,35 @@ bfd_mach_o_scan_read_symtab_symbol (bfd *abfd, { s->flags |= BSF_DEBUGGING; s->section = bfd_und_section_ptr; + switch (type) + { + case N_FUN: + case N_STSYM: + case N_LCSYM: + case N_BNSYM: + case N_SLINE: + case N_ENSYM: + case N_ECOMM: + case N_ECOML: + case N_GSYM: + if ((section > 0) && (section <= mdata->nsects)) + { + s->section = mdata->sections[section - 1]->bfdsection; + s->value = s->value - mdata->sections[section - 1]->addr; + } + break; + } } else { if (type & BFD_MACH_O_N_PEXT) - { - type &= ~BFD_MACH_O_N_PEXT; - s->flags |= BSF_GLOBAL; - } - + s->flags |= BSF_GLOBAL; + if (type & BFD_MACH_O_N_EXT) - { - type &= ~BFD_MACH_O_N_EXT; - s->flags |= BSF_GLOBAL; - } + s->flags |= BSF_GLOBAL; + + if (!(type & (BFD_MACH_O_N_PEXT | BFD_MACH_O_N_EXT))) + s->flags |= BSF_LOCAL; switch (symtype) { @@ -965,8 +1010,8 @@ bfd_mach_o_scan_read_symtab_symbol (bfd *abfd, case BFD_MACH_O_N_SECT: if ((section > 0) && (section <= mdata->nsects)) { - s->section = mdata->sections[section]->bfdsection; - s->value = s->value - mdata->sections[section]->addr; + s->section = mdata->sections[section - 1]->bfdsection; + s->value = s->value - mdata->sections[section - 1]->addr; } else { @@ -1094,18 +1139,19 @@ bfd_mach_o_i386_flavour_string (unsigned int flavour) { switch ((int) flavour) { - case BFD_MACH_O_i386_NEW_THREAD_STATE: return "i386_NEW_THREAD_STATE"; - case BFD_MACH_O_i386_FLOAT_STATE: return "i386_FLOAT_STATE"; - case BFD_MACH_O_i386_ISA_PORT_MAP_STATE: return "i386_ISA_PORT_MAP_STATE"; - case BFD_MACH_O_i386_V86_ASSIST_STATE: return "i386_V86_ASSIST_STATE"; - case BFD_MACH_O_i386_REGS_SEGS_STATE: return "i386_REGS_SEGS_STATE"; - case BFD_MACH_O_i386_THREAD_SYSCALL_STATE: return "i386_THREAD_SYSCALL_STATE"; - case BFD_MACH_O_i386_THREAD_STATE_NONE: return "i386_THREAD_STATE_NONE"; - case BFD_MACH_O_i386_SAVED_STATE: return "i386_SAVED_STATE"; - case BFD_MACH_O_i386_THREAD_STATE: return "i386_THREAD_STATE"; - case BFD_MACH_O_i386_THREAD_FPSTATE: return "i386_THREAD_FPSTATE"; - case BFD_MACH_O_i386_THREAD_EXCEPTSTATE: return "i386_THREAD_EXCEPTSTATE"; - case BFD_MACH_O_i386_THREAD_CTHREADSTATE: return "i386_THREAD_CTHREADSTATE"; + case BFD_MACH_O_x86_THREAD_STATE32: return "x86_THREAD_STATE32"; + case BFD_MACH_O_x86_FLOAT_STATE32: return "x86_FLOAT_STATE32"; + case BFD_MACH_O_x86_EXCEPTION_STATE32: return "x86_EXCEPTION_STATE32"; + case BFD_MACH_O_x86_THREAD_STATE64: return "x86_THREAD_STATE64"; + case BFD_MACH_O_x86_FLOAT_STATE64: return "x86_FLOAT_STATE64"; + case BFD_MACH_O_x86_EXCEPTION_STATE64: return "x86_EXCEPTION_STATE64"; + case BFD_MACH_O_x86_THREAD_STATE: return "x86_THREAD_STATE"; + case BFD_MACH_O_x86_FLOAT_STATE: return "x86_FLOAT_STATE"; + case BFD_MACH_O_x86_EXCEPTION_STATE: return "x86_EXCEPTION_STATE"; + case BFD_MACH_O_x86_DEBUG_STATE32: return "x86_DEBUG_STATE32"; + case BFD_MACH_O_x86_DEBUG_STATE64: return "x86_DEBUG_STATE64"; + case BFD_MACH_O_x86_DEBUG_STATE: return "x86_DEBUG_STATE"; + case BFD_MACH_O_THREAD_STATE_NONE: return "THREAD_STATE_NONE"; default: return "UNKNOWN"; } } @@ -1422,6 +1468,9 @@ bfd_mach_o_scan_read_symtab (bfd *abfd, bfd_mach_o_load_command *command) seg->stabs_segment = bfdsec; + if (seg->nsyms != 0) + abfd->flags |= HAS_SYMS; + prefix = "LC_SYMTAB.stabstr"; sname = bfd_alloc (abfd, strlen (prefix) + 1); if (sname == NULL) @@ -1444,6 +1493,40 @@ bfd_mach_o_scan_read_symtab (bfd *abfd, bfd_mach_o_load_command *command) } static int +bfd_mach_o_scan_read_uuid (bfd *abfd, bfd_mach_o_load_command *command) +{ + bfd_mach_o_uuid_command *cmd = &command->command.uuid; + asection *bfdsec; + char *sname; + static const char prefix[] = "LC_UUID"; + + BFD_ASSERT (command->type == BFD_MACH_O_LC_UUID); + + bfd_seek (abfd, command->offset + 8, SEEK_SET); + if (bfd_bread ((PTR) cmd->uuid, 16, abfd) != 16) + return -1; + + sname = bfd_alloc (abfd, strlen (prefix) + 1); + if (sname == NULL) + return -1; + strcpy (sname, prefix); + + bfdsec = bfd_make_section_anyway_with_flags (abfd, sname, SEC_HAS_CONTENTS); + if (bfdsec == NULL) + return -1; + + bfdsec->vma = 0; + bfdsec->lma = 0; + bfdsec->size = command->len - 8; + bfdsec->filepos = command->offset + 8; + bfdsec->alignment_power = 0; + + cmd->section = bfdsec; + + return 0; +} + +static int bfd_mach_o_scan_read_segment (bfd *abfd, bfd_mach_o_load_command *command, unsigned int wide) @@ -1465,6 +1548,7 @@ bfd_mach_o_scan_read_segment (bfd *abfd, return -1; memcpy (seg->segname, buf, 16); + seg->segname[16] = '\0'; seg->vmaddr = bfd_h_get_64 (abfd, buf + 16); seg->vmsize = bfd_h_get_64 (abfd, buf + 24); @@ -1484,6 +1568,7 @@ bfd_mach_o_scan_read_segment (bfd *abfd, return -1; memcpy (seg->segname, buf, 16); + seg->segname[16] = '\0'; seg->vmaddr = bfd_h_get_32 (abfd, buf + 16); seg->vmsize = bfd_h_get_32 (abfd, buf + 20); @@ -1510,7 +1595,7 @@ bfd_mach_o_scan_read_segment (bfd *abfd, bfdsec->size = seg->filesize; bfdsec->filepos = seg->fileoff; bfdsec->alignment_power = 0x0; - bfdsec->flags = SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC | SEC_CODE; + bfdsec->flags = SEC_HAS_CONTENTS; bfdsec->segment_mark = 1; seg->segment = bfdsec; @@ -1530,7 +1615,7 @@ bfd_mach_o_scan_read_segment (bfd *abfd, segoff = command->offset + 48 + 8 + (i * 68); if (bfd_mach_o_scan_read_section - (abfd, &seg->sections[i], segoff, wide) != 0) + (abfd, &seg->sections[i], segoff, seg->initprot, wide) != 0) return -1; } } @@ -1618,6 +1703,12 @@ bfd_mach_o_scan_read_command (bfd *abfd, bfd_mach_o_load_command *command) case BFD_MACH_O_LC_TWOLEVEL_HINTS: case BFD_MACH_O_LC_PREBIND_CKSUM: break; + case BFD_MACH_O_LC_UUID: + if (bfd_mach_o_scan_read_uuid (abfd, command) != 0) + return -1; + break; + case BFD_MACH_O_LC_CODE_SIGNATURE: + break; default: fprintf (stderr, "unable to read unknown load command 0x%lx\n", (unsigned long) command->type); @@ -1634,6 +1725,7 @@ bfd_mach_o_flatten_sections (bfd *abfd) long csect = 0; unsigned long i, j; + /* Count total number of sections. */ mdata->nsects = 0; for (i = 0; i < mdata->header.ncmds; i++) @@ -1648,8 +1740,11 @@ bfd_mach_o_flatten_sections (bfd *abfd) } } + /* Allocate sections array. */ mdata->sections = bfd_alloc (abfd, mdata->nsects * sizeof (bfd_mach_o_section *)); + + /* Fill the array. */ csect = 0; for (i = 0; i < mdata->header.ncmds; i++) @@ -1694,7 +1789,7 @@ bfd_mach_o_scan_start_address (bfd *abfd) { if ((mdata->header.cputype == BFD_MACH_O_CPU_TYPE_I386) && (cmd->flavours[i].flavour - == (unsigned long) BFD_MACH_O_i386_THREAD_STATE)) + == (unsigned long) BFD_MACH_O_x86_THREAD_STATE32)) { unsigned char buf[4]; @@ -1761,8 +1856,21 @@ bfd_mach_o_scan (bfd *abfd, mdata->header = *header; mdata->symbols = NULL; - abfd->flags = (abfd->xvec->object_flags - | (abfd->flags & (BFD_IN_MEMORY | BFD_IO_FUNCS))); + abfd->flags = abfd->flags & (BFD_IN_MEMORY | BFD_IO_FUNCS); + switch (header->filetype) + { + case BFD_MACH_O_MH_OBJECT: + abfd->flags |= HAS_RELOC; + break; + case BFD_MACH_O_MH_EXECUTE: + abfd->flags |= EXEC_P; + break; + case BFD_MACH_O_MH_DYLIB: + case BFD_MACH_O_MH_BUNDLE: + abfd->flags |= DYNAMIC; + break; + } + abfd->tdata.mach_o_data = mdata; bfd_mach_o_convert_architecture (header->cputype, header->cpusubtype, @@ -1938,7 +2046,6 @@ typedef struct mach_o_fat_archentry unsigned long offset; unsigned long size; unsigned long align; - bfd *abfd; } mach_o_fat_archentry; typedef struct mach_o_fat_data_struct @@ -1984,7 +2091,6 @@ bfd_mach_o_archive_p (bfd *abfd) adata->archentries[i].offset = bfd_getb32 (buf + 8); adata->archentries[i].size = bfd_getb32 (buf + 12); adata->archentries[i].align = bfd_getb32 (buf + 16); - adata->archentries[i].abfd = NULL; } abfd->tdata.mach_o_fat_data = adata; @@ -2003,6 +2109,11 @@ bfd_mach_o_openr_next_archived_file (bfd *archive, bfd *prev) mach_o_fat_data_struct *adata; mach_o_fat_archentry *entry = NULL; unsigned long i; + bfd *nbfd; + const char *arch_name; + enum bfd_architecture arch_type; + unsigned long arch_subtype; + char *s = NULL; adata = (mach_o_fat_data_struct *) archive->tdata.mach_o_fat_data; BFD_ASSERT (adata != NULL); @@ -2014,7 +2125,7 @@ bfd_mach_o_openr_next_archived_file (bfd *archive, bfd *prev) { for (i = 0; i < adata->nfat_arch; i++) { - if (adata->archentries[i].abfd == prev) + if (adata->archentries[i].offset == prev->origin) break; } @@ -2034,25 +2145,23 @@ bfd_mach_o_openr_next_archived_file (bfd *archive, bfd *prev) } entry = &adata->archentries[i]; - if (entry->abfd == NULL) - { - bfd *nbfd = _bfd_new_bfd_contained_in (archive); - char *s = NULL; - - if (nbfd == NULL) - return NULL; - - nbfd->origin = entry->offset; - s = bfd_malloc (strlen (archive->filename) + 1); - if (s == NULL) - return NULL; - strcpy (s, archive->filename); - nbfd->filename = s; - nbfd->iostream = NULL; - entry->abfd = nbfd; - } + nbfd = _bfd_new_bfd_contained_in (archive); + if (nbfd == NULL) + return NULL; + + nbfd->origin = entry->offset; + + bfd_mach_o_convert_architecture (entry->cputype, entry->cpusubtype, + &arch_type, &arch_subtype); + arch_name = bfd_printable_arch_mach (arch_type, arch_subtype); + s = bfd_malloc (strlen (arch_name) + 1); + if (s == NULL) + return NULL; + strcpy (s, arch_name); + nbfd->filename = s; + nbfd->iostream = NULL; - return entry->abfd; + return nbfd; } int @@ -2161,6 +2270,147 @@ bfd_mach_o_stack_addr (enum bfd_mach_o_cpu_type type) } } +static bfd_boolean +bfd_mach_o_bfd_print_private_bfd_data (bfd *abfd, PTR ptr) +{ + bfd_mach_o_data_struct *mdata = abfd->tdata.mach_o_data; + FILE *file = (FILE *) ptr; + unsigned int i, j; + unsigned int sec_nbr = 0; + + fprintf (file, _("Segments and Sections:\n")); + fprintf (file, _(" #: Segment name Section name Address\n")); + + for (i = 0; i < mdata->header.ncmds; i++) + { + bfd_mach_o_segment_command *seg; + + if (mdata->commands[i].type != BFD_MACH_O_LC_SEGMENT + && mdata->commands[i].type != BFD_MACH_O_LC_SEGMENT_64) + continue; + + seg = &mdata->commands[i].command.segment; + + fprintf (file, "[Segment %-16s ", seg->segname); + fprintf_vma (file, seg->vmaddr); + fprintf (file, "-"); + fprintf_vma (file, seg->vmaddr + seg->vmsize - 1); + fputc (' ', file); + fputc (seg->initprot & BFD_MACH_O_PROT_READ ? 'r' : '-', file); + fputc (seg->initprot & BFD_MACH_O_PROT_WRITE ? 'w' : '-', file); + fputc (seg->initprot & BFD_MACH_O_PROT_EXECUTE ? 'x' : '-', file); + fprintf (file, "]\n"); + for (j = 0; j < seg->nsects; j++) + { + bfd_mach_o_section *sec = &seg->sections[j]; + fprintf (file, "%02u: %-16s %-16s ", ++sec_nbr, + sec->segname, sec->sectname); + fprintf_vma (file, sec->addr); + fprintf (file, " "); + fprintf_vma (file, sec->size); + fprintf (file, " %08lx\n", sec->flags); + } + } + + for (i = 0; i < mdata->header.ncmds; i++) + { + bfd_mach_o_load_command *cmd = &mdata->commands[i]; + + switch (cmd->type) + { + case BFD_MACH_O_LC_SEGMENT: + case BFD_MACH_O_LC_SEGMENT_64: + break; + case BFD_MACH_O_LC_UUID: + { + bfd_mach_o_uuid_command *uuid = &cmd->command.uuid; + unsigned int i; + + fprintf (file, "\n" + "UUID:"); + for (i = 0; i < sizeof (uuid->uuid); i++) + fprintf (file, " %02x", uuid->uuid[i]); + fputc ('\n', file); + } + break; + case BFD_MACH_O_LC_LOAD_DYLIB: + { + bfd_mach_o_dylib_command *dylib = &cmd->command.dylib; + bfd_byte *data = NULL; + + if (! bfd_malloc_and_get_section (abfd, dylib->section, &data)) + { + if (data != NULL) + free (data); + break; + } + fprintf (file, "\n" + "LOAD_DYLIB: %s\n", + data + dylib->name_offset - cmd->offset - 8); + fprintf (file, " time stamp: 0x%08lx\n", + dylib->timestamp); + fprintf (file, " current version: 0x%08lx\n", + dylib->current_version); + fprintf (file, " comptibility version: 0x%08lx\n", + dylib->compatibility_version); + free (data); + break; + } + case BFD_MACH_O_LC_LOAD_DYLINKER: + { + bfd_mach_o_dylinker_command *linker = &cmd->command.dylinker; + bfd_byte *data = NULL; + + if (! bfd_malloc_and_get_section (abfd, linker->section, &data)) + { + if (data != NULL) + free (data); + break; + } + fprintf (file, "\n" + "LOAD_DYLINKER: %s\n", + data + linker->name_offset - cmd->offset - 8); + free (data); + break; + } + case BFD_MACH_O_LC_SYMTAB: + { + bfd_mach_o_symtab_command *symtab = &cmd->command.symtab; + fprintf (file, "\n" + "LC_SYMTAB: nsyms: %lu, strsize: %lu\n", + symtab->nsyms, symtab->strsize); + break; + } + case BFD_MACH_O_LC_DYSYMTAB: + { + bfd_mach_o_dysymtab_command *dysymtab = &cmd->command.dysymtab; + fprintf (file, "\n" + "LC_DYSYMTAB:\n" + " local symbols: index: %lu number: %lu\n", + dysymtab->ilocalsym, dysymtab->nlocalsym); + fprintf (file, + " external symbols: index: %lu number: %lu\n", + dysymtab->iextdefsym, dysymtab->nextdefsym); + fprintf (file, + " undefined symbols: index: %lu number: %lu\n", + dysymtab->iundefsym, dysymtab->nundefsym); + fprintf (file, + " ntoc: offset: %lu number: %lu\n", + dysymtab->tocoff, dysymtab->ntoc); + fprintf (file, + " module table: offset: %lu number: %lu\n", + dysymtab->modtaboff, dysymtab->nmodtab); + break; + } + default: + fprintf (file, "LC_%d\n", cmd->type); + break; + } + } + + return TRUE; +} + int bfd_mach_o_core_fetch_environment (bfd *abfd, unsigned char **rbuf, diff --git a/bfd/mach-o.h b/bfd/mach-o.h index d73f205..8ffb1b2 100644 --- a/bfd/mach-o.h +++ b/bfd/mach-o.h @@ -30,9 +30,15 @@ #define BFD_MACH_O_N_EXT 0x01 /* External symbol bit, set for external symbols. */ #define BFD_MACH_O_N_UNDF 0x00 /* Undefined, n_sect == NO_SECT. */ #define BFD_MACH_O_N_ABS 0x02 /* Absolute, n_sect == NO_SECT. */ -#define BFD_MACH_O_N_SECT 0x0e /* Defined in section number n_sect. */ -#define BFD_MACH_O_N_PBUD 0x0c /* Prebound undefined (defined in a dylib). */ #define BFD_MACH_O_N_INDR 0x0a /* Indirect. */ +#define BFD_MACH_O_N_PBUD 0x0c /* Prebound undefined (defined in a dylib). */ +#define BFD_MACH_O_N_SECT 0x0e /* Defined in section number n_sect. */ + +#define BFD_MACH_O_NO_SECT 0 + +#define BFD_MACH_O_SYM_NTYPE(SYM) (((SYM)->udata.i >> 24) & 0xff) +#define BFD_MACH_O_SYM_NSECT(SYM) (((SYM)->udata.i >> 16) & 0xff) +#define BFD_MACH_O_SYM_NDESC(SYM) ((SYM)->udata.i & 0xffff) typedef enum bfd_mach_o_ppc_thread_flavour { @@ -44,26 +50,22 @@ typedef enum bfd_mach_o_ppc_thread_flavour } bfd_mach_o_ppc_thread_flavour; +/* Defined in <mach/i386/thread_status.h> */ typedef enum bfd_mach_o_i386_thread_flavour { - BFD_MACH_O_i386_NEW_THREAD_STATE = 1, - BFD_MACH_O_i386_FLOAT_STATE = 2, - BFD_MACH_O_i386_ISA_PORT_MAP_STATE = 3, - BFD_MACH_O_i386_V86_ASSIST_STATE = 4, - BFD_MACH_O_i386_REGS_SEGS_STATE = 5, - BFD_MACH_O_i386_THREAD_SYSCALL_STATE = 6, - BFD_MACH_O_i386_SAVED_STATE = 8, - BFD_MACH_O_i386_THREAD_STATE = -1, - BFD_MACH_O_i386_THREAD_FPSTATE = -2, - BFD_MACH_O_i386_THREAD_EXCEPTSTATE = -3, - BFD_MACH_O_i386_THREAD_CTHREADSTATE = -4, + BFD_MACH_O_x86_THREAD_STATE32 = 1, + BFD_MACH_O_x86_FLOAT_STATE32 = 2, + BFD_MACH_O_x86_EXCEPTION_STATE32 = 3, BFD_MACH_O_x86_THREAD_STATE64 = 4, BFD_MACH_O_x86_FLOAT_STATE64 = 5, BFD_MACH_O_x86_EXCEPTION_STATE64 = 6, BFD_MACH_O_x86_THREAD_STATE = 7, BFD_MACH_O_x86_FLOAT_STATE = 8, BFD_MACH_O_x86_EXCEPTION_STATE = 9, - BFD_MACH_O_i386_THREAD_STATE_NONE = 10, + BFD_MACH_O_x86_DEBUG_STATE32 = 10, + BFD_MACH_O_x86_DEBUG_STATE64 = 11, + BFD_MACH_O_x86_DEBUG_STATE = 12, + BFD_MACH_O_THREAD_STATE_NONE = 13 } bfd_mach_o_i386_thread_flavour; @@ -99,9 +101,11 @@ typedef enum bfd_mach_o_load_command_type BFD_MACH_O_LC_LOAD_WEAK_DYLIB = 0x18, BFD_MACH_O_LC_SEGMENT_64 = 0x19, /* 64-bit segment of this file to be mapped. */ - BFD_MACH_O_LC_ROUTINES_64 = 0x1a, /* Address of the dyld init routine - in a dylib. */ - BFD_MACH_O_LC_UUID = 0x1b /* 128-bit UUID of the executable. */ + BFD_MACH_O_LC_ROUTINES_64 = 0x1a, /* Address of the dyld init routine + in a dylib. */ + BFD_MACH_O_LC_UUID = 0x1b, /* 128-bit UUID of the executable. */ + BFD_MACH_O_LC_RPATH = 0x1c, /* Run path addiions. */ + BFD_MACH_O_LC_CODE_SIGNATURE = 0x1d /* Local of code signature. */ } bfd_mach_o_load_command_type; @@ -188,6 +192,35 @@ typedef enum bfd_mach_o_section_type } bfd_mach_o_section_type; +/* The flags field of a section structure is separated into two parts a section + type and section attributes. The section types are mutually exclusive (it + can only have one type) but the section attributes are not (it may have more + than one attribute). */ + +#define BFD_MACH_O_SECTION_TYPE_MASK 0x000000ff + +/* Constants for the section attributes part of the flags field of a section + structure. */ +#define BFD_MACH_O_SECTION_ATTRIBUTES_MASK 0xffffff00 +/* System setable attributes. */ +#define BFD_MACH_O_SECTION_ATTRIBUTES_SYS 0x00ffff00 +/* User attributes. */ +#define BFD_MACH_O_SECTION_ATTRIBUTES_USR 0xff000000 + +/* Section has local relocation entries. */ +#define BFD_MACH_O_S_ATTR_LOC_RELOC 0x00000100 + +/* Section has external relocation entries. */ +#define BFD_MACH_O_S_ATTR_EXT_RELOC 0x00000200 + +/* Section contains some machine instructions. */ +#define BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS 0x00004000 + +#define BFD_MACH_O_S_ATTR_DEBUG 0x02000000 + +/* Section contains only true machine instructions. */ +#define BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS 0x80000000 + typedef unsigned long bfd_mach_o_cpu_subtype; typedef struct bfd_mach_o_header @@ -226,13 +259,13 @@ bfd_mach_o_section; typedef struct bfd_mach_o_segment_command { - char segname[16]; + char segname[16 + 1]; bfd_vma vmaddr; bfd_vma vmsize; bfd_vma fileoff; unsigned long filesize; - unsigned long maxprot; - unsigned long initprot; + unsigned long maxprot; /* Maximum permitted protection. */ + unsigned long initprot; /* Initial protection. */ unsigned long nsects; unsigned long flags; bfd_mach_o_section *sections; @@ -240,6 +273,11 @@ typedef struct bfd_mach_o_segment_command } bfd_mach_o_segment_command; +/* Protection flags. */ +#define BFD_MACH_O_PROT_READ 0x01 +#define BFD_MACH_O_PROT_WRITE 0x02 +#define BFD_MACH_O_PROT_EXECUTE 0x04 + typedef struct bfd_mach_o_symtab_command { unsigned long symoff; @@ -399,8 +437,8 @@ bfd_mach_o_dysymtab_command; removed. In which case it has the value INDIRECT_SYMBOL_LOCAL. If the symbol was also absolute INDIRECT_SYMBOL_ABS is or'ed with that. */ -#define INDIRECT_SYMBOL_LOCAL 0x80000000 -#define INDIRECT_SYMBOL_ABS 0x40000000 +#define BFD_MACH_O_INDIRECT_SYMBOL_LOCAL 0x80000000 +#define BFD_MACH_O_INDIRECT_SYMBOL_ABS 0x40000000 typedef struct bfd_mach_o_thread_flavour { @@ -452,6 +490,15 @@ typedef struct bfd_mach_o_prebound_dylib_command } bfd_mach_o_prebound_dylib_command; +typedef struct bfd_mach_o_uuid_command +{ + unsigned long cmd; /* LC_PREBOUND_DYLIB. */ + unsigned long cmdsize; /* Includes uuid. */ + unsigned char uuid[16]; /* Uuid. */ + asection *section; +} +bfd_mach_o_uuid_command; + typedef struct bfd_mach_o_load_command { bfd_mach_o_load_command_type type; @@ -467,6 +514,7 @@ typedef struct bfd_mach_o_load_command bfd_mach_o_dylib_command dylib; bfd_mach_o_dylinker_command dylinker; bfd_mach_o_prebound_dylib_command prebound_dylib; + bfd_mach_o_uuid_command uuid; } command; } @@ -484,6 +532,8 @@ typedef struct mach_o_data_struct } mach_o_data_struct; +#define bfd_get_mach_o_data(abfd) ((abfd)->tdata.mach_o_data) + typedef struct mach_o_data_struct bfd_mach_o_data_struct; bfd_boolean bfd_mach_o_valid (bfd *); diff --git a/bfd/makefile.vms b/bfd/makefile.vms index ad6b1ff..963441a 100644 --- a/bfd/makefile.vms +++ b/bfd/makefile.vms @@ -18,11 +18,12 @@ TARGETOBJS = cpu-vax.obj endif -OBJS=archive.obj,archures.obj,bfd.obj,cache.obj,coffgen.obj,corefile.obj,\ - format.obj,init.obj,libbfd.obj,opncls.obj,reloc.obj,section.obj,syms.obj,\ - targets.obj,hash.obj,linker.obj,elf.obj,srec.obj,binary.obj,tekhex.obj,\ - ihex.obj,stab-syms.obj,vms.obj,vms-hdr.obj,vms-gsd.obj,vms-tir.obj,\ - vms-misc.obj,$(TARGETOBJS) +OBJS=archive.obj,archive64.obj,archures.obj,bfd.obj,bfdio.obj,binary.obj,\ + cache.obj,coffgen.obj,compress.obj,corefile.obj,dwarf2.obj,elf.obj,\ + format.obj,hash.obj,ihex.obj,init.obj,libbfd.obj,linker.obj,opncls.obj,\ + reloc.obj,section.obj,simple.obj,srec.obj,stab-syms.obj,syms.obj,\ + targets.obj,tekhex.obj,\ + vms.obj,vms-hdr.obj,vms-gsd.obj,vms-tir.obj,vms-misc.obj,$(TARGETOBJS) ifeq ($(CC),gcc) ifeq ($(ARCH),ALPHA) @@ -30,18 +31,18 @@ DEFS=/define=(SELECT_VECS="&vms_alpha_vec",SELECT_ARCHITECTURES="&bfd_alpha_arch "HAVE_vms_alpha_vec=1") else DEFS=/define=(SELECT_VECS="&vms_vax_vec",SELECT_ARCHITECTURES="&bfd_vax_arch",\ -"HAVE_vms_vax_vec=1","VMS_DEBUG") +"HAVE_vms_vax_vec=1") endif CFLAGS=/include=([],[-.include])$(DEFS) else ifeq ($(ARCH),ALPHA) DEFS=/define=(SELECT_VECS="&vms_alpha_vec",SELECT_ARCHITECTURES="&bfd_alpha_arch",\ -"HAVE_vms_alpha_vec=1","unlink=remove","const=","VMS_DEBUG",) +"HAVE_vms_alpha_vec=1","unlink=remove","DEBUGDIR=NULL") else DEFS=/define=(SELECT_VECS="&vms_vax_vec",SELECT_ARCHITECTURES="&bfd_vax_arch",\ -"HAVE_vms_vax_vec=1","unlink=remove","const=","VMS_DEBUG") +"HAVE_vms_vax_vec=1","unlink=remove","const=") endif -CFLAGS=/noopt/debug/include=([],[-.include])$(DEFS)/warnings=disable=(missingreturn,implicitfunc,longextern) +CFLAGS=/noopt/debug/show=incl/name=(as_is,shortened)/include=([],[-.include])$(DEFS)/warnings=disable=(missingreturn,longextern) endif diff --git a/bfd/po/id.po b/bfd/po/id.po new file mode 100644 index 0000000..31a7017 --- /dev/null +++ b/bfd/po/id.po @@ -0,0 +1,3837 @@ +# Pesan Bahasa Indonesia untuk BFD +# Copyright (C) 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the binutils package. +# Arif E. Nugroho <arif_endro@yahoo.com>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: bfd 2.18.90\n" +"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" +"POT-Creation-Date: 2008-09-09 15:56+0930\n" +"PO-Revision-Date: 2008-10-08 07:45+0700\n" +"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n" +"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: aout-adobe.c:127 +msgid "%B: Unknown section type in a.out.adobe file: %x\n" +msgstr "%B: Tipe bagian tidak diketahui dalam berkas a.out.adobe: %x\n" + +#: aout-cris.c:204 +#, c-format +msgid "%s: Invalid relocation type exported: %d" +msgstr "%s: Tipe relokasi tidak valid terekspor: %d" + +#: aout-cris.c:247 +msgid "%B: Invalid relocation type imported: %d" +msgstr "%B: Tipe relokasi tidak valid terimpor: %d" + +#: aout-cris.c:258 +msgid "%B: Bad relocation record imported: %d" +msgstr "%B: Catatan relokasi buruk terimpor: %d" + +#: aoutx.h:1268 aoutx.h:1604 +#, c-format +msgid "%s: can not represent section `%s' in a.out object file format" +msgstr "%s: tidak dapat merepresentasikan bagian `%s' dalam a.out objek format berkas" + +#: aoutx.h:1570 +#, c-format +msgid "%s: can not represent section for symbol `%s' in a.out object file format" +msgstr "%s: tidak dapat merepresentasikan bagian untuk simbol `%s' dalam format berkas a.out objek" + +#: aoutx.h:1572 +msgid "*unknown*" +msgstr "*tidak diketahui*" + +#: aoutx.h:3989 aoutx.h:4315 +msgid "%P: %B: unexpected relocation type\n" +msgstr "%P: %B: tipe relokasi tidak diduga\n" + +#: aoutx.h:5349 +#, c-format +msgid "%s: relocatable link from %s to %s not supported" +msgstr "%s: link relokasi dari %s ke %s tidak didukung" + +#: archive.c:2046 +msgid "Warning: writing archive was slow: rewriting timestamp\n" +msgstr "Peringatan: penulisan archive lambat: menulis ulang timestamp\n" + +#: archive.c:2309 +msgid "Reading archive file mod timestamp" +msgstr "Membaca berkas mod timestamp archive" + +#: archive.c:2333 +msgid "Writing updated armap timestamp" +msgstr "Menulis armap timestamp terupdate" + +#: bfd.c:368 +msgid "No error" +msgstr "Tidak error" + +#: bfd.c:369 +msgid "System call error" +msgstr "Pemanggilan sistem error" + +#: bfd.c:370 +msgid "Invalid bfd target" +msgstr "Target bfd tidak valid" + +#: bfd.c:371 +msgid "File in wrong format" +msgstr "Berkas dalam format salah" + +#: bfd.c:372 +msgid "Archive object file in wrong format" +msgstr "Archive berkas objek dalam format salah" + +#: bfd.c:373 +msgid "Invalid operation" +msgstr "Operasi tidak valid" + +#: bfd.c:374 +msgid "Memory exhausted" +msgstr "Kehabisan memori" + +#: bfd.c:375 +msgid "No symbols" +msgstr "Bukan simbol" + +#: bfd.c:376 +msgid "Archive has no index; run ranlib to add one" +msgstr "Archive tidak memiliki indek; jalankan ranlib untuk menambahkan satu" + +#: bfd.c:377 +msgid "No more archived files" +msgstr "Tidak lagi berkas yang ter-archive" + +#: bfd.c:378 +msgid "Malformed archive" +msgstr "Archive tidak terformat" + +#: bfd.c:379 +msgid "File format not recognized" +msgstr "Berkas format tidak dikenal" + +#: bfd.c:380 +msgid "File format is ambiguous" +msgstr "Berkas format ambigu" + +#: bfd.c:381 +msgid "Section has no contents" +msgstr "Bagian tidak memiliki isi" + +#: bfd.c:382 +msgid "Nonrepresentable section on output" +msgstr "Bagian tidak dapat direpresentasikan di keluaran" + +#: bfd.c:383 +msgid "Symbol needs debug section which does not exist" +msgstr "Simbol membutuhkan bagian debug yang mana bagian tersebut tidak ada" + +#: bfd.c:384 +msgid "Bad value" +msgstr "Nilai buruk" + +#: bfd.c:385 +msgid "File truncated" +msgstr "Berkas terpotong" + +#: bfd.c:386 +msgid "File too big" +msgstr "Berkas terlalu besar" + +#: bfd.c:387 +#, c-format +msgid "Error reading %s: %s" +msgstr "Error membaca %s: %s" + +#: bfd.c:388 +msgid "#<Invalid error code>" +msgstr "#<Kode error tidak valid>" + +#: bfd.c:912 +#, c-format +msgid "BFD %s assertion fail %s:%d" +msgstr "BFD %s assertion gagal %s:%d" + +#: bfd.c:924 +#, c-format +msgid "BFD %s internal error, aborting at %s line %d in %s\n" +msgstr "BFD %s error internal, menggagalkan di %s baris %d dalam %s\n" + +#: bfd.c:928 +#, c-format +msgid "BFD %s internal error, aborting at %s line %d\n" +msgstr "BFD %s error internal, menggagalkan di %s baris %d\n" + +#: bfd.c:930 +msgid "Please report this bug.\n" +msgstr "Tolong laporkan bug ini.\n" + +#: bfdwin.c:208 +#, c-format +msgid "not mapping: data=%lx mapped=%d\n" +msgstr "tidak termap: data=%lx mapped=%d\n" + +#: bfdwin.c:211 +#, c-format +msgid "not mapping: env var not set\n" +msgstr "tidak termap; env var tidak terset\n" + +#: binary.c:284 +#, c-format +msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx." +msgstr "Peringatan: Menulis bagian `%s' terlalu besar (ie negatif) berkas ofset 0x%lx." + +#: cache.c:222 +msgid "reopening %B: %s\n" +msgstr "membuka kembali %B: %s\n" + +#: coff-alpha.c:490 +msgid "" +"%B: Cannot handle compressed Alpha binaries.\n" +" Use compiler flags, or objZ, to generate uncompressed binaries." +msgstr "" +"%B: Tidak dapat menangani binari yang dikompres Alpha.\n" +" Menggunakan tanda kompiler, atau objZ, untuk menghasilkan binari tidak terkompres." + +#: coff-alpha.c:647 +msgid "%B: unknown/unsupported relocation type %d" +msgstr "%B; tidak diketahui/tidak didukung tipe relokasi %d" + +#: coff-alpha.c:899 coff-alpha.c:936 coff-alpha.c:2024 coff-mips.c:1003 +msgid "GP relative relocation used when GP not defined" +msgstr "GP relatif relokasi digunakan ketika GP tidak didefinisikan" + +#: coff-alpha.c:1501 +msgid "using multiple gp values" +msgstr "menggunakan nilai gp multiple" + +#: coff-alpha.c:1560 +msgid "%B: unsupported relocation: ALPHA_R_GPRELHIGH" +msgstr "%B: relokasi tidak didukung: ALPHA_R_GPRELHIGH" + +#: coff-alpha.c:1567 +msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW" +msgstr "%B: relokasi tidak didukung: ALPHA_R_GPRELLOW" + +#: coff-alpha.c:1574 elf32-m32r.c:2487 elf64-alpha.c:3970 elf64-alpha.c:4125 +#: elf32-ia64.c:4465 elf64-ia64.c:4465 +msgid "%B: unknown relocation type %d" +msgstr "%B: tipe relokasi %d tidak diketahui" + +#: coff-arm.c:1039 +#, c-format +msgid "%B: unable to find THUMB glue '%s' for `%s'" +msgstr "%B: tidak dapat menemukan lem THUMB '%s' untuk `%s'" + +#: coff-arm.c:1068 +#, c-format +msgid "%B: unable to find ARM glue '%s' for `%s'" +msgstr "%B: tidak dapat menemukan lem ARM '%s' untuk `%s'" + +#: coff-arm.c:1370 elf32-arm.c:5453 +#, c-format +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: arm call to thumb" +msgstr "" +"%B(%s): peringatan: antar-kerja tidak diaktifkan.\n" +" pertemuan pertama: %B: arm panggil ke thumb" + +#: coff-arm.c:1460 +#, c-format +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: thumb call to arm\n" +" consider relinking with --support-old-code enabled" +msgstr "" +"%B(%s): peringatan: antar-kerja tidak diaktifkan.\n" +" pertemuan pertama: %B: panggilan thumb ke arm\n" +" pertimbangkan relinking dengan --support-old-code aktif" + +#: coff-arm.c:1755 coff-tic80.c:695 cofflink.c:3018 +msgid "%B: bad reloc address 0x%lx in section `%A'" +msgstr "%B: alamat relokasi buruk 0x%lx dalam bagian `%A'" + +#: coff-arm.c:2080 +msgid "%B: illegal symbol index in reloc: %d" +msgstr "%B: indek simbol ilegal dalam relokasi: %d" + +#: coff-arm.c:2211 +#, c-format +msgid "ERROR: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d" +msgstr "ERROR: %B dikompile untuk APCS-%d, dimana %B dikompile untuk APCS-%d" + +#: coff-arm.c:2227 elf32-arm.c:8563 +#, c-format +msgid "ERROR: %B passes floats in float registers, whereas %B passes them in integer registers" +msgstr "ERROR: %B melewati float dalam register float, dimana %B melewatinya register integer" + +#: coff-arm.c:2230 elf32-arm.c:8567 +#, c-format +msgid "ERROR: %B passes floats in integer registers, whereas %B passes them in float registers" +msgstr "ERROR: %B melewati float dalam register integer, dimana %B melewatinya float register" + +#: coff-arm.c:2244 +#, c-format +msgid "ERROR: %B is compiled as position independent code, whereas target %B is absolute position" +msgstr "ERROR: %B dikompile sebagai kode bebas posisi, dimana target %B yang memiliki posisi absolute" + +#: coff-arm.c:2247 +#, c-format +msgid "ERROR: %B is compiled as absolute position code, whereas target %B is position independent" +msgstr "ERROR: %B dikompile sebagai kode absolute posisi, dimana target %B adalah bebas posisi" + +#: coff-arm.c:2275 elf32-arm.c:8632 +#, c-format +msgid "Warning: %B supports interworking, whereas %B does not" +msgstr "Peringatan: %B mendukung antar-kerja, dimana %B tidak" + +#: coff-arm.c:2278 elf32-arm.c:8638 +#, c-format +msgid "Warning: %B does not support interworking, whereas %B does" +msgstr "Peringatan: %B tidak mendukung antar-kerja, dimana %B ya" + +#: coff-arm.c:2302 +#, c-format +msgid "private flags = %x:" +msgstr "tanda private = %x:" + +#: coff-arm.c:2310 elf32-arm.c:8689 +#, c-format +msgid " [floats passed in float registers]" +msgstr " [floats melewati dalam register float]" + +#: coff-arm.c:2312 +#, c-format +msgid " [floats passed in integer registers]" +msgstr " [float melewati register integer]" + +#: coff-arm.c:2315 elf32-arm.c:8692 +#, c-format +msgid " [position independent]" +msgstr " [bebas posisi]" + +#: coff-arm.c:2317 +#, c-format +msgid " [absolute position]" +msgstr " [absolute posisi]" + +#: coff-arm.c:2321 +#, c-format +msgid " [interworking flag not initialised]" +msgstr " [tanda antar-kerja tidak terinisialisasi]" + +#: coff-arm.c:2323 +#, c-format +msgid " [interworking supported]" +msgstr " [antar-kerja didukung]" + +#: coff-arm.c:2325 +#, c-format +msgid " [interworking not supported]" +msgstr " [antar-kerja tidak didukung]" + +#: coff-arm.c:2371 elf32-arm.c:8050 +#, c-format +msgid "Warning: Not setting interworking flag of %B since it has already been specified as non-interworking" +msgstr "Peringatan: Tidak menset tanda antar-kerja dari %B karena itu telah terspesifikasi sebagai bukan-antar-kerja" + +#: coff-arm.c:2375 elf32-arm.c:8054 +#, c-format +msgid "Warning: Clearing the interworking flag of %B due to outside request" +msgstr "Peringatan: Menghapus tanda antar-kerja dari %B karena diluar permintaan" + +#: coff-h8300.c:1122 +#, c-format +msgid "cannot handle R_MEM_INDIRECT reloc when using %s output" +msgstr "tidak dapat menangani R_MEM_INDIRECT relokasi ketika menggunakan keluaran %s" + +#: coff-i860.c:147 +#, c-format +msgid "Relocation `%s' not yet implemented\n" +msgstr "Relokasi `%s' belum terimplementasi\n" + +#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:4975 +msgid "%B: warning: illegal symbol index %ld in relocs" +msgstr "%B: peringatan: indek simbol ilegal %ld dalam relokasi" + +#: coff-i960.c:143 coff-i960.c:506 +msgid "uncertain calling convention for non-COFF symbol" +msgstr "tidak tentu pemanggilan konvensi untuk non-COFF simbol" + +#: coff-m68k.c:506 elf32-bfin.c:5510 elf32-m68k.c:3938 +msgid "unsupported reloc type" +msgstr "tipe relokasi tidak didukung" + +#: coff-maxq.c:126 +msgid "Can't Make it a Short Jump" +msgstr "Tidak dapat membuka ini sebuah lompatan pendek" + +#: coff-maxq.c:191 +msgid "Exceeds Long Jump Range" +msgstr "Melewati jangkauan lompatan panjang" + +#: coff-maxq.c:202 coff-maxq.c:276 +msgid "Absolute address Exceeds 16 bit Range" +msgstr "Alamat absolut melewati jangkauan 16 bit" + +#: coff-maxq.c:240 +msgid "Absolute address Exceeds 8 bit Range" +msgstr "Alamat absolute melewati jangkauan 8 bit" + +#: coff-maxq.c:333 +msgid "Unrecognized Reloc Type" +msgstr "Tipe relokasi tidak dikenal" + +#: coff-mips.c:688 elf32-mips.c:1014 elf32-score.c:345 elf64-mips.c:1991 +#: elfn32-mips.c:1832 +msgid "GP relative relocation when _gp not defined" +msgstr "GP relokasi relatif ketika _gp tidak terdefinisi" + +#: coff-or32.c:229 +msgid "Unrecognized reloc" +msgstr "Relokasi tidak dikenal" + +#: coff-rs6000.c:2803 +#, c-format +msgid "%s: unsupported relocation type 0x%02x" +msgstr "%s: tipe relokasi tidak didukung 0x%02x" + +#: coff-rs6000.c:2896 +#, c-format +msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry" +msgstr "%s: TOC relokasi di 0x%x untuk simbol `%s' dengan tidak ada masukan TOC" + +#: coff-rs6000.c:3628 coff64-rs6000.c:2130 +msgid "%B: symbol `%s' has unrecognized smclas %d" +msgstr "%B: simbol `%s' memiliki smclas tidak dikenal %d" + +#: coff-tic4x.c:195 coff-tic54x.c:299 coff-tic80.c:458 +#, c-format +msgid "Unrecognized reloc type 0x%x" +msgstr "Tipe relokasi tidak dikenal 0x%x" + +#: coff-tic4x.c:240 +#, c-format +msgid "%s: warning: illegal symbol index %ld in relocs" +msgstr "%s: peringatan: indek simbol ilegal %ld dalam relokasi" + +#: coff-w65.c:367 +#, c-format +msgid "ignoring reloc %s\n" +msgstr "mengabaikan relokasi %s\n" + +#: coffcode.h:850 +msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'" +msgstr "%B: peringatan: COMDAT simbol '%s' tidak cocok dengan nama bagian '%s'" + +#. Generate a warning message rather using the 'unhandled' +#. variable as this will allow some .sys files generate by +#. other toolchains to be processed. See bugzilla issue 196. +#: coffcode.h:1062 +msgid "%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s" +msgstr "%B: Peringatan: Mengabaikan tanda bagian IMAGE_SCN_MEM_NOT_PAGED dalam bagian %s" + +#: coffcode.h:1117 +msgid "%B (%s): Section flag %s (0x%x) ignored" +msgstr "%B (%s): Tanda bagian %s (0x%x) diabaikan" + +#: coffcode.h:2244 +#, c-format +msgid "Unrecognized TI COFF target id '0x%x'" +msgstr "Target id '0x%x' TI COFF tidak dikenal" + +#: coffcode.h:2559 +msgid "%B: reloc against a non-existant symbol index: %ld" +msgstr "%B: relokasi terhadap simbol indek yang tidak ada: %ld" + +#: coffcode.h:4309 +msgid "%B: warning: line number table read failed" +msgstr "%B: peringatan: pembacaan tabel nomor baris gagal" + +#: coffcode.h:4339 +msgid "%B: warning: illegal symbol index %ld in line numbers" +msgstr "%B: peringatan: simbol index %ld ilegal dalam nomor baris" + +#: coffcode.h:4353 +msgid "%B: warning: duplicate line number information for `%s'" +msgstr "%B: peringatan: duplikasi informasi nomor baris untuk `%s'" + +#: coffcode.h:4744 +msgid "%B: Unrecognized storage class %d for %s symbol `%s'" +msgstr "%B: kelas %d penyimpanan tidak dikenal untuk %s simbol `%s'" + +#: coffcode.h:4870 +msgid "warning: %B: local symbol `%s' has no section" +msgstr "peringatan: %B: simbol lokal `%s' tidak memiliki bagian" + +#: coffcode.h:5013 +msgid "%B: illegal relocation type %d at address 0x%lx" +msgstr "%B: tipe relokasi %d ilegal di alamat 0x%lx" + +#: coffgen.c:1518 +msgid "%B: bad string table size %lu" +msgstr "%B: string buruk ukuran tabel %lu" + +#: cofflink.c:513 elflink.c:4218 +msgid "Warning: type of symbol `%s' changed from %d to %d in %B" +msgstr "Peringatan: tipe dari simbole `%s' berubah dari %d ke %d dalam %B" + +#: cofflink.c:2296 +msgid "%B: relocs in section `%A', but it has no contents" +msgstr "%B: relokasi dalam bagian `%A', tetapi ini tidak memiliki isi" + +#: cofflink.c:2627 coffswap.h:824 +#, c-format +msgid "%s: %s: reloc overflow: 0x%lx > 0xffff" +msgstr "%s: %s: relokasi overflow: 0x%lx > 0xffff" + +#: cofflink.c:2636 coffswap.h:810 +#, c-format +msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff" +msgstr "%s: peringatan: %s: nomor baris overflow: 0x%lx > 0xffff" + +#: cpu-arm.c:189 cpu-arm.c:200 +msgid "ERROR: %B is compiled for the EP9312, whereas %B is compiled for XScale" +msgstr "ERROR: %B dikompile untuk EP9312, dimana %B dikompile untuk XScale" + +#: cpu-arm.c:332 +#, c-format +msgid "warning: unable to update contents of %s section in %s" +msgstr "peringatan: tidak dapat mengupdate isi dari %s bagian dalam %s" + +#: dwarf2.c:424 +#, c-format +msgid "Dwarf Error: Can't find %s section." +msgstr "Dwarf Error: Tidak dapat menemukan bagian %s." + +#: dwarf2.c:452 +#, c-format +msgid "Dwarf Error: unable to decompress %s section." +msgstr "Dwarf Error: tidak dapat mengekstrak bagian %s." + +#: dwarf2.c:462 +#, c-format +msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)." +msgstr "Dwarf Error: Ofset (%lu) lebih besar atau sama dengan %s ukuran (%lu)." + +#: dwarf2.c:849 +#, c-format +msgid "Dwarf Error: Invalid or unhandled FORM value: %u." +msgstr "Dwarf Error: Tidak valid atau nilai FORM tidak tertangani: %u." + +#: dwarf2.c:1063 +msgid "Dwarf Error: mangled line number section (bad file number)." +msgstr "Dwarf Error: mangled bagian nomor baris (nomor berkas buruk)." + +#: dwarf2.c:1393 +msgid "Dwarf Error: mangled line number section." +msgstr "Dwarf Error: mangled bagian nomor baris." + +#: dwarf2.c:1726 dwarf2.c:1842 dwarf2.c:2114 +#, c-format +msgid "Dwarf Error: Could not find abbrev number %u." +msgstr "Dwarf Error: Tidak dapat menemukan nomor singkat %u." + +#: dwarf2.c:2075 +#, c-format +msgid "Dwarf Error: found dwarf version '%u', this reader only handles version 2 information." +msgstr "Dwarf Error: menemukan versi dwarf '%u', pembaca ini hanya menangani informasi versi 2." + +#: dwarf2.c:2082 +#, c-format +msgid "Dwarf Error: found address size '%u', this reader can not handle sizes greater than '%u'." +msgstr "Dwarf Error: menemukan ukuran alamat '%u', pembaca ini tidak dapat menangani ukuran lebih besar dari '%u'." + +#: dwarf2.c:2105 +#, c-format +msgid "Dwarf Error: Bad abbrev number: %u." +msgstr "Dwarf Error: Nomor singkat buruk: %u." + +#: ecoff.c:1227 +#, c-format +msgid "Unknown basic type %d" +msgstr "Tipe dasar %d tidak diketahui" + +#: ecoff.c:1484 +#, c-format +msgid "" +"\n" +" End+1 symbol: %ld" +msgstr "" +"\n" +" Simbol End+1: %ld" + +#: ecoff.c:1491 ecoff.c:1494 +#, c-format +msgid "" +"\n" +" First symbol: %ld" +msgstr "" +"\n" +" Simbol pertama: %ld" + +#: ecoff.c:1506 +#, c-format +msgid "" +"\n" +" End+1 symbol: %-7ld Type: %s" +msgstr "" +"\n" +" Simbol End+1: %-7ld Tipe: %s" + +#: ecoff.c:1513 +#, c-format +msgid "" +"\n" +" Local symbol: %ld" +msgstr "" +"\n" +" Simbol lokal: %ld" + +#: ecoff.c:1521 +#, c-format +msgid "" +"\n" +" struct; End+1 symbol: %ld" +msgstr "" +"\n" +" struct; simbol End+1: %ld" + +#: ecoff.c:1526 +#, c-format +msgid "" +"\n" +" union; End+1 symbol: %ld" +msgstr "" +"\n" +" union: End+1 simbol: %ld" + +#: ecoff.c:1531 +#, c-format +msgid "" +"\n" +" enum; End+1 symbol: %ld" +msgstr "" +"\n" +" enum; End+1 simbol: %ld" + +#: ecoff.c:1537 +#, c-format +msgid "" +"\n" +" Type: %s" +msgstr "" +"\n" +" Tipe: %s" + +#: elf-attrs.c:582 +msgid "ERROR: %B: Must be processed by '%s' toolchain" +msgstr "ERROR: %B: Harus diproses dengan '%s' toolchain" + +#: elf-attrs.c:602 elf-attrs.c:621 +msgid "ERROR: %B: Incompatible object tag '%s':%d" +msgstr "ERROR: %B: Tanda objek tidak kompatibel '%s':%d" + +#: elf-eh-frame.c:866 +msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n" +msgstr "%P: error dalam %B(%A); tidak ada .eh_frame_hdr tabel yang akan dibuat.\n" + +#: elf-eh-frame.c:1102 +msgid "%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.\n" +msgstr "%P: fde enkoding dalam %B(%A) menjaga .eh_frame_hdr tabel untuk dibuat.\n" + +#: elf-hppa.h:2241 elf-m10300.c:1546 elf32-arm.c:7954 elf32-i386.c:3582 +#: elf32-m32r.c:2598 elf32-m68k.c:3516 elf32-ppc.c:7223 elf32-s390.c:3058 +#: elf32-sh.c:3438 elf32-xtensa.c:3021 elf64-ppc.c:11528 elf64-s390.c:3019 +#: elf64-sh64.c:1648 elf64-x86-64.c:3239 elfxx-sparc.c:3336 +msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'" +msgstr "%B(%A+0x%lx): tidak teresolf %s relokasi terhadap simbol `%s'" + +#: elf-hppa.h:2266 elf-hppa.h:2280 +msgid "%B(%A): warning: unresolvable relocation against symbol `%s'" +msgstr "%B(%A): peringatan: tidak teresolf relokasi terhadap simbol `%s'" + +#: elf-m10200.c:456 elf-m10300.c:1609 elf32-avr.c:1250 elf32-bfin.c:3214 +#: elf32-cr16.c:959 elf32-cr16c.c:790 elf32-cris.c:1538 elf32-crx.c:933 +#: elf32-d10v.c:516 elf32-fr30.c:616 elf32-frv.c:4114 elf32-h8300.c:516 +#: elf32-i860.c:1218 elf32-ip2k.c:1499 elf32-iq2000.c:691 elf32-m32c.c:560 +#: elf32-m32r.c:3124 elf32-m68hc1x.c:1135 elf32-mep.c:541 elf32-msp430.c:493 +#: elf32-mt.c:402 elf32-openrisc.c:411 elf32-score.c:2451 elf32-spu.c:4132 +#: elf32-v850.c:1703 elf32-xstormy16.c:948 elf64-mmix.c:1533 +msgid "internal error: out of range error" +msgstr "internal error: diluar jangkauan error" + +#: elf-m10200.c:460 elf-m10300.c:1613 elf32-avr.c:1254 elf32-bfin.c:3218 +#: elf32-cr16.c:963 elf32-cr16c.c:794 elf32-cris.c:1542 elf32-crx.c:937 +#: elf32-d10v.c:520 elf32-fr30.c:620 elf32-frv.c:4118 elf32-h8300.c:520 +#: elf32-i860.c:1222 elf32-iq2000.c:695 elf32-m32c.c:564 elf32-m32r.c:3128 +#: elf32-m68hc1x.c:1139 elf32-mep.c:545 elf32-msp430.c:497 +#: elf32-openrisc.c:415 elf32-score.c:2455 elf32-spu.c:4136 elf32-v850.c:1707 +#: elf32-xstormy16.c:952 elf64-mmix.c:1537 elfxx-mips.c:9065 +msgid "internal error: unsupported relocation error" +msgstr "internal error: relokasi tidak didukung error" + +#: elf-m10200.c:464 elf32-cr16.c:967 elf32-cr16c.c:798 elf32-crx.c:941 +#: elf32-d10v.c:524 elf32-h8300.c:524 elf32-m32r.c:3132 elf32-m68hc1x.c:1143 +#: elf32-score.c:2459 elf32-spu.c:4140 +msgid "internal error: dangerous error" +msgstr "internal error error berbahaya" + +#: elf-m10200.c:468 elf-m10300.c:1626 elf32-avr.c:1262 elf32-bfin.c:3226 +#: elf32-cr16.c:971 elf32-cr16c.c:802 elf32-cris.c:1550 elf32-crx.c:945 +#: elf32-d10v.c:528 elf32-fr30.c:628 elf32-frv.c:4126 elf32-h8300.c:528 +#: elf32-i860.c:1230 elf32-ip2k.c:1514 elf32-iq2000.c:703 elf32-m32c.c:572 +#: elf32-m32r.c:3136 elf32-m68hc1x.c:1147 elf32-mep.c:553 elf32-msp430.c:505 +#: elf32-mt.c:410 elf32-openrisc.c:423 elf32-score.c:2463 elf32-spu.c:4144 +#: elf32-v850.c:1727 elf32-xstormy16.c:960 elf64-mmix.c:1545 +msgid "internal error: unknown error" +msgstr "internal error: error tidak diketahui" + +#: elf-m10300.c:1618 +msgid "error: inappropriate relocation type for shared library (did you forget -fpic?)" +msgstr "error: tipe relokasi tidak sesuai untuk shared library (apakah anda lupa -fpic?)" + +#: elf-m10300.c:1621 +msgid "internal error: suspicious relocation type used in shared library" +msgstr "internal erro: suspicious tipe relokasi digunakan dalam shared library" + +#: elf-m10300.c:4397 elf32-arm.c:9578 elf32-cris.c:2403 elf32-hppa.c:1921 +#: elf32-i370.c:506 elf32-i386.c:1807 elf32-m32r.c:1931 elf32-m68k.c:2787 +#: elf32-ppc.c:4693 elf32-s390.c:1687 elf32-sh.c:2583 elf32-vax.c:1055 +#: elf64-ppc.c:6075 elf64-s390.c:1662 elf64-sh64.c:3432 elf64-x86-64.c:1641 +#: elfxx-sparc.c:1828 +#, c-format +msgid "dynamic variable `%s' is zero size" +msgstr "variabel dinamik `%s' memiliki ukuran nol" + +#: elf.c:328 +msgid "%B: invalid string offset %u >= %lu for section `%s'" +msgstr "%B: string ofset tidak valid %u >= %lu untuk bagian `%s'" + +#: elf.c:438 +msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section" +msgstr "%B nomor simbol %lu referensi tidak ada SHT_SYMTAB_SHNDX bagian" + +#: elf.c:594 +msgid "%B: Corrupt size field in group section header: 0x%lx" +msgstr "%B: Ukuran bagian korup dalam grup bagian kepala: 0x%lx" + +#: elf.c:630 +msgid "%B: invalid SHT_GROUP entry" +msgstr "%B: masukan SHT_GROUP tidak valid" + +#: elf.c:700 +msgid "%B: no group info for section %A" +msgstr "%B: tidak ada informasi grup untuk bagian %A" + +#: elf.c:729 elf.c:2976 elflink.c:9746 +msgid "%B: warning: sh_link not set for section `%A'" +msgstr "%B: peringatan: sh_link tidak diset untuk bagian `%A'" + +#: elf.c:748 +msgid "%B: sh_link [%d] in section `%A' is incorrect" +msgstr "%B: sh_link [%ld] dalam bagian `%A' tidak benar" + +#: elf.c:783 +msgid "%B: unknown [%d] section `%s' in group [%s]" +msgstr "%B: tidak diketahui [%d] bagian `%s' dalam grup [%s]" + +#: elf.c:1159 +#, c-format +msgid "" +"\n" +"Program Header:\n" +msgstr "" +"\n" +"Kepala Aplikasi:\n" + +#: elf.c:1201 +#, c-format +msgid "" +"\n" +"Dynamic Section:\n" +msgstr "" +"\n" +"Bagian Dinamis:\n" + +#: elf.c:1337 +#, c-format +msgid "" +"\n" +"Version definitions:\n" +msgstr "" +"\n" +"Definisi Versi:\n" + +#: elf.c:1362 +#, c-format +msgid "" +"\n" +"Version References:\n" +msgstr "" +"\n" +"Referensi Versi:\n" + +#: elf.c:1367 +#, c-format +msgid " required from %s:\n" +msgstr " dibutuhkan dari %s:\n" + +#: elf.c:1755 +msgid "%B: invalid link %lu for reloc section %s (index %u)" +msgstr "%B: link tidak valid %lu untuk bagian relokasi %s (indek %u)" + +#: elf.c:1924 +msgid "%B: don't know how to handle allocated, application specific section `%s' [0x%8x]" +msgstr "%B: tidak tahu bagaimana menangani alokasi, bagian spesifik aplikasi `%s' [0x%8x]" + +#: elf.c:1936 +msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]" +msgstr "%B: tidak tahu bagaimana menangani bagian spesifik prosesor `%s' [0x%8x]" + +#: elf.c:1947 +msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]" +msgstr "%B: tidak tahu bagaimana menangani bagian spesifik OS `%s' [0x%8x]" + +#: elf.c:1957 +msgid "%B: don't know how to handle section `%s' [0x%8x]" +msgstr "%B: tidak tahu bagaimana menangani bagian `%s' [0x%8x]" + +#: elf.c:2555 +#, c-format +msgid "warning: section `%A' type changed to PROGBITS" +msgstr "peringatan: bagian `%A' tipe berubah ke PROGBITS" + +#: elf.c:2933 +msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'" +msgstr "%B: sh_link dari bagian `%A' menunjuk ke bagian terbuang `%A' dari `%B'" + +#: elf.c:2956 +msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'" +msgstr "%B: sh_link dari bagian `%A' menunjuk ke bagian terhapus `%A' dari `%B'" + +#: elf.c:4300 +msgid "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section" +msgstr "%B: bagian pertama dalam segmen PT_DYNAMIC tidak dalam bagian .dynamic" + +#: elf.c:4327 +msgid "%B: Not enough room for program headers, try linking with -N" +msgstr "%B: tidak cukup ruang untuk kepala aplikasi, coba linking dengan -N" + +#: elf.c:4404 +msgid "%B: section %A vma 0x%lx overlaps previous sections" +msgstr "%B: bagian %A vma 0x%lx overlaps bagian sebelumnya" + +#: elf.c:4499 +msgid "%B: section `%A' can't be allocated in segment %d" +msgstr "%B: bagian `%A' tidak dapat dialokasikan dalam segmen %d" + +#: elf.c:4549 +msgid "%B: warning: allocated section `%s' not in segment" +msgstr "%B: peringatan: alokasi bagian `%s' tidak dalam segmen" + +#: elf.c:5064 +msgid "%B: symbol `%s' required but not present" +msgstr "%B: simbol `%s' dibutuhkan tetapi tidak ada" + +#: elf.c:5403 +msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n" +msgstr "%B: peringatan: loadable segmen kosong terdeteksi, apakah ini sengaja ?\n" + +#: elf.c:6366 +#, c-format +msgid "Unable to find equivalent output section for symbol '%s' from section '%s'" +msgstr "Tidak dapat menemukan bagian keluaran ekuivalen untuk simbol '%s' dari bagian '%s'" + +#: elf.c:7346 +msgid "%B: unsupported relocation type %s" +msgstr "%B: tipe relokasi tidak didukung %s" + +#: elf32-arm.c:2846 elf32-arm.c:2878 +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: Thumb call to ARM" +msgstr "" +"%B(%s): peringatan: antar-kerja tidak aktif.\n" +" pertemuan pertama: %B: Thumb call ke ARM" + +#: elf32-arm.c:3041 +#, c-format +msgid "%s: cannot create stub entry %s" +msgstr "%s: tidak dapat membuat masukan stub %s" + +#: elf32-arm.c:3825 +#, c-format +msgid "unable to find THUMB glue '%s' for '%s'" +msgstr "tidak dapat menemukan THUMB lem '%s' untuk '%s'" + +#: elf32-arm.c:3859 +#, c-format +msgid "unable to find ARM glue '%s' for '%s'" +msgstr "tidak dapat menemukan ARM lem '%s' untuk '%s'" + +#: elf32-arm.c:4463 +msgid "%B: BE8 images only valid in big-endian mode." +msgstr "%B: hanya images BE8 valid dalam mode big-endian." + +#. Give a warning, but do as the user requests anyway. +#: elf32-arm.c:4678 +msgid "%B: warning: selected VFP11 erratum workaround is not necessary for target architecture" +msgstr "%B: peringatan: memilih VFP11 erratum penyelesaian adalah tidak diperlukan untuk arsitektur target" + +#: elf32-arm.c:5212 elf32-arm.c:5232 +msgid "%B: unable to find VFP11 veneer `%s'" +msgstr "%B: tidak dapat menemukan VFP11 veneer `%s'" + +#: elf32-arm.c:5278 +#, c-format +msgid "Invalid TARGET2 relocation type '%s'." +msgstr "Tipe relokasi '%s' TARGET2 tidak valid." + +#: elf32-arm.c:5362 +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: thumb call to arm" +msgstr "" +"%B(%s): peringatan: antar-kerja tidak aktif.\n" +" pertemuan pertama: %B: thumb call ke arm" + +#: elf32-arm.c:6094 +msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'." +msgstr "\\%B: Peringatan: Arm BLK instruksi target Arm fungsi '%s'." + +#: elf32-arm.c:6418 +msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'." +msgstr "%B: Peringatan: Thumb BLX instruksi target thumb fungsi '%s'." + +#: elf32-arm.c:7095 +msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object" +msgstr "%B(%A+0x%lx): R_ARM_TLS_LE32 relokasi tidak diperbolehkan dalam objek terbagi" + +#: elf32-arm.c:7310 +msgid "%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group relocations" +msgstr "%B(%A+0x%lx): Hanya ADD atau SUB instruksi yang diperbolehkan untuk grup ALU relokasi" + +#: elf32-arm.c:7350 elf32-arm.c:7437 elf32-arm.c:7520 elf32-arm.c:7605 +msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s" +msgstr "%B(%A+0x%lx): Overflow ketika membagi 0x%lx untuk relokasi grup %s" + +#: elf32-arm.c:7812 elf32-sh.c:3334 elf64-sh64.c:1556 +msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section" +msgstr "%B(%A+0x%lx): %s relokasi terhadap bagian SEC_MERGE" + +#: elf32-arm.c:7930 elf32-xtensa.c:2759 elf64-ppc.c:10374 +msgid "%B(%A+0x%lx): %s used with TLS symbol %s" +msgstr "%B(%A+0x%lx): %s digunakan dengan simbol TLS %s" + +#: elf32-arm.c:7931 elf32-xtensa.c:2760 elf64-ppc.c:10375 +msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s" +msgstr "%B(%A+0x%lx): %s digunakan dengan simbol bukan-TLS %s" + +#: elf32-arm.c:7988 +msgid "out of range" +msgstr "diluar jangkauan" + +#: elf32-arm.c:7992 +msgid "unsupported relocation" +msgstr "relokasi tidak didukung" + +#: elf32-arm.c:8000 +msgid "unknown error" +msgstr "error tidak diketahui" + +#: elf32-arm.c:8099 +msgid "Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it" +msgstr "Peringatan: Menghapus tanda antar-kerja dari %B karena bukan kode antar-kerja dalam %B telah dihubungkan dengan itu" + +#: elf32-arm.c:8205 +msgid "ERROR: %B uses VFP register arguments, %B does not" +msgstr "ERROR: %B menggunakan reguster argumen VFP, %B tidak" + +#: elf32-arm.c:8254 +msgid "ERROR: %B: Conflicting architecture profiles %c/%c" +msgstr "ERROR: %B: Profil arsitektur konflik %c/%c" + +#: elf32-arm.c:8274 +msgid "Warning: %B: Conflicting platform configuration" +msgstr "Peringatan: %B: Konflik konfigurasi platform" + +#: elf32-arm.c:8283 +msgid "ERROR: %B: Conflicting use of R9" +msgstr "ERROR: %B: Konflik penggunaan R9" + +#: elf32-arm.c:8295 +msgid "ERROR: %B: SB relative addressing conflicts with use of R9" +msgstr "ERROR: %B: SB pengalamatan relatif konflik dengan penggunaan dari R9" + +#: elf32-arm.c:8318 +msgid "warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail" +msgstr "peringatan: %B menggunakan %u-byte wchar_t tapi keluaran menggunakan %u-byte wchar_t; menggunakan nilai wchar_t melewati objek mungkin gagal" + +#: elf32-arm.c:8347 +msgid "warning: %B uses %s enums yet the output is to use %s enums; use of enum values across objects may fail" +msgstr "peringatan: %B menggunakan %s enums tapi keluaran menggunakan %s enums; menggunakan nilai dari enum dari objek mungkin gagal" + +#: elf32-arm.c:8360 +msgid "ERROR: %B uses iWMMXt register arguments, %B does not" +msgstr "ERROR: %B menggunakan iWMMXt argumen register, %B tidak" + +#: elf32-arm.c:8400 +msgid "Warning: %B: Unknown EABI object attribute %d" +msgstr "Peringatan: %B: atribut objek EABI tidak diketahui %d" + +#: elf32-arm.c:8460 +msgid "ERROR: %B is already in final BE8 format" +msgstr "ERROR: %B telah dalam format akhir BE8" + +#: elf32-arm.c:8536 +msgid "ERROR: Source object %B has EABI version %d, but target %B has EABI version %d" +msgstr "ERROR: Sumber objek %B memiliki versi EABI %d, tetapi target %B memiliki versi EABI %d" + +#: elf32-arm.c:8552 +msgid "ERROR: %B is compiled for APCS-%d, whereas target %B uses APCS-%d" +msgstr "ERROR: %B dikompile untuk APCS-%d, dimana target %B menggunakan APCS-%d" + +#: elf32-arm.c:8577 +msgid "ERROR: %B uses VFP instructions, whereas %B does not" +msgstr "ERROR: %B menggunakan VFP instruksi, dimana %B tidak" + +#: elf32-arm.c:8581 +msgid "ERROR: %B uses FPA instructions, whereas %B does not" +msgstr "ERROR: %B menggunakan FPA instruksi, dimana %B tidak" + +#: elf32-arm.c:8591 +msgid "ERROR: %B uses Maverick instructions, whereas %B does not" +msgstr "ERROR: %B menggunakan Maverick instruksi, dimana %B tidak" + +#: elf32-arm.c:8595 +msgid "ERROR: %B does not use Maverick instructions, whereas %B does" +msgstr "ERROR: %B tidak menggunakan Maveric instruksi, dimana %B menggunakan" + +#: elf32-arm.c:8614 +msgid "ERROR: %B uses software FP, whereas %B uses hardware FP" +msgstr "ERROR: %B menggunakan software FP, dimana %B menggunakan hardware FP" + +#: elf32-arm.c:8618 +msgid "ERROR: %B uses hardware FP, whereas %B uses software FP" +msgstr "ERROR: %B menggunakan hardware FP, dimana %B menggunakan software FP" + +#. Ignore init flag - it may not be set, despite the flags field +#. containing valid data. +#. Ignore init flag - it may not be set, despite the flags field containing valid data. +#: elf32-arm.c:8665 elf32-bfin.c:4899 elf32-cris.c:3235 elf32-m68hc1x.c:1279 +#: elf32-m68k.c:774 elf32-score.c:3750 elf32-vax.c:538 elfxx-mips.c:12699 +#, c-format +msgid "private flags = %lx:" +msgstr "tanda private = %lx:" + +#: elf32-arm.c:8674 +#, c-format +msgid " [interworking enabled]" +msgstr " [antar-kerja aktif]" + +#: elf32-arm.c:8682 +#, c-format +msgid " [VFP float format]" +msgstr " [VFP float format]" + +#: elf32-arm.c:8684 +#, c-format +msgid " [Maverick float format]" +msgstr " [Maverick float format]" + +#: elf32-arm.c:8686 +#, c-format +msgid " [FPA float format]" +msgstr " [FPA float format]" + +#: elf32-arm.c:8695 +#, c-format +msgid " [new ABI]" +msgstr " [ABI baru]" + +#: elf32-arm.c:8698 +#, c-format +msgid " [old ABI]" +msgstr " [ABI lama]" + +#: elf32-arm.c:8701 +#, c-format +msgid " [software FP]" +msgstr " [software FP]" + +#: elf32-arm.c:8710 +#, c-format +msgid " [Version1 EABI]" +msgstr " [EABI Versi 1]" + +#: elf32-arm.c:8713 elf32-arm.c:8724 +#, c-format +msgid " [sorted symbol table]" +msgstr " [simbol tabel terurut]" + +#: elf32-arm.c:8715 elf32-arm.c:8726 +#, c-format +msgid " [unsorted symbol table]" +msgstr " [simbol tabel tidak terurut]" + +#: elf32-arm.c:8721 +#, c-format +msgid " [Version2 EABI]" +msgstr " [EABI Versi 2]" + +#: elf32-arm.c:8729 +#, c-format +msgid " [dynamic symbols use segment index]" +msgstr " [simbol dinamis menggunakan segmen indek]" + +#: elf32-arm.c:8732 +#, c-format +msgid " [mapping symbols precede others]" +msgstr " [simbol map mendahului yang lain]" + +#: elf32-arm.c:8739 +#, c-format +msgid " [Version3 EABI]" +msgstr " [EABI Versi 3]" + +#: elf32-arm.c:8743 +#, c-format +msgid " [Version4 EABI]" +msgstr " [EABI Versi 4]" + +#: elf32-arm.c:8747 +#, c-format +msgid " [Version5 EABI]" +msgstr " [EABI Versi 5]" + +#: elf32-arm.c:8750 +#, c-format +msgid " [BE8]" +msgstr " [BE8]" + +#: elf32-arm.c:8753 +#, c-format +msgid " [LE8]" +msgstr " [LE8]" + +#: elf32-arm.c:8759 +#, c-format +msgid " <EABI version unrecognised>" +msgstr " <EABI versi tidak dikenal>" + +#: elf32-arm.c:8766 +#, c-format +msgid " [relocatable executable]" +msgstr " [relocatable executable]" + +#: elf32-arm.c:8769 +#, c-format +msgid " [has entry point]" +msgstr " [memiliki titik masuk]" + +#: elf32-arm.c:8774 +#, c-format +msgid "<Unrecognised flag bits set>" +msgstr "<Tanda bit tidak dikenal terset>" + +#: elf32-arm.c:9013 elf32-i386.c:1236 elf32-s390.c:1006 elf32-xtensa.c:999 +#: elf64-s390.c:961 elf64-x86-64.c:1016 elfxx-sparc.c:1127 +msgid "%B: bad symbol index: %d" +msgstr "%B: memiliki indek simbol: %d" + +#: elf32-arm.c:10125 +#, c-format +msgid "Errors encountered processing file %s" +msgstr "Errors ditemui dalam pemrosesan berkas %s" + +#: elf32-arm.c:11526 elf32-arm.c:11548 +msgid "%B: error: VFP11 veneer out of range" +msgstr "%B: error: VFP11 veneer diluar jangkauan" + +#: elf32-avr.c:1258 elf32-bfin.c:3222 elf32-cris.c:1546 elf32-fr30.c:624 +#: elf32-frv.c:4122 elf32-i860.c:1226 elf32-ip2k.c:1510 elf32-iq2000.c:699 +#: elf32-m32c.c:568 elf32-mep.c:549 elf32-msp430.c:501 elf32-mt.c:406 +#: elf32-openrisc.c:419 elf32-v850.c:1711 elf32-xstormy16.c:956 +#: elf64-mmix.c:1541 +msgid "internal error: dangerous relocation" +msgstr "internal error: relokasi berbahaya" + +#: elf32-avr.c:2396 elf32-hppa.c:605 elf32-m68hc1x.c:164 elf64-ppc.c:3983 +msgid "%B: cannot create stub entry %s" +msgstr "%B: tidak dapat membuat masukan stub %s" + +#: elf32-bfin.c:1585 +msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'" +msgstr "%B(%A+0x%lx): relokasi tidak teresolf terhadap simbol `%s'" + +#: elf32-bfin.c:1618 elf32-i386.c:3623 elf32-m68k.c:3557 elf32-s390.c:3110 +#: elf64-s390.c:3071 elf64-x86-64.c:3278 +msgid "%B(%A+0x%lx): reloc against `%s': error %d" +msgstr "%B(%A+0x%lx): relokasi terhadap `%s': error %d" + +#: elf32-bfin.c:2711 +msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend" +msgstr "%B: relokasi di `%A+0x%x' simbol referensi `%s' dengan bukan nol ditambahkan" + +#: elf32-bfin.c:2725 elf32-frv.c:2904 +msgid "relocation references symbol not defined in the module" +msgstr "relokasi referensi simbol tidak didefinisikan dalam modul" + +#: elf32-bfin.c:2822 +msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend" +msgstr "R_BFIN_FUNCDESC referensi simbol dinamis dengan bukan nol ditambahkan" + +#: elf32-bfin.c:2861 elf32-bfin.c:2987 elf32-frv.c:3641 elf32-frv.c:3762 +msgid "cannot emit fixups in read-only section" +msgstr "tidak dapat mengeluarkan fixups dalam bagian baca-saja" + +#: elf32-bfin.c:2889 elf32-bfin.c:3036 elf32-frv.c:3672 elf32-frv.c:3806 +msgid "cannot emit dynamic relocations in read-only section" +msgstr "tidak dapat mengeluarkan relokasi dinamis dalam bagian baca-saja" + +#: elf32-bfin.c:2945 +msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend" +msgstr "R_BFIN_FUNCDESC_VALUE referensi simbol dinamis dengan bukan nol ditambahkan" + +#: elf32-bfin.c:3126 +msgid "relocations between different segments are not supported" +msgstr "relokasi diantara segmen berbeda tidak didukung" + +#: elf32-bfin.c:3127 +msgid "warning: relocation references a different segment" +msgstr "peringatan: relokasi referensi sebuah segmen berbeda" + +#: elf32-bfin.c:4791 elf32-frv.c:6404 +msgid "%B: unsupported relocation type %i" +msgstr "%B: tipe relokasi %i tidak didukung" + +#: elf32-bfin.c:4944 elf32-frv.c:6812 +#, c-format +msgid "%s: cannot link non-fdpic object file into fdpic executable" +msgstr "%s: tidak dapat menghubungkan berkas objek bukan-fdpic kedalam aplikasi fdpic" + +#: elf32-bfin.c:4948 elf32-frv.c:6816 +#, c-format +msgid "%s: cannot link fdpic object file into non-fdpic executable" +msgstr "%s: tidak dapat menghubungkan berkas objek fdpic kedalam aplikasi bukan-fdpic" + +#: elf32-cris.c:1060 +msgid "%B, section %A: unresolvable relocation %s against symbol `%s'" +msgstr "%B, bagian %A: relokasi tidak teresolf %s terhadap simbol `%s'" + +#: elf32-cris.c:1129 +msgid "%B, section %A: No PLT nor GOT for relocation %s against symbol `%s'" +msgstr "%B, bagian %A: Bukan PLT atau GOT untuk relokasi %s terhadap simbol `%s'" + +#: elf32-cris.c:1131 +msgid "%B, section %A: No PLT for relocation %s against symbol `%s'" +msgstr "%B, bagian %A: Bukan PLT untuk relokasi %s terhadap simbol `%s'" + +#: elf32-cris.c:1137 elf32-cris.c:1269 +msgid "[whose name is lost]" +msgstr "[yang namanya hilang]" + +#: elf32-cris.c:1255 +msgid "%B, section %A: relocation %s with non-zero addend %d against local symbol" +msgstr "%B, bagian %A: relokasi %s dengan bukan-nol ditambahkan %d terhadap simbol lokal" + +#: elf32-cris.c:1263 +msgid "%B, section %A: relocation %s with non-zero addend %d against symbol `%s'" +msgstr "%B, bagian %A: relokasi %s dengan bukan-nol ditambakan %d terhadap simbol `%s'" + +#: elf32-cris.c:1289 +msgid "%B, section %A: relocation %s is not allowed for global symbol: `%s'" +msgstr "%B, bagian %A: relokasi %s tidak diperbolehkan untuk simbol global: `%s'" + +#: elf32-cris.c:1305 +msgid "%B, section %A: relocation %s with no GOT created" +msgstr "%B, bagian %A: relokasi %s dengan tidak GOT dibuat" + +#: elf32-cris.c:1423 +msgid "%B: Internal inconsistency; no relocation section %s" +msgstr "%B: Internal tidak konsisten; bagian %s tidak bisa direlokasi" + +#: elf32-cris.c:2510 +msgid "" +"%B, section %A:\n" +" v10/v32 compatible object %s must not contain a PIC relocation" +msgstr "" +"%B, bagian %A:\n" +" v10/v32 objek kompatibel %s harus berisi sebuah relokasi PIC" + +#: elf32-cris.c:2697 elf32-cris.c:2765 +msgid "" +"%B, section %A:\n" +" relocation %s should not be used in a shared object; recompile with -fPIC" +msgstr "" +"%B, bagian %A:\n" +" relokasi %s seharusnya digunakan dalam sebuah objek terbagi; rekompile dengan -fPIC" + +#: elf32-cris.c:3184 +msgid "Unexpected machine number" +msgstr "Nomor mesin tidak terduga" + +#: elf32-cris.c:3238 +#, c-format +msgid " [symbols have a _ prefix]" +msgstr " [simbol memiliki sebuah awalan _]" + +#: elf32-cris.c:3241 +#, c-format +msgid " [v10 and v32]" +msgstr " [v10 dan v32]" + +#: elf32-cris.c:3244 +#, c-format +msgid " [v32]" +msgstr " [v32]" + +#: elf32-cris.c:3289 +msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols" +msgstr "%B: menggunakan awalan _ simbol, tetapi menulis berkas dengan simbol tanpa awalan" + +#: elf32-cris.c:3290 +msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols" +msgstr "%B: menggunakan simbol tanpa awalan, tetapi menulis berkas dengan simbol awalan _" + +#: elf32-cris.c:3309 +msgid "%B contains CRIS v32 code, incompatible with previous objects" +msgstr "%B berisi kode CRIS v32, tidak kompatibel dengan objek sebelumnya" + +#: elf32-cris.c:3311 +msgid "%B contains non-CRIS-v32 code, incompatible with previous objects" +msgstr "%B berisi kode bukan CRIS v32, tidak kompatibel dengan objek sebelumnya" + +#: elf32-frv.c:1507 elf32-frv.c:1656 +msgid "relocation requires zero addend" +msgstr "relokasi membutuhkan penambahan nol" + +#: elf32-frv.c:2891 +msgid "%B(%A+0x%x): relocation to `%s+%x' may have caused the error above" +msgstr "%B(%A+0x%x): relokasi ke `%s+%x' mungkin menyebabkan error diatas" + +#: elf32-frv.c:2980 +msgid "R_FRV_GETTLSOFF not applied to a call instruction" +msgstr "R_FRV_GETTLSOFF tidak teraplikasi untuk sebuah panggilan instruksi" + +#: elf32-frv.c:3022 +msgid "R_FRV_GOTTLSDESC12 not applied to an lddi instruction" +msgstr "R_FRV_GOTTLSDESC12 tidak teraplikasi untuk sebuah instruksi lddi" + +#: elf32-frv.c:3093 +msgid "R_FRV_GOTTLSDESCHI not applied to a sethi instruction" +msgstr "R_FRV_GOTTLSDESCHI tidak teraplikasi untuk sebuah instruksi sethi" + +#: elf32-frv.c:3130 +msgid "R_FRV_GOTTLSDESCLO not applied to a setlo or setlos instruction" +msgstr "R_FRV_GOTTLSDESCLO tidak teraplikasi untuk sebuah instruksi setlo atau setlos" + +#: elf32-frv.c:3178 +msgid "R_FRV_TLSDESC_RELAX not applied to an ldd instruction" +msgstr "R_FRV_TLSDESC_RELAX tidak teraplikasi untuk sebuah instruksi ldd" + +#: elf32-frv.c:3262 +msgid "R_FRV_GETTLSOFF_RELAX not applied to a calll instruction" +msgstr "R_FRV_GETTLSOFF_RELAX tidak teraplikasi untuk sebuah instruksi calll" + +#: elf32-frv.c:3317 +msgid "R_FRV_GOTTLSOFF12 not applied to an ldi instruction" +msgstr "R_FRV_GETTLSOFF12 tidak teraplikasi untuk sebuah instruksi ldi" + +#: elf32-frv.c:3347 +msgid "R_FRV_GOTTLSOFFHI not applied to a sethi instruction" +msgstr "R_FRV_GOTTLSOFFHI tidak teraplikasi untuk sebuah instruksi sethi" + +#: elf32-frv.c:3376 +msgid "R_FRV_GOTTLSOFFLO not applied to a setlo or setlos instruction" +msgstr "R_FRV_GOTTLSOFFLO tidak teraplikasi untuk sebuah instruksi setlo atau setlos" + +#: elf32-frv.c:3407 +msgid "R_FRV_TLSOFF_RELAX not applied to an ld instruction" +msgstr "R_FRV_TLSOFF_RELAX tidak teraplikasi untuk sebuah instruksi ld" + +#: elf32-frv.c:3452 +msgid "R_FRV_TLSMOFFHI not applied to a sethi instruction" +msgstr "R_FRV_TLSMOFFHI tidak teraplikasi untuk sebuah instruksi sethi" + +#: elf32-frv.c:3479 +msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction" +msgstr "R_FRV_TLSMOFFLO tidak teraplikasi untuk sebuah instruksi setlo atau setlos" + +#: elf32-frv.c:3600 +msgid "R_FRV_FUNCDESC references dynamic symbol with nonzero addend" +msgstr "R_FRV_FUNCDESC referensi simbol dinamis dengan penambahan bukan nol" + +#: elf32-frv.c:3720 +msgid "R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend" +msgstr "R_FRV_FUNCDESC_VALUE referensi simbol dinamis dengan penambahan bukan nol" + +#: elf32-frv.c:3977 elf32-frv.c:4133 +msgid "%B(%A+0x%lx): reloc against `%s': %s" +msgstr "%B(%A+0x%lx): relokasi terhadap `%s': %s" + +#: elf32-frv.c:3979 elf32-frv.c:3983 +msgid "relocation references a different segment" +msgstr "relokasi referensi ke segmen berbeda" + +#: elf32-frv.c:6726 +#, c-format +msgid "%s: compiled with %s and linked with modules that use non-pic relocations" +msgstr "%s: terkompile dengan %s dan terhubung dengan modul yang menggunakan relokasi bukan-pic" + +#: elf32-frv.c:6779 elf32-iq2000.c:852 elf32-m32c.c:814 +#, c-format +msgid "%s: compiled with %s and linked with modules compiled with %s" +msgstr "%s: terkompile dengan %s dan terhubung dengan modul terkompile dengan %s" + +#: elf32-frv.c:6791 +#, c-format +msgid "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%lx)" +msgstr "%s: menggunakan bagian e_flags (0x%lx) berbeda yang tidak dikenal dari modul sebelumnya (0x%lx)" + +#: elf32-frv.c:6841 elf32-iq2000.c:889 elf32-m32c.c:850 elf32-mt.c:583 +#, c-format +msgid "private flags = 0x%lx:" +msgstr "private flags = 0x%lx:" + +#: elf32-gen.c:69 elf64-gen.c:69 +msgid "%B: Relocations in generic ELF (EM: %d)" +msgstr "%B: Relokasi dalam ELF standar (EM: %d)" + +#: elf32-hppa.c:854 elf32-hppa.c:3600 +msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections" +msgstr "%B(%A+0x%lx): tidak dapat mencapai %s, rekompile dengan -ffunction-sections" + +#: elf32-hppa.c:1263 +msgid "%B: relocation %s can not be used when making a shared object; recompile with -fPIC" +msgstr "%B: relokasi %s tidak dapat digunakan ketika membuat sebuah objek terbagi; rekompile dengan -fPIC" + +#: elf32-hppa.c:1518 +#, c-format +msgid "Could not find relocation section for %s" +msgstr "Tidak dapat menemukan bagian relokasi untuk %s" + +#: elf32-hppa.c:2810 +msgid "%B: duplicate export stub %s" +msgstr "%B: duplikasi export stub %s" + +#: elf32-hppa.c:3436 +msgid "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link" +msgstr "%B(%A+0x%lx): %s fixup untuk insn 0x%x tidak didukung dalam sebuah sambunga tidak terbagi" + +#: elf32-hppa.c:4290 +msgid "%B(%A+0x%lx): cannot handle %s for %s" +msgstr "%B(%A+0x%lx): tidak dapat menangani %s untuk %s" + +#: elf32-hppa.c:4597 +msgid ".got section not immediately after .plt section" +msgstr "bagian .got tidak mengikuti bagian .plt" + +#: elf32-i386.c:362 elf32-ppc.c:1616 elf32-s390.c:379 elf64-ppc.c:2153 +#: elf64-s390.c:403 elf64-x86-64.c:222 +msgid "%B: invalid relocation type %d" +msgstr "%B: tipe relokasi %d tidak valid" + +#: elf32-i386.c:1183 elf64-x86-64.c:964 +msgid "%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed" +msgstr "%B: TLS transisi dari %s ke %s terhadap `%s' di 0x%lx dalam bagian `%A' gagal" + +#: elf32-i386.c:1364 elf32-s390.c:1188 elf32-sh.c:5098 elf32-xtensa.c:1162 +#: elf64-s390.c:1152 elfxx-sparc.c:1263 +msgid "%B: `%s' accessed both as normal and thread local symbol" +msgstr "%B: `%s' terakses kedua sebagai normal dan memperlakukan lokal simbol" + +#: elf32-i386.c:1479 elf32-s390.c:1297 elf64-ppc.c:5046 elf64-s390.c:1264 +#: elf64-x86-64.c:1299 +msgid "%B: bad relocation section name `%s'" +msgstr "%B: relokasi bagian nama `%s' buruk" + +#: elf32-i386.c:2598 +msgid "%B: unrecognized relocation (0x%x) in section `%A'" +msgstr "%B: relokasi tidak dikenal (0x%x) dalam bagian `%A'" + +#: elf32-i386.c:2822 elf64-x86-64.c:2660 +msgid "hidden symbol" +msgstr "simbol tersembunyi" + +#: elf32-i386.c:2825 elf64-x86-64.c:2663 +msgid "internal symbol" +msgstr "internal simbol" + +#: elf32-i386.c:2828 elf64-x86-64.c:2666 +msgid "protected symbol" +msgstr "simbol terproteksi" + +#: elf32-i386.c:2831 elf64-x86-64.c:2669 +msgid "symbol" +msgstr "simbol" + +#: elf32-i386.c:2836 +msgid "%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when making a shared object" +msgstr "%B: relokasi R_386_GOTOFF terhadap %s `%s' tidak terdefinisi tidak dapat digunakan ketika membuah sebuah objek terbagi" + +#: elf32-i386.c:2846 +msgid "%B: relocation R_386_GOTOFF against protected function `%s' can not be used when making a shared object" +msgstr "%B: relokasi R_386_GOTOFF terhadap fungsi terproteksi `%s' tidak dapat digunakan ketika membuat sebuah objek terbagi" + +#: elf32-ip2k.c:868 elf32-ip2k.c:874 elf32-ip2k.c:941 elf32-ip2k.c:947 +msgid "ip2k relaxer: switch table without complete matching relocation information." +msgstr "ip2k relaxer: tabel switch tanpa pencocokan informasi relokasi lengkap." + +#: elf32-ip2k.c:891 elf32-ip2k.c:974 +msgid "ip2k relaxer: switch table header corrupt." +msgstr "ip2k relaxer: switch tabel header terkorupsi." + +#: elf32-ip2k.c:1316 +#, c-format +msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)." +msgstr "ip2k linker: hilang halaman instruksi di 0x%08lx (dest = 0x%08lx)." + +#: elf32-ip2k.c:1332 +#, c-format +msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)." +msgstr "ip2k linker: redundant halaman instruksi di 0x%08lx (dest = 0x%08lx)." + +#. Only if it's not an unresolved symbol. +#: elf32-ip2k.c:1506 +msgid "unsupported relocation between data/insn address spaces" +msgstr "relokasi tidak didukung diantara data/insn ruang alamat" + +#: elf32-iq2000.c:865 elf32-m32c.c:826 +#, c-format +msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" +msgstr "%s: menggunakan e_flags (0x%lx) field berbeda dari modul sebelumnya (0x%lx)" + +#: elf32-m32r.c:1453 +msgid "SDA relocation when _SDA_BASE_ not defined" +msgstr "SDA relokasi ketika _SDA_BASE_ tidak terdefinisi" + +#: elf32-m32r.c:3061 +msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)" +msgstr "%B: Target (%s) dari sebuah %s relokasi berada dalam bagian yang salah (%A)" + +#: elf32-m32r.c:3589 +msgid "%B: Instruction set mismatch with previous modules" +msgstr "%B: Set Instruksi tidak cocok dengan modul sebelumnya" + +#: elf32-m32r.c:3610 +#, c-format +msgid "private flags = %lx" +msgstr "private flags = %lx" + +#: elf32-m32r.c:3615 +#, c-format +msgid ": m32r instructions" +msgstr ": m32r instruksi" + +#: elf32-m32r.c:3616 +#, c-format +msgid ": m32rx instructions" +msgstr ": m32rx instruksi" + +#: elf32-m32r.c:3617 +#, c-format +msgid ": m32r2 instructions" +msgstr ": m32r2 instruksi" + +#: elf32-m68hc1x.c:1047 +#, c-format +msgid "Reference to the far symbol `%s' using a wrong relocation may result in incorrect execution" +msgstr "Referensi ke simbol jauh `%s' menggunakan relokasi salah mungkin akan menghasilkan eksekusi salah" + +#: elf32-m68hc1x.c:1070 +#, c-format +msgid "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked address [%lx:%04lx] (%lx)" +msgstr "banked address [%lx:%04lx] (%lx) tidak dalam bank yang sama seperti dalam alamat bank sekarang [%lx:%04lx] (%lx)" + +#: elf32-m68hc1x.c:1089 +#, c-format +msgid "reference to a banked address [%lx:%04lx] in the normal address space at %04lx" +msgstr "referensi ke alamat bank [%lx:%04lx] dalam ruang alamat normal di %04lx" + +#: elf32-m68hc1x.c:1222 +msgid "%B: linking files compiled for 16-bit integers (-mshort) and others for 32-bit integers" +msgstr "%B: menghubungkan berkas yang dikompile untuk 16-bit integer (-mshort) dan yang lain untuk 32-bit integer" + +#: elf32-m68hc1x.c:1229 +msgid "%B: linking files compiled for 32-bit double (-fshort-double) and others for 64-bit double" +msgstr "%B: menghubungkan berkas yang dikompile untuk 32-bit double (-fshort-double) dan yang lain untuk 64-bit double" + +#: elf32-m68hc1x.c:1238 +msgid "%B: linking files compiled for HCS12 with others compiled for HC12" +msgstr "%B: menghubungkan berkas dikompile untuk HCS12 dengan yang lain dikompile untuk HC12" + +#: elf32-m68hc1x.c:1254 elf32-ppc.c:4046 elf64-sparc.c:697 elfxx-mips.c:12561 +msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" +msgstr "%B: menggunakan field e_flags (0x%lx) berbeda dari modul sebelumnya (0x%lx)" + +#: elf32-m68hc1x.c:1282 +#, c-format +msgid "[abi=32-bit int, " +msgstr "[abi=32-bit int, " + +#: elf32-m68hc1x.c:1284 +#, c-format +msgid "[abi=16-bit int, " +msgstr "[abi=16-bit int, " + +#: elf32-m68hc1x.c:1287 +#, c-format +msgid "64-bit double, " +msgstr "64-bit double, " + +#: elf32-m68hc1x.c:1289 +#, c-format +msgid "32-bit double, " +msgstr "32-bit double, " + +#: elf32-m68hc1x.c:1292 +#, c-format +msgid "cpu=HC11]" +msgstr "cpu=HC11]" + +#: elf32-m68hc1x.c:1294 +#, c-format +msgid "cpu=HCS12]" +msgstr "cpu=HCS12]" + +#: elf32-m68hc1x.c:1296 +#, c-format +msgid "cpu=HC12]" +msgstr "cpu=HC12]" + +#: elf32-m68hc1x.c:1299 +#, c-format +msgid " [memory=bank-model]" +msgstr " [memory=bank-model]" + +#: elf32-m68hc1x.c:1301 +#, c-format +msgid " [memory=flat]" +msgstr " [memory=flat]" + +#: elf32-m68k.c:789 elf32-m68k.c:790 +msgid "unknown" +msgstr "tidak dikenal" + +#: elf32-m68k.c:1216 +msgid "%B: GOT overflow: Number of R_68K_GOT8O relocations > %d" +msgstr "%B: GOT overflow: Jumlah dari R_68K_GOT80 relokasi > %d" + +#: elf32-m68k.c:1221 +msgid "%B: GOT overflow: Number of R_68K_GOT8O and R_68K_GOT16O relocations > %d" +msgstr "%B: Memperoleh overflow: Jumlah dari R_68K_GOT80 dan R_68K_GOT160 relokasi > %d" + +#: elf32-mcore.c:99 elf32-mcore.c:442 +msgid "%B: Relocation %s (%d) is not currently supported.\n" +msgstr "%B: Relokasi %s (%d) saat ini tidak didukung.\n" + +#: elf32-mcore.c:428 +msgid "%B: Unknown relocation type %d\n" +msgstr "%B: Tipe relokasi %d tidak dikenal\n" + +#: elf32-mep.c:654 +msgid "%B and %B are for different cores" +msgstr "%B dan %B adalah untuk cores berbeda" + +#: elf32-mep.c:671 +msgid "%B and %B are for different configurations" +msgstr "%B dan %B adalah untuk konfigurasi berbeda" + +#: elf32-mep.c:709 +#, c-format +msgid "private flags = 0x%lx" +msgstr "private flags = 0x%lx" + +#: elf32-mips.c:1045 elf64-mips.c:2056 elfn32-mips.c:1888 +msgid "literal relocation occurs for an external symbol" +msgstr "literal relokasi terjadi untuk simbol eksternal" + +#: elf32-mips.c:1085 elf32-score.c:484 elf64-mips.c:2099 elfn32-mips.c:1929 +msgid "32bits gp relative relocation occurs for an external symbol" +msgstr "32bit gp relative relokasi terjadi untuk sebuah simbol eksternal" + +#: elf32-ppc.c:1681 +#, c-format +msgid "generic linker can't handle %s" +msgstr "linker generik tidak dapat menangani %s" + +#: elf32-ppc.c:2161 +msgid "corrupt or empty %s section in %B" +msgstr "korup atau kosong %s bagian dalam %B" + +#: elf32-ppc.c:2168 +msgid "unable to read in %s section from %B" +msgstr "tidak dapat membaca dalam bagian %s dari %B" + +#: elf32-ppc.c:2174 +msgid "corrupt %s section in %B" +msgstr "korup bagian %s dalam %B" + +#: elf32-ppc.c:2217 +msgid "warning: unable to set size of %s section in %B" +msgstr "peringatan: tidak dapat menset ukuran bagian %s dalam %B" + +#: elf32-ppc.c:2265 +msgid "failed to allocate space for new APUinfo section." +msgstr "gagal mengalokasikan ruang untuk bagian baru APUinfo." + +#: elf32-ppc.c:2284 +msgid "failed to compute new APUinfo section." +msgstr "gagal untuk menghitung bagian baru APUinfo." + +#: elf32-ppc.c:2287 +msgid "failed to install new APUinfo section." +msgstr "gagal untuk memasang bagian baru APUinfo." + +#: elf32-ppc.c:3263 +msgid "%B: relocation %s cannot be used when making a shared object" +msgstr "%B: relokasi %s tidak dapat digunakan ketika membuat sebuah objek terbagi" + +#. It does not make sense to have a procedure linkage +#. table entry for a local symbol. +#: elf32-ppc.c:3534 +msgid "%B(%A+0x%lx): %s reloc against local symbol" +msgstr "%B(%A+0x%lx): %s relokasi terhadap simbol lokal" + +#: elf32-ppc.c:3885 elf32-ppc.c:3900 elfxx-mips.c:12268 elfxx-mips.c:12294 +#: elfxx-mips.c:12316 elfxx-mips.c:12342 +msgid "Warning: %B uses hard float, %B uses soft float" +msgstr "Peringatan: %B menggunakan hard float, %B menggunakan soft float" + +#: elf32-ppc.c:3888 elf32-ppc.c:3892 +msgid "Warning: %B uses double-precision hard float, %B uses single-precision hard float" +msgstr "Peringatan: %B menggunakan double-precision hard float, %B menggunakan single-precision hard float" + +#: elf32-ppc.c:3896 +msgid "Warning: %B uses soft float, %B uses single-precision hard float" +msgstr "Peringatan: %B menggunakan soft float, %B menggunakan single-precision hard float" + +#: elf32-ppc.c:3903 elf32-ppc.c:3907 elfxx-mips.c:12248 elfxx-mips.c:12252 +msgid "Warning: %B uses unknown floating point ABI %d" +msgstr "Peringatan: %B menggunkaan floating point ABI %d" + +#: elf32-ppc.c:3949 elf32-ppc.c:3953 +msgid "Warning: %B uses unknown vector ABI %d" +msgstr "Peringatan: %B menggunakan vector ABI %d tidak dikenal" + +#: elf32-ppc.c:3957 +msgid "Warning: %B uses vector ABI \"%s\", %B uses \"%s\"" +msgstr "Peringatan: %B menggunakan vector ABI \"%s\", %B menggunakan \"%s\"" + +#: elf32-ppc.c:4011 +msgid "%B: compiled with -mrelocatable and linked with modules compiled normally" +msgstr "%B: dikompile dengan -mrelocatable dan dihubungkan dengan module yang dikompile secara normal" + +#: elf32-ppc.c:4019 +msgid "%B: compiled normally and linked with modules compiled with -mrelocatable" +msgstr "%B: dikompile secara normal dan dihubungkan dengan modul yang dikompile dengan -mrelocatable" + +#: elf32-ppc.c:4105 +msgid "Using bss-plt due to %B" +msgstr "Menggunakan bss-plt karena %B" + +#: elf32-ppc.c:6418 elf64-ppc.c:10881 +msgid "%B: unknown relocation type %d for symbol %s" +msgstr "%B: tipe relokasi %d tidak dikenal untuk simbol %s" + +#: elf32-ppc.c:6668 +msgid "%B(%A+0x%lx): non-zero addend on %s reloc against `%s'" +msgstr "%B(%A+0x%lx): bukan-nol ditambahkan di %s relokasi terhadap `%s'" + +#: elf32-ppc.c:7024 elf32-ppc.c:7050 elf32-ppc.c:7109 +msgid "%B: the target (%s) of a %s relocation is in the wrong output section (%s)" +msgstr "%B: target (%s) dari sebuah relokasi %s berada dalam daerah keluaran salah (%s)" + +#: elf32-ppc.c:7164 +msgid "%B: relocation %s is not yet supported for symbol %s." +msgstr "%B: relokasi %s tidak didukung untuk simbol %s." + +#: elf32-ppc.c:7272 elf64-ppc.c:11575 +msgid "%B(%A+0x%lx): %s reloc against `%s': error %d" +msgstr "%B(%A+0x%lx): %s relokasi terhadap `%s': error %d" + +#: elf32-s390.c:2246 elf64-s390.c:2220 +msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s" +msgstr "%B(%A+0x%lx): instruksi tidak valid untuk relokasi TLS %s" + +#: elf32-score.c:1415 elfxx-mips.c:3273 +msgid "not enough GOT space for local GOT entries" +msgstr "tidak cukup ruang GOT untuk masukan lokal GOT" + +#: elf32-score.c:2545 +#, c-format +msgid "%s: Malformed reloc detected for section %s" +msgstr "%s: relokasi malformat terdeteksi untuk bagian %s" + +#: elf32-score.c:2596 +msgid "%B: CALL15 reloc at 0x%lx not against global symbol" +msgstr "%B: CALL15 relokasi di 0x%lx tidak terhadap simbol global" + +#: elf32-score.c:3753 +#, c-format +msgid " [pic]" +msgstr " [pic]" + +#: elf32-score.c:3757 +#, c-format +msgid " [fix dep]" +msgstr " [fix dep]" + +#: elf32-score.c:3799 +msgid "%B: warning: linking PIC files with non-PIC files" +msgstr "%B: peringatan: menghubungkan berkas PIC dengan berkas bukan-PIC" + +#: elf32-sh-symbian.c:130 +msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS" +msgstr "%B: IMPORT SEBAGAI direktif untuk %s menyembunyikan IMPORT SEBAGAI sebelumnya" + +#: elf32-sh-symbian.c:383 +msgid "%B: Unrecognised .directive command: %s" +msgstr "%B: Perintah .directive tidak dikenal: %s" + +#: elf32-sh-symbian.c:504 +msgid "%B: Failed to add renamed symbol %s" +msgstr "%B: Gagal menambahkan simbol diubah namanya %s" + +#: elf32-sh.c:533 +msgid "%B: 0x%lx: warning: bad R_SH_USES offset" +msgstr "%B: 0x%lx: peringatan: ofset R_SH_USES buruk" + +#: elf32-sh.c:545 +msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x" +msgstr "%B: 0x%lx: peringatan: R_SH_USES titik tidak dikenal insn 0x%x" + +#: elf32-sh.c:562 +msgid "%B: 0x%lx: warning: bad R_SH_USES load offset" +msgstr "%B: 0x%lx: peringatan: ofset R_SH_USES beban buruk" + +#: elf32-sh.c:577 +msgid "%B: 0x%lx: warning: could not find expected reloc" +msgstr "%B: 0x%lx: peringatan: tidak dapat menemukan relokasi yang diperkirakan" + +#: elf32-sh.c:605 +msgid "%B: 0x%lx: warning: symbol in unexpected section" +msgstr "%B: 0x%lx: peringatan: simbol dalam bagian yang tidak diperkirakan" + +#: elf32-sh.c:731 +msgid "%B: 0x%lx: warning: could not find expected COUNT reloc" +msgstr "%B: 0x%lx: peringatan: tidak dapat menemukan COUNT relokasi" + +#: elf32-sh.c:740 +msgid "%B: 0x%lx: warning: bad count" +msgstr "%B: 0x%lx: peringatan: jumlah buruk" + +#: elf32-sh.c:1144 elf32-sh.c:1514 +msgid "%B: 0x%lx: fatal: reloc overflow while relaxing" +msgstr "%B: 0x%lx: fatal: relokasi overflow ketika relaxing" + +#: elf32-sh.c:3279 elf64-sh64.c:1526 +msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled" +msgstr "Tidak diperkirakan STO_SH5_ISA32 di simbol lokal tidak ditangani" + +#: elf32-sh.c:3516 +msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation" +msgstr "%B: 0x%lx: fatal: unaligned branch target untuk relax-support relokasi" + +#: elf32-sh.c:3549 elf32-sh.c:3564 +msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx" +msgstr "%B: 0x%lx: fatal: unaligned %s relokasi 0x%lx" + +#: elf32-sh.c:3578 +msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32" +msgstr "%B: 0x%lx: fatal: R_SH_PSHA relokasi %d tidak dalam jangkauan -32..32" + +#: elf32-sh.c:3592 +msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32" +msgstr "%B: 0x%lx: fatal: R_SH_PSHL relokasi %d tidak dalam jangkauan -32..32" + +#: elf32-sh.c:5310 elf64-alpha.c:4552 +msgid "%B: TLS local exec code cannot be linked into shared objects" +msgstr "%B: TLS lokal exec kode tidak dapat dihubungkan dalam objek terbagi" + +#: elf32-sh64.c:222 elf64-sh64.c:2345 +#, c-format +msgid "%s: compiled as 32-bit object and %s is 64-bit" +msgstr "%s: dikompile sebagai 32-bit objek dan %s adalah 64-bit" + +#: elf32-sh64.c:225 elf64-sh64.c:2348 +#, c-format +msgid "%s: compiled as 64-bit object and %s is 32-bit" +msgstr "%s: dikompile sebagai 64-bit objek dan %s adalah 32-bit" + +#: elf32-sh64.c:227 elf64-sh64.c:2350 +#, c-format +msgid "%s: object size does not match that of target %s" +msgstr "%s: ukuran objek tidak cocok dari target %s" + +#: elf32-sh64.c:450 elf64-sh64.c:2888 +#, c-format +msgid "%s: encountered datalabel symbol in input" +msgstr "%s: ditemui datalabel simbol dalam masukan" + +#: elf32-sh64.c:527 +msgid "PTB mismatch: a SHmedia address (bit 0 == 1)" +msgstr "PTB tidak cocok: sebuah SHmedia alamat (bit 0 ==1)" + +#: elf32-sh64.c:530 +msgid "PTA mismatch: a SHcompact address (bit 0 == 0)" +msgstr "PTA tidak cocok: sebuah SHcompact alamat (bit 0 == 0)" + +#: elf32-sh64.c:548 +#, c-format +msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16" +msgstr "%s: GAS error: tidak diduga PTB insn dengan R_SH_PT_16" + +#: elf32-sh64.c:597 +msgid "%B: error: unaligned relocation type %d at %08x reloc %p\n" +msgstr "%B: error: tipe relokasi unaligned %d di %08x relokasi %p\n" + +#: elf32-sh64.c:673 +#, c-format +msgid "%s: could not write out added .cranges entries" +msgstr "%s: tidak dapat menulis masukan tambahan .cranges" + +#: elf32-sh64.c:733 +#, c-format +msgid "%s: could not write out sorted .cranges entries" +msgstr "%s: tidak dapat menulis masukan terurut .cranges" + +#: elf32-sparc.c:89 +msgid "%B: compiled for a 64 bit system and target is 32 bit" +msgstr "%B: dikompile untuk sebuah sistem 64 bit dan target adalah 32 bit" + +#: elf32-sparc.c:102 +msgid "%B: linking little endian files with big endian files" +msgstr "%B: menghubungkan berkas little endian dengan berkas big endian" + +#: elf32-spu.c:607 +msgid "%X%P: overlay sections %A and %A do not start at the same address.\n" +msgstr "%X%P: bagian overlay %A dan %A jangan diawali di alamat yang sama.\n" + +#: elf32-spu.c:805 +msgid "warning: call to non-function symbol %s defined in %B" +msgstr "peringatan: panggilan bukan-fungsi simbol %s didefinisikan dalam %B" + +#: elf32-spu.c:1406 +msgid "%B is not allowed to define %s" +msgstr "%B tidak diperbolehkan untuk didefinisikan %s" + +#: elf32-spu.c:1453 +#, c-format +msgid "%s in overlay section" +msgstr "%s dalam daerah overlay" + +#: elf32-spu.c:1469 +msgid "overlay stub relocation overflow" +msgstr "relokasi stub overlay overflow" + +#: elf32-spu.c:1478 elf64-ppc.c:10078 +msgid "stubs don't match calculated size" +msgstr "stub tidak cocok dengan ukuran yang dihitung" + +#: elf32-spu.c:1976 +#, c-format +msgid "warning: %s overlaps %s\n" +msgstr "peringatan: %s timpang tindih %s\n" + +#: elf32-spu.c:1992 +#, c-format +msgid "warning: %s exceeds section size\n" +msgstr "peringatan: %s melebihi ukuran daerah\n" + +#: elf32-spu.c:2023 +msgid "%A:0x%v not found in function table\n" +msgstr "%A:0x%v tidak ditemukan dalam tabel fungsi\n" + +#: elf32-spu.c:2165 +msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n" +msgstr "%B(%A+0x%v): panggilan untuk daerah bukan-kode %B(%A), analysis tidak lengkap\n" + +#: elf32-spu.c:2339 +#, c-format +msgid "%A link_order not found\n" +msgstr "%A link_order tidak ditemukan\n" + +#: elf32-spu.c:2706 +#, c-format +msgid "Stack analysis will ignore the call from %s to %s\n" +msgstr "Stack analysis akan mengabaikan panggilan dari %s ke %s\n" + +#: elf32-spu.c:3348 +msgid " %s: 0x%v\n" +msgstr " %s: 0x%v\n" + +#: elf32-spu.c:3349 +msgid "%s: 0x%v 0x%v\n" +msgstr "%s: 0x%v 0x%v\n" + +#: elf32-spu.c:3354 +msgid " calls:\n" +msgstr " panggilan:\n" + +#: elf32-spu.c:3362 +#, c-format +msgid " %s%s %s\n" +msgstr " %s%s %s\n" + +#: elf32-spu.c:3564 +#, c-format +msgid "%s duplicated in %s\n" +msgstr "%s duplikasi dalam %s\n" + +#: elf32-spu.c:3568 +#, c-format +msgid "%s duplicated\n" +msgstr "%s duplikasi\n" + +#: elf32-spu.c:3575 +msgid "sorry, no support for duplicate object files in auto-overlay script\n" +msgstr "maaf, tidak ada dukungan untuk duplikasi berkas objek dalam auto-overlay script\n" + +#: elf32-spu.c:3605 +msgid "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local store\n" +msgstr "ukuran non-overlay dari 0x%v plus maksimul overlay size dari 0x%v melebihi lokal store\n" + +#: elf32-spu.c:3741 +msgid "%B:%A%s exceeds overlay size\n" +msgstr "%B:%A%s melebihi ukuran overlay\n" + +#: elf32-spu.c:3862 +msgid "Stack size for call graph root nodes.\n" +msgstr "Ukuran stack untuk panggilan graph titik root.\n" + +#: elf32-spu.c:3863 +msgid "" +"\n" +"Stack size for functions. Annotations: '*' max stack, 't' tail call\n" +msgstr "" +"\n" +"Ukuran stack untuk fungsi. Anotasi: '*' max stack, 't' tail call\n" + +#: elf32-spu.c:3871 +msgid "Maximum stack required is 0x%v\n" +msgstr "Maksimal stack dibutuhkan adalah 0x%v\n" + +#: elf32-spu.c:4067 +msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'" +msgstr "%B(%s=0x%lx): tidak teresolf %s relokasi terhadap simbol `%s'" + +#: elf32-v850.c:165 +#, c-format +msgid "Variable `%s' cannot occupy in multiple small data regions" +msgstr "Variabel `%s' tidak dapat mengisi dalam beberapa daerah data kecil" + +#: elf32-v850.c:168 +#, c-format +msgid "Variable `%s' can only be in one of the small, zero, and tiny data regions" +msgstr "Variabel `%s' hanya dapat berada dalam satu dari kecil, nol, dan sangat kecil daerah data" + +#: elf32-v850.c:171 +#, c-format +msgid "Variable `%s' cannot be in both small and zero data regions simultaneously" +msgstr "Variabel `%s' tidak dapat berada dalam kecil dan nol daerah data secara bersamaan" + +#: elf32-v850.c:174 +#, c-format +msgid "Variable `%s' cannot be in both small and tiny data regions simultaneously" +msgstr "Variabel `%s' tidak dapat berada dalam kecil dan sangat kecil daerah data secara bersamaan" + +#: elf32-v850.c:177 +#, c-format +msgid "Variable `%s' cannot be in both zero and tiny data regions simultaneously" +msgstr "variabel `%s' tidak dapat dalam nol dan kecil daerah data secara bersamaan" + +#: elf32-v850.c:480 +#, c-format +msgid "FAILED to find previous HI16 reloc\n" +msgstr "GAGAL untuk menemukan relokasi HI16 sebelumnya\n" + +#: elf32-v850.c:1715 +msgid "could not locate special linker symbol __gp" +msgstr "tidak dapat menemukan simbol linker spesial __gp" + +#: elf32-v850.c:1719 +msgid "could not locate special linker symbol __ep" +msgstr "tidak dapat menemukan simbol linker spesial __ep" + +#: elf32-v850.c:1723 +msgid "could not locate special linker symbol __ctbp" +msgstr "tidak dapat menemukan simbol linker spesial __ctbp" + +#: elf32-v850.c:1873 +msgid "%B: Architecture mismatch with previous modules" +msgstr "%B: Arsitektur tidak cocok dengan modul sebelumnya" + +#: elf32-v850.c:1892 +#, c-format +msgid "private flags = %lx: " +msgstr "private flags = %lx: " + +#: elf32-v850.c:1897 +#, c-format +msgid "v850 architecture" +msgstr "v850 arsitektur" + +#: elf32-v850.c:1898 +#, c-format +msgid "v850e architecture" +msgstr "v850e arsitektur" + +#: elf32-v850.c:1899 +#, c-format +msgid "v850e1 architecture" +msgstr "v850e1 arsitektur" + +#: elf32-vax.c:541 +#, c-format +msgid " [nonpic]" +msgstr " [bukan-pic]" + +#: elf32-vax.c:544 +#, c-format +msgid " [d-float]" +msgstr " [d-float]" + +#: elf32-vax.c:547 +#, c-format +msgid " [g-float]" +msgstr " [g-float]" + +#: elf32-vax.c:657 +#, c-format +msgid "%s: warning: GOT addend of %ld to `%s' does not match previous GOT addend of %ld" +msgstr "%s: peringatan: GOT ditambahkan dari %ld ke `%s' tidak cocok dengan penambahan GOT sebelumnya dari %ld" + +#: elf32-vax.c:1589 +#, c-format +msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored" +msgstr "%s: peringatan: PLT ditambahkan dari %d ke `%s' dari %s bagian diabaikan" + +#: elf32-vax.c:1726 +#, c-format +msgid "%s: warning: %s relocation against symbol `%s' from %s section" +msgstr "%s: peringatan: %s relokasi terhadap simbol `%s' dari bagian %s" + +#: elf32-vax.c:1732 +#, c-format +msgid "%s: warning: %s relocation to 0x%x from %s section" +msgstr "%s: peringatan: relokasi %s ke 0x%x dari daerah %s" + +#: elf32-xstormy16.c:451 elf32-ia64.c:2794 elf64-ia64.c:2794 +msgid "non-zero addend in @fptr reloc" +msgstr "bukan-nol ditambahkan dalam @fptr relokasi" + +#: elf32-xtensa.c:911 +msgid "%B(%A): invalid property table" +msgstr "%B(%A): tabel properti tidak valid" + +#: elf32-xtensa.c:2734 +msgid "%B(%A+0x%lx): relocation offset out of range (size=0x%x)" +msgstr "%B(%A+0x%lx): ofset relokasi diluar jangkauan (size=0x%x)" + +#: elf32-xtensa.c:2813 elf32-xtensa.c:2934 +msgid "dynamic relocation in read-only section" +msgstr "relokasi dinamis dalam bagian baca-saja" + +#: elf32-xtensa.c:2910 +msgid "TLS relocation invalid without dynamic sections" +msgstr "relokasi TLS tidak valid tanpa bagian dinamis" + +#: elf32-xtensa.c:3127 +msgid "internal inconsistency in size of .got.loc section" +msgstr "internal tidak konsisten dalam ukuran dari daerah .got.loc" + +#: elf32-xtensa.c:3437 +msgid "%B: incompatible machine type. Output is 0x%x. Input is 0x%x" +msgstr "%B: tipe mesin tidak kompatibel. Keluaran adalah 0x%x. Masukan adalah 0x%x" + +#: elf32-xtensa.c:4666 elf32-xtensa.c:4674 +msgid "Attempt to convert L32R/CALLX to CALL failed" +msgstr "Mencoba untuk mengubah L32R/CALLX ke CALL gagal" + +#: elf32-xtensa.c:6276 elf32-xtensa.c:6352 elf32-xtensa.c:7468 +msgid "%B(%A+0x%lx): could not decode instruction; possible configuration mismatch" +msgstr "%B(%A+0x%lx): tidak dapat mendeko instruksi; mungkin konfigurasi tidak cocok" + +#: elf32-xtensa.c:7208 +msgid "%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY relocation; possible configuration mismatch" +msgstr "%B(%A+0x%lx): tidak dapat mendeko instruksi untuk XTENSA_ASM_SIMPLIFY relokasi; mungkin konfigurasi tidak cocok" + +#: elf32-xtensa.c:8969 +msgid "invalid relocation address" +msgstr "alamat relokasi tidak valid" + +#: elf32-xtensa.c:9018 +msgid "overflow after relaxation" +msgstr "overflow setelah relaksasi" + +#: elf32-xtensa.c:10154 +msgid "%B(%A+0x%lx): unexpected fix for %s relocation" +msgstr "%B(%A+0x%lx): unexpected fix untuk relokasi %s" + +#: elf64-alpha.c:452 +msgid "GPDISP relocation did not find ldah and lda instructions" +msgstr "GPDISP relokasi tidak dapat menemukan instruksi ldah dan lda" + +#: elf64-alpha.c:2416 +msgid "%B: .got subsegment exceeds 64K (size %d)" +msgstr "%B: .got subsegmen melebihi 64K (size %d)" + +#: elf64-alpha.c:4296 elf64-alpha.c:4308 +msgid "%B: gp-relative relocation against dynamic symbol %s" +msgstr "%B: gp-relative relokasi terhadap simbol dinamis %s" + +#: elf64-alpha.c:4334 elf64-alpha.c:4469 +msgid "%B: pc-relative relocation against dynamic symbol %s" +msgstr "%B: pc-relative relokasi terhadap simbol dinamis %s" + +#: elf64-alpha.c:4362 +msgid "%B: change in gp: BRSGP %s" +msgstr "%B: perubahan dalam gp: BRSGP %s" + +#: elf64-alpha.c:4387 +msgid "<unknown>" +msgstr "<tidak dikenal>" + +#: elf64-alpha.c:4392 +msgid "%B: !samegp reloc against symbol without .prologue: %s" +msgstr "%B: !samegp relokasi terhadap simbol tanpa .prologue: %s" + +#: elf64-alpha.c:4444 +msgid "%B: unhandled dynamic relocation against %s" +msgstr "%B: relokasi dinamis tidak ditangani terhadap %s" + +#: elf64-alpha.c:4476 +msgid "%B: pc-relative relocation against undefined weak symbol %s" +msgstr "%B: pc-relative relokasi terhadap simbol lemah tidak terdefinisi %s" + +#: elf64-alpha.c:4536 +msgid "%B: dtp-relative relocation against dynamic symbol %s" +msgstr "%B: dtp-relative relokasi terhadap simbol dinamis %s" + +#: elf64-alpha.c:4559 +msgid "%B: tp-relative relocation against dynamic symbol %s" +msgstr "%B: tp-relative relokasi terhadap simbol dinamis %s" + +#: elf64-hppa.c:2071 +#, c-format +msgid "stub entry for %s cannot load .plt, dp offset = %ld" +msgstr "masukan stub untuk %s tidak dapat diload .plt, dp ofset = %ld" + +#: elf64-mmix.c:1177 +#, c-format +msgid "" +"%s: Internal inconsistency error for value for\n" +" linker-allocated global register: linked: 0x%lx%08lx != relaxed: 0x%lx%08lx\n" +msgstr "" +"%s: Internal tidak konsisten error untuk nilai untuk\n" +" linker-allocated global register: terhubung: 0x%lx%08lx != relaxed: 0x%lx%08lx\n" + +#: elf64-mmix.c:1618 +#, c-format +msgid "%s: base-plus-offset relocation against register symbol: (unknown) in %s" +msgstr "%s: base-plus-offset relokasi terhadap simbol register: (tidak diketahui) dalam %s" + +#: elf64-mmix.c:1623 +#, c-format +msgid "%s: base-plus-offset relocation against register symbol: %s in %s" +msgstr "%s: base-plus-offset relokasi terhadap simbol register: %s dalam %s" + +#: elf64-mmix.c:1667 +#, c-format +msgid "%s: register relocation against non-register symbol: (unknown) in %s" +msgstr "%s: register relokasi terhadap non-register simbol: (tidak diketahui) dalam %s" + +#: elf64-mmix.c:1672 +#, c-format +msgid "%s: register relocation against non-register symbol: %s in %s" +msgstr "%s: register relokasi terhadap bukan-register simbol: %s dalam %s" + +#: elf64-mmix.c:1709 +#, c-format +msgid "%s: directive LOCAL valid only with a register or absolute value" +msgstr "%s: direktif LOKAL hanya valid dengan sebuah register atau nilai absolut" + +#: elf64-mmix.c:1737 +#, c-format +msgid "%s: LOCAL directive: Register $%ld is not a local register. First global register is $%ld." +msgstr "%s: LOKAL direktif: Register $%ld bukan sebuah lokal register. Pertama global registar adala $%ld." + +#: elf64-mmix.c:2201 +#, c-format +msgid "%s: Error: multiple definition of `%s'; start of %s is set in a earlier linked file\n" +msgstr "%s: Error: multiple definisi dari `%s'; awal dari %s adalah diset dalam sebuah sebelum berkas terlink\n" + +#: elf64-mmix.c:2259 +msgid "Register section has contents\n" +msgstr "Daerah register memiliki isi\n" + +#: elf64-mmix.c:2451 +#, c-format +msgid "" +"Internal inconsistency: remaining %u != max %u.\n" +" Please report this bug." +msgstr "" +"Internal tidak konsisten: sisa %u != max %u.\n" +" Tolong laporkan bug ini." + +#: elf64-ppc.c:2561 libbfd.c:978 +msgid "%B: compiled for a big endian system and target is little endian" +msgstr "%B: dikompile untuk sebuah sistem big endian dan target adalah little endian" + +#: elf64-ppc.c:2564 libbfd.c:980 +msgid "%B: compiled for a little endian system and target is big endian" +msgstr "%B: dikompile untuk sebuah sistem little endian dan target adalah big endian" + +#: elf64-ppc.c:6065 +#, c-format +msgid "copy reloc against `%s' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc" +msgstr "salin relokasi terhadap `%s' membutuhkan lazy plt linking; hindari konfigurasi LD_BIND_NOW=1 atau upgrade gcc" + +#: elf64-ppc.c:6486 +msgid "dynreloc miscount for %B, section %A" +msgstr "dynareloc miscount untuk %B, bagian %A" + +#: elf64-ppc.c:6570 +msgid "%B: .opd is not a regular array of opd entries" +msgstr "%B: .opd adalah bukan array regular dari masukan opd" + +#: elf64-ppc.c:6579 +msgid "%B: unexpected reloc type %u in .opd section" +msgstr "%B: tipe relokasi %u tidak diduga dalam bagian .opd" + +#: elf64-ppc.c:6600 +msgid "%B: undefined sym `%s' in .opd section" +msgstr "%B: tidak terdefinisi simbol `%s' dalam bagian .opd" + +#: elf64-ppc.c:7377 elf64-ppc.c:7754 +#, c-format +msgid "%s defined in removed toc entry" +msgstr "%s terdefinisi dalam masukan toc terhapus" + +#: elf64-ppc.c:8581 +#, c-format +msgid "long branch stub `%s' offset overflow" +msgstr "stub brach panjang `%s' ofset overflow" + +#: elf64-ppc.c:8640 +#, c-format +msgid "can't find branch stub `%s'" +msgstr "tidak dapat menemukan branch stub `%s'" + +#: elf64-ppc.c:8702 elf64-ppc.c:8822 +#, c-format +msgid "linkage table error against `%s'" +msgstr "linkage tabel error terhadap `%s'" + +#: elf64-ppc.c:8978 +#, c-format +msgid "can't build branch stub `%s'" +msgstr "tidak dapat membuat branch stub `%s'" + +#: elf64-ppc.c:9451 +msgid "%B section %A exceeds stub group size" +msgstr "%B bagian %A melebihi ukuran grup stub" + +#: elf64-ppc.c:10090 +#, c-format +msgid "" +"linker stubs in %u group%s\n" +" branch %lu\n" +" toc adjust %lu\n" +" long branch %lu\n" +" long toc adj %lu\n" +" plt call %lu" +msgstr "" +"linker stubs dalam %u grup %s\n" +" cabang %lu\n" +" toc adjust %lu\n" +" cabang panjang %lu\n" +" long toc adj %lu\n" +" plt call %lu" + +#: elf64-ppc.c:10769 +msgid "%B(%A+0x%lx): automatic multiple TOCs not supported using your crt files; recompile with -mminimal-toc or upgrade gcc" +msgstr "%B(%A+0x%lx): otomatis multiple TOC tidak didukung menggunakan berkas crt anda; rekompile dengan -mminimal-toc atau upgrade gcc" + +#: elf64-ppc.c:10777 +msgid "%B(%A+0x%lx): sibling call optimization to `%s' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `%s' extern" +msgstr "%B(%A+0x%lx): sibling call optimization ke `%s' tidak membolehkan otomatis multiple TOC; rekompile dengan -mminimal-toc atau -fno-optimize-sibling-calls, atau buat `%s' extern" + +#: elf64-ppc.c:11427 +msgid "%B: relocation %s is not supported for symbol %s." +msgstr "%B: relokasi %s tidak didukung untuk simbol %s." + +#: elf64-ppc.c:11509 +msgid "%B: error: relocation %s not a multiple of %d" +msgstr "%B: error: relokasi %s bukan multiple dari %d" + +#: elf64-sh64.c:1701 +#, c-format +msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n" +msgstr "%s: error: tipe relokasi %d unaligned di %08x relokasi %08x\n" + +#: elf64-sparc.c:439 +msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER" +msgstr "%B: Hanya register %%g[2367] dapat dideklarasikan menggunakan STT_REGISTER" + +#: elf64-sparc.c:459 +msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B" +msgstr "Register %%g%d digunakan tidak kompatibel: %s dalam %B, sebelumnya %s dalam %B" + +#: elf64-sparc.c:482 +msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B" +msgstr "Simbol `%s' memiliki tipe berbeda: REGISTER dalam %B, sebelumnya %s dalam %B" + +#: elf64-sparc.c:527 +msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B" +msgstr "Simbol `%s' memiliki tipe berbeda: %s dalam %B, sebelumnya REGISTER dalam %B" + +#: elf64-sparc.c:678 +msgid "%B: linking UltraSPARC specific with HAL specific code" +msgstr "%B: menghubungkan UltraSPARC spesifik dengan HAL spesifik kode" + +#: elf64-x86-64.c:1047 elf64-x86-64.c:1207 elfxx-mips.c:7834 +msgid "%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC" +msgstr "%B: relokasi %s terhadap `%s' tidak dapat digunkan ketika membuat sebuah objek terbagi; rekompile dengan -fPIC" + +#: elf64-x86-64.c:1138 +msgid "%B: '%s' accessed both as normal and thread local symbol" +msgstr "%B: '%s' keduanya diakses secara normal dan thread simbol lokal" + +#: elf64-x86-64.c:2559 +msgid "%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be used when making a shared object" +msgstr "%B: relokasi R_X86_64_GOTOFF64 terhadap fungsi terproteksi `%s' tidak dapat digunakan ketika membuat sebuah objek terbagi" + +#: elf64-x86-64.c:2670 +msgid "; recompile with -fPIC" +msgstr "; rekompile dengan -fPIC" + +#: elf64-x86-64.c:2675 +msgid "%B: relocation %s against %s `%s' can not be used when making a shared object%s" +msgstr "%B: relokasi %s terhadap %s `%s' tidak dapat digunakan ketika membuat sebuah objek terbagi%s" + +#: elf64-x86-64.c:2677 +msgid "%B: relocation %s against undefined %s `%s' can not be used when making a shared object%s" +msgstr "%B: relokasi %s terhadap tidak terdefinisi %s `%s' tidak dapat digunakan ketika membuat sebuah objek terbagi %s" + +#: elfcode.h:795 +#, c-format +msgid "warning: %s has a corrupt string table index - ignoring" +msgstr "peringatan: %s memiliki sebuah string tabel korup index - diabaikan" + +#: elfcode.h:1201 +#, c-format +msgid "%s: version count (%ld) does not match symbol count (%ld)" +msgstr "%s: versi terhitung (%ld) tidak cocok dengan simbol terhitung (%ld)" + +#: elfcode.h:1435 +#, c-format +msgid "%s(%s): relocation %d has invalid symbol index %ld" +msgstr "%s(%s): relokasi %d memiliki indek simbol tidak valid %ld" + +#: elfcore.h:251 +msgid "Warning: %B is truncated: expected core file size >= %lu, found: %lu." +msgstr "Peringatan: %B terpotong: diperkirakan ukuran berkas core >= %lu, ditemukan: %lu." + +#: elflink.c:1028 +msgid "%s: TLS definition in %B section %A mismatches non-TLS definition in %B section %A" +msgstr "%s: TLS definisi dalam %B bagian %A tidak cocok bukan-TLS definisi dalam %B bagian %A" + +#: elflink.c:1032 +msgid "%s: TLS reference in %B mismatches non-TLS reference in %B" +msgstr "%s: TLS referensi dalam %B tidak cocok bukan-TLS referensi dalam %B" + +#: elflink.c:1036 +msgid "%s: TLS definition in %B section %A mismatches non-TLS reference in %B" +msgstr "%s: TLS definisi dalam %B bagian %A tidak cocok bukan-TLS referensi dalam %B" + +#: elflink.c:1040 +msgid "%s: TLS reference in %B mismatches non-TLS definition in %B section %A" +msgstr "%s: TLS referensi dalam %B tidak cocok bukan-TLS definisi dalam %B bagian %A" + +#: elflink.c:1654 +msgid "%B: unexpected redefinition of indirect versioned symbol `%s'" +msgstr "%B: tidak diduga redefinisi dari indirek versioned simbol `%s'" + +#: elflink.c:1982 +msgid "%B: version node not found for symbol %s" +msgstr "%B: titik versi tidak ditemukan untuk simbol %s" + +#: elflink.c:2130 +msgid "%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'" +msgstr "%B: bad relokasi simbol indeks (0x%lx >= 0x%lx) untuk ofset 0x%lx dalam daerah `%A'" + +#: elflink.c:2327 +msgid "%B: relocation size mismatch in %B section %A" +msgstr "%B: ukuran relokasi tidak cocok dalam %B bagian %A" + +#: elflink.c:2629 +#, c-format +msgid "warning: type and size of dynamic symbol `%s' are not defined" +msgstr "peringatan: tipe dan ukuran dari simbol dinamis `%s' tidak terdefinisi" + +#: elflink.c:3953 +msgid "%B: %s: invalid version %u (max %d)" +msgstr "%B: %s: versi %u tidak valid (max %d)" + +#: elflink.c:3989 +msgid "%B: %s: invalid needed version %d" +msgstr "%B: %s: tidak valid dibutuhkan versi %d" + +#: elflink.c:4172 +msgid "Warning: alignment %u of common symbol `%s' in %B is greater than the alignment (%u) of its section %A" +msgstr "Peringatan: alignmen %u dari simbol umum `%s' dalam %B adalah lebih besar daripada alignment (%u) dari bagian ini %A" + +#: elflink.c:4178 +msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B" +msgstr "Peringatan: alignment %u dari simbol `%s' dalam %B adalah lebih kecil daripada %u dalam %B" + +#: elflink.c:4193 +msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B" +msgstr "Peringatan: ukuran dari simbol `%s' berubah dari %lu dalam %B ke %lu dalam %B" + +#: elflink.c:4371 +#, c-format +msgid "%s: invalid DSO for symbol `%s' definition" +msgstr "%s: tidak valid DSO untuk simbol `%s' definisi" + +#: elflink.c:5621 +#, c-format +msgid "%s: undefined version: %s" +msgstr "%s: versi tidak terdefinisi: %s" + +#: elflink.c:5689 +msgid "%B: .preinit_array section is not allowed in DSO" +msgstr "%B: .preinit_array bagian tidak diperbolehkan dalam DSO" + +#: elflink.c:7414 +#, c-format +msgid "undefined %s reference in complex symbol: %s" +msgstr "undefined %s referensi dalam simbol kompleks: %s" + +#: elflink.c:7568 +#, c-format +msgid "unknown operator '%c' in complex symbol" +msgstr "operator tidak diketahui '%c' dalam simbol kompleks" + +#: elflink.c:7904 elflink.c:7921 elflink.c:7958 elflink.c:7975 +msgid "%B: Unable to sort relocs - they are in more than one size" +msgstr "%B: Tidak dapat mengurutkan relokasi - mereka berada dalam lebih dari satu ukuran" + +#: elflink.c:7935 elflink.c:7989 +msgid "%B: Unable to sort relocs - they are of an unknown size" +msgstr "%B: Tidak dapat mengurutkan relokasi - mereka dari ukuran yang tidak diketahui" + +#: elflink.c:8038 +msgid "Not enough memory to sort relocations" +msgstr "Tidak cukup memori untuk mengurutkan relokasi" + +#: elflink.c:8227 +msgid "%B: Too many sections: %d (>= %d)" +msgstr "%B: Terlalu banyak bagian: %d (>= %d)" + +#: elflink.c:8461 +msgid "%B: %s symbol `%s' in %B is referenced by DSO" +msgstr "%B: %s simbol `%s' dalam %B adalah direferensikan oleh DSO" + +#: elflink.c:8544 +msgid "%B: could not find output section %A for input section %A" +msgstr "%B: tidak dapat menemukan bagian keluaran %A untuk daerah masukan %A" + +#: elflink.c:8655 +msgid "%B: %s symbol `%s' isn't defined" +msgstr "%B: %s simbol `%s' tidak didefinisikan" + +#: elflink.c:9141 +msgid "error: %B contains a reloc (0x%s) for section %A that references a non-existent global symbol" +msgstr "error: %B berisi sebuah relokasi (0x%s) untuk daerah %A yang mereferensikan sebuah bukan-exist simbol global" + +#: elflink.c:9205 +msgid "%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %B\n" +msgstr "%X`%s' direferensikan dalam daerah `%A' dari %B: didefinisikan dalam daerah diabaikan `%A' dari %B\n" + +#: elflink.c:9825 +msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections" +msgstr "%A memiliki keduanya terurut [`%A' dalam %B] dan daerah tidak terurut [`%A' dalam %B]" + +#: elflink.c:9830 +#, c-format +msgid "%A has both ordered and unordered sections" +msgstr "%A memiliki daerah terurut dan tidak terurut" + +#: elflink.c:10715 elflink.c:10759 +msgid "%B: could not find output section %s" +msgstr "%B: tidak dapat menemukan daerah keluaran %s" + +#: elflink.c:10720 +#, c-format +msgid "warning: %s section has zero size" +msgstr "peringatan: %s daerah memiliki ukuran nol" + +#: elflink.c:10824 +msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n" +msgstr "%P: peringatan: membuat sebuah DT_TEXTREL dalam sebuah objek terbagi.\n" + +#: elflink.c:11006 +msgid "%P%X: can not read symbols: %E\n" +msgstr "%P%X: tidak dapat membaca simbol: %E\n" + +#: elflink.c:11313 +msgid "Removing unused section '%s' in file '%B'" +msgstr "Menghapus daerah tidak digunakan '%s' dalam berkas '%B'" + +#: elflink.c:11525 +msgid "Warning: gc-sections option ignored" +msgstr "Peringatan: gc-sections opsi diabaikan" + +#: elflink.c:12056 +msgid "%B: ignoring duplicate section `%A'" +msgstr "%B: peringatan daerah duplikasi `%A'" + +#: elflink.c:12063 elflink.c:12070 +msgid "%B: duplicate section `%A' has different size" +msgstr "%B: daerah duplikasi `%A' memiliki ukuran berbeda" + +#: elflink.c:12078 elflink.c:12083 +msgid "%B: warning: could not read contents of section `%A'" +msgstr "%B: peringatan: tidak dapat membaca isi dari daerah `%A'" + +#: elflink.c:12087 +msgid "%B: warning: duplicate section `%A' has different contents" +msgstr "%B: peringatan: duplikasi daerah `%A' memiliki isi berbeda" + +#: elflink.c:12166 linker.c:3080 +msgid "%F%P: already_linked_table: %E" +msgstr "%F%P: already_linked_table: %E" + +#: elfxx-mips.c:1197 +msgid "static procedure (no name)" +msgstr "prosedur statis (tidak bernama)" + +#: elfxx-mips.c:5562 +msgid "%B: %A+0x%lx: jump to stub routine which is not jal" +msgstr "%B: %A+0x%lx: lompat ke routine stub dimana bukan jal" + +#: elfxx-mips.c:6206 elfxx-mips.c:6427 +msgid "%B: Warning: bad `%s' option size %u smaller than its header" +msgstr "%B: Peringatan: opsi `%s' buruk ukuran %u lebih kecil dari headernya" + +#: elfxx-mips.c:7174 elfxx-mips.c:7299 +msgid "%B: Warning: cannot determine the target function for stub section `%s'" +msgstr "%B: Peringatan: tidak dapat menentukan fungsi terget untuk daerah stub `%s'" + +#: elfxx-mips.c:7428 +msgid "%B: Malformed reloc detected for section %s" +msgstr "%B: Malformed relokasi terdeteksi untuk daerah %s" + +#: elfxx-mips.c:7468 +msgid "%B: GOT reloc at 0x%lx not expected in executables" +msgstr "%B: GOT relokasi di 0x%lx tidak diduga dalam aplikasi" + +#: elfxx-mips.c:7566 +msgid "%B: CALL16 reloc at 0x%lx not against global symbol" +msgstr "%B: CALL16 relokasi di 0x%lx tidak terhadap simbol global" + +#: elfxx-mips.c:8244 +#, c-format +msgid "non-dynamic relocations refer to dynamic symbol %s" +msgstr "bukan-dinamis relokasi refer ke simbol dinamis %s" + +#: elfxx-mips.c:8947 +msgid "%B: Can't find matching LO16 reloc against `%s' for %s at 0x%lx in section `%A'" +msgstr "%B: Tidak dapat menemukan cocok LO16 relokasi terhadap `%s' untuk %s di 0x%lx di daerah `%A'" + +#: elfxx-mips.c:9086 +msgid "small-data section exceeds 64KB; lower small-data size limit (see option -G)" +msgstr "daerah data-kecil melebihi 64KB; dibawah data-kecil batas ukuran (lihat opsi -G)" + +#: elfxx-mips.c:11887 +#, c-format +msgid "%s: illegal section name `%s'" +msgstr "%s: nama daerah `%s' ilegal" + +#: elfxx-mips.c:12262 elfxx-mips.c:12288 +msgid "Warning: %B uses -msingle-float, %B uses -mdouble-float" +msgstr "Peringatan: %B menggunakan 0msingle-float, %B menggunakan -mdouble-float" + +#: elfxx-mips.c:12274 elfxx-mips.c:12330 +msgid "Warning: %B uses -msingle-float, %B uses -mips32r2 -mfp64" +msgstr "Peringatan: %B menggunakan -msingle-float, %B menggunakan -mips32r2 -mfp64" + +#: elfxx-mips.c:12300 elfxx-mips.c:12336 +msgid "Warning: %B uses -mdouble-float, %B uses -mips32r2 -mfp64" +msgstr "Peringatan: %B menggunakan -mdouble-float, %B menggunakan -mips32r2 -mfp64" + +#: elfxx-mips.c:12378 +msgid "%B: endianness incompatible with that of the selected emulation" +msgstr "%B: endianness tidak kompatibel dengan yang dipilih di emulasi" + +#: elfxx-mips.c:12389 +msgid "%B: ABI is incompatible with that of the selected emulation" +msgstr "%B: ABI tidak kompatibel dengan yang dipilih di emulasi" + +#: elfxx-mips.c:12470 +msgid "%B: warning: linking abicalls files with non-abicalls files" +msgstr "%B: peringatan: menghubungkan berkas abicalls dengan berkas bukan-abicalls" + +#: elfxx-mips.c:12487 +msgid "%B: linking 32-bit code with 64-bit code" +msgstr "%B: menghubungkan 32-bit kode dengan 64-bit kode" + +#: elfxx-mips.c:12515 +msgid "%B: linking %s module with previous %s modules" +msgstr "%B: menghubungkan %s modul dengan modul %s sebelumnya" + +#: elfxx-mips.c:12538 +msgid "%B: ABI mismatch: linking %s module with previous %s modules" +msgstr "%B: ABI tidak cocok: menghubungkan modul %s dengan modul %s sebelumnya" + +#: elfxx-mips.c:12702 +#, c-format +msgid " [abi=O32]" +msgstr " [abi=032]" + +#: elfxx-mips.c:12704 +#, c-format +msgid " [abi=O64]" +msgstr " [abi=064]" + +#: elfxx-mips.c:12706 +#, c-format +msgid " [abi=EABI32]" +msgstr " [abi=EABI32]" + +#: elfxx-mips.c:12708 +#, c-format +msgid " [abi=EABI64]" +msgstr " [abi=EABI64]" + +#: elfxx-mips.c:12710 +#, c-format +msgid " [abi unknown]" +msgstr " [abi tidak diketahui]" + +#: elfxx-mips.c:12712 +#, c-format +msgid " [abi=N32]" +msgstr " [abi=N32]" + +#: elfxx-mips.c:12714 +#, c-format +msgid " [abi=64]" +msgstr " [abi=64]" + +#: elfxx-mips.c:12716 +#, c-format +msgid " [no abi set]" +msgstr " [bukan abi set]" + +#: elfxx-mips.c:12737 +#, c-format +msgid " [unknown ISA]" +msgstr " [ISA tidak diketahui]" + +#: elfxx-mips.c:12748 +#, c-format +msgid " [not 32bitmode]" +msgstr " [bukan 32bitmode]" + +#: elfxx-sparc.c:440 +#, c-format +msgid "invalid relocation type %d" +msgstr "tipe relokasi %d tidak valid" + +#: elfxx-sparc.c:2976 +msgid "%B: probably compiled without -fPIC?" +msgstr "%B: mungkin dikompile tanpa -fPIC?" + +#: i386linux.c:455 m68klinux.c:459 sparclinux.c:453 +#, c-format +msgid "Output file requires shared library `%s'\n" +msgstr "Berkas keluaran membutuhkan library terbagi `%s'\n" + +#: i386linux.c:463 m68klinux.c:467 sparclinux.c:461 +#, c-format +msgid "Output file requires shared library `%s.so.%s'\n" +msgstr "Berkas keluaran membutuhkan library terbagi `%s.so.%s'\n" + +#: i386linux.c:652 i386linux.c:702 m68klinux.c:659 m68klinux.c:707 +#: sparclinux.c:651 sparclinux.c:701 +#, c-format +msgid "Symbol %s not defined for fixups\n" +msgstr "Simbol %s tidak terdefinisi untuk fixups\n" + +#: i386linux.c:726 m68klinux.c:731 sparclinux.c:725 +msgid "Warning: fixup count mismatch\n" +msgstr "Peringatan: jumlah fixup tidak cocok\n" + +#: ieee.c:159 +#, c-format +msgid "%s: string too long (%d chars, max 65535)" +msgstr "%s: string terlalu panjang (%d chars, max 65535)" + +#: ieee.c:286 +#, c-format +msgid "%s: unrecognized symbol `%s' flags 0x%x" +msgstr "%s: simbol tidak dikenal `%s' flags 0x%x" + +#: ieee.c:788 +msgid "%B: unimplemented ATI record %u for symbol %u" +msgstr "%B: tidak terimplementasi ATI record %u untuk simbol %u" + +#: ieee.c:812 +msgid "%B: unexpected ATN type %d in external part" +msgstr "%B: tipe ATN %d tidak diduga dalam bagian luar" + +#: ieee.c:834 +msgid "%B: unexpected type after ATN" +msgstr "%B: tidak diduga tipe sesudah ATN" + +#: ihex.c:230 +msgid "%B:%d: unexpected character `%s' in Intel Hex file" +msgstr "%B:%d: tidak diduga karakter `%s' dalam berkas Intel Hex" + +#: ihex.c:337 +msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)" +msgstr "%B:%u: checksum buruk dalam berkas Intel Hex (diperkirakan %u, ditemukan %u)" + +#: ihex.c:392 +msgid "%B:%u: bad extended address record length in Intel Hex file" +msgstr "%B:%u: buruk extended alamat panjang record dalam berkas Intel Hex" + +#: ihex.c:409 +msgid "%B:%u: bad extended start address length in Intel Hex file" +msgstr "%B:%u: buruk extended awal panjang alamat dalam berkas Intel Hex " + +#: ihex.c:426 +msgid "%B:%u: bad extended linear address record length in Intel Hex file" +msgstr "%B:%u: buruk extended alamat linear panjang record dalam berkas Intel Hex" + +#: ihex.c:443 +msgid "%B:%u: bad extended linear start address length in Intel Hex file" +msgstr "%B:%u: buruk extended panjang awal alamat linear dalam berkas Intel Hex" + +#: ihex.c:460 +msgid "%B:%u: unrecognized ihex type %u in Intel Hex file" +msgstr "%B:%u: tidak dikenal ihex tipe %u dalam berkas Intel Hex" + +#: ihex.c:579 +msgid "%B: internal error in ihex_read_section" +msgstr "%B: internal error dalam ihex_read_section" + +#: ihex.c:613 +msgid "%B: bad section length in ihex_read_section" +msgstr "%B: buruk panjang bagian dalam ihex_read_section" + +#: ihex.c:825 +#, c-format +msgid "%s: address 0x%s out of range for Intel Hex file" +msgstr "%s: alamat 0x%s diluar jangkauan untuk berkas Intel Hex" + +#: libbfd.c:1008 +#, c-format +msgid "Deprecated %s called at %s line %d in %s\n" +msgstr "Deprecated %s dipanggil di %s baris %d dalam %s\n" + +#: libbfd.c:1011 +#, c-format +msgid "Deprecated %s called\n" +msgstr "Deprecated %s dipanggil\n" + +#: linker.c:1874 +msgid "%B: indirect symbol `%s' to `%s' is a loop" +msgstr "%B: indirect simbol `%s' ke `%s' adalah sebuah loop" + +#: linker.c:2740 +#, c-format +msgid "Attempt to do relocatable link with %s input and %s output" +msgstr "Mencoba untuk merelokasi link dengan masukan %s dan keluaran %s" + +#: linker.c:3047 +msgid "%B: warning: ignoring duplicate section `%A'\n" +msgstr "%B: peringatan: mengabaikan bagiann terduplikasi `%A'\n" + +#: linker.c:3061 +msgid "%B: warning: duplicate section `%A' has different size\n" +msgstr "%B: peringatan: bagian terduplikasi `%A' memiliki ukuran berbeda\n" + +#: merge.c:828 +#, c-format +msgid "%s: access beyond end of merged section (%ld)" +msgstr "%s: akses diluar dari daerah merged (%ld)" + +#: mmo.c:456 +#, c-format +msgid "%s: No core to allocate section name %s\n" +msgstr "%s: Tidak ada core untuk alokasi daerah nama %s\n" + +#: mmo.c:531 +#, c-format +msgid "%s: No core to allocate a symbol %d bytes long\n" +msgstr "%s: Tidak ada core untuk alokasi sebuah simbol %d bytes long\n" + +#: mmo.c:1187 +#, c-format +msgid "%s: invalid mmo file: initialization value for $255 is not `Main'\n" +msgstr "%s: berkas mmo tidak valid: nilai inisialisasi untuk $255 bukan `Main'\n" + +#: mmo.c:1332 +#, c-format +msgid "%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name starting with `%s'\n" +msgstr "%s: tidak didukung dengan urutan karakter lebar 0x%02X 0x%02X sesudah nama simbol dimulai dengan `%s'\n" + +#: mmo.c:1566 +#, c-format +msgid "%s: invalid mmo file: unsupported lopcode `%d'\n" +msgstr "%s: berkas mmo tidak valid: lopcode tidak didukung `%d'\n" + +#: mmo.c:1576 +#, c-format +msgid "%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n" +msgstr "%s: berka mmo tidak valid: diduga YZ = 1 diperoleh YZ = %d untuk lop_quote\n" + +#: mmo.c:1612 +#, c-format +msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n" +msgstr "%s: berkas mmo tidak valid: diduga z = 1 atau z = 2, diperoleh z = %d untuk lop_loc\n" + +#: mmo.c:1658 +#, c-format +msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n" +msgstr "%s: berkas mmo tidak valid: diduga z = 1 atau z = 2, diperoleh z = %d untuk lop_fixo\n" + +#: mmo.c:1697 +#, c-format +msgid "%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n" +msgstr "%s: berkas mmo tidak valid: diduga y = 0, diperoleh y = %d untuk lop_fixrx\n" + +#: mmo.c:1706 +#, c-format +msgid "%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n" +msgstr "%s: berkas mmo tidak valid: diduga z = 16 atau z = 24, diperoleh z = %d untuk lop_fixrx\n" + +#: mmo.c:1729 +#, c-format +msgid "%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d for lop_fixrx\n" +msgstr "%s: berkas mmo tidak valid: awalan byte dari kata operand harus 0 atau 1, diperoleh %d untuk lop_fixrx\n" + +#: mmo.c:1752 +#, c-format +msgid "%s: cannot allocate file name for file number %d, %d bytes\n" +msgstr "%s: tidak dapat mengalokasikan nama berkas untuk nomor berkas %d, %d bytes\n" + +#: mmo.c:1772 +#, c-format +msgid "%s: invalid mmo file: file number %d `%s', was already entered as `%s'\n" +msgstr "%s: berkas mmo tidak valid: nomor berkas %d `%s', telah dimasukan sebagai `%s'\n" + +#: mmo.c:1785 +#, c-format +msgid "%s: invalid mmo file: file name for number %d was not specified before use\n" +msgstr "%s: berkas mmo tidak valid: nama berkas untuk nomor %d telah dispesifikasikan sebelum digunakan\n" + +#: mmo.c:1892 +#, c-format +msgid "%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n" +msgstr "%s: berkas mmo tidak valid: daerah y dan z dari lop_stab bukan-nol, y: %d, z: %d\n" + +#: mmo.c:1928 +#, c-format +msgid "%s: invalid mmo file: lop_end not last item in file\n" +msgstr "%s: berkas mmo tidak valid: lop_end bukan item terakhir dalam berkas\n" + +#: mmo.c:1941 +#, c-format +msgid "%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras to the preceding lop_stab (%ld)\n" +msgstr "%s: berkas mmo tidak valid: YZ dari lop_end (%ld) tidak sama dengan jumlah dari tetras yang mengawali lop_stab (%ld)\n" + +#: mmo.c:2651 +#, c-format +msgid "%s: invalid symbol table: duplicate symbol `%s'\n" +msgstr "%s: tabel simbol tidak valid: duplikasi simbol `%s'\n" + +#: mmo.c:2894 +#, c-format +msgid "%s: Bad symbol definition: `Main' set to %s rather than the start address %s\n" +msgstr "%s: Definisi simbol buruk: `Main' di set ke %s daripada ke awal alamat %s\n" + +#: mmo.c:2986 +#, c-format +msgid "%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: %d. Only `Main' will be emitted.\n" +msgstr "%s: Peringatan: tabel simbol terlalu besar untuk mmo, lebih besar daripada 65535 32-bit words: %d. Hanya `Main' yang akan dikeluarkan.\n" + +#: mmo.c:3031 +#, c-format +msgid "%s: internal error, symbol table changed size from %d to %d words\n" +msgstr "%s: internal error, tabel simbol berubah ukuran dari %d ke %d kata\n" + +#: mmo.c:3083 +#, c-format +msgid "%s: internal error, internal register section %s had contents\n" +msgstr "%s: internal error, daerah internal register %s memiliki isi\n" + +#: mmo.c:3134 +#, c-format +msgid "%s: no initialized registers; section length 0\n" +msgstr "%s: tidak ada register yang terinisialisasi; panjang daerah 0\n" + +#: mmo.c:3140 +#, c-format +msgid "%s: too many initialized registers; section length %ld\n" +msgstr "%s: terlalu banyak register yang terinisialisasi; panjang daerah %ld\n" + +#: mmo.c:3145 +#, c-format +msgid "%s: invalid start address for initialized registers of length %ld: 0x%lx%08lx\n" +msgstr "%s: awal alaman tidak valid untuk register terinisialisasi dari panjang %ld: 0x%lx%08lx\n" + +#: oasys.c:881 +#, c-format +msgid "%s: can not represent section `%s' in oasys" +msgstr "%s: tidak dapat merepresentasikan daerah `%s' dalam oasys" + +#: osf-core.c:139 +#, c-format +msgid "Unhandled OSF/1 core file section type %d\n" +msgstr "Tidak tertangani berkas core OSF/1 daerah tipe %d\n" + +#: pe-mips.c:607 +msgid "%B: `ld -r' not supported with PE MIPS objects\n" +msgstr "%B: `ld -r' tidak didukung dengan PE MIPS objek\n" + +#. OK, at this point the following variables are set up: +#. src = VMA of the memory we're fixing up +#. mem = pointer to memory we're fixing up +#. val = VMA of what we need to refer to. +#: pe-mips.c:723 +msgid "%B: unimplemented %s\n" +msgstr "%B: tidak terimplementasi %s\n" + +#: pe-mips.c:749 +msgid "%B: jump too far away\n" +msgstr "%B: lompat terlalu jauh\n" + +#: pe-mips.c:775 +msgid "%B: bad pair/reflo after refhi\n" +msgstr "%B: pasangan/reflo buruk setelah refhi\n" + +#. XXX code yet to be written. +#: peicode.h:759 +msgid "%B: Unhandled import type; %x" +msgstr "%B: Tipe impor tidak tertangani; %x" + +#: peicode.h:764 +msgid "%B: Unrecognised import type; %x" +msgstr "%B: Tipe impor tidak dikenal; %x" + +#: peicode.h:778 +msgid "%B: Unrecognised import name type; %x" +msgstr "%B: Nama tipe impor tidak dikenal; %x" + +#: peicode.h:1161 +msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive" +msgstr "%B: Tipe mesin (0x%x) tidak dikenal dalam Import Library Format archive" + +#: peicode.h:1173 +msgid "%B: Recognised but unhandled machine type (0x%x) in Import Library Format archive" +msgstr "%B: Dikenal tetapi tidak tertangani tipe mesin (0x%x) dalam Import Library Format archive" + +#: peicode.h:1191 +msgid "%B: size field is zero in Import Library Format header" +msgstr "%B: besar field adalah nol dalam Import Library Format header" + +#: peicode.h:1222 +msgid "%B: string not null terminated in ILF object file." +msgstr "%B: string tidak diakhiri kosong dalam berkas objek ILF." + +#: ppcboot.c:414 +#, c-format +msgid "" +"\n" +"ppcboot header:\n" +msgstr "" +"\n" +"ppcboot header:\n" + +#: ppcboot.c:415 +#, c-format +msgid "Entry offset = 0x%.8lx (%ld)\n" +msgstr "Ofset masukan = 0x%.8lx (%ld)\n" + +#: ppcboot.c:417 +#, c-format +msgid "Length = 0x%.8lx (%ld)\n" +msgstr "Panjang = 0x%.8lx (%ld)\n" + +#: ppcboot.c:421 +#, c-format +msgid "Flag field = 0x%.2x\n" +msgstr "Tanda daerah = 0x%.2x\n" + +#: ppcboot.c:427 +#, c-format +msgid "Partition name = \"%s\"\n" +msgstr "Nama partisi = \"%s\"\n" + +#: ppcboot.c:446 +#, c-format +msgid "" +"\n" +"Partition[%d] start = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" +msgstr "" +"\n" +"Awal partisi[%d] = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" + +#: ppcboot.c:452 +#, c-format +msgid "Partition[%d] end = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" +msgstr "Akhir partisi[%d] = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n" + +#: ppcboot.c:458 +#, c-format +msgid "Partition[%d] sector = 0x%.8lx (%ld)\n" +msgstr "Daerah partisi[%d] = 0x%.8lx (%ld)\n" + +#: ppcboot.c:460 +#, c-format +msgid "Partition[%d] length = 0x%.8lx (%ld)\n" +msgstr "Panjang partisi[%d] = 0x%.8lx (%ld)\n" + +#: som.c:5137 +#, c-format +msgid "" +"\n" +"Exec Auxiliary Header\n" +msgstr "" +"\n" +"Tambahan exec header\n" + +#: som.c:5440 +msgid "som_sizeof_headers unimplemented" +msgstr "som_sizeof_headers tidak terimplementasi" + +#: srec.c:261 +msgid "%B:%d: Unexpected character `%s' in S-record file\n" +msgstr "%B:%d: Karakter `%s' tidak diduga dalam berkas S-record\n" + +#: srec.c:567 srec.c:600 +msgid "%B:%d: Bad checksum in S-record file\n" +msgstr "%B:%d: Checksum buruk dalam berkas S-record\n" + +#: stabs.c:279 +msgid "%B(%A+0x%lx): Stabs entry has invalid string index." +msgstr "%B(%A+0x%lx): Masukan stabs memiliki index string tidak valid." + +#: syms.c:1067 +msgid "Unsupported .stab relocation" +msgstr "Relokasi .stab tidak didukung" + +#: vms-gsd.c:338 +#, c-format +msgid "bfd_make_section (%s) failed" +msgstr "bfd_make_section (%s) gagal" + +#: vms-gsd.c:353 +#, c-format +msgid "bfd_set_section_flags (%s, %x) failed" +msgstr "bfd_set_section_flags (%s, %x) gagal" + +#: vms-gsd.c:388 +#, c-format +msgid "Size mismatch section %s=%lx, %s=%lx" +msgstr "Ukuran tidak cocok daerah %s=%lx, %s=%lx" + +#: vms-gsd.c:679 +#, c-format +msgid "unknown gsd/egsd subtype %d" +msgstr "tidak diketahui gds/egsd subtype %d" + +#: vms-hdr.c:328 +msgid "Object module NOT error-free !\n" +msgstr "Modul objek Tidak bebas-error !\n" + +#: vms-misc.c:474 +#, c-format +msgid "Stack overflow (%d) in _bfd_vms_push" +msgstr "Stack overflow (%d) dalam _bfd_vms_push" + +#: vms-misc.c:489 +msgid "Stack underflow in _bfd_vms_pop" +msgstr "Stack underflow dalam _bfd_vms_pop" + +#: vms-misc.c:808 +msgid "_bfd_vms_output_counted called with zero bytes" +msgstr "_bfd_vms_output_counted dipanggil dengan zero bytes" + +#: vms-misc.c:813 +msgid "_bfd_vms_output_counted called with too many bytes" +msgstr "_bfd_vms_output_counted dipanggil dengan terlalu banyak bytes" + +#: vms-misc.c:931 +#, c-format +msgid "Symbol %s replaced by %s\n" +msgstr "Simbol %s digantikan oleh %s\n" + +#: vms-misc.c:990 +#, c-format +msgid "failed to enter %s" +msgstr "gagal untuk memasuki %s" + +#: vms-tir.c:57 +msgid "No Mem !" +msgstr "Tidak ada Memori !" + +#: vms-tir.c:300 +#, c-format +msgid "bad section index in %s" +msgstr "Indek daerah buruk dalam %s" + +#: vms-tir.c:313 +#, c-format +msgid "unsupported STA cmd %s" +msgstr "perintah %s STA tidak didukung" + +#: vms-tir.c:318 vms-tir.c:1120 +#, c-format +msgid "reserved STA cmd %d" +msgstr "perintah %d STA direserve" + +#: vms-tir.c:410 vms-tir.c:432 +#, c-format +msgid "%s: no symbol \"%s\"" +msgstr "%s: tidak ada simbol \"%s\"" + +#. Unsigned shift. +#. Rotate. +#. Redefine symbol to current location. +#. Define a literal. +#: vms-tir.c:497 vms-tir.c:606 vms-tir.c:704 vms-tir.c:721 vms-tir.c:728 +#: vms-tir.c:736 vms-tir.c:1440 +#, c-format +msgid "%s: not supported" +msgstr "%s: tidak didukung" + +#: vms-tir.c:502 vms-tir.c:1297 +#, c-format +msgid "%s: not implemented" +msgstr "%s: tidak terimplementasi" + +#: vms-tir.c:506 vms-tir.c:1301 +#, c-format +msgid "reserved STO cmd %d" +msgstr "reserved STO perintah %d" + +#: vms-tir.c:621 vms-tir.c:1445 +#, c-format +msgid "reserved OPR cmd %d" +msgstr "reserved OPR perintah %d" + +#: vms-tir.c:681 vms-tir.c:1509 +#, c-format +msgid "reserved CTL cmd %d" +msgstr "reserved CTL perintah %d" + +#. stack byte from image +#. arg: none. +#: vms-tir.c:1028 +msgid "stack-from-image not implemented" +msgstr "stack-from-image tidak terimplementasi" + +#: vms-tir.c:1046 +msgid "stack-entry-mask not fully implemented" +msgstr "stack-entry-mask tidak terimplementasi secara penuh" + +#. compare procedure argument +#. arg: cs symbol name +#. by argument index +#. da argument descriptor +#. +#. compare argument descriptor with symbol argument (ARG$V_PASSMECH) +#. and stack TRUE (args match) or FALSE (args dont match) value. +#: vms-tir.c:1060 +msgid "PASSMECH not fully implemented" +msgstr "PASSMECH tidak terimplementasi secara penuh" + +#: vms-tir.c:1079 +msgid "stack-local-symbol not fully implemented" +msgstr "stack-local-symbol tidak terimplementasi secara penuh" + +#: vms-tir.c:1092 +msgid "stack-literal not fully implemented" +msgstr "stack-literal tidak terimplementasi secara penuh" + +#: vms-tir.c:1113 +msgid "stack-local-symbol-entry-point-mask not fully implemented" +msgstr "stack-local-symbol-entry-point-mask tidak terimplementasi secara penuh" + +#: vms-tir.c:1387 vms-tir.c:1399 vms-tir.c:1411 vms-tir.c:1423 vms-tir.c:1488 +#: vms-tir.c:1496 vms-tir.c:1504 +#, c-format +msgid "%s: not fully implemented" +msgstr "%s: tidak terimplementasi secara penuh" + +#: vms-tir.c:1562 +#, c-format +msgid "obj code %d not found" +msgstr "obj kode %d tidak ditemukan" + +#: vms-tir.c:1870 +#, c-format +msgid "SEC_RELOC with no relocs in section %s" +msgstr "SEC_RELOC dengan tidak ada relokasi dalam daerah %s" + +#: vms-tir.c:2152 +#, c-format +msgid "Unhandled relocation %s" +msgstr "Relokasi %s tidak tertangani" + +#: xcofflink.c:566 +#, c-format +msgid "%s: XCOFF shared object when not producing XCOFF output" +msgstr "%s: XCOFF objek shared ketika tidak menghasilkan keluaran XCOFF" + +#: xcofflink.c:587 +#, c-format +msgid "%s: dynamic object with no .loader section" +msgstr "%s: objek dinamis dengan tidak ada daerah .loader" + +#: xcofflink.c:1150 +msgid "%B: `%s' has line numbers but no enclosing section" +msgstr "%B: `%s' memiliki nomor baris tetapi tidak ditutupi daerah" + +#: xcofflink.c:1202 +msgid "%B: class %d symbol `%s' has no aux entries" +msgstr "%B: kelas %d simbol `%s' tidak memiliki tambahan masukan" + +#: xcofflink.c:1225 +msgid "%B: symbol `%s' has unrecognized csect type %d" +msgstr "%B: simbol `%s' memiliki tipe %d csect tidak dikenal" + +#: xcofflink.c:1237 +msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d" +msgstr "%B: simbol XTY_ER buruk `%s': kelas %d scnum %d scnlen %d" + +#: xcofflink.c:1273 +msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d" +msgstr "%B: XMC_TC0 simbol `%s' adalah kelas %d scnlen %d" + +#: xcofflink.c:1419 +msgid "%B: csect `%s' not in enclosing section" +msgstr "%B: csect `%s' tidak dalam lingkup daerah" + +#: xcofflink.c:1526 +msgid "%B: misplaced XTY_LD `%s'" +msgstr "%B: salah tempat XTY_LD `%s'" + +#: xcofflink.c:1842 +msgid "%B: reloc %s:%d not in csect" +msgstr "%B: relokasi %s:%d tidak dalam csect" + +#: xcofflink.c:2640 +#, c-format +msgid "%s: no such symbol" +msgstr "%s: tidak ada simbol seperti itu" + +#: xcofflink.c:2869 +#, c-format +msgid "warning: attempt to export undefined symbol `%s'" +msgstr "peringatan: mencoba untuk mengekspor simbol tidak terdefinisi `%s'" + +#: xcofflink.c:3036 +msgid "error: undefined symbol __rtinit" +msgstr "error: simbol tidak terdefinisi __rtinit" + +#: xcofflink.c:3656 +#, c-format +msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling" +msgstr "TOC overflow: 0x%lx > 0x10000; coba -mminimal-toc ketika mengkompile" + +#: xcofflink.c:4492 +msgid "%B: loader reloc in unrecognized section `%A'" +msgstr "%B: loader relokasi dalam daerah tidak dikenal `%A'" + +#: xcofflink.c:4513 +msgid "%B: `%s' in loader reloc but not loader sym" +msgstr "%B: `%s' dalam relokasi loader tetapi bukan loader sym" + +#: xcofflink.c:4528 +msgid "%B: loader reloc in read-only section %A" +msgstr "%B: loader relokasi dalam daerah baca-saja %A" + +#: xcofflink.c:4937 xcofflink.c:4999 xcofflink.c:5294 +#, c-format +msgid "%s: loader reloc in unrecognized section `%s'" +msgstr "%s: loader relokasi dalam daerah `%s' tidak dikenal" + +#: xcofflink.c:5305 +#, c-format +msgid "%s: `%s' in loader reloc but not loader sym" +msgstr "%s: `%s' dalam relokasi loader tetapi bukan loader sym" + +#: elf32-ia64.c:1037 elf64-ia64.c:1037 +msgid "%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect branch." +msgstr "%B: Tidak dapat relaks br di 0x%lx dalam daerah `%A'. Tolong gunakan brl atau indirect branch." + +#: elf32-ia64.c:2742 elf64-ia64.c:2742 +msgid "@pltoff reloc against local symbol" +msgstr "@pltoff relokasi terhadap simbol lokal" + +#: elf32-ia64.c:4317 elf64-ia64.c:4317 +#, c-format +msgid "%s: short data segment overflowed (0x%lx >= 0x400000)" +msgstr "%s: short data segment overflowed (0x%lx >= 0x400000)" + +#: elf32-ia64.c:4328 elf64-ia64.c:4328 +#, c-format +msgid "%s: __gp does not cover short data segment" +msgstr "%s: __gp tidak meliputi segmen data pendek" + +#: elf32-ia64.c:4598 elf64-ia64.c:4598 +msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'" +msgstr "%B: bukan-pic kode dengan relokasi imm terhadap simbol dinamis `%s'" + +#: elf32-ia64.c:4665 elf64-ia64.c:4665 +msgid "%B: @gprel relocation against dynamic symbol %s" +msgstr "%B: @gprel relokasi terhadap simbol dinamis %s" + +#: elf32-ia64.c:4728 elf64-ia64.c:4728 +msgid "%B: linking non-pic code in a position independent executable" +msgstr "%B: menghubungkan dengan kode bukan-pic dalam sebuah executable bebas posisi" + +#: elf32-ia64.c:4865 elf64-ia64.c:4865 +msgid "%B: @internal branch to dynamic symbol %s" +msgstr "%B: @internal branck ke simbol dinamis %s" + +#: elf32-ia64.c:4867 elf64-ia64.c:4867 +msgid "%B: speculation fixup to dynamic symbol %s" +msgstr "%B: spekulasi fixup ke simbol dinamis %s" + +#: elf32-ia64.c:4869 elf64-ia64.c:4869 +msgid "%B: @pcrel relocation against dynamic symbol %s" +msgstr "%B: @pcrel relokasi terhadap simbol dinamis %s" + +#: elf32-ia64.c:5066 elf64-ia64.c:5066 +msgid "unsupported reloc" +msgstr "relokasi tidak didukung" + +#: elf32-ia64.c:5104 elf64-ia64.c:5104 +msgid "%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%A'." +msgstr "%B: hilang daerah TLS untuk relokasi %s terhadap `%s' di 0x%lx dalam daerah `%A'." + +#: elf32-ia64.c:5119 elf64-ia64.c:5119 +msgid "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> 0x1000000)." +msgstr "%B: Tidak dapat relaks br (%s) ke `%s' di 0x%lx dalam daerah `%A' dengan ukuran 0x%lx (> 0x1000000)." + +#: elf32-ia64.c:5375 elf64-ia64.c:5375 +msgid "%B: linking trap-on-NULL-dereference with non-trapping files" +msgstr "%B: menghubungkan trap-on-NULL-dereference dengan berkas bukan-trapping" + +#: elf32-ia64.c:5384 elf64-ia64.c:5384 +msgid "%B: linking big-endian files with little-endian files" +msgstr "%B: menghubungkan berkas big-endian dengan berkas little-endian" + +#: elf32-ia64.c:5393 elf64-ia64.c:5393 +msgid "%B: linking 64-bit files with 32-bit files" +msgstr "%B: menghubungkan berkas 64-bit dengan berkas 32-bit" + +#: elf32-ia64.c:5402 elf64-ia64.c:5402 +msgid "%B: linking constant-gp files with non-constant-gp files" +msgstr "%B: menghubungkan berkas constant-gp dengan berkas bukan-constant-gp" + +#: elf32-ia64.c:5412 elf64-ia64.c:5412 +msgid "%B: linking auto-pic files with non-auto-pic files" +msgstr "%B: menghubungkan berkas auto-pic dengan berkas non-auto-pic" + +#: peigen.c:1000 pepigen.c:1000 pex64igen.c:1000 +#, c-format +msgid "%s: line number overflow: 0x%lx > 0xffff" +msgstr "%s: nomor baris overflow: 0x%lx > 0xffff" + +#: peigen.c:1027 pepigen.c:1027 pex64igen.c:1027 +msgid "Export Directory [.edata (or where ever we found it)]" +msgstr "Direktori expor [.edata (atau dimanapun kita menemukannya)]" + +#: peigen.c:1028 pepigen.c:1028 pex64igen.c:1028 +msgid "Import Directory [parts of .idata]" +msgstr "Impor Direktori [bagian dari .idata]" + +#: peigen.c:1029 pepigen.c:1029 pex64igen.c:1029 +msgid "Resource Directory [.rsrc]" +msgstr "Resource Direktori [.rsrc]" + +#: peigen.c:1030 pepigen.c:1030 pex64igen.c:1030 +msgid "Exception Directory [.pdata]" +msgstr "Exception Direktori [.pdata]" + +#: peigen.c:1031 pepigen.c:1031 pex64igen.c:1031 +msgid "Security Directory" +msgstr "Direktori Keamanan" + +#: peigen.c:1032 pepigen.c:1032 pex64igen.c:1032 +msgid "Base Relocation Directory [.reloc]" +msgstr "Dasar Relokasi Direktori [.reloc]" + +#: peigen.c:1033 pepigen.c:1033 pex64igen.c:1033 +msgid "Debug Directory" +msgstr "Debug Direktori" + +#: peigen.c:1034 pepigen.c:1034 pex64igen.c:1034 +msgid "Description Directory" +msgstr "Direktori Penjelasan" + +#: peigen.c:1035 pepigen.c:1035 pex64igen.c:1035 +msgid "Special Directory" +msgstr "Direktori Spesial" + +#: peigen.c:1036 pepigen.c:1036 pex64igen.c:1036 +msgid "Thread Storage Directory [.tls]" +msgstr "Thread Storage Direktori [.tls]" + +#: peigen.c:1037 pepigen.c:1037 pex64igen.c:1037 +msgid "Load Configuration Directory" +msgstr "Direktori Konfigurasi Beban" + +#: peigen.c:1038 pepigen.c:1038 pex64igen.c:1038 +msgid "Bound Import Directory" +msgstr "Direktori Bound Impor" + +#: peigen.c:1039 pepigen.c:1039 pex64igen.c:1039 +msgid "Import Address Table Directory" +msgstr "Direktori Impor Tabel Alamat" + +#: peigen.c:1040 pepigen.c:1040 pex64igen.c:1040 +msgid "Delay Import Directory" +msgstr "Delay Impor Direktori" + +#: peigen.c:1041 pepigen.c:1041 pex64igen.c:1041 +msgid "CLR Runtime Header" +msgstr "CLR Runtime Header" + +#: peigen.c:1042 pepigen.c:1042 pex64igen.c:1042 +msgid "Reserved" +msgstr "Reserved" + +#: peigen.c:1102 pepigen.c:1102 pex64igen.c:1102 +#, c-format +msgid "" +"\n" +"There is an import table, but the section containing it could not be found\n" +msgstr "" +"\n" +"Ada tabel impor, tetapi daerah yang berisi itu tidak dapat ditemukan\n" + +#: peigen.c:1107 pepigen.c:1107 pex64igen.c:1107 +#, c-format +msgid "" +"\n" +"There is an import table in %s at 0x%lx\n" +msgstr "" +"\n" +"Ada impor tabel di %s pada 0x%lx\n" + +#: peigen.c:1150 pepigen.c:1150 pex64igen.c:1150 +#, c-format +msgid "" +"\n" +"Function descriptor located at the start address: %04lx\n" +msgstr "" +"\n" +"Deskripsi fungsi ditempatkan di awal alamat: %04lx\n" + +#: peigen.c:1153 pepigen.c:1153 pex64igen.c:1153 +#, c-format +msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n" +msgstr "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n" + +#: peigen.c:1161 pepigen.c:1161 pex64igen.c:1161 +#, c-format +msgid "" +"\n" +"No reldata section! Function descriptor not decoded.\n" +msgstr "" +"\n" +"Tidak ada daerah reldata! Deskripsi fungsi tidak terdekode.\n" + +#: peigen.c:1166 pepigen.c:1166 pex64igen.c:1166 +#, c-format +msgid "" +"\n" +"The Import Tables (interpreted %s section contents)\n" +msgstr "" +"\n" +"Tabel Impor (diinterpretasikan isi daerah %s)\n" + +#: peigen.c:1169 pepigen.c:1169 pex64igen.c:1169 +#, c-format +msgid "" +" vma: Hint Time Forward DLL First\n" +" Table Stamp Chain Name Thunk\n" +msgstr "" +"vma: Tips Waktu Forward DLL Pertama\n" +" Tabel Stamp Rantai Nama Thunk\n" + +#: peigen.c:1217 pepigen.c:1217 pex64igen.c:1217 +#, c-format +msgid "" +"\n" +"\tDLL Name: %s\n" +msgstr "" +"\n" +"\tNama DLL: %s\n" + +#: peigen.c:1228 pepigen.c:1228 pex64igen.c:1228 +#, c-format +msgid "\tvma: Hint/Ord Member-Name Bound-To\n" +msgstr "\tvma: Tips/Ord Nama-Anggota Terikat-Ke\n" + +#: peigen.c:1253 pepigen.c:1253 pex64igen.c:1253 +#, c-format +msgid "" +"\n" +"There is a first thunk, but the section containing it could not be found\n" +msgstr "" +"\n" +"Ada thunk pertama, tetapi daerah yang berisi itu tidak dapat ditemukan\n" + +#: peigen.c:1418 pepigen.c:1418 pex64igen.c:1418 +#, c-format +msgid "" +"\n" +"There is an export table, but the section containing it could not be found\n" +msgstr "" +"\n" +"Ada tabel expor, tetapi daerah yang berisi itu tidak dapat ditemukan\n" + +#: peigen.c:1427 pepigen.c:1427 pex64igen.c:1427 +#, c-format +msgid "" +"\n" +"There is an export table in %s, but it does not fit into that section\n" +msgstr "" +"\n" +"Ada tabel expor dalam %s, tetapi ini tidak masuk dalam daerah itu\n" + +#: peigen.c:1433 pepigen.c:1433 pex64igen.c:1433 +#, c-format +msgid "" +"\n" +"There is an export table in %s at 0x%lx\n" +msgstr "" +"\n" +"Ada sebuah tabel expor dalam %s di 0x%lx\n" + +#: peigen.c:1461 pepigen.c:1461 pex64igen.c:1461 +#, c-format +msgid "" +"\n" +"The Export Tables (interpreted %s section contents)\n" +"\n" +msgstr "" +"\n" +"Tabel expor (diinterpretasikan isi daerah %s)\n" + +#: peigen.c:1465 pepigen.c:1465 pex64igen.c:1465 +#, c-format +msgid "Export Flags \t\t\t%lx\n" +msgstr "Tanda Expor \t\t\t%lx\n" + +#: peigen.c:1468 pepigen.c:1468 pex64igen.c:1468 +#, c-format +msgid "Time/Date stamp \t\t%lx\n" +msgstr "Waktu/Tanggal stamp \t\t%lx\n" + +#: peigen.c:1471 pepigen.c:1471 pex64igen.c:1471 +#, c-format +msgid "Major/Minor \t\t\t%d/%d\n" +msgstr "Mayor/Minor \t\t\t%d/%d\n" + +#: peigen.c:1474 pepigen.c:1474 pex64igen.c:1474 +#, c-format +msgid "Name \t\t\t\t" +msgstr "Nama \t\t\t\t" + +#: peigen.c:1480 pepigen.c:1480 pex64igen.c:1480 +#, c-format +msgid "Ordinal Base \t\t\t%ld\n" +msgstr "Dasar Ordinal \t\t\t%ld\n" + +#: peigen.c:1483 pepigen.c:1483 pex64igen.c:1483 +#, c-format +msgid "Number in:\n" +msgstr "Nomor dalam:\n" + +#: peigen.c:1486 pepigen.c:1486 pex64igen.c:1486 +#, c-format +msgid "\tExport Address Table \t\t%08lx\n" +msgstr "\tTabel Alamat Expor \t\t%08lx\n" + +#: peigen.c:1490 pepigen.c:1490 pex64igen.c:1490 +#, c-format +msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n" +msgstr "\t[Nama Pointer/Ordinal] Tabel\t%08lx\n" + +#: peigen.c:1493 pepigen.c:1493 pex64igen.c:1493 +#, c-format +msgid "Table Addresses\n" +msgstr "Tabel Alamat\n" + +#: peigen.c:1496 pepigen.c:1496 pex64igen.c:1496 +#, c-format +msgid "\tExport Address Table \t\t" +msgstr "\tTabel Alamat Expor \t\t" + +#: peigen.c:1501 pepigen.c:1501 pex64igen.c:1501 +#, c-format +msgid "\tName Pointer Table \t\t" +msgstr "\tTabel Nama Pointer \t\t" + +#: peigen.c:1506 pepigen.c:1506 pex64igen.c:1506 +#, c-format +msgid "\tOrdinal Table \t\t\t" +msgstr "\tTabel Ordinal \t\t\t" + +#: peigen.c:1520 pepigen.c:1520 pex64igen.c:1520 +#, c-format +msgid "" +"\n" +"Export Address Table -- Ordinal Base %ld\n" +msgstr "" +"\n" +"Tabel Alamat Expor -- Ordinal Base %ld\n" + +#: peigen.c:1539 pepigen.c:1539 pex64igen.c:1539 +msgid "Forwarder RVA" +msgstr "Forwarder RVA" + +#: peigen.c:1550 pepigen.c:1550 pex64igen.c:1550 +msgid "Export RVA" +msgstr "Expor RVA" + +#: peigen.c:1557 pepigen.c:1557 pex64igen.c:1557 +#, c-format +msgid "" +"\n" +"[Ordinal/Name Pointer] Table\n" +msgstr "" +"\n" +"[Ordinal/Nama Pointer] Tabel\n" + +#: peigen.c:1617 peigen.c:1796 pepigen.c:1617 pepigen.c:1796 pex64igen.c:1617 +#: pex64igen.c:1796 +#, c-format +msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n" +msgstr "Peringatan, besar (%ld) daerah .pdata tidak dalam kelipatan dari %d\n" + +#: peigen.c:1621 peigen.c:1800 pepigen.c:1621 pepigen.c:1800 pex64igen.c:1621 +#: pex64igen.c:1800 +#, c-format +msgid "" +"\n" +"The Function Table (interpreted .pdata section contents)\n" +msgstr "" +"\n" +"Tabel Fungsi (diinterpretasikan isi daerah .pdata)\n" + +#: peigen.c:1624 pepigen.c:1624 pex64igen.c:1624 +#, c-format +msgid " vma:\t\t\tBegin Address End Address Unwind Info\n" +msgstr " vma:\t\t\tAwal Alamat Akhir Alamat Unwind Informasi\n" + +#: peigen.c:1626 pepigen.c:1626 pex64igen.c:1626 +#, c-format +msgid "" +" vma:\t\tBegin End EH EH PrologEnd Exception\n" +" \t\tAddress Address Handler Data Address Mask\n" +msgstr "" +" vma:\t\tAwal Akhir EH EH PrologEnd Exception\n" +" \t\tAlamat Alamat Handler Data Alamat Topeng\n" + +#: peigen.c:1696 pepigen.c:1696 pex64igen.c:1696 +#, c-format +msgid " Register save millicode" +msgstr " Register simpan millicode" + +#: peigen.c:1699 pepigen.c:1699 pex64igen.c:1699 +#, c-format +msgid " Register restore millicode" +msgstr " Register restore millicode" + +#: peigen.c:1702 pepigen.c:1702 pex64igen.c:1702 +#, c-format +msgid " Glue code sequence" +msgstr " Urutan kode pengikat" + +#: peigen.c:1802 pepigen.c:1802 pex64igen.c:1802 +#, c-format +msgid "" +" vma:\t\tBegin Prolog Function Flags Exception EH\n" +" \t\tAddress Length Length 32b exc Handler Data\n" +msgstr "" +" vma:\t\tMulai Prolog Fungsi Flags Exception EH\n" +" \t\tAlamat Panjang Panjang 32b exc Handler Data\n" + +#: peigen.c:1933 pepigen.c:1933 pex64igen.c:1933 +#, c-format +msgid "" +"\n" +"\n" +"PE File Base Relocations (interpreted .reloc section contents)\n" +msgstr "" +"\n" +"\n" +"Berkas Dasar Relokasi PE (diinterpretasikan isi daerah .reloc)\n" + +#: peigen.c:1963 pepigen.c:1963 pex64igen.c:1963 +#, c-format +msgid "" +"\n" +"Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n" +msgstr "" +"\n" +"Alamat Maya: %08lx Besar potongan %ld (0x%lx) Jumlah dari perbaikan %ld\n" + +#: peigen.c:1976 pepigen.c:1976 pex64igen.c:1976 +#, c-format +msgid "\treloc %4d offset %4x [%4lx] %s" +msgstr "\trelokasi %4d ofset %4x [%4lx] %s" + +#. The MS dumpbin program reportedly ands with 0xff0f before +#. printing the characteristics field. Not sure why. No reason to +#. emulate it here. +#: peigen.c:2015 pepigen.c:2015 pex64igen.c:2015 +#, c-format +msgid "" +"\n" +"Characteristics 0x%x\n" +msgstr "" +"\n" +"Karakteristik 0x%x\n" + +#: peigen.c:2289 pepigen.c:2289 pex64igen.c:2289 +msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing" +msgstr "%B: tidak dapat mengisi dalam DataDictionary[1] karena .idata$2 hilang" + +#: peigen.c:2307 pepigen.c:2307 pex64igen.c:2307 +msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing" +msgstr "%B: tidak dapat mengisi dalam DataDictionary[1] karena .data$4 hilang" + +#: peigen.c:2326 pepigen.c:2326 pex64igen.c:2326 +msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing" +msgstr "%B: tidak dapat mengisi dalam DataDictionary[12] karena .idata$5 hilang" + +#: peigen.c:2344 pepigen.c:2344 pex64igen.c:2344 +msgid "%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because .idata$6 is missing" +msgstr "%B: tidak dapat mengisi dalam DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] karena .idata$6 hilang" + +#: peigen.c:2364 pepigen.c:2364 pex64igen.c:2364 +msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing" +msgstr "%B: tidak dapat mengisi dalam DataDictionary[9] karena __tls_used hilang" diff --git a/bfd/reloc.c b/bfd/reloc.c index 9d993af..99d0094 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -4719,6 +4719,31 @@ ENUMDOC 32-bit offset to symbol with PLT entry, relative to this relocation. ENUM + BFD_RELOC_CRIS_32_GOT_GD +ENUMX + BFD_RELOC_CRIS_16_GOT_GD +ENUMX + BFD_RELOC_CRIS_32_GD +ENUMX + BFD_RELOC_CRIS_DTP +ENUMX + BFD_RELOC_CRIS_32_DTPREL +ENUMX + BFD_RELOC_CRIS_16_DTPREL +ENUMX + BFD_RELOC_CRIS_32_GOT_TPREL +ENUMX + BFD_RELOC_CRIS_16_GOT_TPREL +ENUMX + BFD_RELOC_CRIS_32_TPREL +ENUMX + BFD_RELOC_CRIS_16_TPREL +ENUMX + BFD_RELOC_CRIS_DTPMOD +ENUMDOC + Relocs used in TLS code for CRIS. + +ENUM BFD_RELOC_860_COPY ENUMX BFD_RELOC_860_GLOB_DAT diff --git a/bfd/version.h b/bfd/version.h index 81d1c4d..473027d 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20080930 +#define BFD_VERSION_DATE 20081120 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/bfd/vms-hdr.c b/bfd/vms-hdr.c index 8e34bee..11e1af6 100644 --- a/bfd/vms-hdr.c +++ b/bfd/vms-hdr.c @@ -212,8 +212,7 @@ _bfd_vms_write_hdr (bfd *abfd, int objtype) char *fname, *fout, *fptr; fptr = bfd_get_filename (abfd); - fname = alloca (strlen (fptr) + 1); - strcpy (fname, fptr); + fname = strdup (fptr); fout = strrchr (fname, ']'); if (fout == 0) fout = strchr (fname, ':'); @@ -238,6 +237,7 @@ _bfd_vms_write_hdr (bfd *abfd, int objtype) *fptr = 0; } _bfd_vms_output_counted (abfd, fout); + free (fname); } else _bfd_vms_output_counted (abfd, "NONAME"); diff --git a/bfd/xtensa-modules.c b/bfd/xtensa-modules.c index 805667b..b68e482 100644 --- a/bfd/xtensa-modules.c +++ b/bfd/xtensa-modules.c @@ -1,5 +1,5 @@ /* Xtensa configuration-specific ISA information. - Copyright 2003, 2004, 2005, 2007 Free Software Foundation, Inc. + Copyright 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -30,6 +30,7 @@ static xtensa_sysreg_internal sysregs[] = { { "LEND", 1, 0 }, { "LCOUNT", 2, 0 }, { "PTEVADDR", 83, 0 }, + { "MMID", 89, 0 }, { "DDR", 104, 0 }, { "176", 176, 0 }, { "208", 208, 0 }, @@ -41,17 +42,27 @@ static xtensa_sysreg_internal sysregs[] = { { "CCOMPARE0", 240, 0 }, { "CCOMPARE1", 241, 0 }, { "CCOMPARE2", 242, 0 }, + { "VECBASE", 231, 0 }, { "EPC1", 177, 0 }, { "EPC2", 178, 0 }, { "EPC3", 179, 0 }, { "EPC4", 180, 0 }, + { "EPC5", 181, 0 }, + { "EPC6", 182, 0 }, + { "EPC7", 183, 0 }, { "EXCSAVE1", 209, 0 }, { "EXCSAVE2", 210, 0 }, { "EXCSAVE3", 211, 0 }, { "EXCSAVE4", 212, 0 }, + { "EXCSAVE5", 213, 0 }, + { "EXCSAVE6", 214, 0 }, + { "EXCSAVE7", 215, 0 }, { "EPS2", 194, 0 }, { "EPS3", 195, 0 }, { "EPS4", 196, 0 }, + { "EPS5", 197, 0 }, + { "EPS6", 198, 0 }, + { "EPS7", 199, 0 }, { "EXCCAUSE", 232, 0 }, { "DEPC", 192, 0 }, { "EXCVADDR", 238, 0 }, @@ -74,12 +85,15 @@ static xtensa_sysreg_internal sysregs[] = { { "DEBUGCAUSE", 233, 0 }, { "RASID", 90, 0 }, { "ITLBCFG", 91, 0 }, - { "DTLBCFG", 92, 0 } + { "DTLBCFG", 92, 0 }, + { "CPENABLE", 224, 0 }, + { "SCOMPARE1", 12, 0 }, + { "THREADPTR", 231, 1 } }; -#define NUM_SYSREGS 49 +#define NUM_SYSREGS 63 #define MAX_SPECIAL_REG 245 -#define MAX_USER_REG 0 +#define MAX_USER_REG 231 /* Processor states. */ @@ -89,20 +103,30 @@ static xtensa_state_internal states[] = { { "PC", 32, 0 }, { "ICOUNT", 32, 0 }, { "DDR", 32, 0 }, - { "INTERRUPT", 17, 0 }, + { "INTERRUPT", 22, 0 }, { "CCOUNT", 32, 0 }, { "XTSYNC", 1, 0 }, + { "VECBASE", 22, 0 }, { "EPC1", 32, 0 }, { "EPC2", 32, 0 }, { "EPC3", 32, 0 }, { "EPC4", 32, 0 }, + { "EPC5", 32, 0 }, + { "EPC6", 32, 0 }, + { "EPC7", 32, 0 }, { "EXCSAVE1", 32, 0 }, { "EXCSAVE2", 32, 0 }, { "EXCSAVE3", 32, 0 }, { "EXCSAVE4", 32, 0 }, + { "EXCSAVE5", 32, 0 }, + { "EXCSAVE6", 32, 0 }, + { "EXCSAVE7", 32, 0 }, { "EPS2", 15, 0 }, { "EPS3", 15, 0 }, { "EPS4", 15, 0 }, + { "EPS5", 15, 0 }, + { "EPS6", 15, 0 }, + { "EPS7", 15, 0 }, { "EXCCAUSE", 6, 0 }, { "PSINTLEVEL", 4, 0 }, { "PSUM", 1, 0 }, @@ -111,19 +135,20 @@ static xtensa_state_internal states[] = { { "PSEXCM", 1, 0 }, { "DEPC", 32, 0 }, { "EXCVADDR", 32, 0 }, - { "WindowBase", 4, 0 }, - { "WindowStart", 16, 0 }, + { "WindowBase", 3, 0 }, + { "WindowStart", 8, 0 }, { "PSCALLINC", 2, 0 }, { "PSOWB", 4, 0 }, { "LBEG", 32, 0 }, { "LEND", 32, 0 }, { "SAR", 6, 0 }, + { "THREADPTR", 32, 0 }, { "LITBADDR", 20, 0 }, { "LITBEN", 1, 0 }, { "MISC0", 32, 0 }, { "MISC1", 32, 0 }, { "InOCDMode", 1, 0 }, - { "INTENABLE", 17, 0 }, + { "INTENABLE", 22, 0 }, { "DBREAKA0", 32, 0 }, { "DBREAKC0", 8, 0 }, { "DBREAKA1", 32, 0 }, @@ -142,72 +167,86 @@ static xtensa_state_internal states[] = { { "ASID1", 8, 0 }, { "INSTPGSZID4", 2, 0 }, { "DATAPGSZID4", 2, 0 }, - { "PTBASE", 10, 0 } -}; - -#define NUM_STATES 58 - -/* Macros for xtensa_state numbers (for use in iclasses because the - state numbers are not available when the iclass table is generated). */ - -#define STATE_LCOUNT 0 -#define STATE_PC 1 -#define STATE_ICOUNT 2 -#define STATE_DDR 3 -#define STATE_INTERRUPT 4 -#define STATE_CCOUNT 5 -#define STATE_XTSYNC 6 -#define STATE_EPC1 7 -#define STATE_EPC2 8 -#define STATE_EPC3 9 -#define STATE_EPC4 10 -#define STATE_EXCSAVE1 11 -#define STATE_EXCSAVE2 12 -#define STATE_EXCSAVE3 13 -#define STATE_EXCSAVE4 14 -#define STATE_EPS2 15 -#define STATE_EPS3 16 -#define STATE_EPS4 17 -#define STATE_EXCCAUSE 18 -#define STATE_PSINTLEVEL 19 -#define STATE_PSUM 20 -#define STATE_PSWOE 21 -#define STATE_PSRING 22 -#define STATE_PSEXCM 23 -#define STATE_DEPC 24 -#define STATE_EXCVADDR 25 -#define STATE_WindowBase 26 -#define STATE_WindowStart 27 -#define STATE_PSCALLINC 28 -#define STATE_PSOWB 29 -#define STATE_LBEG 30 -#define STATE_LEND 31 -#define STATE_SAR 32 -#define STATE_LITBADDR 33 -#define STATE_LITBEN 34 -#define STATE_MISC0 35 -#define STATE_MISC1 36 -#define STATE_InOCDMode 37 -#define STATE_INTENABLE 38 -#define STATE_DBREAKA0 39 -#define STATE_DBREAKC0 40 -#define STATE_DBREAKA1 41 -#define STATE_DBREAKC1 42 -#define STATE_IBREAKA0 43 -#define STATE_IBREAKA1 44 -#define STATE_IBREAKENABLE 45 -#define STATE_ICOUNTLEVEL 46 -#define STATE_DEBUGCAUSE 47 -#define STATE_DBNUM 48 -#define STATE_CCOMPARE0 49 -#define STATE_CCOMPARE1 50 -#define STATE_CCOMPARE2 51 -#define STATE_ASID3 52 -#define STATE_ASID2 53 -#define STATE_ASID1 54 -#define STATE_INSTPGSZID4 55 -#define STATE_DATAPGSZID4 56 -#define STATE_PTBASE 57 + { "PTBASE", 10, 0 }, + { "CPENABLE", 8, 0 }, + { "SCOMPARE1", 32, 0 } +}; + +#define NUM_STATES 71 + +enum xtensa_state_id { + STATE_LCOUNT, + STATE_PC, + STATE_ICOUNT, + STATE_DDR, + STATE_INTERRUPT, + STATE_CCOUNT, + STATE_XTSYNC, + STATE_VECBASE, + STATE_EPC1, + STATE_EPC2, + STATE_EPC3, + STATE_EPC4, + STATE_EPC5, + STATE_EPC6, + STATE_EPC7, + STATE_EXCSAVE1, + STATE_EXCSAVE2, + STATE_EXCSAVE3, + STATE_EXCSAVE4, + STATE_EXCSAVE5, + STATE_EXCSAVE6, + STATE_EXCSAVE7, + STATE_EPS2, + STATE_EPS3, + STATE_EPS4, + STATE_EPS5, + STATE_EPS6, + STATE_EPS7, + STATE_EXCCAUSE, + STATE_PSINTLEVEL, + STATE_PSUM, + STATE_PSWOE, + STATE_PSRING, + STATE_PSEXCM, + STATE_DEPC, + STATE_EXCVADDR, + STATE_WindowBase, + STATE_WindowStart, + STATE_PSCALLINC, + STATE_PSOWB, + STATE_LBEG, + STATE_LEND, + STATE_SAR, + STATE_THREADPTR, + STATE_LITBADDR, + STATE_LITBEN, + STATE_MISC0, + STATE_MISC1, + STATE_InOCDMode, + STATE_INTENABLE, + STATE_DBREAKA0, + STATE_DBREAKC0, + STATE_DBREAKA1, + STATE_DBREAKC1, + STATE_IBREAKA0, + STATE_IBREAKA1, + STATE_IBREAKENABLE, + STATE_ICOUNTLEVEL, + STATE_DEBUGCAUSE, + STATE_DBNUM, + STATE_CCOMPARE0, + STATE_CCOMPARE1, + STATE_CCOMPARE2, + STATE_ASID3, + STATE_ASID2, + STATE_ASID1, + STATE_INSTPGSZID4, + STATE_DATAPGSZID4, + STATE_PTBASE, + STATE_CPENABLE, + STATE_SCOMPARE1 +}; /* Field definitions. */ @@ -360,6 +399,25 @@ Field_sr_Slot_inst_set (xtensa_insnbuf insn, uint32 val) } static unsigned +Field_st_Slot_inst_get (const xtensa_insnbuf insn) +{ + unsigned tie_t = 0; + tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28); + tie_t = (tie_t << 4) | ((insn[0] << 12) >> 28); + return tie_t; +} + +static void +Field_st_Slot_inst_set (xtensa_insnbuf insn, uint32 val) +{ + uint32 tie_t; + tie_t = (val << 28) >> 28; + insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16); + tie_t = (val << 24) >> 28; + insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); +} + +static unsigned Field_thi3_Slot_inst_get (const xtensa_insnbuf insn) { unsigned tie_t = 0; @@ -816,25 +874,6 @@ Field_sr_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) } static unsigned -Field_st_Slot_inst_get (const xtensa_insnbuf insn) -{ - unsigned tie_t = 0; - tie_t = (tie_t << 4) | ((insn[0] << 16) >> 28); - tie_t = (tie_t << 4) | ((insn[0] << 12) >> 28); - return tie_t; -} - -static void -Field_st_Slot_inst_set (xtensa_insnbuf insn, uint32 val) -{ - uint32 tie_t; - tie_t = (val << 28) >> 28; - insn[0] = (insn[0] & ~0xf0000) | (tie_t << 16); - tie_t = (val << 24) >> 28; - insn[0] = (insn[0] & ~0xf000) | (tie_t << 12); -} - -static unsigned Field_st_Slot_inst16a_get (const xtensa_insnbuf insn) { unsigned tie_t = 0; @@ -1175,6 +1214,38 @@ Field_imm7_Slot_inst16b_set (xtensa_insnbuf insn, uint32 val) insn[0] = (insn[0] & ~0x700) | (tie_t << 8); } +static unsigned +Field_xt_wbr15_imm_Slot_inst_get (const xtensa_insnbuf insn) +{ + unsigned tie_t = 0; + tie_t = (tie_t << 15) | ((insn[0] << 8) >> 17); + return tie_t; +} + +static void +Field_xt_wbr15_imm_Slot_inst_set (xtensa_insnbuf insn, uint32 val) +{ + uint32 tie_t; + tie_t = (val << 17) >> 17; + insn[0] = (insn[0] & ~0xfffe00) | (tie_t << 9); +} + +static unsigned +Field_xt_wbr18_imm_Slot_inst_get (const xtensa_insnbuf insn) +{ + unsigned tie_t = 0; + tie_t = (tie_t << 18) | ((insn[0] << 8) >> 14); + return tie_t; +} + +static void +Field_xt_wbr18_imm_Slot_inst_set (xtensa_insnbuf insn, uint32 val) +{ + uint32 tie_t; + tie_t = (val << 14) >> 14; + insn[0] = (insn[0] & ~0xffffc0) | (tie_t << 6); +} + static void Implicit_Field_set (xtensa_insnbuf insn ATTRIBUTE_UNUSED, uint32 val ATTRIBUTE_UNUSED) @@ -1206,6 +1277,50 @@ Implicit_Field_ar12_get (const xtensa_insnbuf insn ATTRIBUTE_UNUSED) return 12; } +enum xtensa_field_id { + FIELD_t, + FIELD_bbi4, + FIELD_bbi, + FIELD_imm12, + FIELD_imm8, + FIELD_s, + FIELD_imm12b, + FIELD_imm16, + FIELD_m, + FIELD_n, + FIELD_offset, + FIELD_op0, + FIELD_op1, + FIELD_op2, + FIELD_r, + FIELD_sa4, + FIELD_sae4, + FIELD_sae, + FIELD_sal, + FIELD_sargt, + FIELD_sas4, + FIELD_sas, + FIELD_sr, + FIELD_st, + FIELD_thi3, + FIELD_imm4, + FIELD_mn, + FIELD_i, + FIELD_imm6lo, + FIELD_imm6hi, + FIELD_imm7lo, + FIELD_imm7hi, + FIELD_z, + FIELD_imm6, + FIELD_imm7, + FIELD_xt_wbr15_imm, + FIELD_xt_wbr18_imm, + FIELD__ar0, + FIELD__ar4, + FIELD__ar8, + FIELD__ar12 +}; + /* Functional units. */ @@ -1216,8 +1331,12 @@ static xtensa_funcUnit_internal funcUnits[] = { /* Register files. */ +enum xtensa_regfile_id { + REGFILE_AR +}; + static xtensa_regfile_internal regfiles[] = { - { "AR", "a", 0, 32, 64 } + { "AR", "a", REGFILE_AR, 32, 32 } }; @@ -1422,7 +1541,7 @@ static int Operand_ar0_encode (uint32 *valp) { int error; - error = (*valp & ~0x3f) != 0; + error = (*valp & ~0x1f) != 0; return error; } @@ -1436,7 +1555,7 @@ static int Operand_ar4_encode (uint32 *valp) { int error; - error = (*valp & ~0x3f) != 0; + error = (*valp & ~0x1f) != 0; return error; } @@ -1450,7 +1569,7 @@ static int Operand_ar8_encode (uint32 *valp) { int error; - error = (*valp & ~0x3f) != 0; + error = (*valp & ~0x1f) != 0; return error; } @@ -1464,7 +1583,7 @@ static int Operand_ar12_encode (uint32 *valp) { int error; - error = (*valp & ~0x3f) != 0; + error = (*valp & ~0x1f) != 0; return error; } @@ -1478,7 +1597,7 @@ static int Operand_ars_entry_encode (uint32 *valp) { int error; - error = (*valp & ~0x3f) != 0; + error = (*valp & ~0x1f) != 0; return error; } @@ -1487,7 +1606,7 @@ Operand_immrx4_decode (uint32 *valp) { unsigned immrx4_0, r_0; r_0 = *valp & 0xf; - immrx4_0 = ((((0xfffffff)) << 4) | r_0) << 2; + immrx4_0 = (((0xfffffff) << 4) | r_0) << 2; *valp = immrx4_0; return 0; } @@ -1547,7 +1666,7 @@ Operand_uimm6_decode (uint32 *valp) { unsigned uimm6_0, imm6_0; imm6_0 = *valp & 0x3f; - uimm6_0 = 0x4 + ((((0)) << 6) | imm6_0); + uimm6_0 = 0x4 + (((0) << 6) | imm6_0); *valp = uimm6_0; return 0; } @@ -1909,7 +2028,7 @@ Operand_ulabel8_decode (uint32 *valp) { unsigned ulabel8_0, imm8_0; imm8_0 = *valp & 0xff; - ulabel8_0 = 0x4 + ((((0)) << 8) | imm8_0); + ulabel8_0 = 0x4 + (((0) << 8) | imm8_0); *valp = ulabel8_0; return 0; } @@ -2011,7 +2130,7 @@ Operand_uimm16x4_decode (uint32 *valp) { unsigned uimm16x4_0, imm16_0; imm16_0 = *valp & 0xffff; - uimm16x4_0 = ((((0xffff)) << 16) | imm16_0) << 2; + uimm16x4_0 = (((0xffff) << 16) | imm16_0) << 2; *valp = uimm16x4_0; return 0; } @@ -2080,182 +2199,362 @@ Operand_imms_encode (uint32 *valp) return 0; } +static int +Operand_tp7_decode (uint32 *valp) +{ + unsigned tp7_0, t_0; + t_0 = *valp & 0xf; + tp7_0 = t_0 + 0x7; + *valp = tp7_0; + return 0; +} + +static int +Operand_tp7_encode (uint32 *valp) +{ + unsigned t_0, tp7_0; + tp7_0 = *valp; + t_0 = (tp7_0 - 0x7) & 0xf; + *valp = t_0; + return 0; +} + +static int +Operand_xt_wbr15_label_decode (uint32 *valp) +{ + unsigned xt_wbr15_label_0, xt_wbr15_imm_0; + xt_wbr15_imm_0 = *valp & 0x7fff; + xt_wbr15_label_0 = 0x4 + (((int) xt_wbr15_imm_0 << 17) >> 17); + *valp = xt_wbr15_label_0; + return 0; +} + +static int +Operand_xt_wbr15_label_encode (uint32 *valp) +{ + unsigned xt_wbr15_imm_0, xt_wbr15_label_0; + xt_wbr15_label_0 = *valp; + xt_wbr15_imm_0 = (xt_wbr15_label_0 - 0x4) & 0x7fff; + *valp = xt_wbr15_imm_0; + return 0; +} + +static int +Operand_xt_wbr15_label_ator (uint32 *valp, uint32 pc) +{ + *valp -= pc; + return 0; +} + +static int +Operand_xt_wbr15_label_rtoa (uint32 *valp, uint32 pc) +{ + *valp += pc; + return 0; +} + +static int +Operand_xt_wbr18_label_decode (uint32 *valp) +{ + unsigned xt_wbr18_label_0, xt_wbr18_imm_0; + xt_wbr18_imm_0 = *valp & 0x3ffff; + xt_wbr18_label_0 = 0x4 + (((int) xt_wbr18_imm_0 << 14) >> 14); + *valp = xt_wbr18_label_0; + return 0; +} + +static int +Operand_xt_wbr18_label_encode (uint32 *valp) +{ + unsigned xt_wbr18_imm_0, xt_wbr18_label_0; + xt_wbr18_label_0 = *valp; + xt_wbr18_imm_0 = (xt_wbr18_label_0 - 0x4) & 0x3ffff; + *valp = xt_wbr18_imm_0; + return 0; +} + +static int +Operand_xt_wbr18_label_ator (uint32 *valp, uint32 pc) +{ + *valp -= pc; + return 0; +} + +static int +Operand_xt_wbr18_label_rtoa (uint32 *valp, uint32 pc) +{ + *valp += pc; + return 0; +} + static xtensa_operand_internal operands[] = { - { "soffsetx4", 10, -1, 0, + { "soffsetx4", FIELD_offset, -1, 0, XTENSA_OPERAND_IS_PCRELATIVE, Operand_soffsetx4_encode, Operand_soffsetx4_decode, Operand_soffsetx4_ator, Operand_soffsetx4_rtoa }, - { "uimm12x8", 3, -1, 0, + { "uimm12x8", FIELD_imm12, -1, 0, 0, Operand_uimm12x8_encode, Operand_uimm12x8_decode, 0, 0 }, - { "simm4", 26, -1, 0, + { "simm4", FIELD_mn, -1, 0, 0, Operand_simm4_encode, Operand_simm4_decode, 0, 0 }, - { "arr", 14, 0, 1, + { "arr", FIELD_r, REGFILE_AR, 1, XTENSA_OPERAND_IS_REGISTER, Operand_arr_encode, Operand_arr_decode, 0, 0 }, - { "ars", 5, 0, 1, + { "ars", FIELD_s, REGFILE_AR, 1, XTENSA_OPERAND_IS_REGISTER, Operand_ars_encode, Operand_ars_decode, 0, 0 }, - { "*ars_invisible", 5, 0, 1, + { "*ars_invisible", FIELD_s, REGFILE_AR, 1, XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE, Operand_ars_encode, Operand_ars_decode, 0, 0 }, - { "art", 0, 0, 1, + { "art", FIELD_t, REGFILE_AR, 1, XTENSA_OPERAND_IS_REGISTER, Operand_art_encode, Operand_art_decode, 0, 0 }, - { "ar0", 35, 0, 1, + { "ar0", FIELD__ar0, REGFILE_AR, 1, XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE, Operand_ar0_encode, Operand_ar0_decode, 0, 0 }, - { "ar4", 36, 0, 1, + { "ar4", FIELD__ar4, REGFILE_AR, 1, XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE, Operand_ar4_encode, Operand_ar4_decode, 0, 0 }, - { "ar8", 37, 0, 1, + { "ar8", FIELD__ar8, REGFILE_AR, 1, XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE, Operand_ar8_encode, Operand_ar8_decode, 0, 0 }, - { "ar12", 38, 0, 1, + { "ar12", FIELD__ar12, REGFILE_AR, 1, XTENSA_OPERAND_IS_REGISTER | XTENSA_OPERAND_IS_INVISIBLE, Operand_ar12_encode, Operand_ar12_decode, 0, 0 }, - { "ars_entry", 5, 0, 1, + { "ars_entry", FIELD_s, REGFILE_AR, 1, XTENSA_OPERAND_IS_REGISTER, Operand_ars_entry_encode, Operand_ars_entry_decode, 0, 0 }, - { "immrx4", 14, -1, 0, + { "immrx4", FIELD_r, -1, 0, 0, Operand_immrx4_encode, Operand_immrx4_decode, 0, 0 }, - { "lsi4x4", 14, -1, 0, + { "lsi4x4", FIELD_r, -1, 0, 0, Operand_lsi4x4_encode, Operand_lsi4x4_decode, 0, 0 }, - { "simm7", 34, -1, 0, + { "simm7", FIELD_imm7, -1, 0, 0, Operand_simm7_encode, Operand_simm7_decode, 0, 0 }, - { "uimm6", 33, -1, 0, + { "uimm6", FIELD_imm6, -1, 0, XTENSA_OPERAND_IS_PCRELATIVE, Operand_uimm6_encode, Operand_uimm6_decode, Operand_uimm6_ator, Operand_uimm6_rtoa }, - { "ai4const", 0, -1, 0, + { "ai4const", FIELD_t, -1, 0, 0, Operand_ai4const_encode, Operand_ai4const_decode, 0, 0 }, - { "b4const", 14, -1, 0, + { "b4const", FIELD_r, -1, 0, 0, Operand_b4const_encode, Operand_b4const_decode, 0, 0 }, - { "b4constu", 14, -1, 0, + { "b4constu", FIELD_r, -1, 0, 0, Operand_b4constu_encode, Operand_b4constu_decode, 0, 0 }, - { "uimm8", 4, -1, 0, + { "uimm8", FIELD_imm8, -1, 0, 0, Operand_uimm8_encode, Operand_uimm8_decode, 0, 0 }, - { "uimm8x2", 4, -1, 0, + { "uimm8x2", FIELD_imm8, -1, 0, 0, Operand_uimm8x2_encode, Operand_uimm8x2_decode, 0, 0 }, - { "uimm8x4", 4, -1, 0, + { "uimm8x4", FIELD_imm8, -1, 0, 0, Operand_uimm8x4_encode, Operand_uimm8x4_decode, 0, 0 }, - { "uimm4x16", 13, -1, 0, + { "uimm4x16", FIELD_op2, -1, 0, 0, Operand_uimm4x16_encode, Operand_uimm4x16_decode, 0, 0 }, - { "simm8", 4, -1, 0, + { "simm8", FIELD_imm8, -1, 0, 0, Operand_simm8_encode, Operand_simm8_decode, 0, 0 }, - { "simm8x256", 4, -1, 0, + { "simm8x256", FIELD_imm8, -1, 0, 0, Operand_simm8x256_encode, Operand_simm8x256_decode, 0, 0 }, - { "simm12b", 6, -1, 0, + { "simm12b", FIELD_imm12b, -1, 0, 0, Operand_simm12b_encode, Operand_simm12b_decode, 0, 0 }, - { "msalp32", 18, -1, 0, + { "msalp32", FIELD_sal, -1, 0, 0, Operand_msalp32_encode, Operand_msalp32_decode, 0, 0 }, - { "op2p1", 13, -1, 0, + { "op2p1", FIELD_op2, -1, 0, 0, Operand_op2p1_encode, Operand_op2p1_decode, 0, 0 }, - { "label8", 4, -1, 0, + { "label8", FIELD_imm8, -1, 0, XTENSA_OPERAND_IS_PCRELATIVE, Operand_label8_encode, Operand_label8_decode, Operand_label8_ator, Operand_label8_rtoa }, - { "ulabel8", 4, -1, 0, + { "ulabel8", FIELD_imm8, -1, 0, XTENSA_OPERAND_IS_PCRELATIVE, Operand_ulabel8_encode, Operand_ulabel8_decode, Operand_ulabel8_ator, Operand_ulabel8_rtoa }, - { "label12", 3, -1, 0, + { "label12", FIELD_imm12, -1, 0, XTENSA_OPERAND_IS_PCRELATIVE, Operand_label12_encode, Operand_label12_decode, Operand_label12_ator, Operand_label12_rtoa }, - { "soffset", 10, -1, 0, + { "soffset", FIELD_offset, -1, 0, XTENSA_OPERAND_IS_PCRELATIVE, Operand_soffset_encode, Operand_soffset_decode, Operand_soffset_ator, Operand_soffset_rtoa }, - { "uimm16x4", 7, -1, 0, + { "uimm16x4", FIELD_imm16, -1, 0, XTENSA_OPERAND_IS_PCRELATIVE, Operand_uimm16x4_encode, Operand_uimm16x4_decode, Operand_uimm16x4_ator, Operand_uimm16x4_rtoa }, - { "immt", 0, -1, 0, + { "immt", FIELD_t, -1, 0, 0, Operand_immt_encode, Operand_immt_decode, 0, 0 }, - { "imms", 5, -1, 0, + { "imms", FIELD_s, -1, 0, 0, Operand_imms_encode, Operand_imms_decode, 0, 0 }, - { "t", 0, -1, 0, 0, 0, 0, 0, 0 }, - { "bbi4", 1, -1, 0, 0, 0, 0, 0, 0 }, - { "bbi", 2, -1, 0, 0, 0, 0, 0, 0 }, - { "imm12", 3, -1, 0, 0, 0, 0, 0, 0 }, - { "imm8", 4, -1, 0, 0, 0, 0, 0, 0 }, - { "s", 5, -1, 0, 0, 0, 0, 0, 0 }, - { "imm12b", 6, -1, 0, 0, 0, 0, 0, 0 }, - { "imm16", 7, -1, 0, 0, 0, 0, 0, 0 }, - { "m", 8, -1, 0, 0, 0, 0, 0, 0 }, - { "n", 9, -1, 0, 0, 0, 0, 0, 0 }, - { "offset", 10, -1, 0, 0, 0, 0, 0, 0 }, - { "op0", 11, -1, 0, 0, 0, 0, 0, 0 }, - { "op1", 12, -1, 0, 0, 0, 0, 0, 0 }, - { "op2", 13, -1, 0, 0, 0, 0, 0, 0 }, - { "r", 14, -1, 0, 0, 0, 0, 0, 0 }, - { "sa4", 15, -1, 0, 0, 0, 0, 0, 0 }, - { "sae4", 16, -1, 0, 0, 0, 0, 0, 0 }, - { "sae", 17, -1, 0, 0, 0, 0, 0, 0 }, - { "sal", 18, -1, 0, 0, 0, 0, 0, 0 }, - { "sargt", 19, -1, 0, 0, 0, 0, 0, 0 }, - { "sas4", 20, -1, 0, 0, 0, 0, 0, 0 }, - { "sas", 21, -1, 0, 0, 0, 0, 0, 0 }, - { "sr", 22, -1, 0, 0, 0, 0, 0, 0 }, - { "st", 23, -1, 0, 0, 0, 0, 0, 0 }, - { "thi3", 24, -1, 0, 0, 0, 0, 0, 0 }, - { "imm4", 25, -1, 0, 0, 0, 0, 0, 0 }, - { "mn", 26, -1, 0, 0, 0, 0, 0, 0 }, - { "i", 27, -1, 0, 0, 0, 0, 0, 0 }, - { "imm6lo", 28, -1, 0, 0, 0, 0, 0, 0 }, - { "imm6hi", 29, -1, 0, 0, 0, 0, 0, 0 }, - { "imm7lo", 30, -1, 0, 0, 0, 0, 0, 0 }, - { "imm7hi", 31, -1, 0, 0, 0, 0, 0, 0 }, - { "z", 32, -1, 0, 0, 0, 0, 0, 0 }, - { "imm6", 33, -1, 0, 0, 0, 0, 0, 0 }, - { "imm7", 34, -1, 0, 0, 0, 0, 0, 0 } + { "tp7", FIELD_t, -1, 0, + 0, + Operand_tp7_encode, Operand_tp7_decode, + 0, 0 }, + { "xt_wbr15_label", FIELD_xt_wbr15_imm, -1, 0, + XTENSA_OPERAND_IS_PCRELATIVE, + Operand_xt_wbr15_label_encode, Operand_xt_wbr15_label_decode, + Operand_xt_wbr15_label_ator, Operand_xt_wbr15_label_rtoa }, + { "xt_wbr18_label", FIELD_xt_wbr18_imm, -1, 0, + XTENSA_OPERAND_IS_PCRELATIVE, + Operand_xt_wbr18_label_encode, Operand_xt_wbr18_label_decode, + Operand_xt_wbr18_label_ator, Operand_xt_wbr18_label_rtoa }, + { "t", FIELD_t, -1, 0, 0, 0, 0, 0, 0 }, + { "bbi4", FIELD_bbi4, -1, 0, 0, 0, 0, 0, 0 }, + { "bbi", FIELD_bbi, -1, 0, 0, 0, 0, 0, 0 }, + { "imm12", FIELD_imm12, -1, 0, 0, 0, 0, 0, 0 }, + { "imm8", FIELD_imm8, -1, 0, 0, 0, 0, 0, 0 }, + { "s", FIELD_s, -1, 0, 0, 0, 0, 0, 0 }, + { "imm12b", FIELD_imm12b, -1, 0, 0, 0, 0, 0, 0 }, + { "imm16", FIELD_imm16, -1, 0, 0, 0, 0, 0, 0 }, + { "m", FIELD_m, -1, 0, 0, 0, 0, 0, 0 }, + { "n", FIELD_n, -1, 0, 0, 0, 0, 0, 0 }, + { "offset", FIELD_offset, -1, 0, 0, 0, 0, 0, 0 }, + { "op0", FIELD_op0, -1, 0, 0, 0, 0, 0, 0 }, + { "op1", FIELD_op1, -1, 0, 0, 0, 0, 0, 0 }, + { "op2", FIELD_op2, -1, 0, 0, 0, 0, 0, 0 }, + { "r", FIELD_r, -1, 0, 0, 0, 0, 0, 0 }, + { "sa4", FIELD_sa4, -1, 0, 0, 0, 0, 0, 0 }, + { "sae4", FIELD_sae4, -1, 0, 0, 0, 0, 0, 0 }, + { "sae", FIELD_sae, -1, 0, 0, 0, 0, 0, 0 }, + { "sal", FIELD_sal, -1, 0, 0, 0, 0, 0, 0 }, + { "sargt", FIELD_sargt, -1, 0, 0, 0, 0, 0, 0 }, + { "sas4", FIELD_sas4, -1, 0, 0, 0, 0, 0, 0 }, + { "sas", FIELD_sas, -1, 0, 0, 0, 0, 0, 0 }, + { "sr", FIELD_sr, -1, 0, 0, 0, 0, 0, 0 }, + { "st", FIELD_st, -1, 0, 0, 0, 0, 0, 0 }, + { "thi3", FIELD_thi3, -1, 0, 0, 0, 0, 0, 0 }, + { "imm4", FIELD_imm4, -1, 0, 0, 0, 0, 0, 0 }, + { "mn", FIELD_mn, -1, 0, 0, 0, 0, 0, 0 }, + { "i", FIELD_i, -1, 0, 0, 0, 0, 0, 0 }, + { "imm6lo", FIELD_imm6lo, -1, 0, 0, 0, 0, 0, 0 }, + { "imm6hi", FIELD_imm6hi, -1, 0, 0, 0, 0, 0, 0 }, + { "imm7lo", FIELD_imm7lo, -1, 0, 0, 0, 0, 0, 0 }, + { "imm7hi", FIELD_imm7hi, -1, 0, 0, 0, 0, 0, 0 }, + { "z", FIELD_z, -1, 0, 0, 0, 0, 0, 0 }, + { "imm6", FIELD_imm6, -1, 0, 0, 0, 0, 0, 0 }, + { "imm7", FIELD_imm7, -1, 0, 0, 0, 0, 0, 0 }, + { "xt_wbr15_imm", FIELD_xt_wbr15_imm, -1, 0, 0, 0, 0, 0, 0 }, + { "xt_wbr18_imm", FIELD_xt_wbr18_imm, -1, 0, 0, 0, 0, 0, 0 } +}; + +enum xtensa_operand_id { + OPERAND_soffsetx4, + OPERAND_uimm12x8, + OPERAND_simm4, + OPERAND_arr, + OPERAND_ars, + OPERAND__ars_invisible, + OPERAND_art, + OPERAND_ar0, + OPERAND_ar4, + OPERAND_ar8, + OPERAND_ar12, + OPERAND_ars_entry, + OPERAND_immrx4, + OPERAND_lsi4x4, + OPERAND_simm7, + OPERAND_uimm6, + OPERAND_ai4const, + OPERAND_b4const, + OPERAND_b4constu, + OPERAND_uimm8, + OPERAND_uimm8x2, + OPERAND_uimm8x4, + OPERAND_uimm4x16, + OPERAND_simm8, + OPERAND_simm8x256, + OPERAND_simm12b, + OPERAND_msalp32, + OPERAND_op2p1, + OPERAND_label8, + OPERAND_ulabel8, + OPERAND_label12, + OPERAND_soffset, + OPERAND_uimm16x4, + OPERAND_immt, + OPERAND_imms, + OPERAND_tp7, + OPERAND_xt_wbr15_label, + OPERAND_xt_wbr18_label, + OPERAND_t, + OPERAND_bbi4, + OPERAND_bbi, + OPERAND_imm12, + OPERAND_imm8, + OPERAND_s, + OPERAND_imm12b, + OPERAND_imm16, + OPERAND_m, + OPERAND_n, + OPERAND_offset, + OPERAND_op0, + OPERAND_op1, + OPERAND_op2, + OPERAND_r, + OPERAND_sa4, + OPERAND_sae4, + OPERAND_sae, + OPERAND_sal, + OPERAND_sargt, + OPERAND_sas4, + OPERAND_sas, + OPERAND_sr, + OPERAND_st, + OPERAND_thi3, + OPERAND_imm4, + OPERAND_mn, + OPERAND_i, + OPERAND_imm6lo, + OPERAND_imm6hi, + OPERAND_imm7lo, + OPERAND_imm7hi, + OPERAND_z, + OPERAND_imm6, + OPERAND_imm7, + OPERAND_xt_wbr15_imm, + OPERAND_xt_wbr18_imm }; @@ -2274,8 +2573,8 @@ static xtensa_arg_internal Iclass_xt_iclass_rfde_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_call12_args[] = { - { { 0 /* soffsetx4 */ }, 'i' }, - { { 10 /* ar12 */ }, 'o' } + { { OPERAND_soffsetx4 }, 'i' }, + { { OPERAND_ar12 }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_call12_stateArgs[] = { @@ -2283,8 +2582,8 @@ static xtensa_arg_internal Iclass_xt_iclass_call12_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_call8_args[] = { - { { 0 /* soffsetx4 */ }, 'i' }, - { { 9 /* ar8 */ }, 'o' } + { { OPERAND_soffsetx4 }, 'i' }, + { { OPERAND_ar8 }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_call8_stateArgs[] = { @@ -2292,8 +2591,8 @@ static xtensa_arg_internal Iclass_xt_iclass_call8_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_call4_args[] = { - { { 0 /* soffsetx4 */ }, 'i' }, - { { 8 /* ar4 */ }, 'o' } + { { OPERAND_soffsetx4 }, 'i' }, + { { OPERAND_ar4 }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_call4_stateArgs[] = { @@ -2301,8 +2600,8 @@ static xtensa_arg_internal Iclass_xt_iclass_call4_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_callx12_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 10 /* ar12 */ }, 'o' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_ar12 }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_callx12_stateArgs[] = { @@ -2310,8 +2609,8 @@ static xtensa_arg_internal Iclass_xt_iclass_callx12_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_callx8_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 9 /* ar8 */ }, 'o' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_ar8 }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_callx8_stateArgs[] = { @@ -2319,8 +2618,8 @@ static xtensa_arg_internal Iclass_xt_iclass_callx8_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_callx4_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 8 /* ar4 */ }, 'o' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_ar4 }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_callx4_stateArgs[] = { @@ -2328,9 +2627,9 @@ static xtensa_arg_internal Iclass_xt_iclass_callx4_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_entry_args[] = { - { { 11 /* ars_entry */ }, 's' }, - { { 4 /* ars */ }, 'i' }, - { { 1 /* uimm12x8 */ }, 'i' } + { { OPERAND_ars_entry }, 's' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm12x8 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_entry_stateArgs[] = { @@ -2342,8 +2641,8 @@ static xtensa_arg_internal Iclass_xt_iclass_entry_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_movsp_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_movsp_stateArgs[] = { @@ -2352,7 +2651,7 @@ static xtensa_arg_internal Iclass_xt_iclass_movsp_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rotw_args[] = { - { { 2 /* simm4 */ }, 'i' } + { { OPERAND_simm4 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_rotw_stateArgs[] = { @@ -2362,7 +2661,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rotw_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_retw_args[] = { - { { 5 /* *ars_invisible */ }, 'i' } + { { OPERAND__ars_invisible }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_retw_stateArgs[] = { @@ -2382,9 +2681,9 @@ static xtensa_arg_internal Iclass_xt_iclass_rfwou_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_l32e_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 12 /* immrx4 */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_immrx4 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_l32e_stateArgs[] = { @@ -2393,9 +2692,9 @@ static xtensa_arg_internal Iclass_xt_iclass_l32e_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_s32e_args[] = { - { { 6 /* art */ }, 'i' }, - { { 4 /* ars */ }, 'i' }, - { { 12 /* immrx4 */ }, 'i' } + { { OPERAND_art }, 'i' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_immrx4 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_s32e_stateArgs[] = { @@ -2404,7 +2703,7 @@ static xtensa_arg_internal Iclass_xt_iclass_s32e_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_windowbase_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_windowbase_stateArgs[] = { @@ -2414,7 +2713,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_windowbase_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_windowbase_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_windowbase_stateArgs[] = { @@ -2424,7 +2723,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_windowbase_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_windowbase_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_windowbase_stateArgs[] = { @@ -2434,7 +2733,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_windowbase_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_windowstart_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_windowstart_stateArgs[] = { @@ -2444,7 +2743,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_windowstart_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_windowstart_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_windowstart_stateArgs[] = { @@ -2454,7 +2753,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_windowstart_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_windowstart_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_windowstart_stateArgs[] = { @@ -2464,147 +2763,163 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_windowstart_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_add_n_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 6 /* art */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_addi_n_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 16 /* ai4const */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_ai4const }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_bz6_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 15 /* uimm6 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm6 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_loadi4_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 13 /* lsi4x4 */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_lsi4x4 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_mov_n_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_movi_n_args[] = { - { { 4 /* ars */ }, 'o' }, - { { 14 /* simm7 */ }, 'i' } + { { OPERAND_ars }, 'o' }, + { { OPERAND_simm7 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_retn_args[] = { - { { 5 /* *ars_invisible */ }, 'i' } + { { OPERAND__ars_invisible }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_storei4_args[] = { - { { 6 /* art */ }, 'i' }, - { { 4 /* ars */ }, 'i' }, - { { 13 /* lsi4x4 */ }, 'i' } + { { OPERAND_art }, 'i' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_lsi4x4 }, 'i' } +}; + +static xtensa_arg_internal Iclass_rur_threadptr_args[] = { + { { OPERAND_arr }, 'o' } +}; + +static xtensa_arg_internal Iclass_rur_threadptr_stateArgs[] = { + { { STATE_THREADPTR }, 'i' } +}; + +static xtensa_arg_internal Iclass_wur_threadptr_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_wur_threadptr_stateArgs[] = { + { { STATE_THREADPTR }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_addi_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 23 /* simm8 */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_simm8 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_addmi_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 24 /* simm8x256 */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_simm8x256 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_addsub_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 6 /* art */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_bit_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 6 /* art */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_bsi8_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 17 /* b4const */ }, 'i' }, - { { 28 /* label8 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_b4const }, 'i' }, + { { OPERAND_label8 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_bsi8b_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 37 /* bbi */ }, 'i' }, - { { 28 /* label8 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_bbi }, 'i' }, + { { OPERAND_label8 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_bsi8u_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 18 /* b4constu */ }, 'i' }, - { { 28 /* label8 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_b4constu }, 'i' }, + { { OPERAND_label8 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_bst8_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 6 /* art */ }, 'i' }, - { { 28 /* label8 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_art }, 'i' }, + { { OPERAND_label8 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_bsz12_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 30 /* label12 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_label12 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_call0_args[] = { - { { 0 /* soffsetx4 */ }, 'i' }, - { { 7 /* ar0 */ }, 'o' } + { { OPERAND_soffsetx4 }, 'i' }, + { { OPERAND_ar0 }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_callx0_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 7 /* ar0 */ }, 'o' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_ar0 }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_exti_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 6 /* art */ }, 'i' }, - { { 52 /* sae */ }, 'i' }, - { { 27 /* op2p1 */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_art }, 'i' }, + { { OPERAND_sae }, 'i' }, + { { OPERAND_op2p1 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_jump_args[] = { - { { 31 /* soffset */ }, 'i' } + { { OPERAND_soffset }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_jumpx_args[] = { - { { 4 /* ars */ }, 'i' } + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_l16ui_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 20 /* uimm8x2 */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x2 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_l16si_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 20 /* uimm8x2 */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x2 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_l32i_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 21 /* uimm8x4 */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x4 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_l32r_args[] = { - { { 6 /* art */ }, 'o' }, - { { 32 /* uimm16x4 */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_uimm16x4 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_l32r_stateArgs[] = { @@ -2613,14 +2928,14 @@ static xtensa_arg_internal Iclass_xt_iclass_l32r_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_l8i_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 19 /* uimm8 */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_loop_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 29 /* ulabel8 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_ulabel8 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_loop_stateArgs[] = { @@ -2630,8 +2945,8 @@ static xtensa_arg_internal Iclass_xt_iclass_loop_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_loopz_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 29 /* ulabel8 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_ulabel8 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_loopz_stateArgs[] = { @@ -2641,45 +2956,45 @@ static xtensa_arg_internal Iclass_xt_iclass_loopz_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_movi_args[] = { - { { 6 /* art */ }, 'o' }, - { { 25 /* simm12b */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_simm12b }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_movz_args[] = { - { { 3 /* arr */ }, 'm' }, - { { 4 /* ars */ }, 'i' }, - { { 6 /* art */ }, 'i' } + { { OPERAND_arr }, 'm' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_neg_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 6 /* art */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_return_args[] = { - { { 5 /* *ars_invisible */ }, 'i' } + { { OPERAND__ars_invisible }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_s16i_args[] = { - { { 6 /* art */ }, 'i' }, - { { 4 /* ars */ }, 'i' }, - { { 20 /* uimm8x2 */ }, 'i' } + { { OPERAND_art }, 'i' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x2 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_s32i_args[] = { - { { 6 /* art */ }, 'i' }, - { { 4 /* ars */ }, 'i' }, - { { 21 /* uimm8x4 */ }, 'i' } + { { OPERAND_art }, 'i' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x4 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_s8i_args[] = { - { { 6 /* art */ }, 'i' }, - { { 4 /* ars */ }, 'i' }, - { { 19 /* uimm8 */ }, 'i' } + { { OPERAND_art }, 'i' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_sar_args[] = { - { { 4 /* ars */ }, 'i' } + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_sar_stateArgs[] = { @@ -2687,7 +3002,7 @@ static xtensa_arg_internal Iclass_xt_iclass_sar_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_sari_args[] = { - { { 56 /* sas */ }, 'i' } + { { OPERAND_sas }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_sari_stateArgs[] = { @@ -2695,8 +3010,8 @@ static xtensa_arg_internal Iclass_xt_iclass_sari_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_shifts_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_shifts_stateArgs[] = { @@ -2704,9 +3019,9 @@ static xtensa_arg_internal Iclass_xt_iclass_shifts_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_shiftst_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 6 /* art */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_shiftst_stateArgs[] = { @@ -2714,8 +3029,8 @@ static xtensa_arg_internal Iclass_xt_iclass_shiftst_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_shiftt_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 6 /* art */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_shiftt_stateArgs[] = { @@ -2723,21 +3038,21 @@ static xtensa_arg_internal Iclass_xt_iclass_shiftt_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_slli_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 4 /* ars */ }, 'i' }, - { { 26 /* msalp32 */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_msalp32 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_srai_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 6 /* art */ }, 'i' }, - { { 54 /* sargt */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_art }, 'i' }, + { { OPERAND_sargt }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_srli_args[] = { - { { 3 /* arr */ }, 'o' }, - { { 6 /* art */ }, 'i' }, - { { 40 /* s */ }, 'i' } + { { OPERAND_arr }, 'o' }, + { { OPERAND_art }, 'i' }, + { { OPERAND_s }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_sync_stateArgs[] = { @@ -2745,8 +3060,8 @@ static xtensa_arg_internal Iclass_xt_iclass_sync_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsil_args[] = { - { { 6 /* art */ }, 'o' }, - { { 40 /* s */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_s }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_rsil_stateArgs[] = { @@ -2760,7 +3075,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsil_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_lend_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_lend_stateArgs[] = { @@ -2768,7 +3083,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_lend_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_lend_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_lend_stateArgs[] = { @@ -2776,7 +3091,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_lend_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_lend_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_lend_stateArgs[] = { @@ -2784,7 +3099,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_lend_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_lcount_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_lcount_stateArgs[] = { @@ -2792,7 +3107,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_lcount_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_lcount_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_lcount_stateArgs[] = { @@ -2801,7 +3116,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_lcount_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_lcount_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_lcount_stateArgs[] = { @@ -2810,7 +3125,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_lcount_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_lbeg_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_lbeg_stateArgs[] = { @@ -2818,7 +3133,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_lbeg_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_lbeg_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_lbeg_stateArgs[] = { @@ -2826,7 +3141,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_lbeg_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_lbeg_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_lbeg_stateArgs[] = { @@ -2834,7 +3149,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_lbeg_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_sar_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_sar_stateArgs[] = { @@ -2842,7 +3157,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_sar_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_sar_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_sar_stateArgs[] = { @@ -2851,7 +3166,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_sar_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_sar_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_sar_stateArgs[] = { @@ -2859,7 +3174,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_sar_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_litbase_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_litbase_stateArgs[] = { @@ -2868,7 +3183,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_litbase_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_litbase_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_litbase_stateArgs[] = { @@ -2877,7 +3192,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_litbase_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_litbase_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_litbase_stateArgs[] = { @@ -2886,7 +3201,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_litbase_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_176_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_176_stateArgs[] = { @@ -2894,8 +3209,17 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_176_stateArgs[] = { { { STATE_PSRING }, 'i' } }; +static xtensa_arg_internal Iclass_xt_iclass_wsr_176_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_176_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' } +}; + static xtensa_arg_internal Iclass_xt_iclass_rsr_208_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_208_stateArgs[] = { @@ -2904,7 +3228,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_208_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ps_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ps_stateArgs[] = { @@ -2918,7 +3242,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_ps_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ps_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ps_stateArgs[] = { @@ -2932,7 +3256,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_ps_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ps_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ps_stateArgs[] = { @@ -2946,7 +3270,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_ps_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_epc1_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_epc1_stateArgs[] = { @@ -2956,7 +3280,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_epc1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_epc1_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_epc1_stateArgs[] = { @@ -2966,7 +3290,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_epc1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_epc1_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_epc1_stateArgs[] = { @@ -2976,7 +3300,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_epc1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave1_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave1_stateArgs[] = { @@ -2986,7 +3310,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave1_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave1_stateArgs[] = { @@ -2996,7 +3320,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave1_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave1_stateArgs[] = { @@ -3006,7 +3330,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_epc2_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_epc2_stateArgs[] = { @@ -3016,7 +3340,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_epc2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_epc2_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_epc2_stateArgs[] = { @@ -3026,7 +3350,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_epc2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_epc2_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_epc2_stateArgs[] = { @@ -3036,7 +3360,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_epc2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave2_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave2_stateArgs[] = { @@ -3046,7 +3370,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave2_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave2_stateArgs[] = { @@ -3056,7 +3380,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave2_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave2_stateArgs[] = { @@ -3066,7 +3390,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_epc3_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_epc3_stateArgs[] = { @@ -3076,7 +3400,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_epc3_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_epc3_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_epc3_stateArgs[] = { @@ -3086,7 +3410,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_epc3_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_epc3_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_epc3_stateArgs[] = { @@ -3096,7 +3420,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_epc3_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave3_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave3_stateArgs[] = { @@ -3106,7 +3430,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave3_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave3_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave3_stateArgs[] = { @@ -3116,7 +3440,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave3_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave3_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave3_stateArgs[] = { @@ -3126,7 +3450,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave3_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_epc4_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_epc4_stateArgs[] = { @@ -3136,7 +3460,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_epc4_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_epc4_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_epc4_stateArgs[] = { @@ -3146,7 +3470,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_epc4_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_epc4_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_epc4_stateArgs[] = { @@ -3156,7 +3480,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_epc4_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave4_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave4_stateArgs[] = { @@ -3166,7 +3490,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave4_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave4_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave4_stateArgs[] = { @@ -3176,7 +3500,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave4_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave4_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave4_stateArgs[] = { @@ -3185,8 +3509,188 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave4_stateArgs[] = { { { STATE_EXCSAVE4 }, 'm' } }; +static xtensa_arg_internal Iclass_xt_iclass_rsr_epc5_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_epc5_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPC5 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_epc5_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_epc5_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPC5 }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_epc5_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_epc5_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPC5 }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave5_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave5_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EXCSAVE5 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave5_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave5_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EXCSAVE5 }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave5_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave5_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EXCSAVE5 }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_epc6_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_epc6_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPC6 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_epc6_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_epc6_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPC6 }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_epc6_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_epc6_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPC6 }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave6_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave6_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EXCSAVE6 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave6_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave6_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EXCSAVE6 }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave6_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave6_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EXCSAVE6 }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_epc7_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_epc7_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPC7 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_epc7_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_epc7_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPC7 }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_epc7_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_epc7_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPC7 }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave7_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_excsave7_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EXCSAVE7 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave7_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_excsave7_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EXCSAVE7 }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave7_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_excsave7_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EXCSAVE7 }, 'm' } +}; + static xtensa_arg_internal Iclass_xt_iclass_rsr_eps2_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_eps2_stateArgs[] = { @@ -3196,7 +3700,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_eps2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_eps2_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_eps2_stateArgs[] = { @@ -3206,7 +3710,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_eps2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_eps2_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_eps2_stateArgs[] = { @@ -3216,7 +3720,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_eps2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_eps3_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_eps3_stateArgs[] = { @@ -3226,7 +3730,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_eps3_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_eps3_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_eps3_stateArgs[] = { @@ -3236,7 +3740,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_eps3_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_eps3_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_eps3_stateArgs[] = { @@ -3246,7 +3750,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_eps3_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_eps4_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_eps4_stateArgs[] = { @@ -3256,7 +3760,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_eps4_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_eps4_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_eps4_stateArgs[] = { @@ -3266,7 +3770,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_eps4_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_eps4_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_eps4_stateArgs[] = { @@ -3275,8 +3779,98 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_eps4_stateArgs[] = { { { STATE_EPS4 }, 'm' } }; +static xtensa_arg_internal Iclass_xt_iclass_rsr_eps5_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_eps5_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPS5 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_eps5_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_eps5_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPS5 }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_eps5_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_eps5_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPS5 }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_eps6_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_eps6_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPS6 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_eps6_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_eps6_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPS6 }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_eps6_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_eps6_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPS6 }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_eps7_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_eps7_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPS7 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_eps7_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_eps7_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPS7 }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_eps7_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_eps7_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_EPS7 }, 'm' } +}; + static xtensa_arg_internal Iclass_xt_iclass_rsr_excvaddr_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_excvaddr_stateArgs[] = { @@ -3286,7 +3880,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_excvaddr_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_excvaddr_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_excvaddr_stateArgs[] = { @@ -3296,7 +3890,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_excvaddr_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_excvaddr_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_excvaddr_stateArgs[] = { @@ -3306,7 +3900,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_excvaddr_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_depc_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_depc_stateArgs[] = { @@ -3316,7 +3910,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_depc_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_depc_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_depc_stateArgs[] = { @@ -3326,7 +3920,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_depc_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_depc_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_depc_stateArgs[] = { @@ -3336,7 +3930,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_depc_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_exccause_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_exccause_stateArgs[] = { @@ -3347,7 +3941,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_exccause_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_exccause_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_exccause_stateArgs[] = { @@ -3357,7 +3951,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_exccause_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_exccause_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_exccause_stateArgs[] = { @@ -3367,7 +3961,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_exccause_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_misc0_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_misc0_stateArgs[] = { @@ -3377,7 +3971,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_misc0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_misc0_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_misc0_stateArgs[] = { @@ -3387,7 +3981,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_misc0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_misc0_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_misc0_stateArgs[] = { @@ -3397,7 +3991,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_misc0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_misc1_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_misc1_stateArgs[] = { @@ -3407,7 +4001,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_misc1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_misc1_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_misc1_stateArgs[] = { @@ -3417,7 +4011,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_misc1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_misc1_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_misc1_stateArgs[] = { @@ -3427,7 +4021,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_misc1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_prid_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_prid_stateArgs[] = { @@ -3435,8 +4029,44 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_prid_stateArgs[] = { { { STATE_PSRING }, 'i' } }; +static xtensa_arg_internal Iclass_xt_iclass_rsr_vecbase_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_vecbase_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_VECBASE }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_vecbase_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_vecbase_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_VECBASE }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_vecbase_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_vecbase_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_VECBASE }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_mul16_args[] = { + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_art }, 'i' } +}; + static xtensa_arg_internal Iclass_xt_iclass_rfi_args[] = { - { { 40 /* s */ }, 'i' } + { { OPERAND_s }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_rfi_stateArgs[] = { @@ -3451,14 +4081,20 @@ static xtensa_arg_internal Iclass_xt_iclass_rfi_stateArgs[] = { { { STATE_EPC2 }, 'i' }, { { STATE_EPC3 }, 'i' }, { { STATE_EPC4 }, 'i' }, + { { STATE_EPC5 }, 'i' }, + { { STATE_EPC6 }, 'i' }, + { { STATE_EPC7 }, 'i' }, { { STATE_EPS2 }, 'i' }, { { STATE_EPS3 }, 'i' }, { { STATE_EPS4 }, 'i' }, + { { STATE_EPS5 }, 'i' }, + { { STATE_EPS6 }, 'i' }, + { { STATE_EPS7 }, 'i' }, { { STATE_InOCDMode }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_wait_args[] = { - { { 40 /* s */ }, 'i' } + { { OPERAND_s }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wait_stateArgs[] = { @@ -3468,7 +4104,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wait_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_interrupt_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_interrupt_stateArgs[] = { @@ -3478,7 +4114,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_interrupt_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_intset_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_intset_stateArgs[] = { @@ -3489,7 +4125,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_intset_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_intclear_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_intclear_stateArgs[] = { @@ -3500,7 +4136,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_intclear_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_intenable_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_intenable_stateArgs[] = { @@ -3510,7 +4146,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_intenable_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_intenable_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_intenable_stateArgs[] = { @@ -3520,7 +4156,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_intenable_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_intenable_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_intenable_stateArgs[] = { @@ -3530,8 +4166,8 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_intenable_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_break_args[] = { - { { 34 /* imms */ }, 'i' }, - { { 33 /* immt */ }, 'i' } + { { OPERAND_imms }, 'i' }, + { { OPERAND_immt }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_break_stateArgs[] = { @@ -3540,7 +4176,7 @@ static xtensa_arg_internal Iclass_xt_iclass_break_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_break_n_args[] = { - { { 34 /* imms */ }, 'i' } + { { OPERAND_imms }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_break_n_stateArgs[] = { @@ -3549,7 +4185,7 @@ static xtensa_arg_internal Iclass_xt_iclass_break_n_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka0_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka0_stateArgs[] = { @@ -3559,7 +4195,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka0_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka0_stateArgs[] = { @@ -3570,7 +4206,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka0_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka0_stateArgs[] = { @@ -3581,7 +4217,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc0_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc0_stateArgs[] = { @@ -3591,7 +4227,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc0_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc0_stateArgs[] = { @@ -3602,7 +4238,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc0_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc0_stateArgs[] = { @@ -3613,7 +4249,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka1_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka1_stateArgs[] = { @@ -3623,7 +4259,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreaka1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka1_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka1_stateArgs[] = { @@ -3634,7 +4270,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreaka1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka1_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka1_stateArgs[] = { @@ -3645,7 +4281,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreaka1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc1_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc1_stateArgs[] = { @@ -3655,7 +4291,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_dbreakc1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc1_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc1_stateArgs[] = { @@ -3666,7 +4302,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_dbreakc1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc1_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc1_stateArgs[] = { @@ -3677,7 +4313,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_dbreakc1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka0_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka0_stateArgs[] = { @@ -3687,7 +4323,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka0_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka0_stateArgs[] = { @@ -3697,7 +4333,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka0_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka0_stateArgs[] = { @@ -3707,7 +4343,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka1_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka1_stateArgs[] = { @@ -3717,7 +4353,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreaka1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka1_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka1_stateArgs[] = { @@ -3727,7 +4363,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreaka1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka1_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka1_stateArgs[] = { @@ -3737,7 +4373,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreaka1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreakenable_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreakenable_stateArgs[] = { @@ -3747,7 +4383,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_ibreakenable_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreakenable_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreakenable_stateArgs[] = { @@ -3757,7 +4393,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_ibreakenable_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreakenable_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreakenable_stateArgs[] = { @@ -3767,7 +4403,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_ibreakenable_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_debugcause_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_debugcause_stateArgs[] = { @@ -3778,7 +4414,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_debugcause_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_debugcause_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_debugcause_stateArgs[] = { @@ -3789,7 +4425,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_debugcause_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_debugcause_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_debugcause_stateArgs[] = { @@ -3800,7 +4436,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_debugcause_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_icount_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_icount_stateArgs[] = { @@ -3810,7 +4446,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_icount_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_icount_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_icount_stateArgs[] = { @@ -3821,7 +4457,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_icount_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_icount_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_icount_stateArgs[] = { @@ -3832,7 +4468,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_icount_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_icountlevel_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_icountlevel_stateArgs[] = { @@ -3842,7 +4478,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_icountlevel_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_icountlevel_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_icountlevel_stateArgs[] = { @@ -3852,7 +4488,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_icountlevel_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_icountlevel_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_icountlevel_stateArgs[] = { @@ -3862,7 +4498,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_icountlevel_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ddr_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ddr_stateArgs[] = { @@ -3872,7 +4508,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_ddr_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ddr_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ddr_stateArgs[] = { @@ -3883,7 +4519,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_ddr_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ddr_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ddr_stateArgs[] = { @@ -3893,9 +4529,13 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_ddr_stateArgs[] = { { { STATE_DDR }, 'm' } }; +static xtensa_arg_internal Iclass_xt_iclass_rfdo_args[] = { + { { OPERAND_imms }, 'i' } +}; + static xtensa_arg_internal Iclass_xt_iclass_rfdo_stateArgs[] = { { { STATE_InOCDMode }, 'm' }, - { { STATE_EPC4 }, 'i' }, + { { STATE_EPC6 }, 'i' }, { { STATE_PSWOE }, 'o' }, { { STATE_PSCALLINC }, 'o' }, { { STATE_PSOWB }, 'o' }, @@ -3903,15 +4543,25 @@ static xtensa_arg_internal Iclass_xt_iclass_rfdo_stateArgs[] = { { { STATE_PSUM }, 'o' }, { { STATE_PSEXCM }, 'o' }, { { STATE_PSINTLEVEL }, 'o' }, - { { STATE_EPS4 }, 'i' } + { { STATE_EPS6 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_rfdd_stateArgs[] = { { { STATE_InOCDMode }, 'm' } }; +static xtensa_arg_internal Iclass_xt_iclass_wsr_mmid_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_mmid_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_XTSYNC }, 'o' } +}; + static xtensa_arg_internal Iclass_xt_iclass_rsr_ccount_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ccount_stateArgs[] = { @@ -3921,7 +4571,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_ccount_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ccount_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ccount_stateArgs[] = { @@ -3932,7 +4582,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_ccount_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ccount_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ccount_stateArgs[] = { @@ -3943,7 +4593,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_ccount_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare0_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare0_stateArgs[] = { @@ -3953,7 +4603,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare0_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare0_stateArgs[] = { @@ -3964,7 +4614,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare0_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare0_stateArgs[] = { @@ -3975,7 +4625,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare0_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare1_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare1_stateArgs[] = { @@ -3985,7 +4635,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare1_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare1_stateArgs[] = { @@ -3996,7 +4646,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare1_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare1_stateArgs[] = { @@ -4007,7 +4657,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare1_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare2_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare2_stateArgs[] = { @@ -4017,7 +4667,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_ccompare2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare2_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare2_stateArgs[] = { @@ -4028,7 +4678,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_ccompare2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare2_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare2_stateArgs[] = { @@ -4039,13 +4689,23 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_ccompare2_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_icache_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 21 /* uimm8x4 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x4 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_icache_lock_args[] = { + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm4x16 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_icache_lock_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_icache_inv_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 21 /* uimm8x4 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x4 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_icache_inv_stateArgs[] = { @@ -4054,8 +4714,8 @@ static xtensa_arg_internal Iclass_xt_iclass_icache_inv_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_licx_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_licx_stateArgs[] = { @@ -4064,8 +4724,8 @@ static xtensa_arg_internal Iclass_xt_iclass_licx_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_sicx_args[] = { - { { 6 /* art */ }, 'i' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_art }, 'i' }, + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_sicx_stateArgs[] = { @@ -4074,13 +4734,13 @@ static xtensa_arg_internal Iclass_xt_iclass_sicx_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_dcache_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 21 /* uimm8x4 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x4 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_dcache_ind_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 22 /* uimm4x16 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm4x16 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_dcache_ind_stateArgs[] = { @@ -4089,8 +4749,8 @@ static xtensa_arg_internal Iclass_xt_iclass_dcache_ind_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_dcache_inv_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 21 /* uimm8x4 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x4 }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_dcache_inv_stateArgs[] = { @@ -4099,13 +4759,23 @@ static xtensa_arg_internal Iclass_xt_iclass_dcache_inv_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_dpf_args[] = { - { { 4 /* ars */ }, 'i' }, - { { 21 /* uimm8x4 */ }, 'i' } + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x4 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_dcache_lock_args[] = { + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm4x16 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_dcache_lock_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_sdct_args[] = { - { { 6 /* art */ }, 'i' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_art }, 'i' }, + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_sdct_stateArgs[] = { @@ -4114,8 +4784,8 @@ static xtensa_arg_internal Iclass_xt_iclass_sdct_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_ldct_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_ldct_stateArgs[] = { @@ -4124,7 +4794,7 @@ static xtensa_arg_internal Iclass_xt_iclass_ldct_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ptevaddr_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_ptevaddr_stateArgs[] = { @@ -4135,7 +4805,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_ptevaddr_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ptevaddr_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_ptevaddr_stateArgs[] = { @@ -4146,7 +4816,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_ptevaddr_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ptevaddr_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_ptevaddr_stateArgs[] = { @@ -4158,7 +4828,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_ptevaddr_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_rasid_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_rasid_stateArgs[] = { @@ -4170,7 +4840,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_rasid_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_rasid_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_rasid_stateArgs[] = { @@ -4183,7 +4853,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_rasid_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_rasid_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_rasid_stateArgs[] = { @@ -4196,7 +4866,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_rasid_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_itlbcfg_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_itlbcfg_stateArgs[] = { @@ -4206,7 +4876,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_itlbcfg_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_itlbcfg_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_itlbcfg_stateArgs[] = { @@ -4217,7 +4887,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_itlbcfg_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_itlbcfg_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_itlbcfg_stateArgs[] = { @@ -4228,7 +4898,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_itlbcfg_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rsr_dtlbcfg_args[] = { - { { 6 /* art */ }, 'o' } + { { OPERAND_art }, 'o' } }; static xtensa_arg_internal Iclass_xt_iclass_rsr_dtlbcfg_stateArgs[] = { @@ -4238,7 +4908,7 @@ static xtensa_arg_internal Iclass_xt_iclass_rsr_dtlbcfg_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wsr_dtlbcfg_args[] = { - { { 6 /* art */ }, 'i' } + { { OPERAND_art }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wsr_dtlbcfg_stateArgs[] = { @@ -4249,7 +4919,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wsr_dtlbcfg_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_xsr_dtlbcfg_args[] = { - { { 6 /* art */ }, 'm' } + { { OPERAND_art }, 'm' } }; static xtensa_arg_internal Iclass_xt_iclass_xsr_dtlbcfg_stateArgs[] = { @@ -4260,7 +4930,7 @@ static xtensa_arg_internal Iclass_xt_iclass_xsr_dtlbcfg_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_idtlb_args[] = { - { { 4 /* ars */ }, 'i' } + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_idtlb_stateArgs[] = { @@ -4270,8 +4940,8 @@ static xtensa_arg_internal Iclass_xt_iclass_idtlb_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_rdtlb_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_rdtlb_stateArgs[] = { @@ -4280,8 +4950,8 @@ static xtensa_arg_internal Iclass_xt_iclass_rdtlb_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_wdtlb_args[] = { - { { 6 /* art */ }, 'i' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_art }, 'i' }, + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_wdtlb_stateArgs[] = { @@ -4291,7 +4961,7 @@ static xtensa_arg_internal Iclass_xt_iclass_wdtlb_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_iitlb_args[] = { - { { 4 /* ars */ }, 'i' } + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_iitlb_stateArgs[] = { @@ -4300,8 +4970,8 @@ static xtensa_arg_internal Iclass_xt_iclass_iitlb_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_ritlb_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_ritlb_stateArgs[] = { @@ -4310,8 +4980,8 @@ static xtensa_arg_internal Iclass_xt_iclass_ritlb_stateArgs[] = { }; static xtensa_arg_internal Iclass_xt_iclass_witlb_args[] = { - { { 6 /* art */ }, 'i' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_art }, 'i' }, + { { OPERAND_ars }, 'i' } }; static xtensa_arg_internal Iclass_xt_iclass_witlb_stateArgs[] = { @@ -4332,9 +5002,116 @@ static xtensa_arg_internal Iclass_xt_iclass_hwwdtlba_stateArgs[] = { { { STATE_EXCVADDR }, 'i' } }; +static xtensa_arg_internal Iclass_xt_iclass_rsr_cpenable_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_cpenable_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_CPENABLE }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_cpenable_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_cpenable_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_CPENABLE }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_cpenable_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_cpenable_stateArgs[] = { + { { STATE_PSEXCM }, 'i' }, + { { STATE_PSRING }, 'i' }, + { { STATE_CPENABLE }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_clamp_args[] = { + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_tp7 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_minmax_args[] = { + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_art }, 'i' } +}; + static xtensa_arg_internal Iclass_xt_iclass_nsa_args[] = { - { { 6 /* art */ }, 'o' }, - { { 4 /* ars */ }, 'i' } + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_sx_args[] = { + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_tp7 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_l32ai_args[] = { + { { OPERAND_art }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x4 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_s32ri_args[] = { + { { OPERAND_art }, 'i' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x4 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_s32c1i_args[] = { + { { OPERAND_art }, 'm' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_uimm8x4 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_s32c1i_stateArgs[] = { + { { STATE_SCOMPARE1 }, 'i' }, + { { STATE_SCOMPARE1 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_scompare1_args[] = { + { { OPERAND_art }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_rsr_scompare1_stateArgs[] = { + { { STATE_SCOMPARE1 }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_scompare1_args[] = { + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_wsr_scompare1_stateArgs[] = { + { { STATE_SCOMPARE1 }, 'o' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_scompare1_args[] = { + { { OPERAND_art }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_xsr_scompare1_stateArgs[] = { + { { STATE_SCOMPARE1 }, 'm' } +}; + +static xtensa_arg_internal Iclass_xt_iclass_div_args[] = { + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_art }, 'i' } +}; + +static xtensa_arg_internal Iclass_xt_mul32_args[] = { + { { OPERAND_arr }, 'o' }, + { { OPERAND_ars }, 'i' }, + { { OPERAND_art }, 'i' } }; static xtensa_iclass_internal iclasses[] = { @@ -4406,6 +5183,10 @@ static xtensa_iclass_internal iclasses[] = { 0, 0, 0, 0 }, { 3, Iclass_xt_iclass_storei4_args, 0, 0, 0, 0 }, + { 1, Iclass_rur_threadptr_args, + 1, Iclass_rur_threadptr_stateArgs, 0, 0 }, + { 1, Iclass_wur_threadptr_args, + 1, Iclass_wur_threadptr_stateArgs, 0, 0 }, { 3, Iclass_xt_iclass_addi_args, 0, 0, 0, 0 }, { 3, Iclass_xt_iclass_addmi_args, @@ -4524,6 +5305,8 @@ static xtensa_iclass_internal iclasses[] = { 2, Iclass_xt_iclass_xsr_litbase_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_rsr_176_args, 2, Iclass_xt_iclass_rsr_176_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_176_args, + 2, Iclass_xt_iclass_wsr_176_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_rsr_208_args, 2, Iclass_xt_iclass_rsr_208_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_rsr_ps_args, @@ -4580,6 +5363,42 @@ static xtensa_iclass_internal iclasses[] = { 3, Iclass_xt_iclass_wsr_excsave4_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_xsr_excsave4_args, 3, Iclass_xt_iclass_xsr_excsave4_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_epc5_args, + 3, Iclass_xt_iclass_rsr_epc5_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_epc5_args, + 3, Iclass_xt_iclass_wsr_epc5_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_epc5_args, + 3, Iclass_xt_iclass_xsr_epc5_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_excsave5_args, + 3, Iclass_xt_iclass_rsr_excsave5_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_excsave5_args, + 3, Iclass_xt_iclass_wsr_excsave5_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_excsave5_args, + 3, Iclass_xt_iclass_xsr_excsave5_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_epc6_args, + 3, Iclass_xt_iclass_rsr_epc6_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_epc6_args, + 3, Iclass_xt_iclass_wsr_epc6_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_epc6_args, + 3, Iclass_xt_iclass_xsr_epc6_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_excsave6_args, + 3, Iclass_xt_iclass_rsr_excsave6_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_excsave6_args, + 3, Iclass_xt_iclass_wsr_excsave6_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_excsave6_args, + 3, Iclass_xt_iclass_xsr_excsave6_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_epc7_args, + 3, Iclass_xt_iclass_rsr_epc7_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_epc7_args, + 3, Iclass_xt_iclass_wsr_epc7_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_epc7_args, + 3, Iclass_xt_iclass_xsr_epc7_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_excsave7_args, + 3, Iclass_xt_iclass_rsr_excsave7_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_excsave7_args, + 3, Iclass_xt_iclass_wsr_excsave7_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_excsave7_args, + 3, Iclass_xt_iclass_xsr_excsave7_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_rsr_eps2_args, 3, Iclass_xt_iclass_rsr_eps2_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_wsr_eps2_args, @@ -4598,6 +5417,24 @@ static xtensa_iclass_internal iclasses[] = { 3, Iclass_xt_iclass_wsr_eps4_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_xsr_eps4_args, 3, Iclass_xt_iclass_xsr_eps4_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_eps5_args, + 3, Iclass_xt_iclass_rsr_eps5_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_eps5_args, + 3, Iclass_xt_iclass_wsr_eps5_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_eps5_args, + 3, Iclass_xt_iclass_xsr_eps5_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_eps6_args, + 3, Iclass_xt_iclass_rsr_eps6_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_eps6_args, + 3, Iclass_xt_iclass_wsr_eps6_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_eps6_args, + 3, Iclass_xt_iclass_xsr_eps6_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_eps7_args, + 3, Iclass_xt_iclass_rsr_eps7_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_eps7_args, + 3, Iclass_xt_iclass_wsr_eps7_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_eps7_args, + 3, Iclass_xt_iclass_xsr_eps7_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_rsr_excvaddr_args, 3, Iclass_xt_iclass_rsr_excvaddr_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_wsr_excvaddr_args, @@ -4630,8 +5467,16 @@ static xtensa_iclass_internal iclasses[] = { 3, Iclass_xt_iclass_xsr_misc1_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_rsr_prid_args, 2, Iclass_xt_iclass_rsr_prid_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_vecbase_args, + 3, Iclass_xt_iclass_rsr_vecbase_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_vecbase_args, + 3, Iclass_xt_iclass_wsr_vecbase_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_vecbase_args, + 3, Iclass_xt_iclass_xsr_vecbase_stateArgs, 0, 0 }, + { 3, Iclass_xt_iclass_mul16_args, + 0, 0, 0, 0 }, { 1, Iclass_xt_iclass_rfi_args, - 15, Iclass_xt_iclass_rfi_stateArgs, 0, 0 }, + 21, Iclass_xt_iclass_rfi_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_wait_args, 3, Iclass_xt_iclass_wait_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_rsr_interrupt_args, @@ -4716,10 +5561,12 @@ static xtensa_iclass_internal iclasses[] = { 4, Iclass_xt_iclass_wsr_ddr_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_xsr_ddr_args, 4, Iclass_xt_iclass_xsr_ddr_stateArgs, 0, 0 }, - { 0, 0 /* xt_iclass_rfdo */, + { 1, Iclass_xt_iclass_rfdo_args, 10, Iclass_xt_iclass_rfdo_stateArgs, 0, 0 }, { 0, 0 /* xt_iclass_rfdd */, 1, Iclass_xt_iclass_rfdd_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_mmid_args, + 3, Iclass_xt_iclass_wsr_mmid_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_rsr_ccount_args, 3, Iclass_xt_iclass_rsr_ccount_stateArgs, 0, 0 }, { 1, Iclass_xt_iclass_wsr_ccount_args, @@ -4746,6 +5593,8 @@ static xtensa_iclass_internal iclasses[] = { 4, Iclass_xt_iclass_xsr_ccompare2_stateArgs, 0, 0 }, { 2, Iclass_xt_iclass_icache_args, 0, 0, 0, 0 }, + { 2, Iclass_xt_iclass_icache_lock_args, + 2, Iclass_xt_iclass_icache_lock_stateArgs, 0, 0 }, { 2, Iclass_xt_iclass_icache_inv_args, 2, Iclass_xt_iclass_icache_inv_stateArgs, 0, 0 }, { 2, Iclass_xt_iclass_licx_args, @@ -4760,6 +5609,8 @@ static xtensa_iclass_internal iclasses[] = { 2, Iclass_xt_iclass_dcache_inv_stateArgs, 0, 0 }, { 2, Iclass_xt_iclass_dpf_args, 0, 0, 0, 0 }, + { 2, Iclass_xt_iclass_dcache_lock_args, + 2, Iclass_xt_iclass_dcache_lock_stateArgs, 0, 0 }, { 2, Iclass_xt_iclass_sdct_args, 2, Iclass_xt_iclass_sdct_stateArgs, 0, 0 }, { 2, Iclass_xt_iclass_ldct_args, @@ -4806,10 +5657,327 @@ static xtensa_iclass_internal iclasses[] = { 1, Iclass_xt_iclass_hwwitlba_stateArgs, 0, 0 }, { 0, 0 /* xt_iclass_hwwdtlba */, 1, Iclass_xt_iclass_hwwdtlba_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_cpenable_args, + 3, Iclass_xt_iclass_rsr_cpenable_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_cpenable_args, + 3, Iclass_xt_iclass_wsr_cpenable_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_cpenable_args, + 3, Iclass_xt_iclass_xsr_cpenable_stateArgs, 0, 0 }, + { 3, Iclass_xt_iclass_clamp_args, + 0, 0, 0, 0 }, + { 3, Iclass_xt_iclass_minmax_args, + 0, 0, 0, 0 }, { 2, Iclass_xt_iclass_nsa_args, + 0, 0, 0, 0 }, + { 3, Iclass_xt_iclass_sx_args, + 0, 0, 0, 0 }, + { 3, Iclass_xt_iclass_l32ai_args, + 0, 0, 0, 0 }, + { 3, Iclass_xt_iclass_s32ri_args, + 0, 0, 0, 0 }, + { 3, Iclass_xt_iclass_s32c1i_args, + 2, Iclass_xt_iclass_s32c1i_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_rsr_scompare1_args, + 1, Iclass_xt_iclass_rsr_scompare1_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_wsr_scompare1_args, + 1, Iclass_xt_iclass_wsr_scompare1_stateArgs, 0, 0 }, + { 1, Iclass_xt_iclass_xsr_scompare1_args, + 1, Iclass_xt_iclass_xsr_scompare1_stateArgs, 0, 0 }, + { 3, Iclass_xt_iclass_div_args, + 0, 0, 0, 0 }, + { 3, Iclass_xt_mul32_args, 0, 0, 0, 0 } }; +enum xtensa_iclass_id { + ICLASS_xt_iclass_excw, + ICLASS_xt_iclass_rfe, + ICLASS_xt_iclass_rfde, + ICLASS_xt_iclass_syscall, + ICLASS_xt_iclass_simcall, + ICLASS_xt_iclass_call12, + ICLASS_xt_iclass_call8, + ICLASS_xt_iclass_call4, + ICLASS_xt_iclass_callx12, + ICLASS_xt_iclass_callx8, + ICLASS_xt_iclass_callx4, + ICLASS_xt_iclass_entry, + ICLASS_xt_iclass_movsp, + ICLASS_xt_iclass_rotw, + ICLASS_xt_iclass_retw, + ICLASS_xt_iclass_rfwou, + ICLASS_xt_iclass_l32e, + ICLASS_xt_iclass_s32e, + ICLASS_xt_iclass_rsr_windowbase, + ICLASS_xt_iclass_wsr_windowbase, + ICLASS_xt_iclass_xsr_windowbase, + ICLASS_xt_iclass_rsr_windowstart, + ICLASS_xt_iclass_wsr_windowstart, + ICLASS_xt_iclass_xsr_windowstart, + ICLASS_xt_iclass_add_n, + ICLASS_xt_iclass_addi_n, + ICLASS_xt_iclass_bz6, + ICLASS_xt_iclass_ill_n, + ICLASS_xt_iclass_loadi4, + ICLASS_xt_iclass_mov_n, + ICLASS_xt_iclass_movi_n, + ICLASS_xt_iclass_nopn, + ICLASS_xt_iclass_retn, + ICLASS_xt_iclass_storei4, + ICLASS_rur_threadptr, + ICLASS_wur_threadptr, + ICLASS_xt_iclass_addi, + ICLASS_xt_iclass_addmi, + ICLASS_xt_iclass_addsub, + ICLASS_xt_iclass_bit, + ICLASS_xt_iclass_bsi8, + ICLASS_xt_iclass_bsi8b, + ICLASS_xt_iclass_bsi8u, + ICLASS_xt_iclass_bst8, + ICLASS_xt_iclass_bsz12, + ICLASS_xt_iclass_call0, + ICLASS_xt_iclass_callx0, + ICLASS_xt_iclass_exti, + ICLASS_xt_iclass_ill, + ICLASS_xt_iclass_jump, + ICLASS_xt_iclass_jumpx, + ICLASS_xt_iclass_l16ui, + ICLASS_xt_iclass_l16si, + ICLASS_xt_iclass_l32i, + ICLASS_xt_iclass_l32r, + ICLASS_xt_iclass_l8i, + ICLASS_xt_iclass_loop, + ICLASS_xt_iclass_loopz, + ICLASS_xt_iclass_movi, + ICLASS_xt_iclass_movz, + ICLASS_xt_iclass_neg, + ICLASS_xt_iclass_nop, + ICLASS_xt_iclass_return, + ICLASS_xt_iclass_s16i, + ICLASS_xt_iclass_s32i, + ICLASS_xt_iclass_s8i, + ICLASS_xt_iclass_sar, + ICLASS_xt_iclass_sari, + ICLASS_xt_iclass_shifts, + ICLASS_xt_iclass_shiftst, + ICLASS_xt_iclass_shiftt, + ICLASS_xt_iclass_slli, + ICLASS_xt_iclass_srai, + ICLASS_xt_iclass_srli, + ICLASS_xt_iclass_memw, + ICLASS_xt_iclass_extw, + ICLASS_xt_iclass_isync, + ICLASS_xt_iclass_sync, + ICLASS_xt_iclass_rsil, + ICLASS_xt_iclass_rsr_lend, + ICLASS_xt_iclass_wsr_lend, + ICLASS_xt_iclass_xsr_lend, + ICLASS_xt_iclass_rsr_lcount, + ICLASS_xt_iclass_wsr_lcount, + ICLASS_xt_iclass_xsr_lcount, + ICLASS_xt_iclass_rsr_lbeg, + ICLASS_xt_iclass_wsr_lbeg, + ICLASS_xt_iclass_xsr_lbeg, + ICLASS_xt_iclass_rsr_sar, + ICLASS_xt_iclass_wsr_sar, + ICLASS_xt_iclass_xsr_sar, + ICLASS_xt_iclass_rsr_litbase, + ICLASS_xt_iclass_wsr_litbase, + ICLASS_xt_iclass_xsr_litbase, + ICLASS_xt_iclass_rsr_176, + ICLASS_xt_iclass_wsr_176, + ICLASS_xt_iclass_rsr_208, + ICLASS_xt_iclass_rsr_ps, + ICLASS_xt_iclass_wsr_ps, + ICLASS_xt_iclass_xsr_ps, + ICLASS_xt_iclass_rsr_epc1, + ICLASS_xt_iclass_wsr_epc1, + ICLASS_xt_iclass_xsr_epc1, + ICLASS_xt_iclass_rsr_excsave1, + ICLASS_xt_iclass_wsr_excsave1, + ICLASS_xt_iclass_xsr_excsave1, + ICLASS_xt_iclass_rsr_epc2, + ICLASS_xt_iclass_wsr_epc2, + ICLASS_xt_iclass_xsr_epc2, + ICLASS_xt_iclass_rsr_excsave2, + ICLASS_xt_iclass_wsr_excsave2, + ICLASS_xt_iclass_xsr_excsave2, + ICLASS_xt_iclass_rsr_epc3, + ICLASS_xt_iclass_wsr_epc3, + ICLASS_xt_iclass_xsr_epc3, + ICLASS_xt_iclass_rsr_excsave3, + ICLASS_xt_iclass_wsr_excsave3, + ICLASS_xt_iclass_xsr_excsave3, + ICLASS_xt_iclass_rsr_epc4, + ICLASS_xt_iclass_wsr_epc4, + ICLASS_xt_iclass_xsr_epc4, + ICLASS_xt_iclass_rsr_excsave4, + ICLASS_xt_iclass_wsr_excsave4, + ICLASS_xt_iclass_xsr_excsave4, + ICLASS_xt_iclass_rsr_epc5, + ICLASS_xt_iclass_wsr_epc5, + ICLASS_xt_iclass_xsr_epc5, + ICLASS_xt_iclass_rsr_excsave5, + ICLASS_xt_iclass_wsr_excsave5, + ICLASS_xt_iclass_xsr_excsave5, + ICLASS_xt_iclass_rsr_epc6, + ICLASS_xt_iclass_wsr_epc6, + ICLASS_xt_iclass_xsr_epc6, + ICLASS_xt_iclass_rsr_excsave6, + ICLASS_xt_iclass_wsr_excsave6, + ICLASS_xt_iclass_xsr_excsave6, + ICLASS_xt_iclass_rsr_epc7, + ICLASS_xt_iclass_wsr_epc7, + ICLASS_xt_iclass_xsr_epc7, + ICLASS_xt_iclass_rsr_excsave7, + ICLASS_xt_iclass_wsr_excsave7, + ICLASS_xt_iclass_xsr_excsave7, + ICLASS_xt_iclass_rsr_eps2, + ICLASS_xt_iclass_wsr_eps2, + ICLASS_xt_iclass_xsr_eps2, + ICLASS_xt_iclass_rsr_eps3, + ICLASS_xt_iclass_wsr_eps3, + ICLASS_xt_iclass_xsr_eps3, + ICLASS_xt_iclass_rsr_eps4, + ICLASS_xt_iclass_wsr_eps4, + ICLASS_xt_iclass_xsr_eps4, + ICLASS_xt_iclass_rsr_eps5, + ICLASS_xt_iclass_wsr_eps5, + ICLASS_xt_iclass_xsr_eps5, + ICLASS_xt_iclass_rsr_eps6, + ICLASS_xt_iclass_wsr_eps6, + ICLASS_xt_iclass_xsr_eps6, + ICLASS_xt_iclass_rsr_eps7, + ICLASS_xt_iclass_wsr_eps7, + ICLASS_xt_iclass_xsr_eps7, + ICLASS_xt_iclass_rsr_excvaddr, + ICLASS_xt_iclass_wsr_excvaddr, + ICLASS_xt_iclass_xsr_excvaddr, + ICLASS_xt_iclass_rsr_depc, + ICLASS_xt_iclass_wsr_depc, + ICLASS_xt_iclass_xsr_depc, + ICLASS_xt_iclass_rsr_exccause, + ICLASS_xt_iclass_wsr_exccause, + ICLASS_xt_iclass_xsr_exccause, + ICLASS_xt_iclass_rsr_misc0, + ICLASS_xt_iclass_wsr_misc0, + ICLASS_xt_iclass_xsr_misc0, + ICLASS_xt_iclass_rsr_misc1, + ICLASS_xt_iclass_wsr_misc1, + ICLASS_xt_iclass_xsr_misc1, + ICLASS_xt_iclass_rsr_prid, + ICLASS_xt_iclass_rsr_vecbase, + ICLASS_xt_iclass_wsr_vecbase, + ICLASS_xt_iclass_xsr_vecbase, + ICLASS_xt_iclass_mul16, + ICLASS_xt_iclass_rfi, + ICLASS_xt_iclass_wait, + ICLASS_xt_iclass_rsr_interrupt, + ICLASS_xt_iclass_wsr_intset, + ICLASS_xt_iclass_wsr_intclear, + ICLASS_xt_iclass_rsr_intenable, + ICLASS_xt_iclass_wsr_intenable, + ICLASS_xt_iclass_xsr_intenable, + ICLASS_xt_iclass_break, + ICLASS_xt_iclass_break_n, + ICLASS_xt_iclass_rsr_dbreaka0, + ICLASS_xt_iclass_wsr_dbreaka0, + ICLASS_xt_iclass_xsr_dbreaka0, + ICLASS_xt_iclass_rsr_dbreakc0, + ICLASS_xt_iclass_wsr_dbreakc0, + ICLASS_xt_iclass_xsr_dbreakc0, + ICLASS_xt_iclass_rsr_dbreaka1, + ICLASS_xt_iclass_wsr_dbreaka1, + ICLASS_xt_iclass_xsr_dbreaka1, + ICLASS_xt_iclass_rsr_dbreakc1, + ICLASS_xt_iclass_wsr_dbreakc1, + ICLASS_xt_iclass_xsr_dbreakc1, + ICLASS_xt_iclass_rsr_ibreaka0, + ICLASS_xt_iclass_wsr_ibreaka0, + ICLASS_xt_iclass_xsr_ibreaka0, + ICLASS_xt_iclass_rsr_ibreaka1, + ICLASS_xt_iclass_wsr_ibreaka1, + ICLASS_xt_iclass_xsr_ibreaka1, + ICLASS_xt_iclass_rsr_ibreakenable, + ICLASS_xt_iclass_wsr_ibreakenable, + ICLASS_xt_iclass_xsr_ibreakenable, + ICLASS_xt_iclass_rsr_debugcause, + ICLASS_xt_iclass_wsr_debugcause, + ICLASS_xt_iclass_xsr_debugcause, + ICLASS_xt_iclass_rsr_icount, + ICLASS_xt_iclass_wsr_icount, + ICLASS_xt_iclass_xsr_icount, + ICLASS_xt_iclass_rsr_icountlevel, + ICLASS_xt_iclass_wsr_icountlevel, + ICLASS_xt_iclass_xsr_icountlevel, + ICLASS_xt_iclass_rsr_ddr, + ICLASS_xt_iclass_wsr_ddr, + ICLASS_xt_iclass_xsr_ddr, + ICLASS_xt_iclass_rfdo, + ICLASS_xt_iclass_rfdd, + ICLASS_xt_iclass_wsr_mmid, + ICLASS_xt_iclass_rsr_ccount, + ICLASS_xt_iclass_wsr_ccount, + ICLASS_xt_iclass_xsr_ccount, + ICLASS_xt_iclass_rsr_ccompare0, + ICLASS_xt_iclass_wsr_ccompare0, + ICLASS_xt_iclass_xsr_ccompare0, + ICLASS_xt_iclass_rsr_ccompare1, + ICLASS_xt_iclass_wsr_ccompare1, + ICLASS_xt_iclass_xsr_ccompare1, + ICLASS_xt_iclass_rsr_ccompare2, + ICLASS_xt_iclass_wsr_ccompare2, + ICLASS_xt_iclass_xsr_ccompare2, + ICLASS_xt_iclass_icache, + ICLASS_xt_iclass_icache_lock, + ICLASS_xt_iclass_icache_inv, + ICLASS_xt_iclass_licx, + ICLASS_xt_iclass_sicx, + ICLASS_xt_iclass_dcache, + ICLASS_xt_iclass_dcache_ind, + ICLASS_xt_iclass_dcache_inv, + ICLASS_xt_iclass_dpf, + ICLASS_xt_iclass_dcache_lock, + ICLASS_xt_iclass_sdct, + ICLASS_xt_iclass_ldct, + ICLASS_xt_iclass_wsr_ptevaddr, + ICLASS_xt_iclass_rsr_ptevaddr, + ICLASS_xt_iclass_xsr_ptevaddr, + ICLASS_xt_iclass_rsr_rasid, + ICLASS_xt_iclass_wsr_rasid, + ICLASS_xt_iclass_xsr_rasid, + ICLASS_xt_iclass_rsr_itlbcfg, + ICLASS_xt_iclass_wsr_itlbcfg, + ICLASS_xt_iclass_xsr_itlbcfg, + ICLASS_xt_iclass_rsr_dtlbcfg, + ICLASS_xt_iclass_wsr_dtlbcfg, + ICLASS_xt_iclass_xsr_dtlbcfg, + ICLASS_xt_iclass_idtlb, + ICLASS_xt_iclass_rdtlb, + ICLASS_xt_iclass_wdtlb, + ICLASS_xt_iclass_iitlb, + ICLASS_xt_iclass_ritlb, + ICLASS_xt_iclass_witlb, + ICLASS_xt_iclass_ldpte, + ICLASS_xt_iclass_hwwitlba, + ICLASS_xt_iclass_hwwdtlba, + ICLASS_xt_iclass_rsr_cpenable, + ICLASS_xt_iclass_wsr_cpenable, + ICLASS_xt_iclass_xsr_cpenable, + ICLASS_xt_iclass_clamp, + ICLASS_xt_iclass_minmax, + ICLASS_xt_iclass_nsa, + ICLASS_xt_iclass_sx, + ICLASS_xt_iclass_l32ai, + ICLASS_xt_iclass_s32ri, + ICLASS_xt_iclass_s32c1i, + ICLASS_xt_iclass_rsr_scompare1, + ICLASS_xt_iclass_wsr_scompare1, + ICLASS_xt_iclass_xsr_scompare1, + ICLASS_xt_iclass_div, + ICLASS_xt_mul32 +}; + /* Opcode encodings. */ @@ -5036,6 +6204,18 @@ Opcode_s32i_n_Slot_inst16a_encode (xtensa_insnbuf slotbuf) } static void +Opcode_rur_threadptr_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x7e03e; +} + +static void +Opcode_wur_threadptr_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xe73f; +} + +static void Opcode_addi_Slot_inst_encode (xtensa_insnbuf slotbuf) { slotbuf[0] = 0x200c00; @@ -5624,6 +6804,12 @@ Opcode_rsr_176_Slot_inst_encode (xtensa_insnbuf slotbuf) } static void +Opcode_wsr_176_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xb031; +} + +static void Opcode_rsr_208_Slot_inst_encode (xtensa_insnbuf slotbuf) { slotbuf[0] = 0xd030; @@ -5792,6 +6978,114 @@ Opcode_xsr_excsave4_Slot_inst_encode (xtensa_insnbuf slotbuf) } static void +Opcode_rsr_epc5_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xb530; +} + +static void +Opcode_wsr_epc5_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xb531; +} + +static void +Opcode_xsr_epc5_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xb516; +} + +static void +Opcode_rsr_excsave5_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xd530; +} + +static void +Opcode_wsr_excsave5_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xd531; +} + +static void +Opcode_xsr_excsave5_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xd516; +} + +static void +Opcode_rsr_epc6_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xb630; +} + +static void +Opcode_wsr_epc6_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xb631; +} + +static void +Opcode_xsr_epc6_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xb616; +} + +static void +Opcode_rsr_excsave6_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xd630; +} + +static void +Opcode_wsr_excsave6_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xd631; +} + +static void +Opcode_xsr_excsave6_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xd616; +} + +static void +Opcode_rsr_epc7_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xb730; +} + +static void +Opcode_wsr_epc7_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xb731; +} + +static void +Opcode_xsr_epc7_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xb716; +} + +static void +Opcode_rsr_excsave7_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xd730; +} + +static void +Opcode_wsr_excsave7_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xd731; +} + +static void +Opcode_xsr_excsave7_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xd716; +} + +static void Opcode_rsr_eps2_Slot_inst_encode (xtensa_insnbuf slotbuf) { slotbuf[0] = 0xc230; @@ -5846,6 +7140,60 @@ Opcode_xsr_eps4_Slot_inst_encode (xtensa_insnbuf slotbuf) } static void +Opcode_rsr_eps5_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc530; +} + +static void +Opcode_wsr_eps5_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc531; +} + +static void +Opcode_xsr_eps5_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc516; +} + +static void +Opcode_rsr_eps6_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc630; +} + +static void +Opcode_wsr_eps6_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc631; +} + +static void +Opcode_xsr_eps6_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc616; +} + +static void +Opcode_rsr_eps7_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc730; +} + +static void +Opcode_wsr_eps7_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc731; +} + +static void +Opcode_xsr_eps7_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc716; +} + +static void Opcode_rsr_excvaddr_Slot_inst_encode (xtensa_insnbuf slotbuf) { slotbuf[0] = 0xee30; @@ -5942,6 +7290,36 @@ Opcode_rsr_prid_Slot_inst_encode (xtensa_insnbuf slotbuf) } static void +Opcode_rsr_vecbase_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xe730; +} + +static void +Opcode_wsr_vecbase_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xe731; +} + +static void +Opcode_xsr_vecbase_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xe716; +} + +static void +Opcode_mul16u_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x1c; +} + +static void +Opcode_mul16s_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x1d; +} + +static void Opcode_rfi_Slot_inst_encode (xtensa_insnbuf slotbuf) { slotbuf[0] = 0x10300; @@ -6212,6 +7590,12 @@ Opcode_rfdd_Slot_inst_encode (xtensa_insnbuf slotbuf) } static void +Opcode_wsr_mmid_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x5931; +} + +static void Opcode_rsr_ccount_Slot_inst_encode (xtensa_insnbuf slotbuf) { slotbuf[0] = 0xea30; @@ -6296,6 +7680,24 @@ Opcode_ihi_Slot_inst_encode (xtensa_insnbuf slotbuf) } static void +Opcode_ipfl_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x2d0700; +} + +static void +Opcode_ihu_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x2d0720; +} + +static void +Opcode_iiu_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x2d0730; +} + +static void Opcode_iii_Slot_inst_encode (xtensa_insnbuf slotbuf) { slotbuf[0] = 0x2f0700; @@ -6386,6 +7788,24 @@ Opcode_dpfwo_Slot_inst_encode (xtensa_insnbuf slotbuf) } static void +Opcode_dpfl_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x280700; +} + +static void +Opcode_dhu_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x280720; +} + +static void +Opcode_diu_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x280730; +} + +static void Opcode_sdct_Slot_inst_encode (xtensa_insnbuf slotbuf) { slotbuf[0] = 0x91f; @@ -6548,6 +7968,54 @@ Opcode_hwwdtlba_Slot_inst_encode (xtensa_insnbuf slotbuf) } static void +Opcode_rsr_cpenable_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xe030; +} + +static void +Opcode_wsr_cpenable_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xe031; +} + +static void +Opcode_xsr_cpenable_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xe016; +} + +static void +Opcode_clamps_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x33; +} + +static void +Opcode_min_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x34; +} + +static void +Opcode_max_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x35; +} + +static void +Opcode_minu_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x36; +} + +static void +Opcode_maxu_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x37; +} + +static void Opcode_nsa_Slot_inst_encode (xtensa_insnbuf slotbuf) { slotbuf[0] = 0xe04; @@ -6559,6 +8027,78 @@ Opcode_nsau_Slot_inst_encode (xtensa_insnbuf slotbuf) slotbuf[0] = 0xf04; } +static void +Opcode_sext_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x32; +} + +static void +Opcode_l32ai_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x200b00; +} + +static void +Opcode_s32ri_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x200f00; +} + +static void +Opcode_s32c1i_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x200e00; +} + +static void +Opcode_rsr_scompare1_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc30; +} + +static void +Opcode_wsr_scompare1_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc31; +} + +static void +Opcode_xsr_scompare1_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0xc16; +} + +static void +Opcode_quou_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x2c; +} + +static void +Opcode_quos_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x2d; +} + +static void +Opcode_remu_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x2e; +} + +static void +Opcode_rems_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x2f; +} + +static void +Opcode_mull_Slot_inst_encode (xtensa_insnbuf slotbuf) +{ + slotbuf[0] = 0x28; +} + xtensa_opcode_encode_fn Opcode_excw_encode_fns[] = { Opcode_excw_Slot_inst_encode, 0, 0 }; @@ -6707,6 +8247,14 @@ xtensa_opcode_encode_fn Opcode_s32i_n_encode_fns[] = { 0, Opcode_s32i_n_Slot_inst16a_encode, 0 }; +xtensa_opcode_encode_fn Opcode_rur_threadptr_encode_fns[] = { + Opcode_rur_threadptr_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wur_threadptr_encode_fns[] = { + Opcode_wur_threadptr_Slot_inst_encode, 0, 0 +}; + xtensa_opcode_encode_fn Opcode_addi_encode_fns[] = { Opcode_addi_Slot_inst_encode, 0, 0 }; @@ -7099,6 +8647,10 @@ xtensa_opcode_encode_fn Opcode_rsr_176_encode_fns[] = { Opcode_rsr_176_Slot_inst_encode, 0, 0 }; +xtensa_opcode_encode_fn Opcode_wsr_176_encode_fns[] = { + Opcode_wsr_176_Slot_inst_encode, 0, 0 +}; + xtensa_opcode_encode_fn Opcode_rsr_208_encode_fns[] = { Opcode_rsr_208_Slot_inst_encode, 0, 0 }; @@ -7211,6 +8763,78 @@ xtensa_opcode_encode_fn Opcode_xsr_excsave4_encode_fns[] = { Opcode_xsr_excsave4_Slot_inst_encode, 0, 0 }; +xtensa_opcode_encode_fn Opcode_rsr_epc5_encode_fns[] = { + Opcode_rsr_epc5_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_epc5_encode_fns[] = { + Opcode_wsr_epc5_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_epc5_encode_fns[] = { + Opcode_xsr_epc5_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_rsr_excsave5_encode_fns[] = { + Opcode_rsr_excsave5_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_excsave5_encode_fns[] = { + Opcode_wsr_excsave5_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_excsave5_encode_fns[] = { + Opcode_xsr_excsave5_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_rsr_epc6_encode_fns[] = { + Opcode_rsr_epc6_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_epc6_encode_fns[] = { + Opcode_wsr_epc6_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_epc6_encode_fns[] = { + Opcode_xsr_epc6_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_rsr_excsave6_encode_fns[] = { + Opcode_rsr_excsave6_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_excsave6_encode_fns[] = { + Opcode_wsr_excsave6_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_excsave6_encode_fns[] = { + Opcode_xsr_excsave6_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_rsr_epc7_encode_fns[] = { + Opcode_rsr_epc7_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_epc7_encode_fns[] = { + Opcode_wsr_epc7_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_epc7_encode_fns[] = { + Opcode_xsr_epc7_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_rsr_excsave7_encode_fns[] = { + Opcode_rsr_excsave7_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_excsave7_encode_fns[] = { + Opcode_wsr_excsave7_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_excsave7_encode_fns[] = { + Opcode_xsr_excsave7_Slot_inst_encode, 0, 0 +}; + xtensa_opcode_encode_fn Opcode_rsr_eps2_encode_fns[] = { Opcode_rsr_eps2_Slot_inst_encode, 0, 0 }; @@ -7247,6 +8871,42 @@ xtensa_opcode_encode_fn Opcode_xsr_eps4_encode_fns[] = { Opcode_xsr_eps4_Slot_inst_encode, 0, 0 }; +xtensa_opcode_encode_fn Opcode_rsr_eps5_encode_fns[] = { + Opcode_rsr_eps5_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_eps5_encode_fns[] = { + Opcode_wsr_eps5_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_eps5_encode_fns[] = { + Opcode_xsr_eps5_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_rsr_eps6_encode_fns[] = { + Opcode_rsr_eps6_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_eps6_encode_fns[] = { + Opcode_wsr_eps6_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_eps6_encode_fns[] = { + Opcode_xsr_eps6_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_rsr_eps7_encode_fns[] = { + Opcode_rsr_eps7_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_eps7_encode_fns[] = { + Opcode_wsr_eps7_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_eps7_encode_fns[] = { + Opcode_xsr_eps7_Slot_inst_encode, 0, 0 +}; + xtensa_opcode_encode_fn Opcode_rsr_excvaddr_encode_fns[] = { Opcode_rsr_excvaddr_Slot_inst_encode, 0, 0 }; @@ -7311,6 +8971,26 @@ xtensa_opcode_encode_fn Opcode_rsr_prid_encode_fns[] = { Opcode_rsr_prid_Slot_inst_encode, 0, 0 }; +xtensa_opcode_encode_fn Opcode_rsr_vecbase_encode_fns[] = { + Opcode_rsr_vecbase_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_vecbase_encode_fns[] = { + Opcode_wsr_vecbase_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_vecbase_encode_fns[] = { + Opcode_xsr_vecbase_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_mul16u_encode_fns[] = { + Opcode_mul16u_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_mul16s_encode_fns[] = { + Opcode_mul16s_Slot_inst_encode, 0, 0 +}; + xtensa_opcode_encode_fn Opcode_rfi_encode_fns[] = { Opcode_rfi_Slot_inst_encode, 0, 0 }; @@ -7491,6 +9171,10 @@ xtensa_opcode_encode_fn Opcode_rfdd_encode_fns[] = { Opcode_rfdd_Slot_inst_encode, 0, 0 }; +xtensa_opcode_encode_fn Opcode_wsr_mmid_encode_fns[] = { + Opcode_wsr_mmid_Slot_inst_encode, 0, 0 +}; + xtensa_opcode_encode_fn Opcode_rsr_ccount_encode_fns[] = { Opcode_rsr_ccount_Slot_inst_encode, 0, 0 }; @@ -7547,6 +9231,18 @@ xtensa_opcode_encode_fn Opcode_ihi_encode_fns[] = { Opcode_ihi_Slot_inst_encode, 0, 0 }; +xtensa_opcode_encode_fn Opcode_ipfl_encode_fns[] = { + Opcode_ipfl_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_ihu_encode_fns[] = { + Opcode_ihu_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_iiu_encode_fns[] = { + Opcode_iiu_Slot_inst_encode, 0, 0 +}; + xtensa_opcode_encode_fn Opcode_iii_encode_fns[] = { Opcode_iii_Slot_inst_encode, 0, 0 }; @@ -7607,6 +9303,18 @@ xtensa_opcode_encode_fn Opcode_dpfwo_encode_fns[] = { Opcode_dpfwo_Slot_inst_encode, 0, 0 }; +xtensa_opcode_encode_fn Opcode_dpfl_encode_fns[] = { + Opcode_dpfl_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_dhu_encode_fns[] = { + Opcode_dhu_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_diu_encode_fns[] = { + Opcode_diu_Slot_inst_encode, 0, 0 +}; + xtensa_opcode_encode_fn Opcode_sdct_encode_fns[] = { Opcode_sdct_Slot_inst_encode, 0, 0 }; @@ -7715,6 +9423,38 @@ xtensa_opcode_encode_fn Opcode_hwwdtlba_encode_fns[] = { Opcode_hwwdtlba_Slot_inst_encode, 0, 0 }; +xtensa_opcode_encode_fn Opcode_rsr_cpenable_encode_fns[] = { + Opcode_rsr_cpenable_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_cpenable_encode_fns[] = { + Opcode_wsr_cpenable_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_cpenable_encode_fns[] = { + Opcode_xsr_cpenable_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_clamps_encode_fns[] = { + Opcode_clamps_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_min_encode_fns[] = { + Opcode_min_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_max_encode_fns[] = { + Opcode_max_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_minu_encode_fns[] = { + Opcode_minu_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_maxu_encode_fns[] = { + Opcode_maxu_Slot_inst_encode, 0, 0 +}; + xtensa_opcode_encode_fn Opcode_nsa_encode_fns[] = { Opcode_nsa_Slot_inst_encode, 0, 0 }; @@ -7723,883 +9463,1473 @@ xtensa_opcode_encode_fn Opcode_nsau_encode_fns[] = { Opcode_nsau_Slot_inst_encode, 0, 0 }; +xtensa_opcode_encode_fn Opcode_sext_encode_fns[] = { + Opcode_sext_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_l32ai_encode_fns[] = { + Opcode_l32ai_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_s32ri_encode_fns[] = { + Opcode_s32ri_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_s32c1i_encode_fns[] = { + Opcode_s32c1i_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_rsr_scompare1_encode_fns[] = { + Opcode_rsr_scompare1_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_wsr_scompare1_encode_fns[] = { + Opcode_wsr_scompare1_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_xsr_scompare1_encode_fns[] = { + Opcode_xsr_scompare1_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_quou_encode_fns[] = { + Opcode_quou_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_quos_encode_fns[] = { + Opcode_quos_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_remu_encode_fns[] = { + Opcode_remu_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_rems_encode_fns[] = { + Opcode_rems_Slot_inst_encode, 0, 0 +}; + +xtensa_opcode_encode_fn Opcode_mull_encode_fns[] = { + Opcode_mull_Slot_inst_encode, 0, 0 +}; + /* Opcode table. */ static xtensa_opcode_internal opcodes[] = { - { "excw", 0 /* xt_iclass_excw */, + { "excw", ICLASS_xt_iclass_excw, 0, Opcode_excw_encode_fns, 0, 0 }, - { "rfe", 1 /* xt_iclass_rfe */, + { "rfe", ICLASS_xt_iclass_rfe, XTENSA_OPCODE_IS_JUMP, Opcode_rfe_encode_fns, 0, 0 }, - { "rfde", 2 /* xt_iclass_rfde */, + { "rfde", ICLASS_xt_iclass_rfde, XTENSA_OPCODE_IS_JUMP, Opcode_rfde_encode_fns, 0, 0 }, - { "syscall", 3 /* xt_iclass_syscall */, + { "syscall", ICLASS_xt_iclass_syscall, 0, Opcode_syscall_encode_fns, 0, 0 }, - { "simcall", 4 /* xt_iclass_simcall */, + { "simcall", ICLASS_xt_iclass_simcall, 0, Opcode_simcall_encode_fns, 0, 0 }, - { "call12", 5 /* xt_iclass_call12 */, + { "call12", ICLASS_xt_iclass_call12, XTENSA_OPCODE_IS_CALL, Opcode_call12_encode_fns, 0, 0 }, - { "call8", 6 /* xt_iclass_call8 */, + { "call8", ICLASS_xt_iclass_call8, XTENSA_OPCODE_IS_CALL, Opcode_call8_encode_fns, 0, 0 }, - { "call4", 7 /* xt_iclass_call4 */, + { "call4", ICLASS_xt_iclass_call4, XTENSA_OPCODE_IS_CALL, Opcode_call4_encode_fns, 0, 0 }, - { "callx12", 8 /* xt_iclass_callx12 */, + { "callx12", ICLASS_xt_iclass_callx12, XTENSA_OPCODE_IS_CALL, Opcode_callx12_encode_fns, 0, 0 }, - { "callx8", 9 /* xt_iclass_callx8 */, + { "callx8", ICLASS_xt_iclass_callx8, XTENSA_OPCODE_IS_CALL, Opcode_callx8_encode_fns, 0, 0 }, - { "callx4", 10 /* xt_iclass_callx4 */, + { "callx4", ICLASS_xt_iclass_callx4, XTENSA_OPCODE_IS_CALL, Opcode_callx4_encode_fns, 0, 0 }, - { "entry", 11 /* xt_iclass_entry */, + { "entry", ICLASS_xt_iclass_entry, 0, Opcode_entry_encode_fns, 0, 0 }, - { "movsp", 12 /* xt_iclass_movsp */, + { "movsp", ICLASS_xt_iclass_movsp, 0, Opcode_movsp_encode_fns, 0, 0 }, - { "rotw", 13 /* xt_iclass_rotw */, + { "rotw", ICLASS_xt_iclass_rotw, 0, Opcode_rotw_encode_fns, 0, 0 }, - { "retw", 14 /* xt_iclass_retw */, + { "retw", ICLASS_xt_iclass_retw, XTENSA_OPCODE_IS_JUMP, Opcode_retw_encode_fns, 0, 0 }, - { "retw.n", 14 /* xt_iclass_retw */, + { "retw.n", ICLASS_xt_iclass_retw, XTENSA_OPCODE_IS_JUMP, Opcode_retw_n_encode_fns, 0, 0 }, - { "rfwo", 15 /* xt_iclass_rfwou */, + { "rfwo", ICLASS_xt_iclass_rfwou, XTENSA_OPCODE_IS_JUMP, Opcode_rfwo_encode_fns, 0, 0 }, - { "rfwu", 15 /* xt_iclass_rfwou */, + { "rfwu", ICLASS_xt_iclass_rfwou, XTENSA_OPCODE_IS_JUMP, Opcode_rfwu_encode_fns, 0, 0 }, - { "l32e", 16 /* xt_iclass_l32e */, + { "l32e", ICLASS_xt_iclass_l32e, 0, Opcode_l32e_encode_fns, 0, 0 }, - { "s32e", 17 /* xt_iclass_s32e */, + { "s32e", ICLASS_xt_iclass_s32e, 0, Opcode_s32e_encode_fns, 0, 0 }, - { "rsr.windowbase", 18 /* xt_iclass_rsr.windowbase */, + { "rsr.windowbase", ICLASS_xt_iclass_rsr_windowbase, 0, Opcode_rsr_windowbase_encode_fns, 0, 0 }, - { "wsr.windowbase", 19 /* xt_iclass_wsr.windowbase */, + { "wsr.windowbase", ICLASS_xt_iclass_wsr_windowbase, 0, Opcode_wsr_windowbase_encode_fns, 0, 0 }, - { "xsr.windowbase", 20 /* xt_iclass_xsr.windowbase */, + { "xsr.windowbase", ICLASS_xt_iclass_xsr_windowbase, 0, Opcode_xsr_windowbase_encode_fns, 0, 0 }, - { "rsr.windowstart", 21 /* xt_iclass_rsr.windowstart */, + { "rsr.windowstart", ICLASS_xt_iclass_rsr_windowstart, 0, Opcode_rsr_windowstart_encode_fns, 0, 0 }, - { "wsr.windowstart", 22 /* xt_iclass_wsr.windowstart */, + { "wsr.windowstart", ICLASS_xt_iclass_wsr_windowstart, 0, Opcode_wsr_windowstart_encode_fns, 0, 0 }, - { "xsr.windowstart", 23 /* xt_iclass_xsr.windowstart */, + { "xsr.windowstart", ICLASS_xt_iclass_xsr_windowstart, 0, Opcode_xsr_windowstart_encode_fns, 0, 0 }, - { "add.n", 24 /* xt_iclass_add.n */, + { "add.n", ICLASS_xt_iclass_add_n, 0, Opcode_add_n_encode_fns, 0, 0 }, - { "addi.n", 25 /* xt_iclass_addi.n */, + { "addi.n", ICLASS_xt_iclass_addi_n, 0, Opcode_addi_n_encode_fns, 0, 0 }, - { "beqz.n", 26 /* xt_iclass_bz6 */, + { "beqz.n", ICLASS_xt_iclass_bz6, XTENSA_OPCODE_IS_BRANCH, Opcode_beqz_n_encode_fns, 0, 0 }, - { "bnez.n", 26 /* xt_iclass_bz6 */, + { "bnez.n", ICLASS_xt_iclass_bz6, XTENSA_OPCODE_IS_BRANCH, Opcode_bnez_n_encode_fns, 0, 0 }, - { "ill.n", 27 /* xt_iclass_ill.n */, + { "ill.n", ICLASS_xt_iclass_ill_n, 0, Opcode_ill_n_encode_fns, 0, 0 }, - { "l32i.n", 28 /* xt_iclass_loadi4 */, + { "l32i.n", ICLASS_xt_iclass_loadi4, 0, Opcode_l32i_n_encode_fns, 0, 0 }, - { "mov.n", 29 /* xt_iclass_mov.n */, + { "mov.n", ICLASS_xt_iclass_mov_n, 0, Opcode_mov_n_encode_fns, 0, 0 }, - { "movi.n", 30 /* xt_iclass_movi.n */, + { "movi.n", ICLASS_xt_iclass_movi_n, 0, Opcode_movi_n_encode_fns, 0, 0 }, - { "nop.n", 31 /* xt_iclass_nopn */, + { "nop.n", ICLASS_xt_iclass_nopn, 0, Opcode_nop_n_encode_fns, 0, 0 }, - { "ret.n", 32 /* xt_iclass_retn */, + { "ret.n", ICLASS_xt_iclass_retn, XTENSA_OPCODE_IS_JUMP, Opcode_ret_n_encode_fns, 0, 0 }, - { "s32i.n", 33 /* xt_iclass_storei4 */, + { "s32i.n", ICLASS_xt_iclass_storei4, 0, Opcode_s32i_n_encode_fns, 0, 0 }, - { "addi", 34 /* xt_iclass_addi */, + { "rur.threadptr", ICLASS_rur_threadptr, + 0, + Opcode_rur_threadptr_encode_fns, 0, 0 }, + { "wur.threadptr", ICLASS_wur_threadptr, + 0, + Opcode_wur_threadptr_encode_fns, 0, 0 }, + { "addi", ICLASS_xt_iclass_addi, 0, Opcode_addi_encode_fns, 0, 0 }, - { "addmi", 35 /* xt_iclass_addmi */, + { "addmi", ICLASS_xt_iclass_addmi, 0, Opcode_addmi_encode_fns, 0, 0 }, - { "add", 36 /* xt_iclass_addsub */, + { "add", ICLASS_xt_iclass_addsub, 0, Opcode_add_encode_fns, 0, 0 }, - { "sub", 36 /* xt_iclass_addsub */, + { "sub", ICLASS_xt_iclass_addsub, 0, Opcode_sub_encode_fns, 0, 0 }, - { "addx2", 36 /* xt_iclass_addsub */, + { "addx2", ICLASS_xt_iclass_addsub, 0, Opcode_addx2_encode_fns, 0, 0 }, - { "addx4", 36 /* xt_iclass_addsub */, + { "addx4", ICLASS_xt_iclass_addsub, 0, Opcode_addx4_encode_fns, 0, 0 }, - { "addx8", 36 /* xt_iclass_addsub */, + { "addx8", ICLASS_xt_iclass_addsub, 0, Opcode_addx8_encode_fns, 0, 0 }, - { "subx2", 36 /* xt_iclass_addsub */, + { "subx2", ICLASS_xt_iclass_addsub, 0, Opcode_subx2_encode_fns, 0, 0 }, - { "subx4", 36 /* xt_iclass_addsub */, + { "subx4", ICLASS_xt_iclass_addsub, 0, Opcode_subx4_encode_fns, 0, 0 }, - { "subx8", 36 /* xt_iclass_addsub */, + { "subx8", ICLASS_xt_iclass_addsub, 0, Opcode_subx8_encode_fns, 0, 0 }, - { "and", 37 /* xt_iclass_bit */, + { "and", ICLASS_xt_iclass_bit, 0, Opcode_and_encode_fns, 0, 0 }, - { "or", 37 /* xt_iclass_bit */, + { "or", ICLASS_xt_iclass_bit, 0, Opcode_or_encode_fns, 0, 0 }, - { "xor", 37 /* xt_iclass_bit */, + { "xor", ICLASS_xt_iclass_bit, 0, Opcode_xor_encode_fns, 0, 0 }, - { "beqi", 38 /* xt_iclass_bsi8 */, + { "beqi", ICLASS_xt_iclass_bsi8, XTENSA_OPCODE_IS_BRANCH, Opcode_beqi_encode_fns, 0, 0 }, - { "bnei", 38 /* xt_iclass_bsi8 */, + { "bnei", ICLASS_xt_iclass_bsi8, XTENSA_OPCODE_IS_BRANCH, Opcode_bnei_encode_fns, 0, 0 }, - { "bgei", 38 /* xt_iclass_bsi8 */, + { "bgei", ICLASS_xt_iclass_bsi8, XTENSA_OPCODE_IS_BRANCH, Opcode_bgei_encode_fns, 0, 0 }, - { "blti", 38 /* xt_iclass_bsi8 */, + { "blti", ICLASS_xt_iclass_bsi8, XTENSA_OPCODE_IS_BRANCH, Opcode_blti_encode_fns, 0, 0 }, - { "bbci", 39 /* xt_iclass_bsi8b */, + { "bbci", ICLASS_xt_iclass_bsi8b, XTENSA_OPCODE_IS_BRANCH, Opcode_bbci_encode_fns, 0, 0 }, - { "bbsi", 39 /* xt_iclass_bsi8b */, + { "bbsi", ICLASS_xt_iclass_bsi8b, XTENSA_OPCODE_IS_BRANCH, Opcode_bbsi_encode_fns, 0, 0 }, - { "bgeui", 40 /* xt_iclass_bsi8u */, + { "bgeui", ICLASS_xt_iclass_bsi8u, XTENSA_OPCODE_IS_BRANCH, Opcode_bgeui_encode_fns, 0, 0 }, - { "bltui", 40 /* xt_iclass_bsi8u */, + { "bltui", ICLASS_xt_iclass_bsi8u, XTENSA_OPCODE_IS_BRANCH, Opcode_bltui_encode_fns, 0, 0 }, - { "beq", 41 /* xt_iclass_bst8 */, + { "beq", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_beq_encode_fns, 0, 0 }, - { "bne", 41 /* xt_iclass_bst8 */, + { "bne", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_bne_encode_fns, 0, 0 }, - { "bge", 41 /* xt_iclass_bst8 */, + { "bge", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_bge_encode_fns, 0, 0 }, - { "blt", 41 /* xt_iclass_bst8 */, + { "blt", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_blt_encode_fns, 0, 0 }, - { "bgeu", 41 /* xt_iclass_bst8 */, + { "bgeu", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_bgeu_encode_fns, 0, 0 }, - { "bltu", 41 /* xt_iclass_bst8 */, + { "bltu", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_bltu_encode_fns, 0, 0 }, - { "bany", 41 /* xt_iclass_bst8 */, + { "bany", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_bany_encode_fns, 0, 0 }, - { "bnone", 41 /* xt_iclass_bst8 */, + { "bnone", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_bnone_encode_fns, 0, 0 }, - { "ball", 41 /* xt_iclass_bst8 */, + { "ball", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_ball_encode_fns, 0, 0 }, - { "bnall", 41 /* xt_iclass_bst8 */, + { "bnall", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_bnall_encode_fns, 0, 0 }, - { "bbc", 41 /* xt_iclass_bst8 */, + { "bbc", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_bbc_encode_fns, 0, 0 }, - { "bbs", 41 /* xt_iclass_bst8 */, + { "bbs", ICLASS_xt_iclass_bst8, XTENSA_OPCODE_IS_BRANCH, Opcode_bbs_encode_fns, 0, 0 }, - { "beqz", 42 /* xt_iclass_bsz12 */, + { "beqz", ICLASS_xt_iclass_bsz12, XTENSA_OPCODE_IS_BRANCH, Opcode_beqz_encode_fns, 0, 0 }, - { "bnez", 42 /* xt_iclass_bsz12 */, + { "bnez", ICLASS_xt_iclass_bsz12, XTENSA_OPCODE_IS_BRANCH, Opcode_bnez_encode_fns, 0, 0 }, - { "bgez", 42 /* xt_iclass_bsz12 */, + { "bgez", ICLASS_xt_iclass_bsz12, XTENSA_OPCODE_IS_BRANCH, Opcode_bgez_encode_fns, 0, 0 }, - { "bltz", 42 /* xt_iclass_bsz12 */, + { "bltz", ICLASS_xt_iclass_bsz12, XTENSA_OPCODE_IS_BRANCH, Opcode_bltz_encode_fns, 0, 0 }, - { "call0", 43 /* xt_iclass_call0 */, + { "call0", ICLASS_xt_iclass_call0, XTENSA_OPCODE_IS_CALL, Opcode_call0_encode_fns, 0, 0 }, - { "callx0", 44 /* xt_iclass_callx0 */, + { "callx0", ICLASS_xt_iclass_callx0, XTENSA_OPCODE_IS_CALL, Opcode_callx0_encode_fns, 0, 0 }, - { "extui", 45 /* xt_iclass_exti */, + { "extui", ICLASS_xt_iclass_exti, 0, Opcode_extui_encode_fns, 0, 0 }, - { "ill", 46 /* xt_iclass_ill */, + { "ill", ICLASS_xt_iclass_ill, 0, Opcode_ill_encode_fns, 0, 0 }, - { "j", 47 /* xt_iclass_jump */, + { "j", ICLASS_xt_iclass_jump, XTENSA_OPCODE_IS_JUMP, Opcode_j_encode_fns, 0, 0 }, - { "jx", 48 /* xt_iclass_jumpx */, + { "jx", ICLASS_xt_iclass_jumpx, XTENSA_OPCODE_IS_JUMP, Opcode_jx_encode_fns, 0, 0 }, - { "l16ui", 49 /* xt_iclass_l16ui */, + { "l16ui", ICLASS_xt_iclass_l16ui, 0, Opcode_l16ui_encode_fns, 0, 0 }, - { "l16si", 50 /* xt_iclass_l16si */, + { "l16si", ICLASS_xt_iclass_l16si, 0, Opcode_l16si_encode_fns, 0, 0 }, - { "l32i", 51 /* xt_iclass_l32i */, + { "l32i", ICLASS_xt_iclass_l32i, 0, Opcode_l32i_encode_fns, 0, 0 }, - { "l32r", 52 /* xt_iclass_l32r */, + { "l32r", ICLASS_xt_iclass_l32r, 0, Opcode_l32r_encode_fns, 0, 0 }, - { "l8ui", 53 /* xt_iclass_l8i */, + { "l8ui", ICLASS_xt_iclass_l8i, 0, Opcode_l8ui_encode_fns, 0, 0 }, - { "loop", 54 /* xt_iclass_loop */, + { "loop", ICLASS_xt_iclass_loop, XTENSA_OPCODE_IS_LOOP, Opcode_loop_encode_fns, 0, 0 }, - { "loopnez", 55 /* xt_iclass_loopz */, + { "loopnez", ICLASS_xt_iclass_loopz, XTENSA_OPCODE_IS_LOOP, Opcode_loopnez_encode_fns, 0, 0 }, - { "loopgtz", 55 /* xt_iclass_loopz */, + { "loopgtz", ICLASS_xt_iclass_loopz, XTENSA_OPCODE_IS_LOOP, Opcode_loopgtz_encode_fns, 0, 0 }, - { "movi", 56 /* xt_iclass_movi */, + { "movi", ICLASS_xt_iclass_movi, 0, Opcode_movi_encode_fns, 0, 0 }, - { "moveqz", 57 /* xt_iclass_movz */, + { "moveqz", ICLASS_xt_iclass_movz, 0, Opcode_moveqz_encode_fns, 0, 0 }, - { "movnez", 57 /* xt_iclass_movz */, + { "movnez", ICLASS_xt_iclass_movz, 0, Opcode_movnez_encode_fns, 0, 0 }, - { "movltz", 57 /* xt_iclass_movz */, + { "movltz", ICLASS_xt_iclass_movz, 0, Opcode_movltz_encode_fns, 0, 0 }, - { "movgez", 57 /* xt_iclass_movz */, + { "movgez", ICLASS_xt_iclass_movz, 0, Opcode_movgez_encode_fns, 0, 0 }, - { "neg", 58 /* xt_iclass_neg */, + { "neg", ICLASS_xt_iclass_neg, 0, Opcode_neg_encode_fns, 0, 0 }, - { "abs", 58 /* xt_iclass_neg */, + { "abs", ICLASS_xt_iclass_neg, 0, Opcode_abs_encode_fns, 0, 0 }, - { "nop", 59 /* xt_iclass_nop */, + { "nop", ICLASS_xt_iclass_nop, 0, Opcode_nop_encode_fns, 0, 0 }, - { "ret", 60 /* xt_iclass_return */, + { "ret", ICLASS_xt_iclass_return, XTENSA_OPCODE_IS_JUMP, Opcode_ret_encode_fns, 0, 0 }, - { "s16i", 61 /* xt_iclass_s16i */, + { "s16i", ICLASS_xt_iclass_s16i, 0, Opcode_s16i_encode_fns, 0, 0 }, - { "s32i", 62 /* xt_iclass_s32i */, + { "s32i", ICLASS_xt_iclass_s32i, 0, Opcode_s32i_encode_fns, 0, 0 }, - { "s8i", 63 /* xt_iclass_s8i */, + { "s8i", ICLASS_xt_iclass_s8i, 0, Opcode_s8i_encode_fns, 0, 0 }, - { "ssr", 64 /* xt_iclass_sar */, + { "ssr", ICLASS_xt_iclass_sar, 0, Opcode_ssr_encode_fns, 0, 0 }, - { "ssl", 64 /* xt_iclass_sar */, + { "ssl", ICLASS_xt_iclass_sar, 0, Opcode_ssl_encode_fns, 0, 0 }, - { "ssa8l", 64 /* xt_iclass_sar */, + { "ssa8l", ICLASS_xt_iclass_sar, 0, Opcode_ssa8l_encode_fns, 0, 0 }, - { "ssa8b", 64 /* xt_iclass_sar */, + { "ssa8b", ICLASS_xt_iclass_sar, 0, Opcode_ssa8b_encode_fns, 0, 0 }, - { "ssai", 65 /* xt_iclass_sari */, + { "ssai", ICLASS_xt_iclass_sari, 0, Opcode_ssai_encode_fns, 0, 0 }, - { "sll", 66 /* xt_iclass_shifts */, + { "sll", ICLASS_xt_iclass_shifts, 0, Opcode_sll_encode_fns, 0, 0 }, - { "src", 67 /* xt_iclass_shiftst */, + { "src", ICLASS_xt_iclass_shiftst, 0, Opcode_src_encode_fns, 0, 0 }, - { "srl", 68 /* xt_iclass_shiftt */, + { "srl", ICLASS_xt_iclass_shiftt, 0, Opcode_srl_encode_fns, 0, 0 }, - { "sra", 68 /* xt_iclass_shiftt */, + { "sra", ICLASS_xt_iclass_shiftt, 0, Opcode_sra_encode_fns, 0, 0 }, - { "slli", 69 /* xt_iclass_slli */, + { "slli", ICLASS_xt_iclass_slli, 0, Opcode_slli_encode_fns, 0, 0 }, - { "srai", 70 /* xt_iclass_srai */, + { "srai", ICLASS_xt_iclass_srai, 0, Opcode_srai_encode_fns, 0, 0 }, - { "srli", 71 /* xt_iclass_srli */, + { "srli", ICLASS_xt_iclass_srli, 0, Opcode_srli_encode_fns, 0, 0 }, - { "memw", 72 /* xt_iclass_memw */, + { "memw", ICLASS_xt_iclass_memw, 0, Opcode_memw_encode_fns, 0, 0 }, - { "extw", 73 /* xt_iclass_extw */, + { "extw", ICLASS_xt_iclass_extw, 0, Opcode_extw_encode_fns, 0, 0 }, - { "isync", 74 /* xt_iclass_isync */, + { "isync", ICLASS_xt_iclass_isync, 0, Opcode_isync_encode_fns, 0, 0 }, - { "rsync", 75 /* xt_iclass_sync */, + { "rsync", ICLASS_xt_iclass_sync, 0, Opcode_rsync_encode_fns, 0, 0 }, - { "esync", 75 /* xt_iclass_sync */, + { "esync", ICLASS_xt_iclass_sync, 0, Opcode_esync_encode_fns, 0, 0 }, - { "dsync", 75 /* xt_iclass_sync */, + { "dsync", ICLASS_xt_iclass_sync, 0, Opcode_dsync_encode_fns, 0, 0 }, - { "rsil", 76 /* xt_iclass_rsil */, + { "rsil", ICLASS_xt_iclass_rsil, 0, Opcode_rsil_encode_fns, 0, 0 }, - { "rsr.lend", 77 /* xt_iclass_rsr.lend */, + { "rsr.lend", ICLASS_xt_iclass_rsr_lend, 0, Opcode_rsr_lend_encode_fns, 0, 0 }, - { "wsr.lend", 78 /* xt_iclass_wsr.lend */, + { "wsr.lend", ICLASS_xt_iclass_wsr_lend, 0, Opcode_wsr_lend_encode_fns, 0, 0 }, - { "xsr.lend", 79 /* xt_iclass_xsr.lend */, + { "xsr.lend", ICLASS_xt_iclass_xsr_lend, 0, Opcode_xsr_lend_encode_fns, 0, 0 }, - { "rsr.lcount", 80 /* xt_iclass_rsr.lcount */, + { "rsr.lcount", ICLASS_xt_iclass_rsr_lcount, 0, Opcode_rsr_lcount_encode_fns, 0, 0 }, - { "wsr.lcount", 81 /* xt_iclass_wsr.lcount */, + { "wsr.lcount", ICLASS_xt_iclass_wsr_lcount, 0, Opcode_wsr_lcount_encode_fns, 0, 0 }, - { "xsr.lcount", 82 /* xt_iclass_xsr.lcount */, + { "xsr.lcount", ICLASS_xt_iclass_xsr_lcount, 0, Opcode_xsr_lcount_encode_fns, 0, 0 }, - { "rsr.lbeg", 83 /* xt_iclass_rsr.lbeg */, + { "rsr.lbeg", ICLASS_xt_iclass_rsr_lbeg, 0, Opcode_rsr_lbeg_encode_fns, 0, 0 }, - { "wsr.lbeg", 84 /* xt_iclass_wsr.lbeg */, + { "wsr.lbeg", ICLASS_xt_iclass_wsr_lbeg, 0, Opcode_wsr_lbeg_encode_fns, 0, 0 }, - { "xsr.lbeg", 85 /* xt_iclass_xsr.lbeg */, + { "xsr.lbeg", ICLASS_xt_iclass_xsr_lbeg, 0, Opcode_xsr_lbeg_encode_fns, 0, 0 }, - { "rsr.sar", 86 /* xt_iclass_rsr.sar */, + { "rsr.sar", ICLASS_xt_iclass_rsr_sar, 0, Opcode_rsr_sar_encode_fns, 0, 0 }, - { "wsr.sar", 87 /* xt_iclass_wsr.sar */, + { "wsr.sar", ICLASS_xt_iclass_wsr_sar, 0, Opcode_wsr_sar_encode_fns, 0, 0 }, - { "xsr.sar", 88 /* xt_iclass_xsr.sar */, + { "xsr.sar", ICLASS_xt_iclass_xsr_sar, 0, Opcode_xsr_sar_encode_fns, 0, 0 }, - { "rsr.litbase", 89 /* xt_iclass_rsr.litbase */, + { "rsr.litbase", ICLASS_xt_iclass_rsr_litbase, 0, Opcode_rsr_litbase_encode_fns, 0, 0 }, - { "wsr.litbase", 90 /* xt_iclass_wsr.litbase */, + { "wsr.litbase", ICLASS_xt_iclass_wsr_litbase, 0, Opcode_wsr_litbase_encode_fns, 0, 0 }, - { "xsr.litbase", 91 /* xt_iclass_xsr.litbase */, + { "xsr.litbase", ICLASS_xt_iclass_xsr_litbase, 0, Opcode_xsr_litbase_encode_fns, 0, 0 }, - { "rsr.176", 92 /* xt_iclass_rsr.176 */, + { "rsr.176", ICLASS_xt_iclass_rsr_176, 0, Opcode_rsr_176_encode_fns, 0, 0 }, - { "rsr.208", 93 /* xt_iclass_rsr.208 */, + { "wsr.176", ICLASS_xt_iclass_wsr_176, + 0, + Opcode_wsr_176_encode_fns, 0, 0 }, + { "rsr.208", ICLASS_xt_iclass_rsr_208, 0, Opcode_rsr_208_encode_fns, 0, 0 }, - { "rsr.ps", 94 /* xt_iclass_rsr.ps */, + { "rsr.ps", ICLASS_xt_iclass_rsr_ps, 0, Opcode_rsr_ps_encode_fns, 0, 0 }, - { "wsr.ps", 95 /* xt_iclass_wsr.ps */, + { "wsr.ps", ICLASS_xt_iclass_wsr_ps, 0, Opcode_wsr_ps_encode_fns, 0, 0 }, - { "xsr.ps", 96 /* xt_iclass_xsr.ps */, + { "xsr.ps", ICLASS_xt_iclass_xsr_ps, 0, Opcode_xsr_ps_encode_fns, 0, 0 }, - { "rsr.epc1", 97 /* xt_iclass_rsr.epc1 */, + { "rsr.epc1", ICLASS_xt_iclass_rsr_epc1, 0, Opcode_rsr_epc1_encode_fns, 0, 0 }, - { "wsr.epc1", 98 /* xt_iclass_wsr.epc1 */, + { "wsr.epc1", ICLASS_xt_iclass_wsr_epc1, 0, Opcode_wsr_epc1_encode_fns, 0, 0 }, - { "xsr.epc1", 99 /* xt_iclass_xsr.epc1 */, + { "xsr.epc1", ICLASS_xt_iclass_xsr_epc1, 0, Opcode_xsr_epc1_encode_fns, 0, 0 }, - { "rsr.excsave1", 100 /* xt_iclass_rsr.excsave1 */, + { "rsr.excsave1", ICLASS_xt_iclass_rsr_excsave1, 0, Opcode_rsr_excsave1_encode_fns, 0, 0 }, - { "wsr.excsave1", 101 /* xt_iclass_wsr.excsave1 */, + { "wsr.excsave1", ICLASS_xt_iclass_wsr_excsave1, 0, Opcode_wsr_excsave1_encode_fns, 0, 0 }, - { "xsr.excsave1", 102 /* xt_iclass_xsr.excsave1 */, + { "xsr.excsave1", ICLASS_xt_iclass_xsr_excsave1, 0, Opcode_xsr_excsave1_encode_fns, 0, 0 }, - { "rsr.epc2", 103 /* xt_iclass_rsr.epc2 */, + { "rsr.epc2", ICLASS_xt_iclass_rsr_epc2, 0, Opcode_rsr_epc2_encode_fns, 0, 0 }, - { "wsr.epc2", 104 /* xt_iclass_wsr.epc2 */, + { "wsr.epc2", ICLASS_xt_iclass_wsr_epc2, 0, Opcode_wsr_epc2_encode_fns, 0, 0 }, - { "xsr.epc2", 105 /* xt_iclass_xsr.epc2 */, + { "xsr.epc2", ICLASS_xt_iclass_xsr_epc2, 0, Opcode_xsr_epc2_encode_fns, 0, 0 }, - { "rsr.excsave2", 106 /* xt_iclass_rsr.excsave2 */, + { "rsr.excsave2", ICLASS_xt_iclass_rsr_excsave2, 0, Opcode_rsr_excsave2_encode_fns, 0, 0 }, - { "wsr.excsave2", 107 /* xt_iclass_wsr.excsave2 */, + { "wsr.excsave2", ICLASS_xt_iclass_wsr_excsave2, 0, Opcode_wsr_excsave2_encode_fns, 0, 0 }, - { "xsr.excsave2", 108 /* xt_iclass_xsr.excsave2 */, + { "xsr.excsave2", ICLASS_xt_iclass_xsr_excsave2, 0, Opcode_xsr_excsave2_encode_fns, 0, 0 }, - { "rsr.epc3", 109 /* xt_iclass_rsr.epc3 */, + { "rsr.epc3", ICLASS_xt_iclass_rsr_epc3, 0, Opcode_rsr_epc3_encode_fns, 0, 0 }, - { "wsr.epc3", 110 /* xt_iclass_wsr.epc3 */, + { "wsr.epc3", ICLASS_xt_iclass_wsr_epc3, 0, Opcode_wsr_epc3_encode_fns, 0, 0 }, - { "xsr.epc3", 111 /* xt_iclass_xsr.epc3 */, + { "xsr.epc3", ICLASS_xt_iclass_xsr_epc3, 0, Opcode_xsr_epc3_encode_fns, 0, 0 }, - { "rsr.excsave3", 112 /* xt_iclass_rsr.excsave3 */, + { "rsr.excsave3", ICLASS_xt_iclass_rsr_excsave3, 0, Opcode_rsr_excsave3_encode_fns, 0, 0 }, - { "wsr.excsave3", 113 /* xt_iclass_wsr.excsave3 */, + { "wsr.excsave3", ICLASS_xt_iclass_wsr_excsave3, 0, Opcode_wsr_excsave3_encode_fns, 0, 0 }, - { "xsr.excsave3", 114 /* xt_iclass_xsr.excsave3 */, + { "xsr.excsave3", ICLASS_xt_iclass_xsr_excsave3, 0, Opcode_xsr_excsave3_encode_fns, 0, 0 }, - { "rsr.epc4", 115 /* xt_iclass_rsr.epc4 */, + { "rsr.epc4", ICLASS_xt_iclass_rsr_epc4, 0, Opcode_rsr_epc4_encode_fns, 0, 0 }, - { "wsr.epc4", 116 /* xt_iclass_wsr.epc4 */, + { "wsr.epc4", ICLASS_xt_iclass_wsr_epc4, 0, Opcode_wsr_epc4_encode_fns, 0, 0 }, - { "xsr.epc4", 117 /* xt_iclass_xsr.epc4 */, + { "xsr.epc4", ICLASS_xt_iclass_xsr_epc4, 0, Opcode_xsr_epc4_encode_fns, 0, 0 }, - { "rsr.excsave4", 118 /* xt_iclass_rsr.excsave4 */, + { "rsr.excsave4", ICLASS_xt_iclass_rsr_excsave4, 0, Opcode_rsr_excsave4_encode_fns, 0, 0 }, - { "wsr.excsave4", 119 /* xt_iclass_wsr.excsave4 */, + { "wsr.excsave4", ICLASS_xt_iclass_wsr_excsave4, 0, Opcode_wsr_excsave4_encode_fns, 0, 0 }, - { "xsr.excsave4", 120 /* xt_iclass_xsr.excsave4 */, + { "xsr.excsave4", ICLASS_xt_iclass_xsr_excsave4, 0, Opcode_xsr_excsave4_encode_fns, 0, 0 }, - { "rsr.eps2", 121 /* xt_iclass_rsr.eps2 */, + { "rsr.epc5", ICLASS_xt_iclass_rsr_epc5, + 0, + Opcode_rsr_epc5_encode_fns, 0, 0 }, + { "wsr.epc5", ICLASS_xt_iclass_wsr_epc5, + 0, + Opcode_wsr_epc5_encode_fns, 0, 0 }, + { "xsr.epc5", ICLASS_xt_iclass_xsr_epc5, + 0, + Opcode_xsr_epc5_encode_fns, 0, 0 }, + { "rsr.excsave5", ICLASS_xt_iclass_rsr_excsave5, + 0, + Opcode_rsr_excsave5_encode_fns, 0, 0 }, + { "wsr.excsave5", ICLASS_xt_iclass_wsr_excsave5, + 0, + Opcode_wsr_excsave5_encode_fns, 0, 0 }, + { "xsr.excsave5", ICLASS_xt_iclass_xsr_excsave5, + 0, + Opcode_xsr_excsave5_encode_fns, 0, 0 }, + { "rsr.epc6", ICLASS_xt_iclass_rsr_epc6, + 0, + Opcode_rsr_epc6_encode_fns, 0, 0 }, + { "wsr.epc6", ICLASS_xt_iclass_wsr_epc6, + 0, + Opcode_wsr_epc6_encode_fns, 0, 0 }, + { "xsr.epc6", ICLASS_xt_iclass_xsr_epc6, + 0, + Opcode_xsr_epc6_encode_fns, 0, 0 }, + { "rsr.excsave6", ICLASS_xt_iclass_rsr_excsave6, + 0, + Opcode_rsr_excsave6_encode_fns, 0, 0 }, + { "wsr.excsave6", ICLASS_xt_iclass_wsr_excsave6, + 0, + Opcode_wsr_excsave6_encode_fns, 0, 0 }, + { "xsr.excsave6", ICLASS_xt_iclass_xsr_excsave6, + 0, + Opcode_xsr_excsave6_encode_fns, 0, 0 }, + { "rsr.epc7", ICLASS_xt_iclass_rsr_epc7, + 0, + Opcode_rsr_epc7_encode_fns, 0, 0 }, + { "wsr.epc7", ICLASS_xt_iclass_wsr_epc7, + 0, + Opcode_wsr_epc7_encode_fns, 0, 0 }, + { "xsr.epc7", ICLASS_xt_iclass_xsr_epc7, + 0, + Opcode_xsr_epc7_encode_fns, 0, 0 }, + { "rsr.excsave7", ICLASS_xt_iclass_rsr_excsave7, + 0, + Opcode_rsr_excsave7_encode_fns, 0, 0 }, + { "wsr.excsave7", ICLASS_xt_iclass_wsr_excsave7, + 0, + Opcode_wsr_excsave7_encode_fns, 0, 0 }, + { "xsr.excsave7", ICLASS_xt_iclass_xsr_excsave7, + 0, + Opcode_xsr_excsave7_encode_fns, 0, 0 }, + { "rsr.eps2", ICLASS_xt_iclass_rsr_eps2, 0, Opcode_rsr_eps2_encode_fns, 0, 0 }, - { "wsr.eps2", 122 /* xt_iclass_wsr.eps2 */, + { "wsr.eps2", ICLASS_xt_iclass_wsr_eps2, 0, Opcode_wsr_eps2_encode_fns, 0, 0 }, - { "xsr.eps2", 123 /* xt_iclass_xsr.eps2 */, + { "xsr.eps2", ICLASS_xt_iclass_xsr_eps2, 0, Opcode_xsr_eps2_encode_fns, 0, 0 }, - { "rsr.eps3", 124 /* xt_iclass_rsr.eps3 */, + { "rsr.eps3", ICLASS_xt_iclass_rsr_eps3, 0, Opcode_rsr_eps3_encode_fns, 0, 0 }, - { "wsr.eps3", 125 /* xt_iclass_wsr.eps3 */, + { "wsr.eps3", ICLASS_xt_iclass_wsr_eps3, 0, Opcode_wsr_eps3_encode_fns, 0, 0 }, - { "xsr.eps3", 126 /* xt_iclass_xsr.eps3 */, + { "xsr.eps3", ICLASS_xt_iclass_xsr_eps3, 0, Opcode_xsr_eps3_encode_fns, 0, 0 }, - { "rsr.eps4", 127 /* xt_iclass_rsr.eps4 */, + { "rsr.eps4", ICLASS_xt_iclass_rsr_eps4, 0, Opcode_rsr_eps4_encode_fns, 0, 0 }, - { "wsr.eps4", 128 /* xt_iclass_wsr.eps4 */, + { "wsr.eps4", ICLASS_xt_iclass_wsr_eps4, 0, Opcode_wsr_eps4_encode_fns, 0, 0 }, - { "xsr.eps4", 129 /* xt_iclass_xsr.eps4 */, + { "xsr.eps4", ICLASS_xt_iclass_xsr_eps4, 0, Opcode_xsr_eps4_encode_fns, 0, 0 }, - { "rsr.excvaddr", 130 /* xt_iclass_rsr.excvaddr */, + { "rsr.eps5", ICLASS_xt_iclass_rsr_eps5, + 0, + Opcode_rsr_eps5_encode_fns, 0, 0 }, + { "wsr.eps5", ICLASS_xt_iclass_wsr_eps5, + 0, + Opcode_wsr_eps5_encode_fns, 0, 0 }, + { "xsr.eps5", ICLASS_xt_iclass_xsr_eps5, + 0, + Opcode_xsr_eps5_encode_fns, 0, 0 }, + { "rsr.eps6", ICLASS_xt_iclass_rsr_eps6, + 0, + Opcode_rsr_eps6_encode_fns, 0, 0 }, + { "wsr.eps6", ICLASS_xt_iclass_wsr_eps6, + 0, + Opcode_wsr_eps6_encode_fns, 0, 0 }, + { "xsr.eps6", ICLASS_xt_iclass_xsr_eps6, + 0, + Opcode_xsr_eps6_encode_fns, 0, 0 }, + { "rsr.eps7", ICLASS_xt_iclass_rsr_eps7, + 0, + Opcode_rsr_eps7_encode_fns, 0, 0 }, + { "wsr.eps7", ICLASS_xt_iclass_wsr_eps7, + 0, + Opcode_wsr_eps7_encode_fns, 0, 0 }, + { "xsr.eps7", ICLASS_xt_iclass_xsr_eps7, + 0, + Opcode_xsr_eps7_encode_fns, 0, 0 }, + { "rsr.excvaddr", ICLASS_xt_iclass_rsr_excvaddr, 0, Opcode_rsr_excvaddr_encode_fns, 0, 0 }, - { "wsr.excvaddr", 131 /* xt_iclass_wsr.excvaddr */, + { "wsr.excvaddr", ICLASS_xt_iclass_wsr_excvaddr, 0, Opcode_wsr_excvaddr_encode_fns, 0, 0 }, - { "xsr.excvaddr", 132 /* xt_iclass_xsr.excvaddr */, + { "xsr.excvaddr", ICLASS_xt_iclass_xsr_excvaddr, 0, Opcode_xsr_excvaddr_encode_fns, 0, 0 }, - { "rsr.depc", 133 /* xt_iclass_rsr.depc */, + { "rsr.depc", ICLASS_xt_iclass_rsr_depc, 0, Opcode_rsr_depc_encode_fns, 0, 0 }, - { "wsr.depc", 134 /* xt_iclass_wsr.depc */, + { "wsr.depc", ICLASS_xt_iclass_wsr_depc, 0, Opcode_wsr_depc_encode_fns, 0, 0 }, - { "xsr.depc", 135 /* xt_iclass_xsr.depc */, + { "xsr.depc", ICLASS_xt_iclass_xsr_depc, 0, Opcode_xsr_depc_encode_fns, 0, 0 }, - { "rsr.exccause", 136 /* xt_iclass_rsr.exccause */, + { "rsr.exccause", ICLASS_xt_iclass_rsr_exccause, 0, Opcode_rsr_exccause_encode_fns, 0, 0 }, - { "wsr.exccause", 137 /* xt_iclass_wsr.exccause */, + { "wsr.exccause", ICLASS_xt_iclass_wsr_exccause, 0, Opcode_wsr_exccause_encode_fns, 0, 0 }, - { "xsr.exccause", 138 /* xt_iclass_xsr.exccause */, + { "xsr.exccause", ICLASS_xt_iclass_xsr_exccause, 0, Opcode_xsr_exccause_encode_fns, 0, 0 }, - { "rsr.misc0", 139 /* xt_iclass_rsr.misc0 */, + { "rsr.misc0", ICLASS_xt_iclass_rsr_misc0, 0, Opcode_rsr_misc0_encode_fns, 0, 0 }, - { "wsr.misc0", 140 /* xt_iclass_wsr.misc0 */, + { "wsr.misc0", ICLASS_xt_iclass_wsr_misc0, 0, Opcode_wsr_misc0_encode_fns, 0, 0 }, - { "xsr.misc0", 141 /* xt_iclass_xsr.misc0 */, + { "xsr.misc0", ICLASS_xt_iclass_xsr_misc0, 0, Opcode_xsr_misc0_encode_fns, 0, 0 }, - { "rsr.misc1", 142 /* xt_iclass_rsr.misc1 */, + { "rsr.misc1", ICLASS_xt_iclass_rsr_misc1, 0, Opcode_rsr_misc1_encode_fns, 0, 0 }, - { "wsr.misc1", 143 /* xt_iclass_wsr.misc1 */, + { "wsr.misc1", ICLASS_xt_iclass_wsr_misc1, 0, Opcode_wsr_misc1_encode_fns, 0, 0 }, - { "xsr.misc1", 144 /* xt_iclass_xsr.misc1 */, + { "xsr.misc1", ICLASS_xt_iclass_xsr_misc1, 0, Opcode_xsr_misc1_encode_fns, 0, 0 }, - { "rsr.prid", 145 /* xt_iclass_rsr.prid */, + { "rsr.prid", ICLASS_xt_iclass_rsr_prid, 0, Opcode_rsr_prid_encode_fns, 0, 0 }, - { "rfi", 146 /* xt_iclass_rfi */, + { "rsr.vecbase", ICLASS_xt_iclass_rsr_vecbase, + 0, + Opcode_rsr_vecbase_encode_fns, 0, 0 }, + { "wsr.vecbase", ICLASS_xt_iclass_wsr_vecbase, + 0, + Opcode_wsr_vecbase_encode_fns, 0, 0 }, + { "xsr.vecbase", ICLASS_xt_iclass_xsr_vecbase, + 0, + Opcode_xsr_vecbase_encode_fns, 0, 0 }, + { "mul16u", ICLASS_xt_iclass_mul16, + 0, + Opcode_mul16u_encode_fns, 0, 0 }, + { "mul16s", ICLASS_xt_iclass_mul16, + 0, + Opcode_mul16s_encode_fns, 0, 0 }, + { "rfi", ICLASS_xt_iclass_rfi, XTENSA_OPCODE_IS_JUMP, Opcode_rfi_encode_fns, 0, 0 }, - { "waiti", 147 /* xt_iclass_wait */, + { "waiti", ICLASS_xt_iclass_wait, 0, Opcode_waiti_encode_fns, 0, 0 }, - { "rsr.interrupt", 148 /* xt_iclass_rsr.interrupt */, + { "rsr.interrupt", ICLASS_xt_iclass_rsr_interrupt, 0, Opcode_rsr_interrupt_encode_fns, 0, 0 }, - { "wsr.intset", 149 /* xt_iclass_wsr.intset */, + { "wsr.intset", ICLASS_xt_iclass_wsr_intset, 0, Opcode_wsr_intset_encode_fns, 0, 0 }, - { "wsr.intclear", 150 /* xt_iclass_wsr.intclear */, + { "wsr.intclear", ICLASS_xt_iclass_wsr_intclear, 0, Opcode_wsr_intclear_encode_fns, 0, 0 }, - { "rsr.intenable", 151 /* xt_iclass_rsr.intenable */, + { "rsr.intenable", ICLASS_xt_iclass_rsr_intenable, 0, Opcode_rsr_intenable_encode_fns, 0, 0 }, - { "wsr.intenable", 152 /* xt_iclass_wsr.intenable */, + { "wsr.intenable", ICLASS_xt_iclass_wsr_intenable, 0, Opcode_wsr_intenable_encode_fns, 0, 0 }, - { "xsr.intenable", 153 /* xt_iclass_xsr.intenable */, + { "xsr.intenable", ICLASS_xt_iclass_xsr_intenable, 0, Opcode_xsr_intenable_encode_fns, 0, 0 }, - { "break", 154 /* xt_iclass_break */, + { "break", ICLASS_xt_iclass_break, 0, Opcode_break_encode_fns, 0, 0 }, - { "break.n", 155 /* xt_iclass_break.n */, + { "break.n", ICLASS_xt_iclass_break_n, 0, Opcode_break_n_encode_fns, 0, 0 }, - { "rsr.dbreaka0", 156 /* xt_iclass_rsr.dbreaka0 */, + { "rsr.dbreaka0", ICLASS_xt_iclass_rsr_dbreaka0, 0, Opcode_rsr_dbreaka0_encode_fns, 0, 0 }, - { "wsr.dbreaka0", 157 /* xt_iclass_wsr.dbreaka0 */, + { "wsr.dbreaka0", ICLASS_xt_iclass_wsr_dbreaka0, 0, Opcode_wsr_dbreaka0_encode_fns, 0, 0 }, - { "xsr.dbreaka0", 158 /* xt_iclass_xsr.dbreaka0 */, + { "xsr.dbreaka0", ICLASS_xt_iclass_xsr_dbreaka0, 0, Opcode_xsr_dbreaka0_encode_fns, 0, 0 }, - { "rsr.dbreakc0", 159 /* xt_iclass_rsr.dbreakc0 */, + { "rsr.dbreakc0", ICLASS_xt_iclass_rsr_dbreakc0, 0, Opcode_rsr_dbreakc0_encode_fns, 0, 0 }, - { "wsr.dbreakc0", 160 /* xt_iclass_wsr.dbreakc0 */, + { "wsr.dbreakc0", ICLASS_xt_iclass_wsr_dbreakc0, 0, Opcode_wsr_dbreakc0_encode_fns, 0, 0 }, - { "xsr.dbreakc0", 161 /* xt_iclass_xsr.dbreakc0 */, + { "xsr.dbreakc0", ICLASS_xt_iclass_xsr_dbreakc0, 0, Opcode_xsr_dbreakc0_encode_fns, 0, 0 }, - { "rsr.dbreaka1", 162 /* xt_iclass_rsr.dbreaka1 */, + { "rsr.dbreaka1", ICLASS_xt_iclass_rsr_dbreaka1, 0, Opcode_rsr_dbreaka1_encode_fns, 0, 0 }, - { "wsr.dbreaka1", 163 /* xt_iclass_wsr.dbreaka1 */, + { "wsr.dbreaka1", ICLASS_xt_iclass_wsr_dbreaka1, 0, Opcode_wsr_dbreaka1_encode_fns, 0, 0 }, - { "xsr.dbreaka1", 164 /* xt_iclass_xsr.dbreaka1 */, + { "xsr.dbreaka1", ICLASS_xt_iclass_xsr_dbreaka1, 0, Opcode_xsr_dbreaka1_encode_fns, 0, 0 }, - { "rsr.dbreakc1", 165 /* xt_iclass_rsr.dbreakc1 */, + { "rsr.dbreakc1", ICLASS_xt_iclass_rsr_dbreakc1, 0, Opcode_rsr_dbreakc1_encode_fns, 0, 0 }, - { "wsr.dbreakc1", 166 /* xt_iclass_wsr.dbreakc1 */, + { "wsr.dbreakc1", ICLASS_xt_iclass_wsr_dbreakc1, 0, Opcode_wsr_dbreakc1_encode_fns, 0, 0 }, - { "xsr.dbreakc1", 167 /* xt_iclass_xsr.dbreakc1 */, + { "xsr.dbreakc1", ICLASS_xt_iclass_xsr_dbreakc1, 0, Opcode_xsr_dbreakc1_encode_fns, 0, 0 }, - { "rsr.ibreaka0", 168 /* xt_iclass_rsr.ibreaka0 */, + { "rsr.ibreaka0", ICLASS_xt_iclass_rsr_ibreaka0, 0, Opcode_rsr_ibreaka0_encode_fns, 0, 0 }, - { "wsr.ibreaka0", 169 /* xt_iclass_wsr.ibreaka0 */, + { "wsr.ibreaka0", ICLASS_xt_iclass_wsr_ibreaka0, 0, Opcode_wsr_ibreaka0_encode_fns, 0, 0 }, - { "xsr.ibreaka0", 170 /* xt_iclass_xsr.ibreaka0 */, + { "xsr.ibreaka0", ICLASS_xt_iclass_xsr_ibreaka0, 0, Opcode_xsr_ibreaka0_encode_fns, 0, 0 }, - { "rsr.ibreaka1", 171 /* xt_iclass_rsr.ibreaka1 */, + { "rsr.ibreaka1", ICLASS_xt_iclass_rsr_ibreaka1, 0, Opcode_rsr_ibreaka1_encode_fns, 0, 0 }, - { "wsr.ibreaka1", 172 /* xt_iclass_wsr.ibreaka1 */, + { "wsr.ibreaka1", ICLASS_xt_iclass_wsr_ibreaka1, 0, Opcode_wsr_ibreaka1_encode_fns, 0, 0 }, - { "xsr.ibreaka1", 173 /* xt_iclass_xsr.ibreaka1 */, + { "xsr.ibreaka1", ICLASS_xt_iclass_xsr_ibreaka1, 0, Opcode_xsr_ibreaka1_encode_fns, 0, 0 }, - { "rsr.ibreakenable", 174 /* xt_iclass_rsr.ibreakenable */, + { "rsr.ibreakenable", ICLASS_xt_iclass_rsr_ibreakenable, 0, Opcode_rsr_ibreakenable_encode_fns, 0, 0 }, - { "wsr.ibreakenable", 175 /* xt_iclass_wsr.ibreakenable */, + { "wsr.ibreakenable", ICLASS_xt_iclass_wsr_ibreakenable, 0, Opcode_wsr_ibreakenable_encode_fns, 0, 0 }, - { "xsr.ibreakenable", 176 /* xt_iclass_xsr.ibreakenable */, + { "xsr.ibreakenable", ICLASS_xt_iclass_xsr_ibreakenable, 0, Opcode_xsr_ibreakenable_encode_fns, 0, 0 }, - { "rsr.debugcause", 177 /* xt_iclass_rsr.debugcause */, + { "rsr.debugcause", ICLASS_xt_iclass_rsr_debugcause, 0, Opcode_rsr_debugcause_encode_fns, 0, 0 }, - { "wsr.debugcause", 178 /* xt_iclass_wsr.debugcause */, + { "wsr.debugcause", ICLASS_xt_iclass_wsr_debugcause, 0, Opcode_wsr_debugcause_encode_fns, 0, 0 }, - { "xsr.debugcause", 179 /* xt_iclass_xsr.debugcause */, + { "xsr.debugcause", ICLASS_xt_iclass_xsr_debugcause, 0, Opcode_xsr_debugcause_encode_fns, 0, 0 }, - { "rsr.icount", 180 /* xt_iclass_rsr.icount */, + { "rsr.icount", ICLASS_xt_iclass_rsr_icount, 0, Opcode_rsr_icount_encode_fns, 0, 0 }, - { "wsr.icount", 181 /* xt_iclass_wsr.icount */, + { "wsr.icount", ICLASS_xt_iclass_wsr_icount, 0, Opcode_wsr_icount_encode_fns, 0, 0 }, - { "xsr.icount", 182 /* xt_iclass_xsr.icount */, + { "xsr.icount", ICLASS_xt_iclass_xsr_icount, 0, Opcode_xsr_icount_encode_fns, 0, 0 }, - { "rsr.icountlevel", 183 /* xt_iclass_rsr.icountlevel */, + { "rsr.icountlevel", ICLASS_xt_iclass_rsr_icountlevel, 0, Opcode_rsr_icountlevel_encode_fns, 0, 0 }, - { "wsr.icountlevel", 184 /* xt_iclass_wsr.icountlevel */, + { "wsr.icountlevel", ICLASS_xt_iclass_wsr_icountlevel, 0, Opcode_wsr_icountlevel_encode_fns, 0, 0 }, - { "xsr.icountlevel", 185 /* xt_iclass_xsr.icountlevel */, + { "xsr.icountlevel", ICLASS_xt_iclass_xsr_icountlevel, 0, Opcode_xsr_icountlevel_encode_fns, 0, 0 }, - { "rsr.ddr", 186 /* xt_iclass_rsr.ddr */, + { "rsr.ddr", ICLASS_xt_iclass_rsr_ddr, 0, Opcode_rsr_ddr_encode_fns, 0, 0 }, - { "wsr.ddr", 187 /* xt_iclass_wsr.ddr */, + { "wsr.ddr", ICLASS_xt_iclass_wsr_ddr, 0, Opcode_wsr_ddr_encode_fns, 0, 0 }, - { "xsr.ddr", 188 /* xt_iclass_xsr.ddr */, + { "xsr.ddr", ICLASS_xt_iclass_xsr_ddr, 0, Opcode_xsr_ddr_encode_fns, 0, 0 }, - { "rfdo", 189 /* xt_iclass_rfdo */, + { "rfdo", ICLASS_xt_iclass_rfdo, XTENSA_OPCODE_IS_JUMP, Opcode_rfdo_encode_fns, 0, 0 }, - { "rfdd", 190 /* xt_iclass_rfdd */, + { "rfdd", ICLASS_xt_iclass_rfdd, XTENSA_OPCODE_IS_JUMP, Opcode_rfdd_encode_fns, 0, 0 }, - { "rsr.ccount", 191 /* xt_iclass_rsr.ccount */, + { "wsr.mmid", ICLASS_xt_iclass_wsr_mmid, + 0, + Opcode_wsr_mmid_encode_fns, 0, 0 }, + { "rsr.ccount", ICLASS_xt_iclass_rsr_ccount, 0, Opcode_rsr_ccount_encode_fns, 0, 0 }, - { "wsr.ccount", 192 /* xt_iclass_wsr.ccount */, + { "wsr.ccount", ICLASS_xt_iclass_wsr_ccount, 0, Opcode_wsr_ccount_encode_fns, 0, 0 }, - { "xsr.ccount", 193 /* xt_iclass_xsr.ccount */, + { "xsr.ccount", ICLASS_xt_iclass_xsr_ccount, 0, Opcode_xsr_ccount_encode_fns, 0, 0 }, - { "rsr.ccompare0", 194 /* xt_iclass_rsr.ccompare0 */, + { "rsr.ccompare0", ICLASS_xt_iclass_rsr_ccompare0, 0, Opcode_rsr_ccompare0_encode_fns, 0, 0 }, - { "wsr.ccompare0", 195 /* xt_iclass_wsr.ccompare0 */, + { "wsr.ccompare0", ICLASS_xt_iclass_wsr_ccompare0, 0, Opcode_wsr_ccompare0_encode_fns, 0, 0 }, - { "xsr.ccompare0", 196 /* xt_iclass_xsr.ccompare0 */, + { "xsr.ccompare0", ICLASS_xt_iclass_xsr_ccompare0, 0, Opcode_xsr_ccompare0_encode_fns, 0, 0 }, - { "rsr.ccompare1", 197 /* xt_iclass_rsr.ccompare1 */, + { "rsr.ccompare1", ICLASS_xt_iclass_rsr_ccompare1, 0, Opcode_rsr_ccompare1_encode_fns, 0, 0 }, - { "wsr.ccompare1", 198 /* xt_iclass_wsr.ccompare1 */, + { "wsr.ccompare1", ICLASS_xt_iclass_wsr_ccompare1, 0, Opcode_wsr_ccompare1_encode_fns, 0, 0 }, - { "xsr.ccompare1", 199 /* xt_iclass_xsr.ccompare1 */, + { "xsr.ccompare1", ICLASS_xt_iclass_xsr_ccompare1, 0, Opcode_xsr_ccompare1_encode_fns, 0, 0 }, - { "rsr.ccompare2", 200 /* xt_iclass_rsr.ccompare2 */, + { "rsr.ccompare2", ICLASS_xt_iclass_rsr_ccompare2, 0, Opcode_rsr_ccompare2_encode_fns, 0, 0 }, - { "wsr.ccompare2", 201 /* xt_iclass_wsr.ccompare2 */, + { "wsr.ccompare2", ICLASS_xt_iclass_wsr_ccompare2, 0, Opcode_wsr_ccompare2_encode_fns, 0, 0 }, - { "xsr.ccompare2", 202 /* xt_iclass_xsr.ccompare2 */, + { "xsr.ccompare2", ICLASS_xt_iclass_xsr_ccompare2, 0, Opcode_xsr_ccompare2_encode_fns, 0, 0 }, - { "ipf", 203 /* xt_iclass_icache */, + { "ipf", ICLASS_xt_iclass_icache, 0, Opcode_ipf_encode_fns, 0, 0 }, - { "ihi", 203 /* xt_iclass_icache */, + { "ihi", ICLASS_xt_iclass_icache, 0, Opcode_ihi_encode_fns, 0, 0 }, - { "iii", 204 /* xt_iclass_icache_inv */, + { "ipfl", ICLASS_xt_iclass_icache_lock, + 0, + Opcode_ipfl_encode_fns, 0, 0 }, + { "ihu", ICLASS_xt_iclass_icache_lock, + 0, + Opcode_ihu_encode_fns, 0, 0 }, + { "iiu", ICLASS_xt_iclass_icache_lock, + 0, + Opcode_iiu_encode_fns, 0, 0 }, + { "iii", ICLASS_xt_iclass_icache_inv, 0, Opcode_iii_encode_fns, 0, 0 }, - { "lict", 205 /* xt_iclass_licx */, + { "lict", ICLASS_xt_iclass_licx, 0, Opcode_lict_encode_fns, 0, 0 }, - { "licw", 205 /* xt_iclass_licx */, + { "licw", ICLASS_xt_iclass_licx, 0, Opcode_licw_encode_fns, 0, 0 }, - { "sict", 206 /* xt_iclass_sicx */, + { "sict", ICLASS_xt_iclass_sicx, 0, Opcode_sict_encode_fns, 0, 0 }, - { "sicw", 206 /* xt_iclass_sicx */, + { "sicw", ICLASS_xt_iclass_sicx, 0, Opcode_sicw_encode_fns, 0, 0 }, - { "dhwb", 207 /* xt_iclass_dcache */, + { "dhwb", ICLASS_xt_iclass_dcache, 0, Opcode_dhwb_encode_fns, 0, 0 }, - { "dhwbi", 207 /* xt_iclass_dcache */, + { "dhwbi", ICLASS_xt_iclass_dcache, 0, Opcode_dhwbi_encode_fns, 0, 0 }, - { "diwb", 208 /* xt_iclass_dcache_ind */, + { "diwb", ICLASS_xt_iclass_dcache_ind, 0, Opcode_diwb_encode_fns, 0, 0 }, - { "diwbi", 208 /* xt_iclass_dcache_ind */, + { "diwbi", ICLASS_xt_iclass_dcache_ind, 0, Opcode_diwbi_encode_fns, 0, 0 }, - { "dhi", 209 /* xt_iclass_dcache_inv */, + { "dhi", ICLASS_xt_iclass_dcache_inv, 0, Opcode_dhi_encode_fns, 0, 0 }, - { "dii", 209 /* xt_iclass_dcache_inv */, + { "dii", ICLASS_xt_iclass_dcache_inv, 0, Opcode_dii_encode_fns, 0, 0 }, - { "dpfr", 210 /* xt_iclass_dpf */, + { "dpfr", ICLASS_xt_iclass_dpf, 0, Opcode_dpfr_encode_fns, 0, 0 }, - { "dpfw", 210 /* xt_iclass_dpf */, + { "dpfw", ICLASS_xt_iclass_dpf, 0, Opcode_dpfw_encode_fns, 0, 0 }, - { "dpfro", 210 /* xt_iclass_dpf */, + { "dpfro", ICLASS_xt_iclass_dpf, 0, Opcode_dpfro_encode_fns, 0, 0 }, - { "dpfwo", 210 /* xt_iclass_dpf */, + { "dpfwo", ICLASS_xt_iclass_dpf, 0, Opcode_dpfwo_encode_fns, 0, 0 }, - { "sdct", 211 /* xt_iclass_sdct */, + { "dpfl", ICLASS_xt_iclass_dcache_lock, + 0, + Opcode_dpfl_encode_fns, 0, 0 }, + { "dhu", ICLASS_xt_iclass_dcache_lock, + 0, + Opcode_dhu_encode_fns, 0, 0 }, + { "diu", ICLASS_xt_iclass_dcache_lock, + 0, + Opcode_diu_encode_fns, 0, 0 }, + { "sdct", ICLASS_xt_iclass_sdct, 0, Opcode_sdct_encode_fns, 0, 0 }, - { "ldct", 212 /* xt_iclass_ldct */, + { "ldct", ICLASS_xt_iclass_ldct, 0, Opcode_ldct_encode_fns, 0, 0 }, - { "wsr.ptevaddr", 213 /* xt_iclass_wsr.ptevaddr */, + { "wsr.ptevaddr", ICLASS_xt_iclass_wsr_ptevaddr, 0, Opcode_wsr_ptevaddr_encode_fns, 0, 0 }, - { "rsr.ptevaddr", 214 /* xt_iclass_rsr.ptevaddr */, + { "rsr.ptevaddr", ICLASS_xt_iclass_rsr_ptevaddr, 0, Opcode_rsr_ptevaddr_encode_fns, 0, 0 }, - { "xsr.ptevaddr", 215 /* xt_iclass_xsr.ptevaddr */, + { "xsr.ptevaddr", ICLASS_xt_iclass_xsr_ptevaddr, 0, Opcode_xsr_ptevaddr_encode_fns, 0, 0 }, - { "rsr.rasid", 216 /* xt_iclass_rsr.rasid */, + { "rsr.rasid", ICLASS_xt_iclass_rsr_rasid, 0, Opcode_rsr_rasid_encode_fns, 0, 0 }, - { "wsr.rasid", 217 /* xt_iclass_wsr.rasid */, + { "wsr.rasid", ICLASS_xt_iclass_wsr_rasid, 0, Opcode_wsr_rasid_encode_fns, 0, 0 }, - { "xsr.rasid", 218 /* xt_iclass_xsr.rasid */, + { "xsr.rasid", ICLASS_xt_iclass_xsr_rasid, 0, Opcode_xsr_rasid_encode_fns, 0, 0 }, - { "rsr.itlbcfg", 219 /* xt_iclass_rsr.itlbcfg */, + { "rsr.itlbcfg", ICLASS_xt_iclass_rsr_itlbcfg, 0, Opcode_rsr_itlbcfg_encode_fns, 0, 0 }, - { "wsr.itlbcfg", 220 /* xt_iclass_wsr.itlbcfg */, + { "wsr.itlbcfg", ICLASS_xt_iclass_wsr_itlbcfg, 0, Opcode_wsr_itlbcfg_encode_fns, 0, 0 }, - { "xsr.itlbcfg", 221 /* xt_iclass_xsr.itlbcfg */, + { "xsr.itlbcfg", ICLASS_xt_iclass_xsr_itlbcfg, 0, Opcode_xsr_itlbcfg_encode_fns, 0, 0 }, - { "rsr.dtlbcfg", 222 /* xt_iclass_rsr.dtlbcfg */, + { "rsr.dtlbcfg", ICLASS_xt_iclass_rsr_dtlbcfg, 0, Opcode_rsr_dtlbcfg_encode_fns, 0, 0 }, - { "wsr.dtlbcfg", 223 /* xt_iclass_wsr.dtlbcfg */, + { "wsr.dtlbcfg", ICLASS_xt_iclass_wsr_dtlbcfg, 0, Opcode_wsr_dtlbcfg_encode_fns, 0, 0 }, - { "xsr.dtlbcfg", 224 /* xt_iclass_xsr.dtlbcfg */, + { "xsr.dtlbcfg", ICLASS_xt_iclass_xsr_dtlbcfg, 0, Opcode_xsr_dtlbcfg_encode_fns, 0, 0 }, - { "idtlb", 225 /* xt_iclass_idtlb */, + { "idtlb", ICLASS_xt_iclass_idtlb, 0, Opcode_idtlb_encode_fns, 0, 0 }, - { "pdtlb", 226 /* xt_iclass_rdtlb */, + { "pdtlb", ICLASS_xt_iclass_rdtlb, 0, Opcode_pdtlb_encode_fns, 0, 0 }, - { "rdtlb0", 226 /* xt_iclass_rdtlb */, + { "rdtlb0", ICLASS_xt_iclass_rdtlb, 0, Opcode_rdtlb0_encode_fns, 0, 0 }, - { "rdtlb1", 226 /* xt_iclass_rdtlb */, + { "rdtlb1", ICLASS_xt_iclass_rdtlb, 0, Opcode_rdtlb1_encode_fns, 0, 0 }, - { "wdtlb", 227 /* xt_iclass_wdtlb */, + { "wdtlb", ICLASS_xt_iclass_wdtlb, 0, Opcode_wdtlb_encode_fns, 0, 0 }, - { "iitlb", 228 /* xt_iclass_iitlb */, + { "iitlb", ICLASS_xt_iclass_iitlb, 0, Opcode_iitlb_encode_fns, 0, 0 }, - { "pitlb", 229 /* xt_iclass_ritlb */, + { "pitlb", ICLASS_xt_iclass_ritlb, 0, Opcode_pitlb_encode_fns, 0, 0 }, - { "ritlb0", 229 /* xt_iclass_ritlb */, + { "ritlb0", ICLASS_xt_iclass_ritlb, 0, Opcode_ritlb0_encode_fns, 0, 0 }, - { "ritlb1", 229 /* xt_iclass_ritlb */, + { "ritlb1", ICLASS_xt_iclass_ritlb, 0, Opcode_ritlb1_encode_fns, 0, 0 }, - { "witlb", 230 /* xt_iclass_witlb */, + { "witlb", ICLASS_xt_iclass_witlb, 0, Opcode_witlb_encode_fns, 0, 0 }, - { "ldpte", 231 /* xt_iclass_ldpte */, + { "ldpte", ICLASS_xt_iclass_ldpte, 0, Opcode_ldpte_encode_fns, 0, 0 }, - { "hwwitlba", 232 /* xt_iclass_hwwitlba */, + { "hwwitlba", ICLASS_xt_iclass_hwwitlba, XTENSA_OPCODE_IS_BRANCH, Opcode_hwwitlba_encode_fns, 0, 0 }, - { "hwwdtlba", 233 /* xt_iclass_hwwdtlba */, + { "hwwdtlba", ICLASS_xt_iclass_hwwdtlba, 0, Opcode_hwwdtlba_encode_fns, 0, 0 }, - { "nsa", 234 /* xt_iclass_nsa */, + { "rsr.cpenable", ICLASS_xt_iclass_rsr_cpenable, 0, - Opcode_nsa_encode_fns, 0, 0 }, - { "nsau", 234 /* xt_iclass_nsa */, + Opcode_rsr_cpenable_encode_fns, 0, 0 }, + { "wsr.cpenable", ICLASS_xt_iclass_wsr_cpenable, + 0, + Opcode_wsr_cpenable_encode_fns, 0, 0 }, + { "xsr.cpenable", ICLASS_xt_iclass_xsr_cpenable, + 0, + Opcode_xsr_cpenable_encode_fns, 0, 0 }, + { "clamps", ICLASS_xt_iclass_clamp, + 0, + Opcode_clamps_encode_fns, 0, 0 }, + { "min", ICLASS_xt_iclass_minmax, 0, - Opcode_nsau_encode_fns, 0, 0 } + Opcode_min_encode_fns, 0, 0 }, + { "max", ICLASS_xt_iclass_minmax, + 0, + Opcode_max_encode_fns, 0, 0 }, + { "minu", ICLASS_xt_iclass_minmax, + 0, + Opcode_minu_encode_fns, 0, 0 }, + { "maxu", ICLASS_xt_iclass_minmax, + 0, + Opcode_maxu_encode_fns, 0, 0 }, + { "nsa", ICLASS_xt_iclass_nsa, + 0, + Opcode_nsa_encode_fns, 0, 0 }, + { "nsau", ICLASS_xt_iclass_nsa, + 0, + Opcode_nsau_encode_fns, 0, 0 }, + { "sext", ICLASS_xt_iclass_sx, + 0, + Opcode_sext_encode_fns, 0, 0 }, + { "l32ai", ICLASS_xt_iclass_l32ai, + 0, + Opcode_l32ai_encode_fns, 0, 0 }, + { "s32ri", ICLASS_xt_iclass_s32ri, + 0, + Opcode_s32ri_encode_fns, 0, 0 }, + { "s32c1i", ICLASS_xt_iclass_s32c1i, + 0, + Opcode_s32c1i_encode_fns, 0, 0 }, + { "rsr.scompare1", ICLASS_xt_iclass_rsr_scompare1, + 0, + Opcode_rsr_scompare1_encode_fns, 0, 0 }, + { "wsr.scompare1", ICLASS_xt_iclass_wsr_scompare1, + 0, + Opcode_wsr_scompare1_encode_fns, 0, 0 }, + { "xsr.scompare1", ICLASS_xt_iclass_xsr_scompare1, + 0, + Opcode_xsr_scompare1_encode_fns, 0, 0 }, + { "quou", ICLASS_xt_iclass_div, + 0, + Opcode_quou_encode_fns, 0, 0 }, + { "quos", ICLASS_xt_iclass_div, + 0, + Opcode_quos_encode_fns, 0, 0 }, + { "remu", ICLASS_xt_iclass_div, + 0, + Opcode_remu_encode_fns, 0, 0 }, + { "rems", ICLASS_xt_iclass_div, + 0, + Opcode_rems_encode_fns, 0, 0 }, + { "mull", ICLASS_xt_mul32, + 0, + Opcode_mull_encode_fns, 0, 0 } +}; + +enum xtensa_opcode_id { + OPCODE_EXCW, + OPCODE_RFE, + OPCODE_RFDE, + OPCODE_SYSCALL, + OPCODE_SIMCALL, + OPCODE_CALL12, + OPCODE_CALL8, + OPCODE_CALL4, + OPCODE_CALLX12, + OPCODE_CALLX8, + OPCODE_CALLX4, + OPCODE_ENTRY, + OPCODE_MOVSP, + OPCODE_ROTW, + OPCODE_RETW, + OPCODE_RETW_N, + OPCODE_RFWO, + OPCODE_RFWU, + OPCODE_L32E, + OPCODE_S32E, + OPCODE_RSR_WINDOWBASE, + OPCODE_WSR_WINDOWBASE, + OPCODE_XSR_WINDOWBASE, + OPCODE_RSR_WINDOWSTART, + OPCODE_WSR_WINDOWSTART, + OPCODE_XSR_WINDOWSTART, + OPCODE_ADD_N, + OPCODE_ADDI_N, + OPCODE_BEQZ_N, + OPCODE_BNEZ_N, + OPCODE_ILL_N, + OPCODE_L32I_N, + OPCODE_MOV_N, + OPCODE_MOVI_N, + OPCODE_NOP_N, + OPCODE_RET_N, + OPCODE_S32I_N, + OPCODE_RUR_THREADPTR, + OPCODE_WUR_THREADPTR, + OPCODE_ADDI, + OPCODE_ADDMI, + OPCODE_ADD, + OPCODE_SUB, + OPCODE_ADDX2, + OPCODE_ADDX4, + OPCODE_ADDX8, + OPCODE_SUBX2, + OPCODE_SUBX4, + OPCODE_SUBX8, + OPCODE_AND, + OPCODE_OR, + OPCODE_XOR, + OPCODE_BEQI, + OPCODE_BNEI, + OPCODE_BGEI, + OPCODE_BLTI, + OPCODE_BBCI, + OPCODE_BBSI, + OPCODE_BGEUI, + OPCODE_BLTUI, + OPCODE_BEQ, + OPCODE_BNE, + OPCODE_BGE, + OPCODE_BLT, + OPCODE_BGEU, + OPCODE_BLTU, + OPCODE_BANY, + OPCODE_BNONE, + OPCODE_BALL, + OPCODE_BNALL, + OPCODE_BBC, + OPCODE_BBS, + OPCODE_BEQZ, + OPCODE_BNEZ, + OPCODE_BGEZ, + OPCODE_BLTZ, + OPCODE_CALL0, + OPCODE_CALLX0, + OPCODE_EXTUI, + OPCODE_ILL, + OPCODE_J, + OPCODE_JX, + OPCODE_L16UI, + OPCODE_L16SI, + OPCODE_L32I, + OPCODE_L32R, + OPCODE_L8UI, + OPCODE_LOOP, + OPCODE_LOOPNEZ, + OPCODE_LOOPGTZ, + OPCODE_MOVI, + OPCODE_MOVEQZ, + OPCODE_MOVNEZ, + OPCODE_MOVLTZ, + OPCODE_MOVGEZ, + OPCODE_NEG, + OPCODE_ABS, + OPCODE_NOP, + OPCODE_RET, + OPCODE_S16I, + OPCODE_S32I, + OPCODE_S8I, + OPCODE_SSR, + OPCODE_SSL, + OPCODE_SSA8L, + OPCODE_SSA8B, + OPCODE_SSAI, + OPCODE_SLL, + OPCODE_SRC, + OPCODE_SRL, + OPCODE_SRA, + OPCODE_SLLI, + OPCODE_SRAI, + OPCODE_SRLI, + OPCODE_MEMW, + OPCODE_EXTW, + OPCODE_ISYNC, + OPCODE_RSYNC, + OPCODE_ESYNC, + OPCODE_DSYNC, + OPCODE_RSIL, + OPCODE_RSR_LEND, + OPCODE_WSR_LEND, + OPCODE_XSR_LEND, + OPCODE_RSR_LCOUNT, + OPCODE_WSR_LCOUNT, + OPCODE_XSR_LCOUNT, + OPCODE_RSR_LBEG, + OPCODE_WSR_LBEG, + OPCODE_XSR_LBEG, + OPCODE_RSR_SAR, + OPCODE_WSR_SAR, + OPCODE_XSR_SAR, + OPCODE_RSR_LITBASE, + OPCODE_WSR_LITBASE, + OPCODE_XSR_LITBASE, + OPCODE_RSR_176, + OPCODE_WSR_176, + OPCODE_RSR_208, + OPCODE_RSR_PS, + OPCODE_WSR_PS, + OPCODE_XSR_PS, + OPCODE_RSR_EPC1, + OPCODE_WSR_EPC1, + OPCODE_XSR_EPC1, + OPCODE_RSR_EXCSAVE1, + OPCODE_WSR_EXCSAVE1, + OPCODE_XSR_EXCSAVE1, + OPCODE_RSR_EPC2, + OPCODE_WSR_EPC2, + OPCODE_XSR_EPC2, + OPCODE_RSR_EXCSAVE2, + OPCODE_WSR_EXCSAVE2, + OPCODE_XSR_EXCSAVE2, + OPCODE_RSR_EPC3, + OPCODE_WSR_EPC3, + OPCODE_XSR_EPC3, + OPCODE_RSR_EXCSAVE3, + OPCODE_WSR_EXCSAVE3, + OPCODE_XSR_EXCSAVE3, + OPCODE_RSR_EPC4, + OPCODE_WSR_EPC4, + OPCODE_XSR_EPC4, + OPCODE_RSR_EXCSAVE4, + OPCODE_WSR_EXCSAVE4, + OPCODE_XSR_EXCSAVE4, + OPCODE_RSR_EPC5, + OPCODE_WSR_EPC5, + OPCODE_XSR_EPC5, + OPCODE_RSR_EXCSAVE5, + OPCODE_WSR_EXCSAVE5, + OPCODE_XSR_EXCSAVE5, + OPCODE_RSR_EPC6, + OPCODE_WSR_EPC6, + OPCODE_XSR_EPC6, + OPCODE_RSR_EXCSAVE6, + OPCODE_WSR_EXCSAVE6, + OPCODE_XSR_EXCSAVE6, + OPCODE_RSR_EPC7, + OPCODE_WSR_EPC7, + OPCODE_XSR_EPC7, + OPCODE_RSR_EXCSAVE7, + OPCODE_WSR_EXCSAVE7, + OPCODE_XSR_EXCSAVE7, + OPCODE_RSR_EPS2, + OPCODE_WSR_EPS2, + OPCODE_XSR_EPS2, + OPCODE_RSR_EPS3, + OPCODE_WSR_EPS3, + OPCODE_XSR_EPS3, + OPCODE_RSR_EPS4, + OPCODE_WSR_EPS4, + OPCODE_XSR_EPS4, + OPCODE_RSR_EPS5, + OPCODE_WSR_EPS5, + OPCODE_XSR_EPS5, + OPCODE_RSR_EPS6, + OPCODE_WSR_EPS6, + OPCODE_XSR_EPS6, + OPCODE_RSR_EPS7, + OPCODE_WSR_EPS7, + OPCODE_XSR_EPS7, + OPCODE_RSR_EXCVADDR, + OPCODE_WSR_EXCVADDR, + OPCODE_XSR_EXCVADDR, + OPCODE_RSR_DEPC, + OPCODE_WSR_DEPC, + OPCODE_XSR_DEPC, + OPCODE_RSR_EXCCAUSE, + OPCODE_WSR_EXCCAUSE, + OPCODE_XSR_EXCCAUSE, + OPCODE_RSR_MISC0, + OPCODE_WSR_MISC0, + OPCODE_XSR_MISC0, + OPCODE_RSR_MISC1, + OPCODE_WSR_MISC1, + OPCODE_XSR_MISC1, + OPCODE_RSR_PRID, + OPCODE_RSR_VECBASE, + OPCODE_WSR_VECBASE, + OPCODE_XSR_VECBASE, + OPCODE_MUL16U, + OPCODE_MUL16S, + OPCODE_RFI, + OPCODE_WAITI, + OPCODE_RSR_INTERRUPT, + OPCODE_WSR_INTSET, + OPCODE_WSR_INTCLEAR, + OPCODE_RSR_INTENABLE, + OPCODE_WSR_INTENABLE, + OPCODE_XSR_INTENABLE, + OPCODE_BREAK, + OPCODE_BREAK_N, + OPCODE_RSR_DBREAKA0, + OPCODE_WSR_DBREAKA0, + OPCODE_XSR_DBREAKA0, + OPCODE_RSR_DBREAKC0, + OPCODE_WSR_DBREAKC0, + OPCODE_XSR_DBREAKC0, + OPCODE_RSR_DBREAKA1, + OPCODE_WSR_DBREAKA1, + OPCODE_XSR_DBREAKA1, + OPCODE_RSR_DBREAKC1, + OPCODE_WSR_DBREAKC1, + OPCODE_XSR_DBREAKC1, + OPCODE_RSR_IBREAKA0, + OPCODE_WSR_IBREAKA0, + OPCODE_XSR_IBREAKA0, + OPCODE_RSR_IBREAKA1, + OPCODE_WSR_IBREAKA1, + OPCODE_XSR_IBREAKA1, + OPCODE_RSR_IBREAKENABLE, + OPCODE_WSR_IBREAKENABLE, + OPCODE_XSR_IBREAKENABLE, + OPCODE_RSR_DEBUGCAUSE, + OPCODE_WSR_DEBUGCAUSE, + OPCODE_XSR_DEBUGCAUSE, + OPCODE_RSR_ICOUNT, + OPCODE_WSR_ICOUNT, + OPCODE_XSR_ICOUNT, + OPCODE_RSR_ICOUNTLEVEL, + OPCODE_WSR_ICOUNTLEVEL, + OPCODE_XSR_ICOUNTLEVEL, + OPCODE_RSR_DDR, + OPCODE_WSR_DDR, + OPCODE_XSR_DDR, + OPCODE_RFDO, + OPCODE_RFDD, + OPCODE_WSR_MMID, + OPCODE_RSR_CCOUNT, + OPCODE_WSR_CCOUNT, + OPCODE_XSR_CCOUNT, + OPCODE_RSR_CCOMPARE0, + OPCODE_WSR_CCOMPARE0, + OPCODE_XSR_CCOMPARE0, + OPCODE_RSR_CCOMPARE1, + OPCODE_WSR_CCOMPARE1, + OPCODE_XSR_CCOMPARE1, + OPCODE_RSR_CCOMPARE2, + OPCODE_WSR_CCOMPARE2, + OPCODE_XSR_CCOMPARE2, + OPCODE_IPF, + OPCODE_IHI, + OPCODE_IPFL, + OPCODE_IHU, + OPCODE_IIU, + OPCODE_III, + OPCODE_LICT, + OPCODE_LICW, + OPCODE_SICT, + OPCODE_SICW, + OPCODE_DHWB, + OPCODE_DHWBI, + OPCODE_DIWB, + OPCODE_DIWBI, + OPCODE_DHI, + OPCODE_DII, + OPCODE_DPFR, + OPCODE_DPFW, + OPCODE_DPFRO, + OPCODE_DPFWO, + OPCODE_DPFL, + OPCODE_DHU, + OPCODE_DIU, + OPCODE_SDCT, + OPCODE_LDCT, + OPCODE_WSR_PTEVADDR, + OPCODE_RSR_PTEVADDR, + OPCODE_XSR_PTEVADDR, + OPCODE_RSR_RASID, + OPCODE_WSR_RASID, + OPCODE_XSR_RASID, + OPCODE_RSR_ITLBCFG, + OPCODE_WSR_ITLBCFG, + OPCODE_XSR_ITLBCFG, + OPCODE_RSR_DTLBCFG, + OPCODE_WSR_DTLBCFG, + OPCODE_XSR_DTLBCFG, + OPCODE_IDTLB, + OPCODE_PDTLB, + OPCODE_RDTLB0, + OPCODE_RDTLB1, + OPCODE_WDTLB, + OPCODE_IITLB, + OPCODE_PITLB, + OPCODE_RITLB0, + OPCODE_RITLB1, + OPCODE_WITLB, + OPCODE_LDPTE, + OPCODE_HWWITLBA, + OPCODE_HWWDTLBA, + OPCODE_RSR_CPENABLE, + OPCODE_WSR_CPENABLE, + OPCODE_XSR_CPENABLE, + OPCODE_CLAMPS, + OPCODE_MIN, + OPCODE_MAX, + OPCODE_MINU, + OPCODE_MAXU, + OPCODE_NSA, + OPCODE_NSAU, + OPCODE_SEXT, + OPCODE_L32AI, + OPCODE_S32RI, + OPCODE_S32C1I, + OPCODE_RSR_SCOMPARE1, + OPCODE_WSR_SCOMPARE1, + OPCODE_XSR_SCOMPARE1, + OPCODE_QUOU, + OPCODE_QUOS, + OPCODE_REMU, + OPCODE_REMS, + OPCODE_MULL }; @@ -8625,57 +10955,57 @@ Slot_inst_decode (const xtensa_insnbuf insn) case 0: if (Field_s_Slot_inst_get (insn) == 0 && Field_n_Slot_inst_get (insn) == 0) - return 77; /* ill */ + return OPCODE_ILL; break; case 2: switch (Field_n_Slot_inst_get (insn)) { case 0: - return 96; /* ret */ + return OPCODE_RET; case 1: - return 14; /* retw */ + return OPCODE_RETW; case 2: - return 79; /* jx */ + return OPCODE_JX; } break; case 3: switch (Field_n_Slot_inst_get (insn)) { case 0: - return 75; /* callx0 */ + return OPCODE_CALLX0; case 1: - return 10; /* callx4 */ + return OPCODE_CALLX4; case 2: - return 9; /* callx8 */ + return OPCODE_CALLX8; case 3: - return 8; /* callx12 */ + return OPCODE_CALLX12; } break; } break; case 1: - return 12; /* movsp */ + return OPCODE_MOVSP; case 2: if (Field_s_Slot_inst_get (insn) == 0) { switch (Field_t_Slot_inst_get (insn)) { case 0: - return 114; /* isync */ + return OPCODE_ISYNC; case 1: - return 115; /* rsync */ + return OPCODE_RSYNC; case 2: - return 116; /* esync */ + return OPCODE_ESYNC; case 3: - return 117; /* dsync */ + return OPCODE_DSYNC; case 8: - return 0; /* excw */ + return OPCODE_EXCW; case 12: - return 112; /* memw */ + return OPCODE_MEMW; case 13: - return 113; /* extw */ + return OPCODE_EXTW; case 15: - return 95; /* nop */ + return OPCODE_NOP; } } break; @@ -8686,139 +11016,139 @@ Slot_inst_decode (const xtensa_insnbuf insn) switch (Field_s_Slot_inst_get (insn)) { case 0: - return 1; /* rfe */ + return OPCODE_RFE; case 2: - return 2; /* rfde */ + return OPCODE_RFDE; case 4: - return 16; /* rfwo */ + return OPCODE_RFWO; case 5: - return 17; /* rfwu */ + return OPCODE_RFWU; } break; case 1: - return 188; /* rfi */ + return OPCODE_RFI; } break; case 4: - return 196; /* break */ + return OPCODE_BREAK; case 5: switch (Field_s_Slot_inst_get (insn)) { case 0: if (Field_t_Slot_inst_get (insn) == 0) - return 3; /* syscall */ + return OPCODE_SYSCALL; break; case 1: if (Field_t_Slot_inst_get (insn) == 0) - return 4; /* simcall */ + return OPCODE_SIMCALL; break; } break; case 6: - return 118; /* rsil */ + return OPCODE_RSIL; case 7: if (Field_t_Slot_inst_get (insn) == 0) - return 189; /* waiti */ + return OPCODE_WAITI; break; } break; case 1: - return 47; /* and */ + return OPCODE_AND; case 2: - return 48; /* or */ + return OPCODE_OR; case 3: - return 49; /* xor */ + return OPCODE_XOR; case 4: switch (Field_r_Slot_inst_get (insn)) { case 0: if (Field_t_Slot_inst_get (insn) == 0) - return 100; /* ssr */ + return OPCODE_SSR; break; case 1: if (Field_t_Slot_inst_get (insn) == 0) - return 101; /* ssl */ + return OPCODE_SSL; break; case 2: if (Field_t_Slot_inst_get (insn) == 0) - return 102; /* ssa8l */ + return OPCODE_SSA8L; break; case 3: if (Field_t_Slot_inst_get (insn) == 0) - return 103; /* ssa8b */ + return OPCODE_SSA8B; break; case 4: if (Field_thi3_Slot_inst_get (insn) == 0) - return 104; /* ssai */ + return OPCODE_SSAI; break; case 8: if (Field_s_Slot_inst_get (insn) == 0) - return 13; /* rotw */ + return OPCODE_ROTW; break; case 14: - return 289; /* nsa */ + return OPCODE_NSA; case 15: - return 290; /* nsau */ + return OPCODE_NSAU; } break; case 5: switch (Field_r_Slot_inst_get (insn)) { case 1: - return 287; /* hwwitlba */ + return OPCODE_HWWITLBA; case 3: - return 283; /* ritlb0 */ + return OPCODE_RITLB0; case 4: if (Field_t_Slot_inst_get (insn) == 0) - return 281; /* iitlb */ + return OPCODE_IITLB; break; case 5: - return 282; /* pitlb */ + return OPCODE_PITLB; case 6: - return 285; /* witlb */ + return OPCODE_WITLB; case 7: - return 284; /* ritlb1 */ + return OPCODE_RITLB1; case 9: - return 288; /* hwwdtlba */ + return OPCODE_HWWDTLBA; case 11: - return 278; /* rdtlb0 */ + return OPCODE_RDTLB0; case 12: if (Field_t_Slot_inst_get (insn) == 0) - return 276; /* idtlb */ + return OPCODE_IDTLB; break; case 13: - return 277; /* pdtlb */ + return OPCODE_PDTLB; case 14: - return 280; /* wdtlb */ + return OPCODE_WDTLB; case 15: - return 279; /* rdtlb1 */ + return OPCODE_RDTLB1; } break; case 6: switch (Field_s_Slot_inst_get (insn)) { case 0: - return 93; /* neg */ + return OPCODE_NEG; case 1: - return 94; /* abs */ + return OPCODE_ABS; } break; case 8: - return 39; /* add */ + return OPCODE_ADD; case 9: - return 41; /* addx2 */ + return OPCODE_ADDX2; case 10: - return 42; /* addx4 */ + return OPCODE_ADDX4; case 11: - return 43; /* addx8 */ + return OPCODE_ADDX8; case 12: - return 40; /* sub */ + return OPCODE_SUB; case 13: - return 44; /* subx2 */ + return OPCODE_SUBX2; case 14: - return 45; /* subx4 */ + return OPCODE_SUBX4; case 15: - return 46; /* subx8 */ + return OPCODE_SUBX8; } break; case 1: @@ -8826,148 +11156,189 @@ Slot_inst_decode (const xtensa_insnbuf insn) { case 0: case 1: - return 109; /* slli */ + return OPCODE_SLLI; case 2: case 3: - return 110; /* srai */ + return OPCODE_SRAI; case 4: - return 111; /* srli */ + return OPCODE_SRLI; case 6: switch (Field_sr_Slot_inst_get (insn)) { case 0: - return 127; /* xsr.lbeg */ + return OPCODE_XSR_LBEG; case 1: - return 121; /* xsr.lend */ + return OPCODE_XSR_LEND; case 2: - return 124; /* xsr.lcount */ + return OPCODE_XSR_LCOUNT; case 3: - return 130; /* xsr.sar */ + return OPCODE_XSR_SAR; case 5: - return 133; /* xsr.litbase */ + return OPCODE_XSR_LITBASE; + case 12: + return OPCODE_XSR_SCOMPARE1; case 72: - return 22; /* xsr.windowbase */ + return OPCODE_XSR_WINDOWBASE; case 73: - return 25; /* xsr.windowstart */ + return OPCODE_XSR_WINDOWSTART; case 83: - return 266; /* xsr.ptevaddr */ + return OPCODE_XSR_PTEVADDR; case 90: - return 269; /* xsr.rasid */ + return OPCODE_XSR_RASID; case 91: - return 272; /* xsr.itlbcfg */ + return OPCODE_XSR_ITLBCFG; case 92: - return 275; /* xsr.dtlbcfg */ + return OPCODE_XSR_DTLBCFG; case 96: - return 218; /* xsr.ibreakenable */ + return OPCODE_XSR_IBREAKENABLE; case 104: - return 230; /* xsr.ddr */ + return OPCODE_XSR_DDR; case 128: - return 212; /* xsr.ibreaka0 */ + return OPCODE_XSR_IBREAKA0; case 129: - return 215; /* xsr.ibreaka1 */ + return OPCODE_XSR_IBREAKA1; case 144: - return 200; /* xsr.dbreaka0 */ + return OPCODE_XSR_DBREAKA0; case 145: - return 206; /* xsr.dbreaka1 */ + return OPCODE_XSR_DBREAKA1; case 160: - return 203; /* xsr.dbreakc0 */ + return OPCODE_XSR_DBREAKC0; case 161: - return 209; /* xsr.dbreakc1 */ + return OPCODE_XSR_DBREAKC1; case 177: - return 141; /* xsr.epc1 */ + return OPCODE_XSR_EPC1; case 178: - return 147; /* xsr.epc2 */ + return OPCODE_XSR_EPC2; case 179: - return 153; /* xsr.epc3 */ + return OPCODE_XSR_EPC3; case 180: - return 159; /* xsr.epc4 */ + return OPCODE_XSR_EPC4; + case 181: + return OPCODE_XSR_EPC5; + case 182: + return OPCODE_XSR_EPC6; + case 183: + return OPCODE_XSR_EPC7; case 192: - return 177; /* xsr.depc */ + return OPCODE_XSR_DEPC; case 194: - return 165; /* xsr.eps2 */ + return OPCODE_XSR_EPS2; case 195: - return 168; /* xsr.eps3 */ + return OPCODE_XSR_EPS3; case 196: - return 171; /* xsr.eps4 */ + return OPCODE_XSR_EPS4; + case 197: + return OPCODE_XSR_EPS5; + case 198: + return OPCODE_XSR_EPS6; + case 199: + return OPCODE_XSR_EPS7; case 209: - return 144; /* xsr.excsave1 */ + return OPCODE_XSR_EXCSAVE1; case 210: - return 150; /* xsr.excsave2 */ + return OPCODE_XSR_EXCSAVE2; case 211: - return 156; /* xsr.excsave3 */ + return OPCODE_XSR_EXCSAVE3; case 212: - return 162; /* xsr.excsave4 */ + return OPCODE_XSR_EXCSAVE4; + case 213: + return OPCODE_XSR_EXCSAVE5; + case 214: + return OPCODE_XSR_EXCSAVE6; + case 215: + return OPCODE_XSR_EXCSAVE7; + case 224: + return OPCODE_XSR_CPENABLE; case 228: - return 195; /* xsr.intenable */ + return OPCODE_XSR_INTENABLE; case 230: - return 138; /* xsr.ps */ + return OPCODE_XSR_PS; + case 231: + return OPCODE_XSR_VECBASE; case 232: - return 180; /* xsr.exccause */ + return OPCODE_XSR_EXCCAUSE; case 233: - return 221; /* xsr.debugcause */ + return OPCODE_XSR_DEBUGCAUSE; case 234: - return 235; /* xsr.ccount */ + return OPCODE_XSR_CCOUNT; case 236: - return 224; /* xsr.icount */ + return OPCODE_XSR_ICOUNT; case 237: - return 227; /* xsr.icountlevel */ + return OPCODE_XSR_ICOUNTLEVEL; case 238: - return 174; /* xsr.excvaddr */ + return OPCODE_XSR_EXCVADDR; case 240: - return 238; /* xsr.ccompare0 */ + return OPCODE_XSR_CCOMPARE0; case 241: - return 241; /* xsr.ccompare1 */ + return OPCODE_XSR_CCOMPARE1; case 242: - return 244; /* xsr.ccompare2 */ + return OPCODE_XSR_CCOMPARE2; case 244: - return 183; /* xsr.misc0 */ + return OPCODE_XSR_MISC0; case 245: - return 186; /* xsr.misc1 */ + return OPCODE_XSR_MISC1; } break; case 8: - return 106; /* src */ + return OPCODE_SRC; case 9: if (Field_s_Slot_inst_get (insn) == 0) - return 107; /* srl */ + return OPCODE_SRL; break; case 10: if (Field_t_Slot_inst_get (insn) == 0) - return 105; /* sll */ + return OPCODE_SLL; break; case 11: if (Field_s_Slot_inst_get (insn) == 0) - return 108; /* sra */ + return OPCODE_SRA; break; + case 12: + return OPCODE_MUL16U; + case 13: + return OPCODE_MUL16S; case 15: switch (Field_r_Slot_inst_get (insn)) { case 0: - return 248; /* lict */ + return OPCODE_LICT; case 1: - return 250; /* sict */ + return OPCODE_SICT; case 2: - return 249; /* licw */ + return OPCODE_LICW; case 3: - return 251; /* sicw */ + return OPCODE_SICW; case 8: - return 263; /* ldct */ + return OPCODE_LDCT; case 9: - return 262; /* sdct */ + return OPCODE_SDCT; case 14: - if (Field_t_Slot_inst_get (insn) == 0 && - Field_s_Slot_inst_get (insn) == 0) - return 231; /* rfdo */ - if (Field_t_Slot_inst_get (insn) == 1 && - Field_s_Slot_inst_get (insn) == 0) - return 232; /* rfdd */ + if (Field_t_Slot_inst_get (insn) == 0) + return OPCODE_RFDO; + if (Field_t_Slot_inst_get (insn) == 1) + return OPCODE_RFDD; break; case 15: - return 286; /* ldpte */ + return OPCODE_LDPTE; } break; } break; + case 2: + switch (Field_op2_Slot_inst_get (insn)) + { + case 8: + return OPCODE_MULL; + case 12: + return OPCODE_QUOU; + case 13: + return OPCODE_QUOS; + case 14: + return OPCODE_REMU; + case 15: + return OPCODE_REMS; + } + break; case 3: switch (Field_op2_Slot_inst_get (insn)) { @@ -8975,351 +11346,446 @@ Slot_inst_decode (const xtensa_insnbuf insn) switch (Field_sr_Slot_inst_get (insn)) { case 0: - return 125; /* rsr.lbeg */ + return OPCODE_RSR_LBEG; case 1: - return 119; /* rsr.lend */ + return OPCODE_RSR_LEND; case 2: - return 122; /* rsr.lcount */ + return OPCODE_RSR_LCOUNT; case 3: - return 128; /* rsr.sar */ + return OPCODE_RSR_SAR; case 5: - return 131; /* rsr.litbase */ + return OPCODE_RSR_LITBASE; + case 12: + return OPCODE_RSR_SCOMPARE1; case 72: - return 20; /* rsr.windowbase */ + return OPCODE_RSR_WINDOWBASE; case 73: - return 23; /* rsr.windowstart */ + return OPCODE_RSR_WINDOWSTART; case 83: - return 265; /* rsr.ptevaddr */ + return OPCODE_RSR_PTEVADDR; case 90: - return 267; /* rsr.rasid */ + return OPCODE_RSR_RASID; case 91: - return 270; /* rsr.itlbcfg */ + return OPCODE_RSR_ITLBCFG; case 92: - return 273; /* rsr.dtlbcfg */ + return OPCODE_RSR_DTLBCFG; case 96: - return 216; /* rsr.ibreakenable */ + return OPCODE_RSR_IBREAKENABLE; case 104: - return 228; /* rsr.ddr */ + return OPCODE_RSR_DDR; case 128: - return 210; /* rsr.ibreaka0 */ + return OPCODE_RSR_IBREAKA0; case 129: - return 213; /* rsr.ibreaka1 */ + return OPCODE_RSR_IBREAKA1; case 144: - return 198; /* rsr.dbreaka0 */ + return OPCODE_RSR_DBREAKA0; case 145: - return 204; /* rsr.dbreaka1 */ + return OPCODE_RSR_DBREAKA1; case 160: - return 201; /* rsr.dbreakc0 */ + return OPCODE_RSR_DBREAKC0; case 161: - return 207; /* rsr.dbreakc1 */ + return OPCODE_RSR_DBREAKC1; case 176: - return 134; /* rsr.176 */ + return OPCODE_RSR_176; case 177: - return 139; /* rsr.epc1 */ + return OPCODE_RSR_EPC1; case 178: - return 145; /* rsr.epc2 */ + return OPCODE_RSR_EPC2; case 179: - return 151; /* rsr.epc3 */ + return OPCODE_RSR_EPC3; case 180: - return 157; /* rsr.epc4 */ + return OPCODE_RSR_EPC4; + case 181: + return OPCODE_RSR_EPC5; + case 182: + return OPCODE_RSR_EPC6; + case 183: + return OPCODE_RSR_EPC7; case 192: - return 175; /* rsr.depc */ + return OPCODE_RSR_DEPC; case 194: - return 163; /* rsr.eps2 */ + return OPCODE_RSR_EPS2; case 195: - return 166; /* rsr.eps3 */ + return OPCODE_RSR_EPS3; case 196: - return 169; /* rsr.eps4 */ + return OPCODE_RSR_EPS4; + case 197: + return OPCODE_RSR_EPS5; + case 198: + return OPCODE_RSR_EPS6; + case 199: + return OPCODE_RSR_EPS7; case 208: - return 135; /* rsr.208 */ + return OPCODE_RSR_208; case 209: - return 142; /* rsr.excsave1 */ + return OPCODE_RSR_EXCSAVE1; case 210: - return 148; /* rsr.excsave2 */ + return OPCODE_RSR_EXCSAVE2; case 211: - return 154; /* rsr.excsave3 */ + return OPCODE_RSR_EXCSAVE3; case 212: - return 160; /* rsr.excsave4 */ + return OPCODE_RSR_EXCSAVE4; + case 213: + return OPCODE_RSR_EXCSAVE5; + case 214: + return OPCODE_RSR_EXCSAVE6; + case 215: + return OPCODE_RSR_EXCSAVE7; + case 224: + return OPCODE_RSR_CPENABLE; case 226: - return 190; /* rsr.interrupt */ + return OPCODE_RSR_INTERRUPT; case 228: - return 193; /* rsr.intenable */ + return OPCODE_RSR_INTENABLE; case 230: - return 136; /* rsr.ps */ + return OPCODE_RSR_PS; + case 231: + return OPCODE_RSR_VECBASE; case 232: - return 178; /* rsr.exccause */ + return OPCODE_RSR_EXCCAUSE; case 233: - return 219; /* rsr.debugcause */ + return OPCODE_RSR_DEBUGCAUSE; case 234: - return 233; /* rsr.ccount */ + return OPCODE_RSR_CCOUNT; case 235: - return 187; /* rsr.prid */ + return OPCODE_RSR_PRID; case 236: - return 222; /* rsr.icount */ + return OPCODE_RSR_ICOUNT; case 237: - return 225; /* rsr.icountlevel */ + return OPCODE_RSR_ICOUNTLEVEL; case 238: - return 172; /* rsr.excvaddr */ + return OPCODE_RSR_EXCVADDR; case 240: - return 236; /* rsr.ccompare0 */ + return OPCODE_RSR_CCOMPARE0; case 241: - return 239; /* rsr.ccompare1 */ + return OPCODE_RSR_CCOMPARE1; case 242: - return 242; /* rsr.ccompare2 */ + return OPCODE_RSR_CCOMPARE2; case 244: - return 181; /* rsr.misc0 */ + return OPCODE_RSR_MISC0; case 245: - return 184; /* rsr.misc1 */ + return OPCODE_RSR_MISC1; } break; case 1: switch (Field_sr_Slot_inst_get (insn)) { case 0: - return 126; /* wsr.lbeg */ + return OPCODE_WSR_LBEG; case 1: - return 120; /* wsr.lend */ + return OPCODE_WSR_LEND; case 2: - return 123; /* wsr.lcount */ + return OPCODE_WSR_LCOUNT; case 3: - return 129; /* wsr.sar */ + return OPCODE_WSR_SAR; case 5: - return 132; /* wsr.litbase */ + return OPCODE_WSR_LITBASE; + case 12: + return OPCODE_WSR_SCOMPARE1; case 72: - return 21; /* wsr.windowbase */ + return OPCODE_WSR_WINDOWBASE; case 73: - return 24; /* wsr.windowstart */ + return OPCODE_WSR_WINDOWSTART; case 83: - return 264; /* wsr.ptevaddr */ + return OPCODE_WSR_PTEVADDR; + case 89: + return OPCODE_WSR_MMID; case 90: - return 268; /* wsr.rasid */ + return OPCODE_WSR_RASID; case 91: - return 271; /* wsr.itlbcfg */ + return OPCODE_WSR_ITLBCFG; case 92: - return 274; /* wsr.dtlbcfg */ + return OPCODE_WSR_DTLBCFG; case 96: - return 217; /* wsr.ibreakenable */ + return OPCODE_WSR_IBREAKENABLE; case 104: - return 229; /* wsr.ddr */ + return OPCODE_WSR_DDR; case 128: - return 211; /* wsr.ibreaka0 */ + return OPCODE_WSR_IBREAKA0; case 129: - return 214; /* wsr.ibreaka1 */ + return OPCODE_WSR_IBREAKA1; case 144: - return 199; /* wsr.dbreaka0 */ + return OPCODE_WSR_DBREAKA0; case 145: - return 205; /* wsr.dbreaka1 */ + return OPCODE_WSR_DBREAKA1; case 160: - return 202; /* wsr.dbreakc0 */ + return OPCODE_WSR_DBREAKC0; case 161: - return 208; /* wsr.dbreakc1 */ + return OPCODE_WSR_DBREAKC1; + case 176: + return OPCODE_WSR_176; case 177: - return 140; /* wsr.epc1 */ + return OPCODE_WSR_EPC1; case 178: - return 146; /* wsr.epc2 */ + return OPCODE_WSR_EPC2; case 179: - return 152; /* wsr.epc3 */ + return OPCODE_WSR_EPC3; case 180: - return 158; /* wsr.epc4 */ + return OPCODE_WSR_EPC4; + case 181: + return OPCODE_WSR_EPC5; + case 182: + return OPCODE_WSR_EPC6; + case 183: + return OPCODE_WSR_EPC7; case 192: - return 176; /* wsr.depc */ + return OPCODE_WSR_DEPC; case 194: - return 164; /* wsr.eps2 */ + return OPCODE_WSR_EPS2; case 195: - return 167; /* wsr.eps3 */ + return OPCODE_WSR_EPS3; case 196: - return 170; /* wsr.eps4 */ + return OPCODE_WSR_EPS4; + case 197: + return OPCODE_WSR_EPS5; + case 198: + return OPCODE_WSR_EPS6; + case 199: + return OPCODE_WSR_EPS7; case 209: - return 143; /* wsr.excsave1 */ + return OPCODE_WSR_EXCSAVE1; case 210: - return 149; /* wsr.excsave2 */ + return OPCODE_WSR_EXCSAVE2; case 211: - return 155; /* wsr.excsave3 */ + return OPCODE_WSR_EXCSAVE3; case 212: - return 161; /* wsr.excsave4 */ + return OPCODE_WSR_EXCSAVE4; + case 213: + return OPCODE_WSR_EXCSAVE5; + case 214: + return OPCODE_WSR_EXCSAVE6; + case 215: + return OPCODE_WSR_EXCSAVE7; + case 224: + return OPCODE_WSR_CPENABLE; case 226: - return 191; /* wsr.intset */ + return OPCODE_WSR_INTSET; case 227: - return 192; /* wsr.intclear */ + return OPCODE_WSR_INTCLEAR; case 228: - return 194; /* wsr.intenable */ + return OPCODE_WSR_INTENABLE; case 230: - return 137; /* wsr.ps */ + return OPCODE_WSR_PS; + case 231: + return OPCODE_WSR_VECBASE; case 232: - return 179; /* wsr.exccause */ + return OPCODE_WSR_EXCCAUSE; case 233: - return 220; /* wsr.debugcause */ + return OPCODE_WSR_DEBUGCAUSE; case 234: - return 234; /* wsr.ccount */ + return OPCODE_WSR_CCOUNT; case 236: - return 223; /* wsr.icount */ + return OPCODE_WSR_ICOUNT; case 237: - return 226; /* wsr.icountlevel */ + return OPCODE_WSR_ICOUNTLEVEL; case 238: - return 173; /* wsr.excvaddr */ + return OPCODE_WSR_EXCVADDR; case 240: - return 237; /* wsr.ccompare0 */ + return OPCODE_WSR_CCOMPARE0; case 241: - return 240; /* wsr.ccompare1 */ + return OPCODE_WSR_CCOMPARE1; case 242: - return 243; /* wsr.ccompare2 */ + return OPCODE_WSR_CCOMPARE2; case 244: - return 182; /* wsr.misc0 */ + return OPCODE_WSR_MISC0; case 245: - return 185; /* wsr.misc1 */ + return OPCODE_WSR_MISC1; } break; + case 2: + return OPCODE_SEXT; + case 3: + return OPCODE_CLAMPS; + case 4: + return OPCODE_MIN; + case 5: + return OPCODE_MAX; + case 6: + return OPCODE_MINU; + case 7: + return OPCODE_MAXU; case 8: - return 89; /* moveqz */ + return OPCODE_MOVEQZ; case 9: - return 90; /* movnez */ + return OPCODE_MOVNEZ; case 10: - return 91; /* movltz */ + return OPCODE_MOVLTZ; case 11: - return 92; /* movgez */ + return OPCODE_MOVGEZ; + case 14: + if (Field_st_Slot_inst_get (insn) == 231) + return OPCODE_RUR_THREADPTR; + break; + case 15: + if (Field_sr_Slot_inst_get (insn) == 231) + return OPCODE_WUR_THREADPTR; + break; } break; case 4: case 5: - return 76; /* extui */ + return OPCODE_EXTUI; case 9: switch (Field_op2_Slot_inst_get (insn)) { case 0: - return 18; /* l32e */ + return OPCODE_L32E; case 4: - return 19; /* s32e */ + return OPCODE_S32E; } break; } break; case 1: - return 83; /* l32r */ + return OPCODE_L32R; case 2: switch (Field_r_Slot_inst_get (insn)) { case 0: - return 84; /* l8ui */ + return OPCODE_L8UI; case 1: - return 80; /* l16ui */ + return OPCODE_L16UI; case 2: - return 82; /* l32i */ + return OPCODE_L32I; case 4: - return 99; /* s8i */ + return OPCODE_S8I; case 5: - return 97; /* s16i */ + return OPCODE_S16I; case 6: - return 98; /* s32i */ + return OPCODE_S32I; case 7: switch (Field_t_Slot_inst_get (insn)) { case 0: - return 258; /* dpfr */ + return OPCODE_DPFR; case 1: - return 259; /* dpfw */ + return OPCODE_DPFW; case 2: - return 260; /* dpfro */ + return OPCODE_DPFRO; case 3: - return 261; /* dpfwo */ + return OPCODE_DPFWO; case 4: - return 252; /* dhwb */ + return OPCODE_DHWB; case 5: - return 253; /* dhwbi */ + return OPCODE_DHWBI; case 6: - return 256; /* dhi */ + return OPCODE_DHI; case 7: - return 257; /* dii */ + return OPCODE_DII; case 8: switch (Field_op1_Slot_inst_get (insn)) { + case 0: + return OPCODE_DPFL; + case 2: + return OPCODE_DHU; + case 3: + return OPCODE_DIU; case 4: - return 254; /* diwb */ + return OPCODE_DIWB; case 5: - return 255; /* diwbi */ + return OPCODE_DIWBI; } break; case 12: - return 245; /* ipf */ + return OPCODE_IPF; + case 13: + switch (Field_op1_Slot_inst_get (insn)) + { + case 0: + return OPCODE_IPFL; + case 2: + return OPCODE_IHU; + case 3: + return OPCODE_IIU; + } + break; case 14: - return 246; /* ihi */ + return OPCODE_IHI; case 15: - return 247; /* iii */ + return OPCODE_III; } break; case 9: - return 81; /* l16si */ + return OPCODE_L16SI; case 10: - return 88; /* movi */ + return OPCODE_MOVI; + case 11: + return OPCODE_L32AI; case 12: - return 37; /* addi */ + return OPCODE_ADDI; case 13: - return 38; /* addmi */ + return OPCODE_ADDMI; + case 14: + return OPCODE_S32C1I; + case 15: + return OPCODE_S32RI; } break; case 5: switch (Field_n_Slot_inst_get (insn)) { case 0: - return 74; /* call0 */ + return OPCODE_CALL0; case 1: - return 7; /* call4 */ + return OPCODE_CALL4; case 2: - return 6; /* call8 */ + return OPCODE_CALL8; case 3: - return 5; /* call12 */ + return OPCODE_CALL12; } break; case 6: switch (Field_n_Slot_inst_get (insn)) { case 0: - return 78; /* j */ + return OPCODE_J; case 1: switch (Field_m_Slot_inst_get (insn)) { case 0: - return 70; /* beqz */ + return OPCODE_BEQZ; case 1: - return 71; /* bnez */ + return OPCODE_BNEZ; case 2: - return 73; /* bltz */ + return OPCODE_BLTZ; case 3: - return 72; /* bgez */ + return OPCODE_BGEZ; } break; case 2: switch (Field_m_Slot_inst_get (insn)) { case 0: - return 50; /* beqi */ + return OPCODE_BEQI; case 1: - return 51; /* bnei */ + return OPCODE_BNEI; case 2: - return 53; /* blti */ + return OPCODE_BLTI; case 3: - return 52; /* bgei */ + return OPCODE_BGEI; } break; case 3: switch (Field_m_Slot_inst_get (insn)) { case 0: - return 11; /* entry */ + return OPCODE_ENTRY; case 1: switch (Field_r_Slot_inst_get (insn)) { case 8: - return 85; /* loop */ + return OPCODE_LOOP; case 9: - return 86; /* loopnez */ + return OPCODE_LOOPNEZ; case 10: - return 87; /* loopgtz */ + return OPCODE_LOOPGTZ; } break; case 2: - return 57; /* bltui */ + return OPCODE_BLTUI; case 3: - return 56; /* bgeui */ + return OPCODE_BGEUI; } break; } @@ -9328,35 +11794,35 @@ Slot_inst_decode (const xtensa_insnbuf insn) switch (Field_r_Slot_inst_get (insn)) { case 0: - return 65; /* bnone */ + return OPCODE_BNONE; case 1: - return 58; /* beq */ + return OPCODE_BEQ; case 2: - return 61; /* blt */ + return OPCODE_BLT; case 3: - return 63; /* bltu */ + return OPCODE_BLTU; case 4: - return 66; /* ball */ + return OPCODE_BALL; case 5: - return 68; /* bbc */ + return OPCODE_BBC; case 6: case 7: - return 54; /* bbci */ + return OPCODE_BBCI; case 8: - return 64; /* bany */ + return OPCODE_BANY; case 9: - return 59; /* bne */ + return OPCODE_BNE; case 10: - return 60; /* bge */ + return OPCODE_BGE; case 11: - return 62; /* bgeu */ + return OPCODE_BGEU; case 12: - return 67; /* bnall */ + return OPCODE_BNALL; case 13: - return 69; /* bbs */ + return OPCODE_BBS; case 14: case 15: - return 55; /* bbsi */ + return OPCODE_BBSI; } break; } @@ -9372,14 +11838,14 @@ Slot_inst16b_decode (const xtensa_insnbuf insn) switch (Field_i_Slot_inst16b_get (insn)) { case 0: - return 33; /* movi.n */ + return OPCODE_MOVI_N; case 1: switch (Field_z_Slot_inst16b_get (insn)) { case 0: - return 28; /* beqz.n */ + return OPCODE_BEQZ_N; case 1: - return 29; /* bnez.n */ + return OPCODE_BNEZ_N; } break; } @@ -9388,23 +11854,23 @@ Slot_inst16b_decode (const xtensa_insnbuf insn) switch (Field_r_Slot_inst16b_get (insn)) { case 0: - return 32; /* mov.n */ + return OPCODE_MOV_N; case 15: switch (Field_t_Slot_inst16b_get (insn)) { case 0: - return 35; /* ret.n */ + return OPCODE_RET_N; case 1: - return 15; /* retw.n */ + return OPCODE_RETW_N; case 2: - return 197; /* break.n */ + return OPCODE_BREAK_N; case 3: if (Field_s_Slot_inst16b_get (insn) == 0) - return 34; /* nop.n */ + return OPCODE_NOP_N; break; case 6: if (Field_s_Slot_inst16b_get (insn) == 0) - return 30; /* ill.n */ + return OPCODE_ILL_N; break; } break; @@ -9420,13 +11886,13 @@ Slot_inst16a_decode (const xtensa_insnbuf insn) switch (Field_op0_Slot_inst16a_get (insn)) { case 8: - return 31; /* l32i.n */ + return OPCODE_L32I_N; case 9: - return 36; /* s32i.n */ + return OPCODE_S32I_N; case 10: - return 26; /* add.n */ + return OPCODE_ADD_N; case 11: - return 27; /* addi.n */ + return OPCODE_ADDI_N; } return 0; } @@ -9513,6 +11979,8 @@ Slot_inst_get_field_fns[] = { 0, 0, 0, + Field_xt_wbr15_imm_Slot_inst_get, + Field_xt_wbr18_imm_Slot_inst_get, Implicit_Field_ar0_get, Implicit_Field_ar4_get, Implicit_Field_ar8_get, @@ -9556,6 +12024,8 @@ Slot_inst_set_field_fns[] = { 0, 0, 0, + Field_xt_wbr15_imm_Slot_inst_set, + Field_xt_wbr18_imm_Slot_inst_set, Implicit_Field_set, Implicit_Field_set, Implicit_Field_set, @@ -9599,6 +12069,8 @@ Slot_inst16a_get_field_fns[] = { Field_z_Slot_inst16a_get, Field_imm6_Slot_inst16a_get, Field_imm7_Slot_inst16a_get, + 0, + 0, Implicit_Field_ar0_get, Implicit_Field_ar4_get, Implicit_Field_ar8_get, @@ -9642,6 +12114,8 @@ Slot_inst16a_set_field_fns[] = { Field_z_Slot_inst16a_set, Field_imm6_Slot_inst16a_set, Field_imm7_Slot_inst16a_set, + 0, + 0, Implicit_Field_set, Implicit_Field_set, Implicit_Field_set, @@ -9685,6 +12159,8 @@ Slot_inst16b_get_field_fns[] = { Field_z_Slot_inst16b_get, Field_imm6_Slot_inst16b_get, Field_imm7_Slot_inst16b_get, + 0, + 0, Implicit_Field_ar0_get, Implicit_Field_ar4_get, Implicit_Field_ar8_get, @@ -9728,6 +12204,8 @@ Slot_inst16b_set_field_fns[] = { Field_z_Slot_inst16b_set, Field_imm6_Slot_inst16b_set, Field_imm7_Slot_inst16b_set, + 0, + 0, Implicit_Field_set, Implicit_Field_set, Implicit_Field_set, @@ -9829,10 +12307,10 @@ xtensa_isa_internal xtensa_modules = { 3 /* insn_size */, 0, 3, formats, format_decoder, length_decoder, 3, slots, - 39 /* num_fields */, - 70, operands, - 235, iclasses, - 291, opcodes, 0, + 41 /* num_fields */, + 75, operands, + 286, iclasses, + 353, opcodes, 0, 1, regfiles, NUM_STATES, states, 0, NUM_SYSREGS, sysregs, 0, |