From 5e8c1cf25beccac1d22d10dc866912394f42771b Mon Sep 17 00:00:00 2001 From: Andrew Hsieh Date: Tue, 9 Dec 2014 17:57:18 +0800 Subject: [2.25] sync to a30720e3e633f275250e26f85ccae5dbdddfb6c6 local patches will be re-applied later commit a30720e3e633f275250e26f85ccae5dbdddfb6c6 Author: Alan Modra Date: Wed Nov 19 10:30:16 2014 +1030 daily update Change-Id: Ieb2a3f4dd2ecb289ac5305ff08d428b2847494ab --- binutils-2.25/include/ChangeLog | 112 ++- binutils-2.25/include/MAINTAINERS | 2 +- binutils-2.25/include/alloca-conf.h | 2 +- binutils-2.25/include/ansidecl.h | 141 +--- binutils-2.25/include/aout/ChangeLog | 6 +- binutils-2.25/include/aout/adobe.h | 2 +- binutils-2.25/include/aout/aout64.h | 2 +- binutils-2.25/include/aout/ar.h | 2 +- binutils-2.25/include/aout/dynix3.h | 2 +- binutils-2.25/include/aout/encap.h | 2 +- binutils-2.25/include/aout/host.h | 2 +- binutils-2.25/include/aout/hp.h | 2 +- binutils-2.25/include/aout/hp300hpux.h | 3 +- binutils-2.25/include/aout/hppa.h | 2 +- binutils-2.25/include/aout/ranlib.h | 2 +- binutils-2.25/include/aout/reloc.h | 2 +- binutils-2.25/include/aout/stab.def | 3 +- binutils-2.25/include/aout/stab_gnu.h | 2 +- binutils-2.25/include/aout/sun4.h | 2 +- binutils-2.25/include/bfdlink.h | 33 +- binutils-2.25/include/binary-io.h | 2 +- binutils-2.25/include/bout.h | 2 +- binutils-2.25/include/cgen/ChangeLog | 10 +- binutils-2.25/include/cgen/basic-modes.h | 2 +- binutils-2.25/include/cgen/basic-ops.h | 2 +- binutils-2.25/include/cgen/bitset.h | 22 +- binutils-2.25/include/coff/ChangeLog | 38 +- binutils-2.25/include/coff/alpha.h | 2 +- binutils-2.25/include/coff/apollo.h | 2 +- binutils-2.25/include/coff/arm.h | 3 +- binutils-2.25/include/coff/aux-coff.h | 2 +- binutils-2.25/include/coff/ecoff.h | 2 +- binutils-2.25/include/coff/external.h | 2 +- binutils-2.25/include/coff/go32exe.h | 2 +- binutils-2.25/include/coff/h8300.h | 2 +- binutils-2.25/include/coff/h8500.h | 2 +- binutils-2.25/include/coff/i386.h | 2 +- binutils-2.25/include/coff/i860.h | 2 +- binutils-2.25/include/coff/i960.h | 2 +- binutils-2.25/include/coff/ia64.h | 2 +- binutils-2.25/include/coff/internal.h | 121 +-- binutils-2.25/include/coff/m68k.h | 2 +- binutils-2.25/include/coff/m88k.h | 2 +- binutils-2.25/include/coff/mcore.h | 2 +- binutils-2.25/include/coff/mips.h | 2 +- binutils-2.25/include/coff/mipspe.h | 2 +- binutils-2.25/include/coff/or32.h | 288 ------- binutils-2.25/include/coff/pe.h | 180 ++++- binutils-2.25/include/coff/powerpc.h | 2 +- binutils-2.25/include/coff/rs6000.h | 2 +- binutils-2.25/include/coff/rs6k64.h | 2 +- binutils-2.25/include/coff/sh.h | 2 +- binutils-2.25/include/coff/sparc.h | 2 +- binutils-2.25/include/coff/ti.h | 3 +- binutils-2.25/include/coff/tic30.h | 2 +- binutils-2.25/include/coff/tic4x.h | 2 +- binutils-2.25/include/coff/tic54x.h | 2 +- binutils-2.25/include/coff/tic80.h | 2 +- binutils-2.25/include/coff/w65.h | 2 +- binutils-2.25/include/coff/we32k.h | 2 +- binutils-2.25/include/coff/x86_64.h | 2 +- binutils-2.25/include/coff/xcoff.h | 3 +- binutils-2.25/include/coff/z80.h | 2 +- binutils-2.25/include/coff/z8k.h | 2 +- binutils-2.25/include/demangle.h | 11 +- binutils-2.25/include/dis-asm.h | 8 +- binutils-2.25/include/elf/ChangeLog | 132 +++- binutils-2.25/include/elf/aarch64.h | 92 ++- binutils-2.25/include/elf/alpha.h | 2 +- binutils-2.25/include/elf/arc.h | 2 +- binutils-2.25/include/elf/arm.h | 3 +- binutils-2.25/include/elf/avr.h | 24 +- binutils-2.25/include/elf/bfin.h | 2 +- binutils-2.25/include/elf/common.h | 14 +- binutils-2.25/include/elf/cr16.h | 2 +- binutils-2.25/include/elf/cr16c.h | 2 +- binutils-2.25/include/elf/cris.h | 2 +- binutils-2.25/include/elf/crx.h | 2 +- binutils-2.25/include/elf/d10v.h | 2 +- binutils-2.25/include/elf/d30v.h | 2 +- binutils-2.25/include/elf/dlx.h | 2 +- binutils-2.25/include/elf/dwarf.h | 2 +- binutils-2.25/include/elf/epiphany.h | 2 +- binutils-2.25/include/elf/external.h | 3 +- binutils-2.25/include/elf/fr30.h | 2 +- binutils-2.25/include/elf/frv.h | 2 +- binutils-2.25/include/elf/h8.h | 2 +- binutils-2.25/include/elf/hppa.h | 3 +- binutils-2.25/include/elf/i370.h | 2 +- binutils-2.25/include/elf/i386.h | 3 +- binutils-2.25/include/elf/i860.h | 2 +- binutils-2.25/include/elf/i960.h | 2 +- binutils-2.25/include/elf/ia64.h | 3 +- binutils-2.25/include/elf/internal.h | 3 +- binutils-2.25/include/elf/ip2k.h | 2 +- binutils-2.25/include/elf/iq2000.h | 2 +- binutils-2.25/include/elf/lm32.h | 2 +- binutils-2.25/include/elf/m32c.h | 2 +- binutils-2.25/include/elf/m32r.h | 3 +- binutils-2.25/include/elf/m68hc11.h | 2 +- binutils-2.25/include/elf/m68k.h | 3 +- binutils-2.25/include/elf/mcore.h | 2 +- binutils-2.25/include/elf/mep.h | 3 +- binutils-2.25/include/elf/metag.h | 2 +- binutils-2.25/include/elf/microblaze.h | 2 +- binutils-2.25/include/elf/mips.h | 144 +++- binutils-2.25/include/elf/mmix.h | 2 +- binutils-2.25/include/elf/mn10200.h | 2 +- binutils-2.25/include/elf/mn10300.h | 2 +- binutils-2.25/include/elf/moxie.h | 2 +- binutils-2.25/include/elf/msp430.h | 2 +- binutils-2.25/include/elf/mt.h | 2 +- binutils-2.25/include/elf/nds32.h | 299 ++++++++ binutils-2.25/include/elf/nios2.h | 9 +- binutils-2.25/include/elf/openrisc.h | 39 - binutils-2.25/include/elf/or1k.h | 65 ++ binutils-2.25/include/elf/or32.h | 56 -- binutils-2.25/include/elf/pj.h | 2 +- binutils-2.25/include/elf/ppc.h | 6 +- binutils-2.25/include/elf/ppc64.h | 79 +- binutils-2.25/include/elf/reloc-macros.h | 2 +- binutils-2.25/include/elf/rl78.h | 3 +- binutils-2.25/include/elf/rx.h | 2 +- binutils-2.25/include/elf/s390.h | 2 +- binutils-2.25/include/elf/score.h | 2 +- binutils-2.25/include/elf/sh.h | 3 +- binutils-2.25/include/elf/sparc.h | 29 +- binutils-2.25/include/elf/spu.h | 2 +- binutils-2.25/include/elf/tic6x-attrs.h | 3 +- binutils-2.25/include/elf/tic6x.h | 3 +- binutils-2.25/include/elf/tilegx.h | 2 +- binutils-2.25/include/elf/tilepro.h | 2 +- binutils-2.25/include/elf/v850.h | 2 +- binutils-2.25/include/elf/vax.h | 2 +- binutils-2.25/include/elf/vxworks.h | 3 +- binutils-2.25/include/elf/x86-64.h | 7 +- binutils-2.25/include/elf/xc16x.h | 2 +- binutils-2.25/include/elf/xgate.h | 2 +- binutils-2.25/include/elf/xstormy16.h | 2 +- binutils-2.25/include/elf/xtensa.h | 2 +- binutils-2.25/include/fopen-bin.h | 2 +- binutils-2.25/include/fopen-same.h | 2 +- binutils-2.25/include/fopen-vms.h | 2 +- binutils-2.25/include/gdb/ChangeLog | 18 +- binutils-2.25/include/gdb/callback.h | 2 +- binutils-2.25/include/gdb/fileio.h | 2 +- binutils-2.25/include/gdb/gdb-index.h | 2 +- binutils-2.25/include/gdb/remote-sim.h | 6 +- binutils-2.25/include/gdb/section-scripts.h | 50 ++ binutils-2.25/include/gdb/signals.def | 16 +- binutils-2.25/include/gdb/signals.h | 2 +- binutils-2.25/include/gdb/sim-arm.h | 2 +- binutils-2.25/include/gdb/sim-bfin.h | 2 +- binutils-2.25/include/gdb/sim-cr16.h | 2 +- binutils-2.25/include/gdb/sim-d10v.h | 2 +- binutils-2.25/include/gdb/sim-frv.h | 2 +- binutils-2.25/include/gdb/sim-h8300.h | 2 +- binutils-2.25/include/gdb/sim-lm32.h | 2 +- binutils-2.25/include/gdb/sim-m32c.h | 2 +- binutils-2.25/include/gdb/sim-ppc.h | 2 +- binutils-2.25/include/gdb/sim-rl78.h | 2 +- binutils-2.25/include/gdb/sim-rx.h | 2 +- binutils-2.25/include/gdb/sim-sh.h | 2 +- binutils-2.25/include/gdbm.h | 91 --- binutils-2.25/include/hp-symtab.h | 2 +- binutils-2.25/include/ieee.h | 2 +- binutils-2.25/include/libiberty.h | 14 +- binutils-2.25/include/longlong.h | 25 +- binutils-2.25/include/mach-o/ChangeLog | 35 +- binutils-2.25/include/mach-o/arm.h | 3 +- binutils-2.25/include/mach-o/codesign.h | 3 +- binutils-2.25/include/mach-o/external.h | 21 +- binutils-2.25/include/mach-o/loader.h | 77 +- binutils-2.25/include/mach-o/reloc.h | 3 +- binutils-2.25/include/mach-o/unwind.h | 199 +++++ binutils-2.25/include/mach-o/x86-64.h | 3 +- binutils-2.25/include/nlm/ChangeLog | 6 +- binutils-2.25/include/nlm/alpha-ext.h | 2 +- binutils-2.25/include/nlm/common.h | 2 +- binutils-2.25/include/nlm/external.h | 2 +- binutils-2.25/include/nlm/i386-ext.h | 2 +- binutils-2.25/include/nlm/internal.h | 2 +- binutils-2.25/include/nlm/ppc-ext.h | 2 +- binutils-2.25/include/nlm/sparc32-ext.h | 2 +- binutils-2.25/include/oasys.h | 2 +- binutils-2.25/include/opcode/ChangeLog | 168 ++++- binutils-2.25/include/opcode/aarch64.h | 26 +- binutils-2.25/include/opcode/alpha.h | 2 +- binutils-2.25/include/opcode/arc.h | 3 +- binutils-2.25/include/opcode/arm.h | 10 +- binutils-2.25/include/opcode/avr.h | 44 +- binutils-2.25/include/opcode/bfin.h | 2 +- binutils-2.25/include/opcode/cgen.h | 3 +- binutils-2.25/include/opcode/convex.h | 2 +- binutils-2.25/include/opcode/cr16.h | 2 +- binutils-2.25/include/opcode/cris.h | 2 +- binutils-2.25/include/opcode/crx.h | 2 +- binutils-2.25/include/opcode/d10v.h | 3 +- binutils-2.25/include/opcode/d30v.h | 3 +- binutils-2.25/include/opcode/dlx.h | 2 +- binutils-2.25/include/opcode/h8300.h | 2 +- binutils-2.25/include/opcode/hppa.h | 4 +- binutils-2.25/include/opcode/i370.h | 3 +- binutils-2.25/include/opcode/i386.h | 4 +- binutils-2.25/include/opcode/i860.h | 3 +- binutils-2.25/include/opcode/i960.h | 2 +- binutils-2.25/include/opcode/ia64.h | 3 +- binutils-2.25/include/opcode/m68hc11.h | 3 +- binutils-2.25/include/opcode/m68k.h | 3 +- binutils-2.25/include/opcode/m88k.h | 3 +- binutils-2.25/include/opcode/metag.h | 2 +- binutils-2.25/include/opcode/mips.h | 210 ++++-- binutils-2.25/include/opcode/mmix.h | 2 +- binutils-2.25/include/opcode/mn10200.h | 2 +- binutils-2.25/include/opcode/mn10300.h | 2 +- binutils-2.25/include/opcode/moxie.h | 2 +- binutils-2.25/include/opcode/msp430-decode.h | 2 +- binutils-2.25/include/opcode/msp430.h | 5 +- binutils-2.25/include/opcode/nds32.h | 831 +++++++++++++++++++++ binutils-2.25/include/opcode/nios2.h | 2 +- binutils-2.25/include/opcode/np1.h | 2 +- binutils-2.25/include/opcode/ns32k.h | 2 +- binutils-2.25/include/opcode/or32.h | 181 ----- binutils-2.25/include/opcode/pdp11.h | 2 +- binutils-2.25/include/opcode/pj.h | 2 +- binutils-2.25/include/opcode/pn.h | 2 +- binutils-2.25/include/opcode/ppc.h | 3 +- binutils-2.25/include/opcode/pyr.h | 2 +- binutils-2.25/include/opcode/rl78.h | 3 +- binutils-2.25/include/opcode/rx.h | 3 +- binutils-2.25/include/opcode/s390.h | 2 +- binutils-2.25/include/opcode/score-datadep.h | 2 +- binutils-2.25/include/opcode/score-inst.h | 2 +- binutils-2.25/include/opcode/sparc.h | 23 +- binutils-2.25/include/opcode/spu-insns.h | 2 +- binutils-2.25/include/opcode/spu.h | 2 +- binutils-2.25/include/opcode/tahoe.h | 2 +- binutils-2.25/include/opcode/tic30.h | 2 +- binutils-2.25/include/opcode/tic4x.h | 2 +- binutils-2.25/include/opcode/tic54x.h | 2 +- .../include/opcode/tic6x-control-registers.h | 3 +- binutils-2.25/include/opcode/tic6x-insn-formats.h | 2 +- binutils-2.25/include/opcode/tic6x-opcode-table.h | 2 +- binutils-2.25/include/opcode/tic6x.h | 2 +- binutils-2.25/include/opcode/tic80.h | 2 +- binutils-2.25/include/opcode/tilegx.h | 2 +- binutils-2.25/include/opcode/tilepro.h | 2 +- binutils-2.25/include/opcode/v850.h | 2 +- binutils-2.25/include/opcode/vax.h | 2 +- binutils-2.25/include/opcode/xgate.h | 2 +- binutils-2.25/include/os9k.h | 2 +- binutils-2.25/include/progress.h | 2 +- binutils-2.25/include/som/ChangeLog | 6 +- binutils-2.25/include/som/aout.h | 2 +- binutils-2.25/include/som/clock.h | 2 +- binutils-2.25/include/som/internal.h | 2 +- binutils-2.25/include/som/lst.h | 2 +- binutils-2.25/include/som/reloc.h | 2 +- binutils-2.25/include/vms/ChangeLog | 6 +- binutils-2.25/include/vms/dcx.h | 2 +- binutils-2.25/include/vms/dmt.h | 2 +- binutils-2.25/include/vms/dsc.h | 2 +- binutils-2.25/include/vms/dst.h | 2 +- binutils-2.25/include/vms/eeom.h | 2 +- binutils-2.25/include/vms/egps.h | 2 +- binutils-2.25/include/vms/egsd.h | 2 +- binutils-2.25/include/vms/egst.h | 2 +- binutils-2.25/include/vms/egsy.h | 2 +- binutils-2.25/include/vms/eiaf.h | 2 +- binutils-2.25/include/vms/eicp.h | 2 +- binutils-2.25/include/vms/eidc.h | 2 +- binutils-2.25/include/vms/eiha.h | 2 +- binutils-2.25/include/vms/eihd.h | 2 +- binutils-2.25/include/vms/eihi.h | 2 +- binutils-2.25/include/vms/eihs.h | 2 +- binutils-2.25/include/vms/eihvn.h | 2 +- binutils-2.25/include/vms/eisd.h | 2 +- binutils-2.25/include/vms/emh.h | 2 +- binutils-2.25/include/vms/eobjrec.h | 2 +- binutils-2.25/include/vms/esdf.h | 2 +- binutils-2.25/include/vms/esdfm.h | 2 +- binutils-2.25/include/vms/esdfv.h | 2 +- binutils-2.25/include/vms/esgps.h | 2 +- binutils-2.25/include/vms/esrf.h | 2 +- binutils-2.25/include/vms/etir.h | 2 +- binutils-2.25/include/vms/internal.h | 2 +- binutils-2.25/include/vms/lbr.h | 2 +- binutils-2.25/include/vms/prt.h | 2 +- binutils-2.25/include/vms/shl.h | 2 +- binutils-2.25/include/xtensa-isa-internal.h | 2 +- binutils-2.25/include/xtensa-isa.h | 2 +- 291 files changed, 3225 insertions(+), 1333 deletions(-) delete mode 100644 binutils-2.25/include/coff/or32.h mode change 100755 => 100644 binutils-2.25/include/elf/epiphany.h create mode 100644 binutils-2.25/include/elf/nds32.h delete mode 100644 binutils-2.25/include/elf/openrisc.h create mode 100644 binutils-2.25/include/elf/or1k.h delete mode 100644 binutils-2.25/include/elf/or32.h create mode 100644 binutils-2.25/include/gdb/section-scripts.h delete mode 100644 binutils-2.25/include/gdbm.h create mode 100644 binutils-2.25/include/mach-o/unwind.h mode change 100755 => 100644 binutils-2.25/include/opcode/bfin.h create mode 100644 binutils-2.25/include/opcode/nds32.h delete mode 100644 binutils-2.25/include/opcode/or32.h (limited to 'binutils-2.25/include') diff --git a/binutils-2.25/include/ChangeLog b/binutils-2.25/include/ChangeLog index f8ddfb25..43e06f77 100644 --- a/binutils-2.25/include/ChangeLog +++ b/binutils-2.25/include/ChangeLog @@ -1,3 +1,95 @@ +2014-11-18 Igor Zamyatin + + * bfdlink.h (struct bfd_link_info): Add bndplt. + +2014-10-28 Matthew Fortune + + Apply trunk patches + 2014-10-22 Matthew Fortune + * elf/mips.h (AFL_ASE_MASK): Define. + +2014-09-26 Max Ostapenko + + * libiberty.h (PEX_STDOUT_APPEND): New flag. + (PEX_STDERR_APPEND): Likewise. + +2014-09-23 Iain Buclaw + + * demangle.h (DMGL_DLANG): New macro. + (DMGL_STYLE_MASK): Add DMGL_DLANG. + (demangling_styles): Add dlang_demangling. + (DLANG_DEMANGLING_STYLE_STRING): New macro. + (DLANG_DEMANGLING): New macro. + (dlang_demangle): New prototype. + +2014-09-15 Andreas Krebbel + + * longlong.h: Add __udiv_w_sdiv prototype. + +2014-08-12 Alan Modra + + * bfdlink.h (struct bfd_link_callbacks ): Remove "string" + param, add "inh". + +2014-08-12 Alan Modra + + * bfdlink.h (struct bfd_link_info): Add lto_plugin_active. + +2014-07-29 Matthew Fortune + + * elf/mips.h (PT_MIPS_ABIFLAGS, SHT_MIPS_ABIFLAGS): Define. + (Val_GNU_MIPS_ABI_FP_OLD_64): Rename from Val_GNU_MIPS_ABI_FP_64. + (Val_GNU_MIPS_ABI_FP_64): Redefine. + (Val_GNU_MIPS_ABI_FP_XX): Define. + (Elf_External_ABIFlags_v0, Elf_Internal_ABIFlags_v0): New structures. + (AFL_REG_NONE, AFL_REG_32, AFL_REG_64, AFL_REG_128): Define. + (AFL_ASE_DSP, AFL_ASE_DSPR2, AFL_ASE_EVA, AFL_ASE_MCU): Likewise. + (AFL_ASE_MDMX, AFL_ASE_MIPS3D, AFL_ASE_MT, AFL_ASE_SMARTMIPS): Likewise. + (AFL_ASE_VIRT, AFL_ASE_MSA, AFL_ASE_MIPS16): Likewise. + (AFL_ASE_MICROMIPS, AFL_ASE_XPA): Likewise. + (AFL_EXT_XLR, AFL_EXT_OCTEON2, AFL_EXT_OCTEONP): Likewise. + (AFL_EXT_LOONGSON_3A, AFL_EXT_OCTEON, AFL_EXT_5900): Likewise. + (AFL_EXT_4650, AFL_EXT_4010, AFL_EXT_4100, AFL_EXT_3900): Likewise. + (AFL_EXT_10000, AFL_EXT_SB1, AFL_EXT_4111, AFL_EXT_4120): Likewise. + (AFL_EXT_5400, AFL_EXT_5500, AFL_EXT_LOONGSON_2E): Likewise. + (AFL_EXT_LOONGSON_2F): Likewise. + (bfd_mips_elf_swap_abiflags_v0_in): Prototype. + (bfd_mips_elf_swap_abiflags_v0_out): Likewise. + (bfd_mips_isa_ext): Likewise. + +2014-06-13 Alan Modra + + * bfdlink.h (struct bfd_link_hash_table): Add hash_table_free field. + +2014-06-13 Alan Modra + + * bfdlink.h: Update for bfd.link_next change. + +2014-06-10 Alan Modra + + PR ld/16910 + * bfdlink.h (unwrap_hash_lookup): Declare. + +2014-05-01 Steve Ellcey + + * include/longlong.h: Import latest version from GCC tree. + +2014-04-23 Andrew Bennett + + * opcode/mips.h (ASE_XPA): New define. + +2014-04-22 Christian Svensson + + * dis-asm.h: Remove openrisc and or32 support. Add support for or1k. + +2014-04-10 Senthil Kumar Selvaraj + + * elf/avr.h: Add new DIFF relocs. + +2014-03-05 Alan Modra + + Update copyright years. + 2014-01-21 Tom Tromey * ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, PARAMS) @@ -6,6 +98,10 @@ (NOARGS): Don't define. * libiberty.h (expandargv, writeargv): Don't use PARAMS. +2014-01-09 Tom Tromey + + * gdbm.h: Remove. + 2013-12-23 Bill Maddox * demangle.h (enum gnu_v3_ctor_kinds): @@ -13,10 +109,20 @@ (enum gnu_v3_ctor_kinds): Added literal gnu_v3_unified_dtor. +2013-12-13 Kuan-Lin Chen + Wei-Cheng Wang + + * dis-asm.h (print_insn_nds32): Add nds32 target. + 2013-12-04 Richard Sandiford * longlong.h: New file. +2013-11-11 Catherine Moore + + * opcode/mips.h (INSN_LOAD_MEMORY_DELAY): Rename to... + (INSN_LOAD_MEMORY): ...this. + 2013-10-29 Marc Glisse PR tree-optimization/58689 @@ -154,8 +260,8 @@ * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_TAGGED_NAME. -2012-10-29 Sterling Augustine - Cary Coutant +2012-10-29 Sterling Augustine + Cary Coutant * dwarf2.h (dwarf_location_list_entry_type): New enum with fields DW_LLE_GNU_end_of_list_entry, DW_LLE_GNU_base_address_selection_entry, @@ -671,7 +777,7 @@ Apply LD plugin patch series (part 1/6). * plugin-api.h (LDPT_GNU_LD_VERSION): New ld_plugin_tag enum member. -2010-10-06 Andi Kleen +2010-10-06 Andi Kleen * libiberty.h (setproctitle): Add prototype. diff --git a/binutils-2.25/include/MAINTAINERS b/binutils-2.25/include/MAINTAINERS index cd933df7..360ebd01 100644 --- a/binutils-2.25/include/MAINTAINERS +++ b/binutils-2.25/include/MAINTAINERS @@ -1,6 +1,6 @@ See ../binutils/MAINTAINERS -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2012-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/include/alloca-conf.h b/binutils-2.25/include/alloca-conf.h index 0e9e2c37..3ee9758d 100644 --- a/binutils-2.25/include/alloca-conf.h +++ b/binutils-2.25/include/alloca-conf.h @@ -1,4 +1,4 @@ -/* Copyright 2012 Free Software Foundation, Inc. +/* Copyright (C) 2012-2014 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/ansidecl.h b/binutils-2.25/include/ansidecl.h index 5cd03a7d..0fb23bba 100644 --- a/binutils-2.25/include/ansidecl.h +++ b/binutils-2.25/include/ansidecl.h @@ -1,6 +1,6 @@ /* ANSI and traditional C compatability macros Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 + 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2013 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -24,93 +24,16 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. Macro ANSI C definition Traditional C definition ----- ---- - ---------- ----------- - ---------- - ANSI_PROTOTYPES 1 not defined PTR `void *' `char *' - PTRCONST `void *const' `char *' - LONG_DOUBLE `long double' `double' const not defined `' volatile not defined `' signed not defined `' - VA_START(ap, var) va_start(ap, var) va_start(ap) - - Note that it is safe to write "void foo();" indicating a function - with no return value, in all K+R compilers we have been able to test. - - For declaring functions with prototypes, we also provide these: - - PARAMS ((prototype)) - -- for functions which take a fixed number of arguments. Use this - when declaring the function. When defining the function, write a - K+R style argument list. For example: - - char *strcpy PARAMS ((char *dest, char *source)); - ... - char * - strcpy (dest, source) - char *dest; - char *source; - { ... } - - - VPARAMS ((prototype, ...)) - -- for functions which take a variable number of arguments. Use - PARAMS to declare the function, VPARAMS to define it. For example: - - int printf PARAMS ((const char *format, ...)); - ... - int - printf VPARAMS ((const char *format, ...)) - { - ... - } - - For writing functions which take variable numbers of arguments, we - also provide the VA_OPEN, VA_CLOSE, and VA_FIXEDARG macros. These - hide the differences between K+R and C89 more - thoroughly than the simple VA_START() macro mentioned above. - - VA_OPEN and VA_CLOSE are used *instead of* va_start and va_end. - Immediately after VA_OPEN, put a sequence of VA_FIXEDARG calls - corresponding to the list of fixed arguments. Then use va_arg - normally to get the variable arguments, or pass your va_list object - around. You do not declare the va_list yourself; VA_OPEN does it - for you. - - Here is a complete example: - - int - printf VPARAMS ((const char *format, ...)) - { - int result; - - VA_OPEN (ap, format); - VA_FIXEDARG (ap, const char *, format); - - result = vfprintf (stdout, format, ap); - VA_CLOSE (ap); - - return result; - } - - - You can declare variables either before or after the VA_OPEN, - VA_FIXEDARG sequence. Also, VA_OPEN and VA_CLOSE are the beginning - and end of a block. They must appear at the same nesting level, - and any variables declared after VA_OPEN go out of scope at - VA_CLOSE. Unfortunately, with a K+R compiler, that includes the - argument list. You can have multiple instances of VA_OPEN/VA_CLOSE - pairs in a single function in case you need to traverse the - argument list more than once. For ease of writing code which uses GCC extensions but needs to be portable to other compilers, we provide the GCC_VERSION macro that simplifies testing __GNUC__ and __GNUC_MINOR__ together, and various wrappers around __attribute__. Also, __extension__ will be #defined - to nothing if it doesn't work. See below. - - This header also defines a lot of obsolete macros: - CONST, VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, - AND, DOTS, NOARGS. Don't use them. */ + to nothing if it doesn't work. See below. */ #ifndef _ANSIDECL_H #define _ANSIDECL_H 1 @@ -149,28 +72,8 @@ So instead we use the macro below and test it against specific values. */ C++ compilers, does not define __STDC__, though it acts as if this was so. (Verified versions: 5.7, 6.2, 6.3, 6.5) */ -#define ANSI_PROTOTYPES 1 #define PTR void * -#define PTRCONST void *const -#define LONG_DOUBLE long double -/* PARAMS is often defined elsewhere (e.g. by libintl.h), so wrap it in - a #ifndef. */ -#ifndef PARAMS -#define PARAMS(ARGS) ARGS -#endif - -#define VPARAMS(ARGS) ARGS -#define VA_START(VA_LIST, VAR) va_start(VA_LIST, VAR) - -/* variadic function helper macros */ -/* "struct Qdmy" swallows the semicolon after VA_OPEN/VA_FIXEDARG's - use without inhibiting further decls and without declaring an - actual variable. */ -#define VA_OPEN(AP, VAR) { va_list AP; va_start(AP, VAR); { struct Qdmy -#define VA_CLOSE(AP) } va_end(AP); } -#define VA_FIXEDARG(AP, T, N) struct Qdmy - #undef const #undef volatile #undef signed @@ -188,35 +91,9 @@ So instead we use the macro below and test it against specific values. */ # endif #endif -/* These are obsolete. Do not use. */ -#ifndef IN_GCC -#define CONST const -#define VOLATILE volatile -#define SIGNED signed - -#define PROTO(type, name, arglist) type name arglist -#define EXFUN(name, proto) name proto -#define DEFUN(name, arglist, args) name(args) -#define DEFUN_VOID(name) name(void) -#define AND , -#define DOTS , ... -#define NOARGS void -#endif /* ! IN_GCC */ - #else /* Not ANSI C. */ -#undef ANSI_PROTOTYPES #define PTR char * -#define PTRCONST PTR -#define LONG_DOUBLE double - -#define PARAMS(args) () -#define VPARAMS(args) (va_alist) va_dcl -#define VA_START(va_list, var) va_start(va_list) - -#define VA_OPEN(AP, VAR) { va_list AP; va_start(AP); { struct Qdmy -#define VA_CLOSE(AP) } va_end(AP); } -#define VA_FIXEDARG(AP, TYPE, NAME) TYPE NAME = va_arg(AP, TYPE) /* some systems define these in header files for non-ansi mode */ #undef const @@ -228,20 +105,6 @@ So instead we use the macro below and test it against specific values. */ #define signed #define inline -#ifndef IN_GCC -#define CONST -#define VOLATILE -#define SIGNED - -#define PROTO(type, name, arglist) type name () -#define EXFUN(name, proto) name() -#define DEFUN(name, arglist, args) name arglist args; -#define DEFUN_VOID(name) name() -#define AND ; -#define DOTS -#define NOARGS -#endif /* ! IN_GCC */ - #endif /* ANSI C. */ /* Define macros for some gcc attributes. This permits us to use the diff --git a/binutils-2.25/include/aout/ChangeLog b/binutils-2.25/include/aout/ChangeLog index b4d4139d..a87d56c1 100644 --- a/binutils-2.25/include/aout/ChangeLog +++ b/binutils-2.25/include/aout/ChangeLog @@ -1,3 +1,7 @@ +2014-03-05 Alan Modra + + Update copyright years. + 2010-04-15 Nick Clifton * adobe.h: Update copyright notice to use GPLv3. @@ -248,7 +252,7 @@ Mon Aug 23 Sean Fagan (sef@cygnus.com) directory. -Copyright (C) 1991-2012 Free Software Foundation, Inc. +Copyright (C) 1991-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/include/aout/adobe.h b/binutils-2.25/include/aout/adobe.h index ce225527..f98e5fe2 100644 --- a/binutils-2.25/include/aout/adobe.h +++ b/binutils-2.25/include/aout/adobe.h @@ -1,6 +1,6 @@ /* `a.out.adobe' differences from standard a.out files - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/aout/aout64.h b/binutils-2.25/include/aout/aout64.h index 384909e0..ae96d1b5 100644 --- a/binutils-2.25/include/aout/aout64.h +++ b/binutils-2.25/include/aout/aout64.h @@ -1,6 +1,6 @@ /* `a.out' object-file definitions, including extensions to 64-bit fields - Copyright 1999, 2000, 2001, 2003, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/aout/ar.h b/binutils-2.25/include/aout/ar.h index de043822..0a2621b3 100644 --- a/binutils-2.25/include/aout/ar.h +++ b/binutils-2.25/include/aout/ar.h @@ -1,6 +1,6 @@ /* archive file definition for GNU software - Copyright 2001, 2008, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/aout/dynix3.h b/binutils-2.25/include/aout/dynix3.h index 808e53a7..90074e9e 100644 --- a/binutils-2.25/include/aout/dynix3.h +++ b/binutils-2.25/include/aout/dynix3.h @@ -1,6 +1,6 @@ /* a.out specifics for Sequent Symmetry running Dynix 3.x - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/aout/encap.h b/binutils-2.25/include/aout/encap.h index 7ebec698..bf2a7f6c 100644 --- a/binutils-2.25/include/aout/encap.h +++ b/binutils-2.25/include/aout/encap.h @@ -1,5 +1,5 @@ /* Yet Another Try at encapsulating bfd object files in coff. - Copyright 1988, 1989, 1991, 2010 Free Software Foundation, Inc. + Copyright (C) 1988-2014 Free Software Foundation, Inc. Written by Pace Willisson 12/9/88 This file is obsolete. It needs to be converted to just define a bunch diff --git a/binutils-2.25/include/aout/host.h b/binutils-2.25/include/aout/host.h index 4260cc53..c2d9d304 100644 --- a/binutils-2.25/include/aout/host.h +++ b/binutils-2.25/include/aout/host.h @@ -1,7 +1,7 @@ /* host.h - Parameters about the a.out format, based on the host system on which the program is compiled. - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/aout/hp.h b/binutils-2.25/include/aout/hp.h index b60741a7..ac6450ae 100644 --- a/binutils-2.25/include/aout/hp.h +++ b/binutils-2.25/include/aout/hp.h @@ -1,5 +1,5 @@ /* Special version of for use under HP-UX. - Copyright 1988, 1991, 2010 Free Software Foundation, Inc. + Copyright (C) 1988-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/aout/hp300hpux.h b/binutils-2.25/include/aout/hp300hpux.h index 97a3eb58..d3e18e4e 100644 --- a/binutils-2.25/include/aout/hp300hpux.h +++ b/binutils-2.25/include/aout/hp300hpux.h @@ -1,6 +1,5 @@ /* Special version of for use under HP-UX. - Copyright 1988, 1993, 1995, 2001, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1988-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/aout/hppa.h b/binutils-2.25/include/aout/hppa.h index 24698bb3..d8f82021 100644 --- a/binutils-2.25/include/aout/hppa.h +++ b/binutils-2.25/include/aout/hppa.h @@ -1,4 +1,4 @@ -/* Copyright 2012 Free Software Foundation, Inc. +/* Copyright (C) 2012-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/aout/ranlib.h b/binutils-2.25/include/aout/ranlib.h index 92bec468..bf1dfc08 100644 --- a/binutils-2.25/include/aout/ranlib.h +++ b/binutils-2.25/include/aout/ranlib.h @@ -1,5 +1,5 @@ /* ranlib.h -- archive library index member definition for GNU. - Copyright 1990, 1991, 2010 Free Software Foundation, Inc. + Copyright (C) 1990-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/aout/reloc.h b/binutils-2.25/include/aout/reloc.h index 6f1bc52e..7672d3d8 100644 --- a/binutils-2.25/include/aout/reloc.h +++ b/binutils-2.25/include/aout/reloc.h @@ -1,5 +1,5 @@ /* reloc.h -- Header file for relocation information. - Copyright 1989, 1990, 1991, 2010 Free Software Foundation, Inc. + Copyright (C) 1989-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/aout/stab.def b/binutils-2.25/include/aout/stab.def index ad1c62ed..7624201e 100644 --- a/binutils-2.25/include/aout/stab.def +++ b/binutils-2.25/include/aout/stab.def @@ -1,6 +1,5 @@ /* Table of DBX symbol codes for the GNU system. - Copyright 1988, 1991, 1992, 1993, 1994, 1996, 1998, 2004, 2010 - Free Software Foundation, Inc. + Copyright (C) 1988-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as diff --git a/binutils-2.25/include/aout/stab_gnu.h b/binutils-2.25/include/aout/stab_gnu.h index 60b5272c..d8cce7b5 100644 --- a/binutils-2.25/include/aout/stab_gnu.h +++ b/binutils-2.25/include/aout/stab_gnu.h @@ -1,6 +1,6 @@ /* gnu_stab.h Definitions for GNU extensions to STABS - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/aout/sun4.h b/binutils-2.25/include/aout/sun4.h index 06f7584c..72e9e0e6 100644 --- a/binutils-2.25/include/aout/sun4.h +++ b/binutils-2.25/include/aout/sun4.h @@ -1,6 +1,6 @@ /* SPARC-specific values for a.out files - Copyright 2001, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/bfdlink.h b/binutils-2.25/include/bfdlink.h index 1ac07382..f3181ba6 100644 --- a/binutils-2.25/include/bfdlink.h +++ b/binutils-2.25/include/bfdlink.h @@ -1,7 +1,5 @@ /* bfdlink.h -- header file for BFD link routines - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 - Free Software Foundation, Inc. + Copyright (C) 1993-2014 Free Software Foundation, Inc. Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -169,6 +167,8 @@ struct bfd_link_hash_table struct bfd_link_hash_entry *undefs; /* Entries are added to the tail of the undefs list. */ struct bfd_link_hash_entry *undefs_tail; + /* Function to free the hash table on closing BFD. */ + void (*hash_table_free) (bfd *); /* The type of the link hash table. */ enum bfd_link_hash_table_type type; }; @@ -188,6 +188,12 @@ extern struct bfd_link_hash_entry *bfd_wrapped_link_hash_lookup (bfd *, struct bfd_link_info *, const char *, bfd_boolean, bfd_boolean, bfd_boolean); +/* If H is a wrapped symbol, ie. the symbol name starts with "__wrap_" + and the remainder is found in wrap_hash, return the real symbol. */ + +extern struct bfd_link_hash_entry *unwrap_hash_lookup + (struct bfd_link_info *, bfd *, struct bfd_link_hash_entry *); + /* Traverse a link hash table. */ extern void bfd_link_hash_traverse (struct bfd_link_hash_table *, @@ -286,6 +292,9 @@ struct bfd_link_info callback. */ unsigned int notice_all: 1; + /* TRUE if the LTO plugin is active. */ + unsigned int lto_plugin_active: 1; + /* TRUE if we are loading LTO outputs. */ unsigned int loading_lto_outputs: 1; @@ -408,6 +417,9 @@ struct bfd_link_info /* TRUE if the linker script contained an explicit PHDRS command. */ unsigned int user_phdrs: 1; + /* TRUE if BND prefix in PLT entries is always generated. */ + unsigned int bndplt: 1; + /* Char that may appear as the first char of a symbol, but should be skipped (like symbol_leading_char) when looking up symbols in wrap_hash. Used by PowerPC Linux for 'dot' symbols. */ @@ -465,7 +477,7 @@ struct bfd_link_info bfd *output_bfd; /* The list of input BFD's involved in the link. These are chained - together via the link_next field. */ + together via the link.next field. */ bfd *input_bfds; bfd **input_bfds_tail; @@ -631,15 +643,14 @@ struct bfd_link_callbacks (struct bfd_link_info *, const char *name, bfd *abfd, asection *section, bfd_vma address); /* A function which is called when a symbol in notice_hash is - defined or referenced. H is the symbol. ABFD, SECTION and - ADDRESS are the (new) value of the symbol. If SECTION is - bfd_und_section, this is a reference. FLAGS are the symbol - BSF_* flags. STRING is the name of the symbol to indirect to if - the sym is indirect, or the warning string if a warning sym. */ + defined or referenced. H is the symbol, INH the indirect symbol + if applicable. ABFD, SECTION and ADDRESS are the (new) value of + the symbol. If SECTION is bfd_und_section, this is a reference. + FLAGS are the symbol BSF_* flags. */ bfd_boolean (*notice) (struct bfd_link_info *, struct bfd_link_hash_entry *h, - bfd *abfd, asection *section, bfd_vma address, flagword flags, - const char *string); + struct bfd_link_hash_entry *inh, + bfd *abfd, asection *section, bfd_vma address, flagword flags); /* Error or warning link info message. */ void (*einfo) (const char *fmt, ...); diff --git a/binutils-2.25/include/binary-io.h b/binutils-2.25/include/binary-io.h index 2984271f..1ad72b79 100644 --- a/binutils-2.25/include/binary-io.h +++ b/binutils-2.25/include/binary-io.h @@ -1,5 +1,5 @@ /* Binary mode I/O. - Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/bout.h b/binutils-2.25/include/bout.h index 4a302283..0f5c1ca1 100644 --- a/binutils-2.25/include/bout.h +++ b/binutils-2.25/include/bout.h @@ -2,7 +2,7 @@ GNU tools modified to support the i80960 (or tools that operate on object files created by such tools). - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/cgen/ChangeLog b/binutils-2.25/include/cgen/ChangeLog index 7692d4e5..de873f9e 100644 --- a/binutils-2.25/include/cgen/ChangeLog +++ b/binutils-2.25/include/cgen/ChangeLog @@ -1,3 +1,11 @@ +2014-03-05 Alan Modra + + Update copyright years. + +2014-01-06 Tom Tromey + + * bitset.h: Remove uses of PARAMS. + 2013-07-18 Andrew Neitsch PR binutils/15728 @@ -18,7 +26,7 @@ * bitset.h: New file. Moved here from ../opcode/cgen-bitset.h. Update license to GPL v3. -Copyright (C) 2009-2012 Free Software Foundation, Inc. +Copyright (C) 2009-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/include/cgen/basic-modes.h b/binutils-2.25/include/cgen/basic-modes.h index bd87f3ac..e407d35d 100644 --- a/binutils-2.25/include/cgen/basic-modes.h +++ b/binutils-2.25/include/cgen/basic-modes.h @@ -1,5 +1,5 @@ /* Basic CGEN modes. - Copyright 2005, 2007, 2009 Free Software Foundation, Inc. + Copyright (C) 2005-2014 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of the GNU opcodes library. diff --git a/binutils-2.25/include/cgen/basic-ops.h b/binutils-2.25/include/cgen/basic-ops.h index 49883f49..5074e9d4 100644 --- a/binutils-2.25/include/cgen/basic-ops.h +++ b/binutils-2.25/include/cgen/basic-ops.h @@ -1,5 +1,5 @@ /* Basic semantics ops support for CGEN. - Copyright 2005-2013 Free Software Foundation, Inc. + Copyright (C) 2005-2014 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of the GNU opcodes library. diff --git a/binutils-2.25/include/cgen/bitset.h b/binutils-2.25/include/cgen/bitset.h index 7a6a9930..955dd2e3 100644 --- a/binutils-2.25/include/cgen/bitset.h +++ b/binutils-2.25/include/cgen/bitset.h @@ -1,5 +1,5 @@ /* Header file the type CGEN_BITSET. - Copyright 2002, 2005, 2009 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. This file is part of the GNU opcodes library. @@ -38,16 +38,16 @@ typedef struct cgen_bitset char *bits; } CGEN_BITSET; -extern CGEN_BITSET *cgen_bitset_create PARAMS ((unsigned)); -extern void cgen_bitset_init PARAMS ((CGEN_BITSET *, unsigned)); -extern void cgen_bitset_clear PARAMS ((CGEN_BITSET *)); -extern void cgen_bitset_add PARAMS ((CGEN_BITSET *, unsigned)); -extern void cgen_bitset_set PARAMS ((CGEN_BITSET *, unsigned)); -extern int cgen_bitset_compare PARAMS ((CGEN_BITSET *, CGEN_BITSET *)); -extern void cgen_bitset_union PARAMS ((CGEN_BITSET *, CGEN_BITSET *, CGEN_BITSET *)); -extern int cgen_bitset_intersect_p PARAMS ((CGEN_BITSET *, CGEN_BITSET *)); -extern int cgen_bitset_contains PARAMS ((CGEN_BITSET *, unsigned)); -extern CGEN_BITSET *cgen_bitset_copy PARAMS ((CGEN_BITSET *)); +extern CGEN_BITSET *cgen_bitset_create (unsigned); +extern void cgen_bitset_init (CGEN_BITSET *, unsigned); +extern void cgen_bitset_clear (CGEN_BITSET *); +extern void cgen_bitset_add (CGEN_BITSET *, unsigned); +extern void cgen_bitset_set (CGEN_BITSET *, unsigned); +extern int cgen_bitset_compare (CGEN_BITSET *, CGEN_BITSET *); +extern void cgen_bitset_union (CGEN_BITSET *, CGEN_BITSET *, CGEN_BITSET *); +extern int cgen_bitset_intersect_p (CGEN_BITSET *, CGEN_BITSET *); +extern int cgen_bitset_contains (CGEN_BITSET *, unsigned); +extern CGEN_BITSET *cgen_bitset_copy (CGEN_BITSET *); #ifdef __cplusplus } // extern "C" diff --git a/binutils-2.25/include/coff/ChangeLog b/binutils-2.25/include/coff/ChangeLog index 2a9c0aba..3f960a3a 100644 --- a/binutils-2.25/include/coff/ChangeLog +++ b/binutils-2.25/include/coff/ChangeLog @@ -1,3 +1,39 @@ +2014-08-20 Daniel Micay + + * pe.h: Add HIGH_ENTROPY_VA flag + +2014-04-22 Christian Svensson + + * or32.h: Delete. + +2014-04-08 Jon TURNEY + + * pe.h (external_IMAGE_DEBUG_DIRECTORY, _CV_INFO_PDB70) + (_CV_INFO_PDB20): Add structures and constants for debug directory + and codeview records. + * internal.h (internal_IMAGE_DEBUG_DIRECTORY, CODEVIEW_INFO): + Add structures and constants for internal representation of debug + directory and codeview records. + +2014-03-13 Tristan Gingold + + * pe.h (struct external_ANON_OBJECT_HEADER_BIGOBJ): Declare. + (FILHSZ_BIGOBJ): Define. + (struct external_SYMBOL_EX): Declare. + (SYMENT_BIGOBJ, SYMESZ_BIGOBJ): Define. + (union external_AUX_SYMBOL_EX): Declare. + (AUXENT_BIGOBJ, AUXESZ_BIGOBJ): Define. + * internal.h (struct internal_filehdr): Change type + of f_nscns. + +2014-03-05 Alan Modra + + Update copyright years. + +2013-12-06 Tristan Gingold + + * pe.h (UWOP_EPILOG, UWOP_PARE): Define. + 2013-07-10 Tristan Gingold * rs6000.h (external_core_dumpx): New structure. @@ -359,7 +395,7 @@ For older changes see ChangeLog-9103 -Copyright (C) 2004-2012 Free Software Foundation, Inc. +Copyright (C) 2004-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/include/coff/alpha.h b/binutils-2.25/include/coff/alpha.h index 81516892..d386b62b 100644 --- a/binutils-2.25/include/coff/alpha.h +++ b/binutils-2.25/include/coff/alpha.h @@ -1,7 +1,7 @@ /* ECOFF support on Alpha machines. coff/ecoff.h must be included before this file. - Copyright 2001, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/apollo.h b/binutils-2.25/include/coff/apollo.h index 1d4802f1..ff3471a0 100644 --- a/binutils-2.25/include/coff/apollo.h +++ b/binutils-2.25/include/coff/apollo.h @@ -1,6 +1,6 @@ /* coff information for Apollo M68K - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/arm.h b/binutils-2.25/include/coff/arm.h index 4beb1212..491db7fb 100644 --- a/binutils-2.25/include/coff/arm.h +++ b/binutils-2.25/include/coff/arm.h @@ -1,6 +1,5 @@ /* ARM COFF support for BFD. - Copyright 1998, 1999, 2000, 2002, 2003, 2010, 2013 - Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/coff/aux-coff.h b/binutils-2.25/include/coff/aux-coff.h index de7979a6..30bd2f4d 100644 --- a/binutils-2.25/include/coff/aux-coff.h +++ b/binutils-2.25/include/coff/aux-coff.h @@ -1,6 +1,6 @@ /* Modifications of internal.h and m68k.h needed by A/UX - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/ecoff.h b/binutils-2.25/include/coff/ecoff.h index a7991a99..4dd1a6ea 100644 --- a/binutils-2.25/include/coff/ecoff.h +++ b/binutils-2.25/include/coff/ecoff.h @@ -2,7 +2,7 @@ This does not include symbol information, found in sym.h and symconst.h. - Copyright 2001, 2002, 2003, 2004, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/external.h b/binutils-2.25/include/coff/external.h index 4bf594d3..b854332a 100644 --- a/binutils-2.25/include/coff/external.h +++ b/binutils-2.25/include/coff/external.h @@ -1,6 +1,6 @@ /* external.h -- External COFF structures - Copyright 2001, 2006, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/go32exe.h b/binutils-2.25/include/coff/go32exe.h index a2ca6cd7..44944c8c 100644 --- a/binutils-2.25/include/coff/go32exe.h +++ b/binutils-2.25/include/coff/go32exe.h @@ -1,6 +1,6 @@ /* COFF information for PC running go32. - Copyright 2001, 2005, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/h8300.h b/binutils-2.25/include/coff/h8300.h index 4de6602e..e145a7fc 100644 --- a/binutils-2.25/include/coff/h8300.h +++ b/binutils-2.25/include/coff/h8300.h @@ -1,6 +1,6 @@ /* coff information for Renesas H8/300 and H8/300-H - Copyright 2001, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/h8500.h b/binutils-2.25/include/coff/h8500.h index 56097f86..b0ae428b 100644 --- a/binutils-2.25/include/coff/h8500.h +++ b/binutils-2.25/include/coff/h8500.h @@ -1,6 +1,6 @@ /* coff information for Renesas H8/500 - Copyright 2001, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/i386.h b/binutils-2.25/include/coff/i386.h index 61e723ab..c727f996 100644 --- a/binutils-2.25/include/coff/i386.h +++ b/binutils-2.25/include/coff/i386.h @@ -1,6 +1,6 @@ /* coff information for Intel 386/486. - Copyright 2001, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/i860.h b/binutils-2.25/include/coff/i860.h index 0767de4f..d3843c9c 100644 --- a/binutils-2.25/include/coff/i860.h +++ b/binutils-2.25/include/coff/i860.h @@ -1,6 +1,6 @@ /* COFF information for the Intel i860. - Copyright 2001, 2003, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/i960.h b/binutils-2.25/include/coff/i960.h index 2bf42adc..b57ecca9 100644 --- a/binutils-2.25/include/coff/i960.h +++ b/binutils-2.25/include/coff/i960.h @@ -1,6 +1,6 @@ /* coff information for 80960. Origins: Intel corp, natch. - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/ia64.h b/binutils-2.25/include/coff/ia64.h index 2ee62686..001f3f8f 100644 --- a/binutils-2.25/include/coff/ia64.h +++ b/binutils-2.25/include/coff/ia64.h @@ -1,6 +1,6 @@ /* coff information for HP/Intel IA-64. - Copyright 2000, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/internal.h b/binutils-2.25/include/coff/internal.h index 8b843247..47e85d9f 100644 --- a/binutils-2.25/include/coff/internal.h +++ b/binutils-2.25/include/coff/internal.h @@ -1,19 +1,18 @@ /* Internal format of COFF object file data structures, for GNU BFD. This file is part of BFD, the Binary File Descriptor library. - - Copyright 1999, 2000, 2001, 2002, 2003, 2004. 2005, 2006, 2007, 2009, - 2010 Free Software Foundation, Inc. + + Copyright (C) 1999-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, @@ -56,7 +55,7 @@ struct internal_extra_pe_filehdr unsigned short e_res2[10]; /* Reserved words, all 0x0 */ bfd_vma e_lfanew; /* File address of new exe header, 0x80 */ unsigned long dos_message[16]; /* text which always follows dos header */ - bfd_vma nt_signature; /* required NT signature, 0x4550 */ + bfd_vma nt_signature; /* required NT signature, 0x4550 */ }; #define GO32_STUBSIZE 2048 @@ -67,14 +66,14 @@ struct internal_filehdr /* coff-stgo32 EXE stub header before BFD tdata has been allocated. Its data is kept in INTERNAL_FILEHDR.GO32STUB afterwards. - + F_GO32STUB is set iff go32stub contains a valid data. Artifical headers created in BFD have no pre-set go32stub. */ char go32stub[GO32_STUBSIZE]; /* Standard coff internal info. */ unsigned short f_magic; /* magic number */ - unsigned short f_nscns; /* number of sections */ + unsigned int f_nscns; /* number of sections */ long f_timdat; /* time & date stamp */ bfd_vma f_symptr; /* file pointer to symtab */ long f_nsyms; /* number of symtab entries */ @@ -110,7 +109,7 @@ struct internal_filehdr #define F_GO32STUB (0x4000) /* Extra structure which is used in the optional header. */ -typedef struct _IMAGE_DATA_DIRECTORY +typedef struct _IMAGE_DATA_DIRECTORY { bfd_vma VirtualAddress; long Size; @@ -133,6 +132,44 @@ typedef struct _IMAGE_DATA_DIRECTORY /* DataDirectory[15] is currently reserved, so no define. */ #define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16 +/* Extra structure used in debug directory. */ +struct internal_IMAGE_DEBUG_DIRECTORY +{ + unsigned long Characteristics; + unsigned long TimeDateStamp; + unsigned short MajorVersion; + unsigned short MinorVersion; + unsigned long Type; + unsigned long SizeOfData; + unsigned long AddressOfRawData; + unsigned long PointerToRawData; +}; + +#define PE_IMAGE_DEBUG_TYPE_UNKNOWN 0 +#define PE_IMAGE_DEBUG_TYPE_COFF 1 +#define PE_IMAGE_DEBUG_TYPE_CODEVIEW 2 +#define PE_IMAGE_DEBUG_TYPE_FPO 3 +#define PE_IMAGE_DEBUG_TYPE_MISC 4 +#define PE_IMAGE_DEBUG_TYPE_EXCEPTION 5 +#define PE_IMAGE_DEBUG_TYPE_FIXUP 6 +#define PE_IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7 +#define PE_IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8 +#define PE_IMAGE_DEBUG_TYPE_BORLAND 9 +#define PE_IMAGE_DEBUG_TYPE_RESERVED10 10 +#define PE_IMAGE_DEBUG_TYPE_CLSID 11 + +/* Extra structure for a codeview debug record */ +#define CV_INFO_SIGNATURE_LENGTH 16 + +typedef struct _CODEVIEW_INFO +{ + unsigned long CVSignature; + char Signature[CV_INFO_SIGNATURE_LENGTH]; + unsigned int SignatureLength; + unsigned long Age; + // char PdbFileName[]; +} CODEVIEW_INFO; + /* Default image base for NT. */ #define NT_EXE_IMAGE_BASE 0x400000 #define NT_DLL_IMAGE_BASE 0x10000000 @@ -148,22 +185,22 @@ typedef struct _IMAGE_DATA_DIRECTORY # define PE_DEF_FILE_ALIGNMENT 0x200 #endif -struct internal_extra_pe_aouthdr +struct internal_extra_pe_aouthdr { /* FIXME: The following entries are in AOUTHDR. But they aren't available internally in bfd. We add them here so that objdump can dump them. */ - /* The state of the image file */ + /* The state of the image file. */ short Magic; - /* Linker major version number */ + /* Linker major version number. */ char MajorLinkerVersion; - /* Linker minor version number */ + /* Linker minor version number. */ char MinorLinkerVersion; - /* Total size of all code sections */ + /* Total size of all code sections. */ long SizeOfCode; - /* Total size of all initialized data sections */ + /* Total size of all initialized data sections. */ long SizeOfInitializedData; - /* Total size of all uninitialized data sections */ + /* Total size of all uninitialized data sections. */ long SizeOfUninitializedData; /* Address of entry point relative to image base. */ bfd_vma AddressOfEntryPoint; @@ -171,40 +208,40 @@ struct internal_extra_pe_aouthdr bfd_vma BaseOfCode; /* Address of the first data section relative to image base. */ bfd_vma BaseOfData; - + /* PE stuff */ - bfd_vma ImageBase; /* address of specific location in memory that - file is located, NT default 0x10000 */ - - bfd_vma SectionAlignment; /* section alignment default 0x1000 */ - bfd_vma FileAlignment; /* file alignment default 0x200 */ - short MajorOperatingSystemVersion; /* minimum version of the operating */ - short MinorOperatingSystemVersion; /* system req'd for exe, default to 1*/ - short MajorImageVersion; /* user defineable field to store version of */ - short MinorImageVersion; /* exe or dll being created, default to 0 */ - short MajorSubsystemVersion; /* minimum subsystem version required to */ - short MinorSubsystemVersion; /* run exe; default to 3.1 */ - long Reserved1; /* seems to be 0 */ - long SizeOfImage; /* size of memory to allocate for prog */ - long SizeOfHeaders; /* size of PE header and section table */ - long CheckSum; /* set to 0 */ + bfd_vma ImageBase; /* Address of specific location in memory that + file is located, NT default 0x10000. */ + + bfd_vma SectionAlignment; /* Section alignment default 0x1000. */ + bfd_vma FileAlignment; /* File alignment default 0x200. */ + short MajorOperatingSystemVersion; /* Minimum version of the operating. */ + short MinorOperatingSystemVersion; /* System req'd for exe, default to 1. */ + short MajorImageVersion; /* User defineable field to store version of */ + short MinorImageVersion; /* exe or dll being created, default to 0. */ + short MajorSubsystemVersion; /* Minimum subsystem version required to */ + short MinorSubsystemVersion; /* run exe; default to 3.1. */ + long Reserved1; /* Seems to be 0. */ + long SizeOfImage; /* Size of memory to allocate for prog. */ + long SizeOfHeaders; /* Size of PE header and section table. */ + long CheckSum; /* Set to 0. */ short Subsystem; - /* type of subsystem exe uses for user interface, + /* Type of subsystem exe uses for user interface, possible values: 1 - NATIVE Doesn't require a subsystem 2 - WINDOWS_GUI runs in Windows GUI subsystem 3 - WINDOWS_CUI runs in Windows char sub. (console app) 5 - OS2_CUI runs in OS/2 character subsystem - 7 - POSIX_CUI runs in Posix character subsystem */ - unsigned short DllCharacteristics; /* flags for DLL init */ - bfd_vma SizeOfStackReserve; /* amount of memory to reserve */ - bfd_vma SizeOfStackCommit; /* amount of memory initially committed for - initial thread's stack, default is 0x1000 */ - bfd_vma SizeOfHeapReserve; /* amount of virtual memory to reserve and */ - bfd_vma SizeOfHeapCommit; /* commit, don't know what to defaut it to */ - long LoaderFlags; /* can probably set to 0 */ - long NumberOfRvaAndSizes; /* number of entries in next entry, 16 */ + 7 - POSIX_CUI runs in Posix character subsystem. */ + unsigned short DllCharacteristics; /* flags for DLL init. */ + bfd_vma SizeOfStackReserve; /* Amount of memory to reserve. */ + bfd_vma SizeOfStackCommit; /* Amount of memory initially committed for + initial thread's stack, default is 0x1000. */ + bfd_vma SizeOfHeapReserve; /* Amount of virtual memory to reserve and */ + bfd_vma SizeOfHeapCommit; /* commit, don't know what to defaut it to. */ + long LoaderFlags; /* Can probably set to 0. */ + long NumberOfRvaAndSizes; /* Number of entries in next entry, 16. */ IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; }; diff --git a/binutils-2.25/include/coff/m68k.h b/binutils-2.25/include/coff/m68k.h index c00c5a94..78ca98be 100644 --- a/binutils-2.25/include/coff/m68k.h +++ b/binutils-2.25/include/coff/m68k.h @@ -1,6 +1,6 @@ /* coff information for M68K - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/m88k.h b/binutils-2.25/include/coff/m88k.h index 8e1b3c93..b48cf561 100644 --- a/binutils-2.25/include/coff/m88k.h +++ b/binutils-2.25/include/coff/m88k.h @@ -1,6 +1,6 @@ /* coff information for 88k bcs - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/mcore.h b/binutils-2.25/include/coff/mcore.h index 60dbfb27..15ea754d 100644 --- a/binutils-2.25/include/coff/mcore.h +++ b/binutils-2.25/include/coff/mcore.h @@ -1,5 +1,5 @@ /* Motorola MCore support for BFD. - Copyright 1999, 2000, 2010 Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/coff/mips.h b/binutils-2.25/include/coff/mips.h index f1c243b6..7ce96a3e 100644 --- a/binutils-2.25/include/coff/mips.h +++ b/binutils-2.25/include/coff/mips.h @@ -1,7 +1,7 @@ /* ECOFF support on MIPS machines. coff/ecoff.h must be included before this file. - Copyright 1999, 2004, 2010 Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/mipspe.h b/binutils-2.25/include/coff/mipspe.h index f1a0d439..88e0bc80 100644 --- a/binutils-2.25/include/coff/mipspe.h +++ b/binutils-2.25/include/coff/mipspe.h @@ -1,6 +1,6 @@ /* coff information for Windows CE with MIPS VR4111 - Copyright 2000, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/or32.h b/binutils-2.25/include/coff/or32.h deleted file mode 100644 index 9be7887a..00000000 --- a/binutils-2.25/include/coff/or32.h +++ /dev/null @@ -1,288 +0,0 @@ -/* COFF specification for OpenRISC 1000. - Copyright (C) 1993-2000, 2002, 2010 Free Software Foundation, Inc. - Contributed by David Wood @ New York University. - Modified by Johan Rydberg, - - This file is part of BFD, the Binary File Descriptor library. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, - MA 02110-1301, USA. */ - -#ifndef OR32 -# define OR32 -#endif - -/* File Header and related definitions. */ -struct external_filehdr -{ - char f_magic[2]; /* magic number */ - char f_nscns[2]; /* number of sections */ - char f_timdat[4]; /* time & date stamp */ - char f_symptr[4]; /* file pointer to symtab */ - char f_nsyms[4]; /* number of symtab entries */ - char f_opthdr[2]; /* sizeof(optional hdr) */ - char f_flags[2]; /* flags */ -}; - -#define FILHDR struct external_filehdr -#define FILHSZ 20 - -/* Magic numbers for OpenRISC 1000. As it is know we use the - numbers for Am29000. - - (AT&T will assign the "real" magic number). */ -#define SIPFBOMAGIC 0572 /* Am29000 (Byte 0 is MSB). */ -#define SIPRBOMAGIC 0573 /* Am29000 (Byte 0 is LSB). */ - -#define OR32_MAGIC_BIG SIPFBOMAGIC -#define OR32_MAGIC_LITTLE SIPRBOMAGIC -#define OR32BADMAG(x) (((x).f_magic!=OR32_MAGIC_BIG) && \ - ((x).f_magic!=OR32_MAGIC_LITTLE)) - -#define OMAGIC OR32_MAGIC_BIG - -/* Optional (a.out) header. */ -typedef struct external_aouthdr -{ - char magic[2]; /* type of file */ - char vstamp[2]; /* version stamp */ - char tsize[4]; /* text size in bytes, padded to FW bdry */ - char dsize[4]; /* initialized data " " */ - char bsize[4]; /* uninitialized data " " */ - char entry[4]; /* entry pt. */ - char text_start[4]; /* base of text used for this file */ - char data_start[4]; /* base of data used for this file */ -} AOUTHDR; - -#define AOUTSZ 28 -#define AOUTHDRSZ 28 - -/* aouthdr magic numbers. */ -#define NMAGIC 0410 /* separate i/d executable. */ -#define SHMAGIC 0406 /* NYU/Ultra3 shared data executable - (writable text). */ - -#define _ETEXT "_etext" - -/* Section header and related definitions. */ -struct external_scnhdr -{ - char s_name[8]; /* section name */ - char s_paddr[4]; /* physical address, aliased s_nlib */ - char s_vaddr[4]; /* virtual address */ - char s_size[4]; /* section size */ - char s_scnptr[4]; /* file ptr to raw data for section */ - char s_relptr[4]; /* file ptr to relocation */ - char s_lnnoptr[4]; /* file ptr to line numbers */ - char s_nreloc[2]; /* number of relocation entries */ - char s_nlnno[2]; /* number of line number entries */ - char s_flags[4]; /* flags */ -}; - -#define SCNHDR struct external_scnhdr -#define SCNHSZ 40 - -/* Names of "special" sections: */ -#define _TEXT ".text" -#define _DATA ".data" -#define _BSS ".bss" -#define _LIT ".lit" - -/* Section types - with additional section type for global - registers which will be relocatable for the OpenRISC 1000. - - In instances where it is necessary for a linker to produce an - output file which contains text or data not based at virtual - address 0, e.g. for a ROM, then the linker should accept - address base information as command input and use PAD sections - to skip over unused addresses. */ -#define STYP_BSSREG 0x1200 /* Global register area (like STYP_INFO) */ -#define STYP_ENVIR 0x2200 /* Environment (like STYP_INFO) */ -#define STYP_ABS 0x4000 /* Absolute (allocated, not reloc, loaded) */ - -/* Relocation information declaration and related definitions: */ -struct external_reloc -{ - char r_vaddr[4]; /* (virtual) address of reference */ - char r_symndx[4]; /* index into symbol table */ - char r_type[2]; /* relocation type */ -}; - -#define RELOC struct external_reloc -#define RELSZ 10 /* sizeof (RELOC) */ - -/* Relocation types for the OpenRISC 1000: */ - -#define R_ABS 0 /* reference is absolute */ -#define R_IREL 030 /* instruction relative (jmp/call) */ -#define R_IABS 031 /* instruction absolute (jmp/call) */ -#define R_ILOHALF 032 /* instruction low half (const) */ -#define R_IHIHALF 033 /* instruction high half (consth) part 1 */ -#define R_IHCONST 034 /* instruction high half (consth) part 2 */ - /* constant offset of R_IHIHALF relocation */ -#define R_BYTE 035 /* relocatable byte value */ -#define R_HWORD 036 /* relocatable halfword value */ -#define R_WORD 037 /* relocatable word value */ - -#define R_IGLBLRC 040 /* instruction global register RC */ -#define R_IGLBLRA 041 /* instruction global register RA */ -#define R_IGLBLRB 042 /* instruction global register RB */ - -/* - NOTE: - All the "I" forms refer to 29000 instruction formats. The linker is - expected to know how the numeric information is split and/or aligned - within the instruction word(s). R_BYTE works for instructions, too. - - If the parameter to a CONSTH instruction is a relocatable type, two - relocation records are written. The first has an r_type of R_IHIHALF - (33 octal) and a normal r_vaddr and r_symndx. The second relocation - record has an r_type of R_IHCONST (34 octal), a normal r_vaddr (which - is redundant), and an r_symndx containing the 32-bit constant offset - to the relocation instead of the actual symbol table index. This - second record is always written, even if the constant offset is zero. - The constant fields of the instruction are set to zero. */ - -/* Line number entry declaration and related definitions: */ -struct external_lineno -{ - union - { - char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ - char l_paddr[4]; /* (physical) address of line number */ - } - l_addr; - - char l_lnno[2]; /* line number */ -}; - -#define LINENO struct external_lineno -#define LINESZ 6 /* sizeof (LINENO) */ - -/* Symbol entry declaration and related definitions: */ -#define E_SYMNMLEN 8 /* Number of characters in a symbol name */ - -struct external_syment -{ - union - { - char e_name[E_SYMNMLEN]; - struct - { - char e_zeroes[4]; - char e_offset[4]; - } - e; - } - e; - - char e_value[4]; - char e_scnum[2]; - char e_type[2]; - char e_sclass[1]; - char e_numaux[1]; -}; - -#define SYMENT struct external_syment -#define SYMESZ 18 - -/* Storage class definitions - new classes for global registers: */ -#define C_GLBLREG 19 /* global register */ -#define C_EXTREG 20 /* external global register */ -#define C_DEFREG 21 /* ext. def. of global register */ - -/* Derived symbol mask/shifts: */ -#define N_BTMASK (0xf) -#define N_BTSHFT (4) -#define N_TMASK (0x30) -#define N_TSHIFT (2) - -/* Auxiliary symbol table entry declaration and related - definitions. */ -#define E_FILNMLEN 14 /* # characters in a file name */ -#define E_DIMNUM 4 /* # array dimensions in auxiliary entry */ - -union external_auxent -{ - struct - { - char x_tagndx[4]; /* str, un, or enum tag indx */ - union - { - struct - { - char x_lnno[2]; /* declaration line number */ - char x_size[2]; /* str/union/array size */ - } - x_lnsz; - - char x_fsize[4]; /* size of function */ - } - x_misc; - - union - { - struct /* if ISFCN, tag, or .bb */ - { - char x_lnnoptr[4]; /* ptr to fcn line # */ - char x_endndx[4]; /* entry ndx past block end */ - } - x_fcn; - - struct /* if ISARY, up to 4 dimen. */ - { - char x_dimen[E_DIMNUM][2]; - } - x_ary; - } - x_fcnary; - - char x_tvndx[2]; /* tv index */ - } - x_sym; - - union - { - char x_fname[E_FILNMLEN]; - - struct - { - char x_zeroes[4]; - char x_offset[4]; - } - x_n; - } - x_file; - - struct - { - char x_scnlen[4]; /* section length */ - char x_nreloc[2]; /* # relocation entries */ - char x_nlinno[2]; /* # line numbers */ - } - x_scn; - - struct - { - char x_tvfill[4]; /* tv fill value */ - char x_tvlen[2]; /* length of .tv */ - char x_tvran[2][2]; /* tv range */ - } - x_tv; /* info about .tv section - (in auxent of symbol .tv)) */ -}; - -#define AUXENT union external_auxent -#define AUXESZ 18 diff --git a/binutils-2.25/include/coff/pe.h b/binutils-2.25/include/coff/pe.h index 601a68e8..b0fc707b 100644 --- a/binutils-2.25/include/coff/pe.h +++ b/binutils-2.25/include/coff/pe.h @@ -1,7 +1,6 @@ -/* pe.h - PE COFF header information +/* pe.h - PE COFF header information - Copyright 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -41,6 +40,7 @@ /* DllCharacteristics flag bits. The inconsistent naming may seem odd, but that is how they are defined in the PE specification. */ +#define IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA 0x0020 #define IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE 0x0040 #define IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY 0x0080 #define IMAGE_DLL_CHARACTERISTICS_NX_COMPAT 0x0100 @@ -60,16 +60,16 @@ /* Section characteristics added for ppc-nt. */ -#define IMAGE_SCN_TYPE_NO_PAD 0x00000008 /* Reserved. */ +#define IMAGE_SCN_TYPE_NO_PAD 0x00000008 /* Reserved. */ -#define IMAGE_SCN_CNT_CODE 0x00000020 /* Section contains code. */ -#define IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040 /* Section contains initialized data. */ -#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080 /* Section contains uninitialized data. */ +#define IMAGE_SCN_CNT_CODE 0x00000020 /* Section contains code. */ +#define IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040 /* Section contains initialized data. */ +#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080 /* Section contains uninitialized data. */ -#define IMAGE_SCN_LNK_OTHER 0x00000100 /* Reserved. */ -#define IMAGE_SCN_LNK_INFO 0x00000200 /* Section contains comments or some other type of information. */ -#define IMAGE_SCN_LNK_REMOVE 0x00000800 /* Section contents will not become part of image. */ -#define IMAGE_SCN_LNK_COMDAT 0x00001000 /* Section contents comdat. */ +#define IMAGE_SCN_LNK_OTHER 0x00000100 /* Reserved. */ +#define IMAGE_SCN_LNK_INFO 0x00000200 /* Section contains comments or some other type of information. */ +#define IMAGE_SCN_LNK_REMOVE 0x00000800 /* Section contents will not become part of image. */ +#define IMAGE_SCN_LNK_COMDAT 0x00001000 /* Section contents comdat. */ #define IMAGE_SCN_MEM_FARDATA 0x00008000 @@ -78,7 +78,7 @@ #define IMAGE_SCN_MEM_LOCKED 0x00040000 #define IMAGE_SCN_MEM_PRELOAD 0x00080000 -/* Bit position in the s_flags field where the alignment values start. */ +/* Bit position in the s_flags field where the alignment values start. */ #define IMAGE_SCN_ALIGN_POWER_BIT_POS 20 #define IMAGE_SCN_ALIGN_POWER_BIT_MASK 0x00f00000 #define IMAGE_SCN_ALIGN_POWER_NUM(val) \ @@ -90,7 +90,7 @@ #define IMAGE_SCN_ALIGN_2BYTES IMAGE_SCN_ALIGN_POWER_CONST (1) #define IMAGE_SCN_ALIGN_4BYTES IMAGE_SCN_ALIGN_POWER_CONST (2) #define IMAGE_SCN_ALIGN_8BYTES IMAGE_SCN_ALIGN_POWER_CONST (3) -/* Default alignment if no others are specified. */ +/* Default alignment if no others are specified. */ #define IMAGE_SCN_ALIGN_16BYTES IMAGE_SCN_ALIGN_POWER_CONST (4) #define IMAGE_SCN_ALIGN_32BYTES IMAGE_SCN_ALIGN_POWER_CONST (5) #define IMAGE_SCN_ALIGN_64BYTES IMAGE_SCN_ALIGN_POWER_CONST (6) @@ -102,7 +102,7 @@ #define IMAGE_SCN_ALIGN_4096BYTES IMAGE_SCN_ALIGN_POWER_CONST (12) #define IMAGE_SCN_ALIGN_8192BYTES IMAGE_SCN_ALIGN_POWER_CONST (13) -/* Encode alignment power into IMAGE_SCN_ALIGN bits of s_flags */ +/* Encode alignment power into IMAGE_SCN_ALIGN bits of s_flags. */ #define COFF_ENCODE_ALIGNMENT(SECTION, ALIGNMENT_POWER) \ ((SECTION).s_flags |= IMAGE_SCN_ALIGN_POWER_CONST ((ALIGNMENT_POWER))) @@ -164,9 +164,9 @@ #define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12 #define IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER 13 #define IMAGE_SUBSYSTEM_XBOX 14 - + /* Magic values that are true for all dos/nt implementations. */ -#define DOSMAGIC 0x5a4d +#define DOSMAGIC 0x5a4d #define NT_SIGNATURE 0x00004550 /* NT allows long filenames, we want to accommodate this. @@ -201,7 +201,7 @@ struct external_PEI_DOS_hdr struct external_PEI_IMAGE_hdr { - char nt_signature[4]; /* required NT signature, 0x4550. */ + char nt_signature[4]; /* Required NT signature, 0x4550. */ /* From standard header. */ char f_magic[2]; /* Magic number. */ @@ -240,7 +240,7 @@ struct external_PEI_filehdr /* Note: additional bytes may be inserted before the signature. Use the e_lfanew field to find the actual location of the NT signature. */ - char nt_signature[4]; /* required NT signature, 0x4550. */ + char nt_signature[4]; /* Required NT signature, 0x4550. */ /* From standard header. */ char f_magic[2]; /* Magic number. */ @@ -263,9 +263,9 @@ struct external_PEI_filehdr #endif /* COFF_IMAGE_WITH_PE */ -/* 32-bit PE a.out header: */ +/* 32-bit PE a.out header: */ -typedef struct +typedef struct { AOUTHDR standard; @@ -301,7 +301,7 @@ typedef struct /* Like PEAOUTHDR, except that the "standard" member has no BaseOfData (aka data_start) member and that some of the members are 8 instead of just 4 bytes long. */ -typedef struct +typedef struct { #ifdef AOUTHDRSZ64 AOUTHDR64 standard; @@ -339,7 +339,7 @@ typedef struct #else #define PEPAOUTSZ 240 #endif - + #undef E_FILNMLEN #define E_FILNMLEN 18 /* # characters in a file name. */ @@ -359,6 +359,85 @@ typedef struct #define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2 #define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3 +/* Bigobj header. */ +struct external_ANON_OBJECT_HEADER_BIGOBJ +{ + /* ANON_OBJECT_HEADER_V2 header. */ + char Sig1[2]; + char Sig2[2]; + char Version[2]; + char Machine[2]; + char TimeDateStamp[4]; + char ClassID[16]; + char SizeOfData[4]; + char Flags[4]; + char MetaDataSize[4]; + char MetaDataOffset[4]; + + /* BIGOBJ specific. */ + char NumberOfSections[4]; + char PointerToSymbolTable[4]; + char NumberOfSymbols[4]; +}; + +#define FILHSZ_BIGOBJ (14 * 4) + +struct external_SYMBOL_EX +{ + union + { + char e_name[E_SYMNMLEN]; + + struct + { + char e_zeroes[4]; + char e_offset[4]; + } e; + } e; + + char e_value[4]; + char e_scnum[4]; + char e_type[2]; + char e_sclass[1]; + char e_numaux[1]; +} ATTRIBUTE_PACKED ; + +#define SYMENT_BIGOBJ struct external_SYMBOL_EX +#define SYMESZ_BIGOBJ 20 + +#define FILNMLEN_BIGOBJ 20 + +union external_AUX_SYMBOL_EX +{ + struct + { + char WeakDefaultSymIndex[4]; + char WeakSearchType[4]; + char rgbReserved[12]; + } Sym; + + struct + { + char Name[FILNMLEN_BIGOBJ]; + } File; + + struct + { + char Length[4]; /* Section length. */ + char NumberOfRelocations[2];/* # relocation entries. */ + char NumberOfLinenumbers[2];/* # line numbers. */ + char Checksum[4]; /* Section COMDAT checksum. */ + char Number[2]; /* COMDAT associated section index. */ + char Selection[1]; /* COMDAT selection number. */ + char bReserved[1]; + char HighNumber[2]; /* High bits of COMDAT associated sec. */ + char rgbReserved[2]; + } Section; +} ATTRIBUTE_PACKED; + +#define AUXENT_BIGOBJ union external_AUX_SYMBOL_EX +#define AUXESZ_BIGOBJ 20 + /* .pdata/.xdata defines and structures for x64 PE+ for exception handling. */ /* .pdata in exception directory. */ @@ -368,7 +447,6 @@ struct pex64_runtime_function bfd_vma rva_BeginAddress; bfd_vma rva_EndAddress; bfd_vma rva_UnwindData; - unsigned int isChained : 1; }; struct external_pex64_runtime_function @@ -393,8 +471,10 @@ struct external_pex64_runtime_function #define UWOP_SET_FPREG 3 #define UWOP_SAVE_NONVOL 4 #define UWOP_SAVE_NONVOL_FAR 5 -#define UWOP_SAVE_XMM 6 -#define UWOP_SAVE_XMM_FAR 7 +#define UWOP_SAVE_XMM 6 /* For version 1. */ +#define UWOP_EPILOG 6 /* For version 2. */ +#define UWOP_SAVE_XMM_FAR 7 /* For version 1 (deprecated). */ +#define UWOP_SPARE 7 /* For version 2. */ #define UWOP_SAVE_XMM128 8 #define UWOP_SAVE_XMM128_FAR 9 #define UWOP_PUSH_MACHFRAME 10 @@ -441,14 +521,10 @@ struct pex64_unwind_info bfd_vma FrameOffset; bfd_vma sizeofUnwindCodes; bfd_byte *rawUnwindCodes; - /* Valid for UNW_FLAG_EHANDLER and UNW_FLAG_UHANDLER. */ - bfd_vma CountOfScopes; - bfd_byte *rawScopeEntries; - bfd_vma rva_ExceptionHandler; /* UNW_EHANDLER. */ - bfd_vma rva_TerminationHandler; /* UNW_FLAG_UHANDLER. */ - bfd_vma rva_FrameHandler; /* UNW_FLAG_FHANDLER. */ - bfd_vma FrameHandlerArgument; /* UNW_FLAG_FHANDLER. */ - bfd_vma rva_FunctionEntry; /* UNW_FLAG_CHAININFO. */ + bfd_vma rva_ExceptionHandler; /* UNW_EHANDLER or UNW_FLAG_UHANDLER. */ + bfd_vma rva_BeginAddress; /* UNW_FLAG_CHAININFO. */ + bfd_vma rva_EndAddress; /* UNW_FLAG_CHAININFO. */ + bfd_vma rva_UnwindData; /* UNW_FLAG_CHAININFO. */ }; struct external_pex64_unwind_info @@ -509,4 +585,42 @@ struct external_pex64_scope_entry (PEX64_OFFSET_TO_SCOPE_COUNT(COUNTOFUNWINDCODES) + \ PEX64_SCOPE_ENTRY_SIZE * (IDX)) +/* Extra structure used in debug directory. */ +struct external_IMAGE_DEBUG_DIRECTORY +{ + char Characteristics[4]; + char TimeDateStamp[4]; + char MajorVersion[2]; + char MinorVersion[2]; + char Type[4]; + char SizeOfData[4]; + char AddressOfRawData[4]; + char PointerToRawData[4]; +}; + +/* Extra structures used in codeview debug record. */ +/* This is not part of the PE specification. */ + +#define CVINFO_PDB70_CVSIGNATURE 0x53445352 // "RSDS" +#define CVINFO_PDB20_CVSIGNATURE 0x3031424e // "NB10" +#define CVINFO_CV50_CVSIGNATURE 0x3131424e // "NB11" +#define CVINFO_CV41_CVSIGNATURE 0x3930424e // âNB09" + +typedef struct _CV_INFO_PDB70 +{ + char CvSignature[4]; + char Signature[16]; + char Age[4]; + char PdbFileName[]; +} CV_INFO_PDB70; + +typedef struct _CV_INFO_PDB20 +{ + char CvHeader[4]; + char Offset[4]; + char Signature[4]; + char Age[4]; + char PdbFileName[]; +} CV_INFO_PDB20; + #endif /* _PE_H */ diff --git a/binutils-2.25/include/coff/powerpc.h b/binutils-2.25/include/coff/powerpc.h index eba47309..dd1af070 100644 --- a/binutils-2.25/include/coff/powerpc.h +++ b/binutils-2.25/include/coff/powerpc.h @@ -1,7 +1,7 @@ /* Basic coff information for the PowerPC Based on coff/rs6000.h, coff/i386.h and others. - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/rs6000.h b/binutils-2.25/include/coff/rs6000.h index 7972d338..acb6f0ca 100644 --- a/binutils-2.25/include/coff/rs6000.h +++ b/binutils-2.25/include/coff/rs6000.h @@ -1,5 +1,5 @@ /* IBM RS/6000 "XCOFF" file definitions for BFD. - Copyright (C) 1990, 1991, 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 1990-2014 Free Software Foundation, Inc. Written by Mimi Phuong-Thao Vo of IBM and John Gilmore of Cygnus Support. diff --git a/binutils-2.25/include/coff/rs6k64.h b/binutils-2.25/include/coff/rs6k64.h index 453198a5..c8aefc45 100644 --- a/binutils-2.25/include/coff/rs6k64.h +++ b/binutils-2.25/include/coff/rs6k64.h @@ -1,5 +1,5 @@ /* IBM RS/6000 "XCOFF64" file definitions for BFD. - Copyright (C) 2000, 2001, 2002, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/sh.h b/binutils-2.25/include/coff/sh.h index bf131046..1606eeab 100644 --- a/binutils-2.25/include/coff/sh.h +++ b/binutils-2.25/include/coff/sh.h @@ -1,6 +1,6 @@ /* coff information for Renesas SH - Copyright 2000, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/sparc.h b/binutils-2.25/include/coff/sparc.h index fa94c5f7..d5553a5e 100644 --- a/binutils-2.25/include/coff/sparc.h +++ b/binutils-2.25/include/coff/sparc.h @@ -1,6 +1,6 @@ /* coff information for Sparc. - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/ti.h b/binutils-2.25/include/coff/ti.h index d54b2ed1..8a34f69c 100644 --- a/binutils-2.25/include/coff/ti.h +++ b/binutils-2.25/include/coff/ti.h @@ -2,8 +2,7 @@ customized in a target-specific file, and then this file included (see tic54x.h for an example). - Copyright 2000, 2001, 2002, 2003, 2005, 2008, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/tic30.h b/binutils-2.25/include/coff/tic30.h index 4f7776a4..cba03f03 100644 --- a/binutils-2.25/include/coff/tic30.h +++ b/binutils-2.25/include/coff/tic30.h @@ -1,6 +1,6 @@ /* coff information for Texas Instruments TMS320C3X - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/tic4x.h b/binutils-2.25/include/coff/tic4x.h index 1eb3e26b..5c99c93b 100644 --- a/binutils-2.25/include/coff/tic4x.h +++ b/binutils-2.25/include/coff/tic4x.h @@ -1,7 +1,7 @@ /* TI COFF information for Texas Instruments TMS320C4X/C3X. This file customizes the settings in coff/ti.h. - Copyright 2002, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/tic54x.h b/binutils-2.25/include/coff/tic54x.h index c61f1f20..ef8406e0 100644 --- a/binutils-2.25/include/coff/tic54x.h +++ b/binutils-2.25/include/coff/tic54x.h @@ -1,7 +1,7 @@ /* TI COFF information for Texas Instruments TMS320C54X. This file customizes the settings in coff/ti.h. - Copyright 2000, 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/tic80.h b/binutils-2.25/include/coff/tic80.h index 44f873ef..a2300735 100644 --- a/binutils-2.25/include/coff/tic80.h +++ b/binutils-2.25/include/coff/tic80.h @@ -1,6 +1,6 @@ /* coff information for TI TMS320C80 (MVP) - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/w65.h b/binutils-2.25/include/coff/w65.h index 31d96093..8a054bbe 100644 --- a/binutils-2.25/include/coff/w65.h +++ b/binutils-2.25/include/coff/w65.h @@ -1,6 +1,6 @@ /* coff information for WDC 65816 - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/we32k.h b/binutils-2.25/include/coff/we32k.h index 3787dd27..38dbebf4 100644 --- a/binutils-2.25/include/coff/we32k.h +++ b/binutils-2.25/include/coff/we32k.h @@ -1,6 +1,6 @@ /* coff information for we32k - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/coff/x86_64.h b/binutils-2.25/include/coff/x86_64.h index fcd44c8e..4c5d8bac 100644 --- a/binutils-2.25/include/coff/x86_64.h +++ b/binutils-2.25/include/coff/x86_64.h @@ -1,5 +1,5 @@ /* COFF information for AMD 64. - Copyright 2006, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2006-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/coff/xcoff.h b/binutils-2.25/include/coff/xcoff.h index 67502cda..9b06d8a0 100644 --- a/binutils-2.25/include/coff/xcoff.h +++ b/binutils-2.25/include/coff/xcoff.h @@ -1,7 +1,6 @@ /* Internal format of XCOFF object file data structures for BFD. - Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, - 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1995-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor , Cygnus Support. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/coff/z80.h b/binutils-2.25/include/coff/z80.h index 712af054..b294abc5 100644 --- a/binutils-2.25/include/coff/z80.h +++ b/binutils-2.25/include/coff/z80.h @@ -1,5 +1,5 @@ /* coff information for Zilog Z80 - Copyright 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 2005-2014 Free Software Foundation, Inc. Contributed by Arnold Metselaar This program is free software; you can redistribute it and/or modify diff --git a/binutils-2.25/include/coff/z8k.h b/binutils-2.25/include/coff/z8k.h index 5eef86d4..6f4992f7 100644 --- a/binutils-2.25/include/coff/z8k.h +++ b/binutils-2.25/include/coff/z8k.h @@ -1,6 +1,6 @@ /* coff information for Zilog Z800N - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/demangle.h b/binutils-2.25/include/demangle.h index bbad71bd..d2a6731a 100644 --- a/binutils-2.25/include/demangle.h +++ b/binutils-2.25/include/demangle.h @@ -63,9 +63,10 @@ extern "C" { #define DMGL_EDG (1 << 13) #define DMGL_GNU_V3 (1 << 14) #define DMGL_GNAT (1 << 15) +#define DMGL_DLANG (1 << 16) /* If none of these are set, use 'current_demangling_style' as the default. */ -#define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT) +#define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT|DMGL_DLANG) /* Enumeration of possible demangling styles. @@ -87,7 +88,8 @@ extern enum demangling_styles edg_demangling = DMGL_EDG, gnu_v3_demangling = DMGL_GNU_V3, java_demangling = DMGL_JAVA, - gnat_demangling = DMGL_GNAT + gnat_demangling = DMGL_GNAT, + dlang_demangling = DMGL_DLANG } current_demangling_style; /* Define string names for the various demangling styles. */ @@ -102,6 +104,7 @@ extern enum demangling_styles #define GNU_V3_DEMANGLING_STYLE_STRING "gnu-v3" #define JAVA_DEMANGLING_STYLE_STRING "java" #define GNAT_DEMANGLING_STYLE_STRING "gnat" +#define DLANG_DEMANGLING_STYLE_STRING "dlang" /* Some macros to test what demangling style is active. */ @@ -115,6 +118,7 @@ extern enum demangling_styles #define GNU_V3_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNU_V3) #define JAVA_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_JAVA) #define GNAT_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNAT) +#define DLANG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_DLANG) /* Provide information about the available demangle styles. This code is pulled from gdb into libiberty because it is useful to binutils also. */ @@ -169,6 +173,9 @@ java_demangle_v3 (const char *mangled); char * ada_demangle (const char *mangled, int options); +extern char * +dlang_demangle (const char *mangled, int options); + enum gnu_v3_ctor_kinds { gnu_v3_complete_object_ctor = 1, gnu_v3_base_object_ctor, diff --git a/binutils-2.25/include/dis-asm.h b/binutils-2.25/include/dis-asm.h index 78e9fc01..1b653b5d 100644 --- a/binutils-2.25/include/dis-asm.h +++ b/binutils-2.25/include/dis-asm.h @@ -1,7 +1,6 @@ /* Interface between the opcode library and its callers. - Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010, - 2011, 2012 Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -227,7 +226,6 @@ extern int print_insn_bfin (bfd_vma, disassemble_info *); extern int print_insn_big_arm (bfd_vma, disassemble_info *); extern int print_insn_big_mips (bfd_vma, disassemble_info *); extern int print_insn_big_nios2 (bfd_vma, disassemble_info *); -extern int print_insn_big_or32 (bfd_vma, disassemble_info *); extern int print_insn_big_powerpc (bfd_vma, disassemble_info *); extern int print_insn_big_score (bfd_vma, disassemble_info *); extern int print_insn_cr16 (bfd_vma, disassemble_info *); @@ -255,7 +253,6 @@ extern int print_insn_iq2000 (bfd_vma, disassemble_info *); extern int print_insn_little_arm (bfd_vma, disassemble_info *); extern int print_insn_little_mips (bfd_vma, disassemble_info *); extern int print_insn_little_nios2 (bfd_vma, disassemble_info *); -extern int print_insn_little_or32 (bfd_vma, disassemble_info *); extern int print_insn_little_powerpc (bfd_vma, disassemble_info *); extern int print_insn_little_score (bfd_vma, disassemble_info *); extern int print_insn_lm32 (bfd_vma, disassemble_info *); @@ -277,8 +274,9 @@ extern int print_insn_mn10300 (bfd_vma, disassemble_info *); extern int print_insn_moxie (bfd_vma, disassemble_info *); extern int print_insn_msp430 (bfd_vma, disassemble_info *); extern int print_insn_mt (bfd_vma, disassemble_info *); +extern int print_insn_nds32 (bfd_vma, disassemble_info *); extern int print_insn_ns32k (bfd_vma, disassemble_info *); -extern int print_insn_openrisc (bfd_vma, disassemble_info *); +extern int print_insn_or1k (bfd_vma, disassemble_info *); extern int print_insn_pdp11 (bfd_vma, disassemble_info *); extern int print_insn_pj (bfd_vma, disassemble_info *); extern int print_insn_rs6000 (bfd_vma, disassemble_info *); diff --git a/binutils-2.25/include/elf/ChangeLog b/binutils-2.25/include/elf/ChangeLog index c2577e88..17978ba3 100644 --- a/binutils-2.25/include/elf/ChangeLog +++ b/binutils-2.25/include/elf/ChangeLog @@ -1,3 +1,133 @@ +2014-10-09 Jose E. Marchesi + + * sparc.h (Tag_GNU_Sparc_HWCAPS2): New object attribute. + (ELF_SPARC_HWCAP2_FJATHPLUS): New HWCAP2 bitmask value. + (ELF_SPARC_HWCAP2_VIS3B): Likewise. + (ELF_SPARC_HWCAP2_ADP): Likewise. + (ELF_SPARC_HWCAP2_SPARC5): Likewise. + (ELF_SPARC_HWCAP2_MWAIT): Likewise. + (ELF_SPARC_HWCAP2_XMPMUL): Likewise. + (ELF_SPARC_HWCAP2_XMONT): Likewise. + (ELF_SPARC_HWCAP2_NSEC): Likewise. + (ELF_SPARC_HWCAP2_FJATHHPC): Likewise. + (ELF_SPARC_HWCAP2_FJDES): Likewise. + (ELF_SPARC_HWCAP2_FJAES): Likewise. + +2014-10-08 Will Newton + + * aarch64.h: Sync up relocations with ABI release 1.0. + +2014-09-16 Kuan-Lin Chen + + * nds32.h: Declare new relocations. + +2014-09-15 Andrew Bennett + Matthew Fortune + + * mips.h: Add relocs: R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, + R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16. + (E_MIPS_ARCH_32R6): New define. + (E_MIPS_ARCH_64R6): New define. + +2014-08-26 DJ Delorie + + * rl78.h (RL78_RELAXA_MASK): New. Relax types are enums, not bits + +2014-07-07 Barney Stratford + + * avr.h: Add R_AVR_PORT5 and R_AVR_PORT6. + +2014-07-01 Barney Stratford + Senthil Kumar Selvaraj + Pitchumani Sivanupandi + Soundararajan + + * avr.h (E_AVR_MACH_AVRTINY): Define avrtiny machine number. + (R_AVR_LDS_STS_16): Define 16 bit lds/sts reloc number. + * include/opcode/avr.h (AVR_ISA_TINY): Define avrtiny specific ISA. + (AVR_ISA_2xxxa): Define ISA without LPM. + (AVR_ISA_AVRTINY): Define avrtiny arch ISA. + Add doc for contraint used in 16 bit lds/sts. + Adjust ISA group for icall, ijmp, pop and push. + Add 16 bit lds/sts encoding and update 32 bit lds/sts constraints. + +2014-04-22 Christian Svensson + + * common.h: Remove openrisc and or32 support. Add support for or1k. + * or1k.h: New file. + * openrisc.h: Delete. + * or32.h: Delete. + +2014-03-05 Alan Modra + + Update copyright years. + +2014-03-05 Alan Modra + + * ppc64.h (R_PPC64_REL24_NOTOC, R_PPC64_ADDR64_LOCAL): Define. + +2014-02-06 Andrew Pinski + + * mips.h (E_MIPS_MACH_OCTEON3): New machine flag. + +2014-02-03 Sandra Loosemore + + * nios2.h (R_NIOS2_GOT_LO, R_NIOS2_GOT_HA): New. + (R_NIOS2_CALL_LO, R_NIOS2_CALL_HA): New. + (R_NIOS2_ILLEGAL): Adjust. + +2014-01-30 Sandra Loosemore + + * nios2.h (elf_nios2_reloc_type): Add R_NIOS2_CALL26_NOAT. + +2014-01-30 Ulrich Weigand + + * common.h (AT_HWCAP2): Define. + +2013-12-13 Kuan-Lin Chen + Wei-Cheng Wang + + * nds32.h: New file for Andes NDS32. + +2013-12-07 Mike Frysinger + + * epiphany.h: Remove +x file mode. + +2013-11-17 H.J. Lu + + * x86-64.h: Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND. + +2013-11-13 Yufeng Zhang + + * aarch64.h: Define R_AARCH64_TLS_DTPMOD64, + R_AARCH64_TLS_DTPREL64 and R_AARCH64_TLS_TPREL64; guard + R_AARCH64_TLS_DTPMOD, R_AARCH64_TLS_DTPREL and + R_AARCH64_TLS_TPREL with RELOC_MACROS_GEN_FUNC. + +2013-10-30 Alan Modra + + * ppc.h (DT_PPC_TLSOPT): Delete. + (DT_PPC_OPT, PPC_OPT_TLS): Define. + * ppc64.h (DT_PPC64_TLSOPT): Delete. + (DT_PPC64_OPT, PPC64_OPT_TLS, PPC64_OPT_MULTI_TOC): Define. + +2013-10-30 Alan Modra + + * ppc64.h (STO_PPC64_LOCAL_BIT, STO_PPC64_LOCAL_MASK): Define. + (ppc64_decode_local_entry, ppc64_encode_local_entry): New functions. + (PPC64_LOCAL_ENTRY_OFFSET, PPC64_SET_LOCAL_ENTRY_OFFSET): Define. + +2013-10-30 Alan Modra + + * ppc64.h (EF_PPC64_ABI): Define. + +2013-10-30 Alan Modra + + * ppc64.h (R_PPC64_ADDR16_HIGH, R_PPC64_ADDR16_HIGHA, + R_PPC64_TPREL16_HIGH, R_PPC64_TPREL16_HIGHA, + R_PPC64_DTPREL16_HIGH, R_PPC64_DTPREL16_HIGHA): New. + (IS_PPC64_TLS_RELOC): Match new tls relocs. + 2013-10-14 Chao-ying Fu * mips.h (enum): Add Tag_GNU_MIPS_ABI_MSA. @@ -1878,7 +2008,7 @@ For older changes see ChangeLog-9103 -Copyright (C) 2004-2012 Free Software Foundation, Inc. +Copyright (C) 2004-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/include/elf/aarch64.h b/binutils-2.25/include/elf/aarch64.h index 41016038..1842b0be 100644 --- a/binutils-2.25/include/elf/aarch64.h +++ b/binutils-2.25/include/elf/aarch64.h @@ -1,6 +1,6 @@ /* AArch64 ELF support for BFD. - Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of GNU Binutils. @@ -269,20 +269,87 @@ RELOC_NUMBER (R_AARCH64_LDST32_ABS_LO12_NC, 285) /* LD/ST64: (S+A) & 0xff8 */ RELOC_NUMBER (R_AARCH64_LDST64_ABS_LO12_NC, 286) +/* Group relocations to create a 16, 32, 48, or 64 bit PC-relative + offset inline. */ + +RELOC_NUMBER (R_AARCH64_MOVW_PREL_G0, 287) +RELOC_NUMBER (R_AARCH64_MOVW_PREL_G0_NC, 288) +RELOC_NUMBER (R_AARCH64_MOVW_PREL_G1, 289) +RELOC_NUMBER (R_AARCH64_MOVW_PREL_G1_NC, 290) +RELOC_NUMBER (R_AARCH64_MOVW_PREL_G2, 291) +RELOC_NUMBER (R_AARCH64_MOVW_PREL_G2_NC, 292) +RELOC_NUMBER (R_AARCH64_MOVW_PREL_G3, 293) + /* LD/ST128: (S+A) & 0xff0 */ RELOC_NUMBER (R_AARCH64_LDST128_ABS_LO12_NC, 299) +/* Group relocations to create a 16, 32, 48, or 64 bit GOT-relative + offset inline. */ + +RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G0, 300) +RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G0_NC, 301) +RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G1, 302) +RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G1_NC, 303) +RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G2, 304) +RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G2_NC, 305) +RELOC_NUMBER (R_AARCH64_MOVW_GOTOFF_G3, 306) + +/* GOT-relative data relocations. */ + +RELOC_NUMBER (R_AARCH64_GOTREL64, 307) +RELOC_NUMBER (R_AARCH64_GOTREL32, 308) + +/* GOT-relative instruction relocations. */ + RELOC_NUMBER (R_AARCH64_GOT_LD_PREL19, 309) +RELOC_NUMBER (R_AARCH64_LD64_GOTOFF_LO15, 310) RELOC_NUMBER (R_AARCH64_ADR_GOT_PAGE, 311) RELOC_NUMBER (R_AARCH64_LD64_GOT_LO12_NC, 312) +RELOC_NUMBER (R_AARCH64_LD64_GOTPAGE_LO15, 313) +/* General Dynamic TLS relocations. */ + +RELOC_NUMBER (R_AARCH64_TLSGD_ADR_PREL21, 512) RELOC_NUMBER (R_AARCH64_TLSGD_ADR_PAGE21, 513) RELOC_NUMBER (R_AARCH64_TLSGD_ADD_LO12_NC, 514) +RELOC_NUMBER (R_AARCH64_TLSGD_MOVW_G1, 515) +RELOC_NUMBER (R_AARCH64_TLSGD_MOVW_G0_NC, 516) + +/* Local Dynamic TLS relocations. */ + +RELOC_NUMBER (R_AARCH64_TLSLD_ADR_PREL21, 517) +RELOC_NUMBER (R_AARCH64_TLSLD_ADR_PAGE21, 518) +RELOC_NUMBER (R_AARCH64_TLSLD_ADD_LO12_NC, 519) +RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_G1, 520) +RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_G0_NC, 521) +RELOC_NUMBER (R_AARCH64_TLSLD_LD_PREL19, 522) +RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G2, 523) +RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G1, 524) +RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC, 525) +RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G0, 526) +RELOC_NUMBER (R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC, 527) +RELOC_NUMBER (R_AARCH64_TLSLD_ADD_DTPREL_HI12, 528) +RELOC_NUMBER (R_AARCH64_TLSLD_ADD_DTPREL_LO12, 529) +RELOC_NUMBER (R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC, 530) +RELOC_NUMBER (R_AARCH64_TLSLD_LDST8_DTPREL_LO12, 531) +RELOC_NUMBER (R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC, 532) +RELOC_NUMBER (R_AARCH64_TLSLD_LDST16_DTPREL_LO12, 533) +RELOC_NUMBER (R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC, 534) +RELOC_NUMBER (R_AARCH64_TLSLD_LDST32_DTPREL_LO12, 535) +RELOC_NUMBER (R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC, 536) +RELOC_NUMBER (R_AARCH64_TLSLD_LDST64_DTPREL_LO12, 537) +RELOC_NUMBER (R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC, 538) + +/* Initial Exec TLS relocations. */ + RELOC_NUMBER (R_AARCH64_TLSIE_MOVW_GOTTPREL_G1, 539) RELOC_NUMBER (R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC, 540) RELOC_NUMBER (R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21, 541) RELOC_NUMBER (R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC, 542) RELOC_NUMBER (R_AARCH64_TLSIE_LD_GOTTPREL_PREL19, 543) + +/* Local Exec TLS relocations. */ + RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G2, 544) RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G1, 545) RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G1_NC, 546) @@ -291,6 +358,16 @@ RELOC_NUMBER (R_AARCH64_TLSLE_MOVW_TPREL_G0_NC, 548) RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_HI12, 549) RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_LO12, 550) RELOC_NUMBER (R_AARCH64_TLSLE_ADD_TPREL_LO12_NC, 551) +RELOC_NUMBER (R_AARCH64_TLSLE_LDST8_TPREL_LO12, 552) +RELOC_NUMBER (R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC, 553) +RELOC_NUMBER (R_AARCH64_TLSLE_LDST16_TPREL_LO12, 554) +RELOC_NUMBER (R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, 555) +RELOC_NUMBER (R_AARCH64_TLSLE_LDST32_TPREL_LO12, 556) +RELOC_NUMBER (R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, 557) +RELOC_NUMBER (R_AARCH64_TLSLE_LDST64_TPREL_LO12, 558) +RELOC_NUMBER (R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, 559) + +/* TLS descriptor relocations. */ RELOC_NUMBER (R_AARCH64_TLSDESC_LD_PREL19, 560) RELOC_NUMBER (R_AARCH64_TLSDESC_ADR_PREL21, 561) @@ -303,6 +380,11 @@ RELOC_NUMBER (R_AARCH64_TLSDESC_LDR, 567) RELOC_NUMBER (R_AARCH64_TLSDESC_ADD, 568) RELOC_NUMBER (R_AARCH64_TLSDESC_CALL, 569) +RELOC_NUMBER (R_AARCH64_TLSLE_LDST128_TPREL_LO12, 570) +RELOC_NUMBER (R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC, 571) +RELOC_NUMBER (R_AARCH64_TLSLD_LDST128_DTPREL_LO12, 572) +RELOC_NUMBER (R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC, 573) + /* Dynamic relocations */ /* Copy symbol at runtime. */ @@ -316,9 +398,17 @@ RELOC_NUMBER (R_AARCH64_JUMP_SLOT, 1026) /* Adjust by program base. */ RELOC_NUMBER (R_AARCH64_RELATIVE, 1027) +RELOC_NUMBER (R_AARCH64_TLS_DTPMOD64, 1028) +RELOC_NUMBER (R_AARCH64_TLS_DTPREL64, 1029) +RELOC_NUMBER (R_AARCH64_TLS_TPREL64, 1030) +/* Aliasing relocs are guarded by RELOC_MACROS_GEN_FUNC + so that readelf.c won't generate duplicated case + statements. */ +#ifndef RELOC_MACROS_GEN_FUNC RELOC_NUMBER (R_AARCH64_TLS_DTPMOD, 1028) RELOC_NUMBER (R_AARCH64_TLS_DTPREL, 1029) RELOC_NUMBER (R_AARCH64_TLS_TPREL, 1030) +#endif RELOC_NUMBER (R_AARCH64_TLSDESC, 1031) RELOC_NUMBER (R_AARCH64_IRELATIVE, 1032) diff --git a/binutils-2.25/include/elf/alpha.h b/binutils-2.25/include/elf/alpha.h index f4fe566b..274b3b1a 100644 --- a/binutils-2.25/include/elf/alpha.h +++ b/binutils-2.25/include/elf/alpha.h @@ -1,5 +1,5 @@ /* ALPHA ELF support for BFD. - Copyright 1996, 1998, 2000, 2001, 2002, 2010 Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. By Eric Youngdale, . No processor supplement available for this platform. diff --git a/binutils-2.25/include/elf/arc.h b/binutils-2.25/include/elf/arc.h index a07ed2e3..6b424629 100644 --- a/binutils-2.25/include/elf/arc.h +++ b/binutils-2.25/include/elf/arc.h @@ -1,5 +1,5 @@ /* ARC ELF support for BFD. - Copyright 1995, 1997, 1998, 2000, 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 1995-2014 Free Software Foundation, Inc. Contributed by Doug Evans, (dje@cygnus.com) This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/arm.h b/binutils-2.25/include/elf/arm.h index d7993038..34afdfd9 100644 --- a/binutils-2.25/include/elf/arm.h +++ b/binutils-2.25/include/elf/arm.h @@ -1,6 +1,5 @@ /* ARM ELF support for BFD. - Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/avr.h b/binutils-2.25/include/elf/avr.h index b45d902d..f2f500d4 100644 --- a/binutils-2.25/include/elf/avr.h +++ b/binutils-2.25/include/elf/avr.h @@ -1,6 +1,5 @@ /* AVR ELF support for BFD. - Copyright 1999, 2000, 2004, 2006, 2010, 2012 - Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. Contributed by Denis Chertykov This file is part of BFD, the Binary File Descriptor library. @@ -41,13 +40,14 @@ #define E_AVR_MACH_AVR5 5 #define E_AVR_MACH_AVR51 51 #define E_AVR_MACH_AVR6 6 -#define E_AVR_MACH_XMEGA1 101 -#define E_AVR_MACH_XMEGA2 102 -#define E_AVR_MACH_XMEGA3 103 -#define E_AVR_MACH_XMEGA4 104 -#define E_AVR_MACH_XMEGA5 105 -#define E_AVR_MACH_XMEGA6 106 -#define E_AVR_MACH_XMEGA7 107 +#define E_AVR_MACH_AVRTINY 100 +#define E_AVR_MACH_XMEGA1 101 +#define E_AVR_MACH_XMEGA2 102 +#define E_AVR_MACH_XMEGA3 103 +#define E_AVR_MACH_XMEGA4 104 +#define E_AVR_MACH_XMEGA5 105 +#define E_AVR_MACH_XMEGA6 106 +#define E_AVR_MACH_XMEGA7 107 /* Relocations. */ START_RELOC_NUMBERS (elf_avr_reloc_type) @@ -81,6 +81,12 @@ START_RELOC_NUMBERS (elf_avr_reloc_type) RELOC_NUMBER (R_AVR_8_LO8, 27) RELOC_NUMBER (R_AVR_8_HI8, 28) RELOC_NUMBER (R_AVR_8_HLO8, 29) + RELOC_NUMBER (R_AVR_DIFF8, 30) + RELOC_NUMBER (R_AVR_DIFF16, 31) + RELOC_NUMBER (R_AVR_DIFF32, 32) + RELOC_NUMBER (R_AVR_LDS_STS_16, 33) + RELOC_NUMBER (R_AVR_PORT6, 34) + RELOC_NUMBER (R_AVR_PORT5, 35) END_RELOC_NUMBERS (R_AVR_max) #endif /* _ELF_AVR_H */ diff --git a/binutils-2.25/include/elf/bfin.h b/binutils-2.25/include/elf/bfin.h index 8d92906a..c6ea00ea 100644 --- a/binutils-2.25/include/elf/bfin.h +++ b/binutils-2.25/include/elf/bfin.h @@ -1,5 +1,5 @@ /* Blackfin ELF support for BFD. - Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2005-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/common.h b/binutils-2.25/include/elf/common.h index cd3bcdd2..e8ae3ac2 100644 --- a/binutils-2.25/include/elf/common.h +++ b/binutils-2.25/include/elf/common.h @@ -1,5 +1,5 @@ /* ELF support for BFD. - Copyright 1991-2013 Free Software Foundation, Inc. + Copyright (C) 1991-2014 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published in "UNIX System V Release 4, Programmers Guide: ANSI C and @@ -192,7 +192,7 @@ #define EM_MN10300 89 /* Matsushita MN10300 */ #define EM_MN10200 90 /* Matsushita MN10200 */ #define EM_PJ 91 /* picoJava */ -#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ +#define EM_OR1K 92 /* OpenRISC 1000 32-bit embedded processor */ #define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */ #define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ #define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor */ @@ -339,9 +339,6 @@ /* FR30 magic number - no EABI available. */ #define EM_CYGNUS_FR30 0x3330 -/* OpenRISC magic number. Written in the absense of an ABI. */ -#define EM_OPENRISC_OLD 0x3426 - /* DLX magic number. Written in the absense of an ABI. */ #define EM_DLX 0x5aa5 @@ -360,9 +357,6 @@ /* Ubicom IP2xxx; Written in the absense of an ABI. */ #define EM_IP2K_OLD 0x8217 -/* (Deprecated) Temporary number for the OpenRISC processor. */ -#define EM_OR32 0x8472 - /* Cygnus PowerPC ELF backend. Written in the absence of an ABI. */ #define EM_CYGNUS_POWERPC 0x9025 @@ -408,6 +402,9 @@ #define EM_ADAPTEVA_EPIPHANY 0x1223 /* Adapteva's Epiphany architecture. */ +/* Old constant that might be in use by some software. */ +#define EM_OPENRISC EM_OR1K + /* See the above comment before you add a new EM_* value here. */ /* Values for e_version. */ @@ -959,6 +956,7 @@ #define AT_BASE_PLATFORM 24 /* String identifying real platform, may differ from AT_PLATFORM. */ #define AT_RANDOM 25 /* Address of 16 random bytes. */ +#define AT_HWCAP2 26 /* Extension of AT_HWCAP. */ #define AT_EXECFN 31 /* Filename of executable. */ /* Pointer to the global system page used for system calls and other nice things. */ diff --git a/binutils-2.25/include/elf/cr16.h b/binutils-2.25/include/elf/cr16.h index 32784748..0da44f70 100644 --- a/binutils-2.25/include/elf/cr16.h +++ b/binutils-2.25/include/elf/cr16.h @@ -1,5 +1,5 @@ /* CR16 ELF support for BFD. - Copyright 2007, 2010 Free Software Foundation, Inc. + Copyright (C) 2007-2014 Free Software Foundation, Inc. Contributed by M R Swami Reddy. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/cr16c.h b/binutils-2.25/include/elf/cr16c.h index dbefb0ab..15a2d096 100644 --- a/binutils-2.25/include/elf/cr16c.h +++ b/binutils-2.25/include/elf/cr16c.h @@ -1,5 +1,5 @@ /* CR16C ELF support for BFD. - Copyright 2004, 2008, 2010 Free Software Foundation, Inc. + Copyright (C) 2004-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/cris.h b/binutils-2.25/include/elf/cris.h index 5889a90d..6331ca13 100644 --- a/binutils-2.25/include/elf/cris.h +++ b/binutils-2.25/include/elf/cris.h @@ -1,5 +1,5 @@ /* CRIS ELF support for BFD. - Copyright 2000, 2001, 2004, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. Contributed by Axis Communications AB, Lund, Sweden. Written by Hans-Peter Nilsson. diff --git a/binutils-2.25/include/elf/crx.h b/binutils-2.25/include/elf/crx.h index 38428f29..b201567f 100644 --- a/binutils-2.25/include/elf/crx.h +++ b/binutils-2.25/include/elf/crx.h @@ -1,5 +1,5 @@ /* CRX ELF support for BFD. - Copyright 2004, 2010 Free Software Foundation, Inc. + Copyright (C) 2004-2014 Free Software Foundation, Inc. Contributed by Tomer Levi, NSC, Israel. Originally written for GAS 2.12 by Tomer Levi, NSC, Israel. Updates, BFDizing, GNUifying and ELF support by Tomer Levi. diff --git a/binutils-2.25/include/elf/d10v.h b/binutils-2.25/include/elf/d10v.h index 5850b374..5ee1112b 100644 --- a/binutils-2.25/include/elf/d10v.h +++ b/binutils-2.25/include/elf/d10v.h @@ -1,5 +1,5 @@ /* d10v ELF support for BFD. - Copyright 1998, 2000, 2010 Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/d30v.h b/binutils-2.25/include/elf/d30v.h index 8174a40e..176bb6e0 100644 --- a/binutils-2.25/include/elf/d30v.h +++ b/binutils-2.25/include/elf/d30v.h @@ -1,5 +1,5 @@ /* d30v ELF support for BFD. - Copyright 1998, 2000, 2010 Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/dlx.h b/binutils-2.25/include/elf/dlx.h index 7d61633c..da72c4dc 100644 --- a/binutils-2.25/include/elf/dlx.h +++ b/binutils-2.25/include/elf/dlx.h @@ -1,5 +1,5 @@ /* DLX support for BFD. - Copyright 2002, 2010 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/dwarf.h b/binutils-2.25/include/elf/dwarf.h index c2e6a67e..f9bb461f 100644 --- a/binutils-2.25/include/elf/dwarf.h +++ b/binutils-2.25/include/elf/dwarf.h @@ -3,7 +3,7 @@ Written by Ron Guilmette (rfg@netcom.com) - Copyright 1992, 1993, 1995, 1999, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 1992-2014 Free Software Foundation, Inc. This file is part of both GCC and the BFD library. diff --git a/binutils-2.25/include/elf/epiphany.h b/binutils-2.25/include/elf/epiphany.h old mode 100755 new mode 100644 index bb2dcffe..38f973fb --- a/binutils-2.25/include/elf/epiphany.h +++ b/binutils-2.25/include/elf/epiphany.h @@ -1,5 +1,5 @@ /* Adapteva EPIPHANY ELF support for BFD. - Copyright (C) 2009, 2011 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/external.h b/binutils-2.25/include/elf/external.h index ef7724e9..63d83b94 100644 --- a/binutils-2.25/include/elf/external.h +++ b/binutils-2.25/include/elf/external.h @@ -1,6 +1,5 @@ /* ELF support for BFD. - Copyright 1991, 1992, 1993, 1995, 1997, 1998, 1999, 2001, 2003, 2005, - 2008, 2010 Free Software Foundation, Inc. + Copyright (C) 1991-2014 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published in "UNIX System V Release 4, Programmers Guide: ANSI C and diff --git a/binutils-2.25/include/elf/fr30.h b/binutils-2.25/include/elf/fr30.h index 918ac977..4107f399 100644 --- a/binutils-2.25/include/elf/fr30.h +++ b/binutils-2.25/include/elf/fr30.h @@ -1,5 +1,5 @@ /* FR30 ELF support for BFD. - Copyright 1998, 1999, 2000, 2010 Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/frv.h b/binutils-2.25/include/elf/frv.h index b79e51d0..89e95641 100644 --- a/binutils-2.25/include/elf/frv.h +++ b/binutils-2.25/include/elf/frv.h @@ -1,5 +1,5 @@ /* FRV ELF support for BFD. - Copyright (C) 2002, 2003, 2004, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/h8.h b/binutils-2.25/include/elf/h8.h index 2a3d905e..c9090431 100644 --- a/binutils-2.25/include/elf/h8.h +++ b/binutils-2.25/include/elf/h8.h @@ -1,5 +1,5 @@ /* H8300/h8500 ELF support for BFD. - Copyright 2001-2013 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/hppa.h b/binutils-2.25/include/elf/hppa.h index 8d3ea45f..fe7be067 100644 --- a/binutils-2.25/include/elf/hppa.h +++ b/binutils-2.25/include/elf/hppa.h @@ -1,6 +1,5 @@ /* HPPA ELF support for BFD. - Copyright 1993, 1994, 1995, 1998, 1999, 2000, 2005, 2006, 2008, 2010 - Free Software Foundation, Inc. + Copyright (C) 1993-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/i370.h b/binutils-2.25/include/elf/i370.h index 7b451ff9..88231dfd 100644 --- a/binutils-2.25/include/elf/i370.h +++ b/binutils-2.25/include/elf/i370.h @@ -1,5 +1,5 @@ /* i370 ELF support for BFD. - Copyright 2000, 2002, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/i386.h b/binutils-2.25/include/elf/i386.h index c4750925..b86ae04e 100644 --- a/binutils-2.25/include/elf/i386.h +++ b/binutils-2.25/include/elf/i386.h @@ -1,6 +1,5 @@ /* ix86 ELF support for BFD. - Copyright 1998, 1999, 2000, 2002, 2004, 2005, 2006, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/i860.h b/binutils-2.25/include/elf/i860.h index 834c7766..3d44ead8 100644 --- a/binutils-2.25/include/elf/i860.h +++ b/binutils-2.25/include/elf/i860.h @@ -1,5 +1,5 @@ /* i860 ELF support for BFD. - Copyright 2000, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. Contributed by Jason Eckhardt . diff --git a/binutils-2.25/include/elf/i960.h b/binutils-2.25/include/elf/i960.h index c319b322..7ec36d31 100644 --- a/binutils-2.25/include/elf/i960.h +++ b/binutils-2.25/include/elf/i960.h @@ -1,5 +1,5 @@ /* Intel 960 ELF support for BFD. - Copyright 1999, 2000, 2010 Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/ia64.h b/binutils-2.25/include/elf/ia64.h index 7f2453d0..e24a1386 100644 --- a/binutils-2.25/include/elf/ia64.h +++ b/binutils-2.25/include/elf/ia64.h @@ -1,6 +1,5 @@ /* IA-64 ELF support for BFD. - Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2008, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. Contributed by David Mosberger-Tang This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/internal.h b/binutils-2.25/include/elf/internal.h index 46150378..310c1d9e 100644 --- a/binutils-2.25/include/elf/internal.h +++ b/binutils-2.25/include/elf/internal.h @@ -1,6 +1,5 @@ /* ELF support for BFD. - Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002, - 2003, 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 1991-2014 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published in "UNIX System V Release 4, Programmers Guide: ANSI C and diff --git a/binutils-2.25/include/elf/ip2k.h b/binutils-2.25/include/elf/ip2k.h index 8b4f36ef..0e90aae9 100644 --- a/binutils-2.25/include/elf/ip2k.h +++ b/binutils-2.25/include/elf/ip2k.h @@ -1,5 +1,5 @@ /* IP2xxx ELF support for BFD. - Copyright (C) 2000, 2002, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/iq2000.h b/binutils-2.25/include/elf/iq2000.h index 0f8e6971..3bba7308 100644 --- a/binutils-2.25/include/elf/iq2000.h +++ b/binutils-2.25/include/elf/iq2000.h @@ -1,5 +1,5 @@ /* IQ2000 ELF support for BFD. - Copyright (C) 2002, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/lm32.h b/binutils-2.25/include/elf/lm32.h index 6ed34ec4..e007fc17 100644 --- a/binutils-2.25/include/elf/lm32.h +++ b/binutils-2.25/include/elf/lm32.h @@ -1,5 +1,5 @@ /* Lattice Mico32 ELF support for BFD. - Copyright 2008, 2010 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Contributed by Jon Beniston This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/m32c.h b/binutils-2.25/include/elf/m32c.h index 29b80a67..b0156225 100644 --- a/binutils-2.25/include/elf/m32c.h +++ b/binutils-2.25/include/elf/m32c.h @@ -1,5 +1,5 @@ /* M32C ELF support for BFD. - Copyright (C) 2004, 2010 Free Software Foundation, Inc. + Copyright (C) 2004-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/m32r.h b/binutils-2.25/include/elf/m32r.h index 7e06e3f3..cd52612c 100644 --- a/binutils-2.25/include/elf/m32r.h +++ b/binutils-2.25/include/elf/m32r.h @@ -1,6 +1,5 @@ /* M32R ELF support for BFD. - Copyright 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2008, 2010 - Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/m68hc11.h b/binutils-2.25/include/elf/m68hc11.h index 58d88208..06621bff 100644 --- a/binutils-2.25/include/elf/m68hc11.h +++ b/binutils-2.25/include/elf/m68hc11.h @@ -1,5 +1,5 @@ /* m68hc11 & m68hc12 ELF support for BFD. - Copyright 1999, 2000, 2001, 2002, 2010, 2012 Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/m68k.h b/binutils-2.25/include/elf/m68k.h index f6f37ccf..806878ea 100644 --- a/binutils-2.25/include/elf/m68k.h +++ b/binutils-2.25/include/elf/m68k.h @@ -1,6 +1,5 @@ /* MC68k ELF support for BFD. - Copyright 1998, 1999, 2000, 2002, 2005, 2006, 2007, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/mcore.h b/binutils-2.25/include/elf/mcore.h index 2745feeb..06244397 100644 --- a/binutils-2.25/include/elf/mcore.h +++ b/binutils-2.25/include/elf/mcore.h @@ -1,5 +1,5 @@ /* Motorola MCore support for BFD. - Copyright 1995, 1999, 2000, 2010 Free Software Foundation, Inc. + Copyright (C) 1995-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/mep.h b/binutils-2.25/include/elf/mep.h index b0e42adc..60c0e996 100644 --- a/binutils-2.25/include/elf/mep.h +++ b/binutils-2.25/include/elf/mep.h @@ -1,6 +1,5 @@ /* Toshiba MeP ELF support for BFD. - Copyright (C) 2001, 2004, 2005, 2007, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/metag.h b/binutils-2.25/include/elf/metag.h index 7ea699df..4fd25019 100644 --- a/binutils-2.25/include/elf/metag.h +++ b/binutils-2.25/include/elf/metag.h @@ -1,5 +1,5 @@ /* Meta ELF support for BFD. - Copyright (C) 2013 Free Software Foundation, Inc. + Copyright (C) 2013-2014 Free Software Foundation, Inc. Contributed by Imagination Technologies Ltd. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/microblaze.h b/binutils-2.25/include/elf/microblaze.h index c4d98213..effca20e 100644 --- a/binutils-2.25/include/elf/microblaze.h +++ b/binutils-2.25/include/elf/microblaze.h @@ -1,6 +1,6 @@ /* Xilinx MicroBlaze support for BFD. - Copyright 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/mips.h b/binutils-2.25/include/elf/mips.h index 2c5a9a62..2ed6acd2 100644 --- a/binutils-2.25/include/elf/mips.h +++ b/binutils-2.25/include/elf/mips.h @@ -1,7 +1,5 @@ /* MIPS ELF support for BFD. - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2008, 2009, 2010, 2013 - Free Software Foundation, Inc. + Copyright (C) 1993-2014 Free Software Foundation, Inc. By Ian Lance Taylor, Cygnus Support, , from information in the System V Application Binary Interface, MIPS @@ -89,7 +87,14 @@ START_RELOC_NUMBERS (elf_mips_reloc_type) RELOC_NUMBER (R_MIPS_TLS_TPREL_HI16, 49) RELOC_NUMBER (R_MIPS_TLS_TPREL_LO16, 50) RELOC_NUMBER (R_MIPS_GLOB_DAT, 51) - FAKE_RELOC (R_MIPS_max, 52) + /* Space to grow */ + RELOC_NUMBER (R_MIPS_PC21_S2, 60) + RELOC_NUMBER (R_MIPS_PC26_S2, 61) + RELOC_NUMBER (R_MIPS_PC18_S3, 62) + RELOC_NUMBER (R_MIPS_PC19_S2, 63) + RELOC_NUMBER (R_MIPS_PCHI16, 64) + RELOC_NUMBER (R_MIPS_PCLO16, 65) + FAKE_RELOC (R_MIPS_max, 66) /* These relocs are used for the mips16. */ FAKE_RELOC (R_MIPS16_min, 100) RELOC_NUMBER (R_MIPS16_26, 100) @@ -239,6 +244,12 @@ END_RELOC_NUMBERS (R_MIPS_maxext) /* -mips64r2 code. */ #define E_MIPS_ARCH_64R2 0x80000000 +/* -mips32r6 code. */ +#define E_MIPS_ARCH_32R6 0x90000000 + +/* -mips64r6 code. */ +#define E_MIPS_ARCH_64R6 0xa0000000 + /* The ABI of the file. Also see EF_MIPS_ABI2 above. */ #define EF_MIPS_ABI 0x0000F000 @@ -275,6 +286,7 @@ END_RELOC_NUMBERS (R_MIPS_maxext) #define E_MIPS_MACH_OCTEON 0x008b0000 #define E_MIPS_MACH_XLR 0x008c0000 #define E_MIPS_MACH_OCTEON2 0x008d0000 +#define E_MIPS_MACH_OCTEON3 0x008e0000 #define E_MIPS_MACH_5400 0x00910000 #define E_MIPS_MACH_5900 0x00920000 #define E_MIPS_MACH_5500 0x00980000 @@ -429,6 +441,8 @@ END_RELOC_NUMBERS (R_MIPS_maxext) /* Runtime procedure descriptor table exception information (ucode) ??? */ #define SHT_MIPS_PDR_EXCEPTION 0x70000029 +/* ABI related flags section. */ +#define SHT_MIPS_ABIFLAGS 0x7000002a /* A section of type SHT_MIPS_LIBLIST contains an array of the following structure. The sh_link field is the section index of the @@ -594,6 +608,9 @@ extern void bfd_mips_elf32_swap_reginfo_out /* .MIPS.options section. */ #define PT_MIPS_OPTIONS 0x70000002 + +/* Records ABI related flags. */ +#define PT_MIPS_ABIFLAGS 0x70000003 /* Processor specific dynamic array tags. */ @@ -1049,6 +1066,58 @@ typedef struct bfd_vma ri_gp_value; } Elf64_Internal_RegInfo; +/* ABI Flags structure version 0. */ + +typedef struct +{ + /* Version of flags structure. */ + unsigned char version[2]; + /* The level of the ISA: 1-5, 32, 64. */ + unsigned char isa_level[1]; + /* The revision of ISA: 0 for MIPS V and below, 1-n otherwise. */ + unsigned char isa_rev[1]; + /* The size of general purpose registers. */ + unsigned char gpr_size[1]; + /* The size of co-processor 1 registers. */ + unsigned char cpr1_size[1]; + /* The size of co-processor 2 registers. */ + unsigned char cpr2_size[1]; + /* The floating-point ABI. */ + unsigned char fp_abi[1]; + /* Processor-specific extension. */ + unsigned char isa_ext[4]; + /* Mask of ASEs used. */ + unsigned char ases[4]; + /* Mask of general flags. */ + unsigned char flags1[4]; + unsigned char flags2[4]; +} Elf_External_ABIFlags_v0; + +typedef struct +{ + /* Version of flags structure. */ + unsigned short version; + /* The level of the ISA: 1-5, 32, 64. */ + unsigned char isa_level; + /* The revision of ISA: 0 for MIPS V and below, 1-n otherwise. */ + unsigned char isa_rev; + /* The size of general purpose registers. */ + unsigned char gpr_size; + /* The size of co-processor 1 registers. */ + unsigned char cpr1_size; + /* The size of co-processor 2 registers. */ + unsigned char cpr2_size; + /* The floating-point ABI. */ + unsigned char fp_abi; + /* Processor-specific extension. */ + unsigned long isa_ext; + /* Mask of ASEs used. */ + unsigned long ases; + /* Mask of general flags. */ + unsigned long flags1; + unsigned long flags2; +} Elf_Internal_ABIFlags_v0; + typedef struct { /* The hash value computed from the name of the corresponding @@ -1089,6 +1158,12 @@ extern void bfd_mips_elf64_swap_reginfo_in extern void bfd_mips_elf64_swap_reginfo_out (bfd *, const Elf64_Internal_RegInfo *, Elf64_External_RegInfo *); +/* MIPS ELF flags swapping routines. */ +extern void bfd_mips_elf_swap_abiflags_v0_in + (bfd *, const Elf_External_ABIFlags_v0 *, Elf_Internal_ABIFlags_v0 *); +extern void bfd_mips_elf_swap_abiflags_v0_out + (bfd *, const Elf_Internal_ABIFlags_v0 *, Elf_External_ABIFlags_v0 *); + /* Masks for the info work of an ODK_EXCEPTIONS descriptor. */ #define OEX_FPU_MIN 0x1f /* FPEs which must be enabled. */ #define OEX_FPU_MAX 0x1f00 /* FPEs which may be enabled. */ @@ -1126,6 +1201,56 @@ extern void bfd_mips_elf64_swap_reginfo_out /* Masks for the info word of an ODK_HWAND/ODK_HWOR descriptor. */ #define OHWA0_R4KEOP_CHECKED 0x00000001 #define OHWA0_R4KEOP_CLEAN 0x00000002 + +/* Values for the xxx_size bytes of an ABI flags structure. */ + +#define AFL_REG_NONE 0x00 /* No registers. */ +#define AFL_REG_32 0x01 /* 32-bit registers. */ +#define AFL_REG_64 0x02 /* 64-bit registers. */ +#define AFL_REG_128 0x03 /* 128-bit registers. */ + +/* Masks for the ases word of an ABI flags structure. */ + +#define AFL_ASE_DSP 0x00000001 /* DSP ASE. */ +#define AFL_ASE_DSPR2 0x00000002 /* DSP R2 ASE. */ +#define AFL_ASE_EVA 0x00000004 /* Enhanced VA Scheme. */ +#define AFL_ASE_MCU 0x00000008 /* MCU (MicroController) ASE. */ +#define AFL_ASE_MDMX 0x00000010 /* MDMX ASE. */ +#define AFL_ASE_MIPS3D 0x00000020 /* MIPS-3D ASE. */ +#define AFL_ASE_MT 0x00000040 /* MT ASE. */ +#define AFL_ASE_SMARTMIPS 0x00000080 /* SmartMIPS ASE. */ +#define AFL_ASE_VIRT 0x00000100 /* VZ ASE. */ +#define AFL_ASE_MSA 0x00000200 /* MSA ASE. */ +#define AFL_ASE_MIPS16 0x00000400 /* MIPS16 ASE. */ +#define AFL_ASE_MICROMIPS 0x00000800 /* MICROMIPS ASE. */ +#define AFL_ASE_XPA 0x00001000 /* XPA ASE. */ +#define AFL_ASE_MASK 0x00001fff /* All ASEs. */ + +/* Values for the isa_ext word of an ABI flags structure. */ + +#define AFL_EXT_XLR 1 /* RMI Xlr instruction. */ +#define AFL_EXT_OCTEON2 2 /* Cavium Networks Octeon2. */ +#define AFL_EXT_OCTEONP 3 /* Cavium Networks OcteonP. */ +#define AFL_EXT_LOONGSON_3A 4 /* Loongson 3A. */ +#define AFL_EXT_OCTEON 5 /* Cavium Networks Octeon. */ +#define AFL_EXT_5900 6 /* MIPS R5900 instruction. */ +#define AFL_EXT_4650 7 /* MIPS R4650 instruction. */ +#define AFL_EXT_4010 8 /* LSI R4010 instruction. */ +#define AFL_EXT_4100 9 /* NEC VR4100 instruction. */ +#define AFL_EXT_3900 10 /* Toshiba R3900 instruction. */ +#define AFL_EXT_10000 11 /* MIPS R10000 instruction. */ +#define AFL_EXT_SB1 12 /* Broadcom SB-1 instruction. */ +#define AFL_EXT_4111 13 /* NEC VR4111/VR4181 instruction. */ +#define AFL_EXT_4120 14 /* NEC VR4120 instruction. */ +#define AFL_EXT_5400 15 /* NEC VR5400 instruction. */ +#define AFL_EXT_5500 16 /* NEC VR5500 instruction. */ +#define AFL_EXT_LOONGSON_2E 17 /* ST Microelectronics Loongson 2E. */ +#define AFL_EXT_LOONGSON_2F 18 /* ST Microelectronics Loongson 2F. */ + +/* Masks for the flags1 word of an ABI flags structure. */ +#define AFL_FLAGS1_ODDSPREG 1 /* Uses odd single-precision registers. */ + +extern unsigned int bfd_mips_isa_ext (bfd *); /* Object attribute tags. */ @@ -1158,7 +1283,16 @@ enum Val_GNU_MIPS_ABI_FP_SOFT = 3, /* Using -mips32r2 -mfp64. */ - Val_GNU_MIPS_ABI_FP_64 = 4, + Val_GNU_MIPS_ABI_FP_OLD_64 = 4, + + /* Using -mfpxx */ + Val_GNU_MIPS_ABI_FP_XX = 5, + + /* Using -mips32r2 -mfp64. */ + Val_GNU_MIPS_ABI_FP_64 = 6, + + /* Using -mips32r2 -mfp64 -mno-odd-spreg. */ + Val_GNU_MIPS_ABI_FP_64A = 7, /* Values defined for Tag_GNU_MIPS_ABI_MSA. */ diff --git a/binutils-2.25/include/elf/mmix.h b/binutils-2.25/include/elf/mmix.h index 6d15f7ae..cab9f22b 100644 --- a/binutils-2.25/include/elf/mmix.h +++ b/binutils-2.25/include/elf/mmix.h @@ -1,5 +1,5 @@ /* MMIX support for BFD. - Copyright 2001, 2002, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/mn10200.h b/binutils-2.25/include/elf/mn10200.h index 24972b68..e4f6dcfd 100644 --- a/binutils-2.25/include/elf/mn10200.h +++ b/binutils-2.25/include/elf/mn10200.h @@ -1,5 +1,5 @@ /* MN10200 ELF support for BFD. - Copyright 1998, 2000, 2010 Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/mn10300.h b/binutils-2.25/include/elf/mn10300.h index 529b3897..b06683b5 100644 --- a/binutils-2.25/include/elf/mn10300.h +++ b/binutils-2.25/include/elf/mn10300.h @@ -1,5 +1,5 @@ /* MN10300 ELF support for BFD. - Copyright 1998, 1999, 2000, 2003, 2007 Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/moxie.h b/binutils-2.25/include/elf/moxie.h index 0b3eb381..4a7d9f19 100644 --- a/binutils-2.25/include/elf/moxie.h +++ b/binutils-2.25/include/elf/moxie.h @@ -1,5 +1,5 @@ /* moxie ELF support for BFD. - Copyright 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/msp430.h b/binutils-2.25/include/elf/msp430.h index ac8e28c3..a09db474 100644 --- a/binutils-2.25/include/elf/msp430.h +++ b/binutils-2.25/include/elf/msp430.h @@ -1,5 +1,5 @@ /* MSP430 ELF support for BFD. - Copyright (C) 2002-2013 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. Contributed by Dmitry Diky This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/mt.h b/binutils-2.25/include/elf/mt.h index 2bc09f42..36b74b12 100644 --- a/binutils-2.25/include/elf/mt.h +++ b/binutils-2.25/include/elf/mt.h @@ -1,5 +1,5 @@ /* MS1 ELF support for BFD. - Copyright (C) 2000, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/nds32.h b/binutils-2.25/include/elf/nds32.h new file mode 100644 index 00000000..71aa4aa4 --- /dev/null +++ b/binutils-2.25/include/elf/nds32.h @@ -0,0 +1,299 @@ +/* NDS32 ELF support for BFD. + Copyright (C) 2012-2014 Free Software Foundation, Inc. + Contributed by Andes Technology Corporation. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ + +#ifndef _ELF_NDS32_H +#define _ELF_NDS32_H + +#include "elf/reloc-macros.h" + +/* Relocations. */ +START_RELOC_NUMBERS (elf_nds32_reloc_type) + RELOC_NUMBER (R_NDS32_NONE, 0) + /* REL relocations. */ + RELOC_NUMBER (R_NDS32_16, 1) + RELOC_NUMBER (R_NDS32_32, 2) + RELOC_NUMBER (R_NDS32_20, 3) + RELOC_NUMBER (R_NDS32_9_PCREL, 4) + RELOC_NUMBER (R_NDS32_15_PCREL, 5) + RELOC_NUMBER (R_NDS32_17_PCREL, 6) + RELOC_NUMBER (R_NDS32_25_PCREL, 7) + RELOC_NUMBER (R_NDS32_HI20, 8) + RELOC_NUMBER (R_NDS32_LO12S3, 9) + RELOC_NUMBER (R_NDS32_LO12S2, 10) + RELOC_NUMBER (R_NDS32_LO12S1, 11) + RELOC_NUMBER (R_NDS32_LO12S0, 12) + RELOC_NUMBER (R_NDS32_SDA15S3, 13) + RELOC_NUMBER (R_NDS32_SDA15S2, 14) + RELOC_NUMBER (R_NDS32_SDA15S1, 15) + RELOC_NUMBER (R_NDS32_SDA15S0, 16) + RELOC_NUMBER (R_NDS32_GNU_VTINHERIT, 17) + RELOC_NUMBER (R_NDS32_GNU_VTENTRY, 18) + + /* RELA relocations. */ + RELOC_NUMBER (R_NDS32_16_RELA, 19) + RELOC_NUMBER (R_NDS32_32_RELA, 20) + RELOC_NUMBER (R_NDS32_20_RELA, 21) + RELOC_NUMBER (R_NDS32_9_PCREL_RELA, 22) + RELOC_NUMBER (R_NDS32_15_PCREL_RELA, 23) + RELOC_NUMBER (R_NDS32_17_PCREL_RELA, 24) + RELOC_NUMBER (R_NDS32_25_PCREL_RELA, 25) + RELOC_NUMBER (R_NDS32_HI20_RELA, 26) + RELOC_NUMBER (R_NDS32_LO12S3_RELA, 27) + RELOC_NUMBER (R_NDS32_LO12S2_RELA, 28) + RELOC_NUMBER (R_NDS32_LO12S1_RELA, 29) + RELOC_NUMBER (R_NDS32_LO12S0_RELA, 30) + RELOC_NUMBER (R_NDS32_SDA15S3_RELA, 31) + RELOC_NUMBER (R_NDS32_SDA15S2_RELA, 32) + RELOC_NUMBER (R_NDS32_SDA15S1_RELA, 33) + RELOC_NUMBER (R_NDS32_SDA15S0_RELA, 34) + RELOC_NUMBER (R_NDS32_RELA_GNU_VTINHERIT, 35) + RELOC_NUMBER (R_NDS32_RELA_GNU_VTENTRY, 36) + + RELOC_NUMBER (R_NDS32_GOT20, 37) + RELOC_NUMBER (R_NDS32_25_PLTREL, 38) + RELOC_NUMBER (R_NDS32_COPY, 39) + RELOC_NUMBER (R_NDS32_GLOB_DAT, 40) + RELOC_NUMBER (R_NDS32_JMP_SLOT, 41) + RELOC_NUMBER (R_NDS32_RELATIVE, 42) + RELOC_NUMBER (R_NDS32_GOTOFF, 43) + RELOC_NUMBER (R_NDS32_GOTPC20, 44) + RELOC_NUMBER (R_NDS32_GOT_HI20, 45) + RELOC_NUMBER (R_NDS32_GOT_LO12, 46) + RELOC_NUMBER (R_NDS32_GOTPC_HI20, 47) + RELOC_NUMBER (R_NDS32_GOTPC_LO12, 48) + RELOC_NUMBER (R_NDS32_GOTOFF_HI20, 49) + RELOC_NUMBER (R_NDS32_GOTOFF_LO12, 50) + RELOC_NUMBER (R_NDS32_INSN16, 51) + RELOC_NUMBER (R_NDS32_LABEL, 52) + RELOC_NUMBER (R_NDS32_LONGCALL1, 53) + RELOC_NUMBER (R_NDS32_LONGCALL2, 54) + RELOC_NUMBER (R_NDS32_LONGCALL3, 55) + RELOC_NUMBER (R_NDS32_LONGJUMP1, 56) + RELOC_NUMBER (R_NDS32_LONGJUMP2, 57) + RELOC_NUMBER (R_NDS32_LONGJUMP3, 58) + RELOC_NUMBER (R_NDS32_LOADSTORE, 59) + RELOC_NUMBER (R_NDS32_9_FIXED_RELA, 60) + RELOC_NUMBER (R_NDS32_15_FIXED_RELA, 61) + RELOC_NUMBER (R_NDS32_17_FIXED_RELA, 62) + RELOC_NUMBER (R_NDS32_25_FIXED_RELA, 63) + RELOC_NUMBER (R_NDS32_PLTREL_HI20, 64) /* This is obsoleted. */ + RELOC_NUMBER (R_NDS32_PLTREL_LO12, 65) /* This is obsoleted. */ + RELOC_NUMBER (R_NDS32_PLT_GOTREL_HI20, 66) + RELOC_NUMBER (R_NDS32_PLT_GOTREL_LO12, 67) + RELOC_NUMBER (R_NDS32_SDA12S2_DP_RELA, 68) + RELOC_NUMBER (R_NDS32_SDA12S2_SP_RELA, 69) + RELOC_NUMBER (R_NDS32_LO12S2_DP_RELA, 70) + RELOC_NUMBER (R_NDS32_LO12S2_SP_RELA, 71) + RELOC_NUMBER (R_NDS32_LO12S0_ORI_RELA, 72) + RELOC_NUMBER (R_NDS32_SDA16S3_RELA, 73) + RELOC_NUMBER (R_NDS32_SDA17S2_RELA, 74) + RELOC_NUMBER (R_NDS32_SDA18S1_RELA, 75) + RELOC_NUMBER (R_NDS32_SDA19S0_RELA, 76) + RELOC_NUMBER (R_NDS32_DWARF2_OP1_RELA, 77) + RELOC_NUMBER (R_NDS32_DWARF2_OP2_RELA, 78) + RELOC_NUMBER (R_NDS32_DWARF2_LEB_RELA, 79) + RELOC_NUMBER (R_NDS32_UPDATE_TA_RELA, 80) /* This is obsoleted. */ + RELOC_NUMBER (R_NDS32_9_PLTREL, 81) + RELOC_NUMBER (R_NDS32_PLT_GOTREL_LO20, 82) + RELOC_NUMBER (R_NDS32_PLT_GOTREL_LO15, 83) + RELOC_NUMBER (R_NDS32_PLT_GOTREL_LO19, 84) + RELOC_NUMBER (R_NDS32_GOT_LO15, 85) + RELOC_NUMBER (R_NDS32_GOT_LO19, 86) + RELOC_NUMBER (R_NDS32_GOTOFF_LO15, 87) + RELOC_NUMBER (R_NDS32_GOTOFF_LO19, 88) + RELOC_NUMBER (R_NDS32_GOT15S2_RELA, 89) + RELOC_NUMBER (R_NDS32_GOT17S2_RELA, 90) + RELOC_NUMBER (R_NDS32_5_RELA, 91) + RELOC_NUMBER (R_NDS32_10_UPCREL_RELA, 92) /* This is obsoleted. */ + RELOC_NUMBER (R_NDS32_SDA_FP7U2_RELA, 93) + RELOC_NUMBER (R_NDS32_WORD_9_PCREL_RELA, 94) + RELOC_NUMBER (R_NDS32_25_ABS_RELA, 95) + RELOC_NUMBER (R_NDS32_17IFC_PCREL_RELA, 96) + RELOC_NUMBER (R_NDS32_10IFCU_PCREL_RELA, 97) + RELOC_NUMBER (R_NDS32_TLS_LE_HI20, 98) + RELOC_NUMBER (R_NDS32_TLS_LE_LO12, 99) + RELOC_NUMBER (R_NDS32_TLS_IE_HI20, 100) + RELOC_NUMBER (R_NDS32_TLS_IE_LO12S2, 101) + RELOC_NUMBER (R_NDS32_TLS_TPOFF, 102) + RELOC_NUMBER (R_NDS32_TLS_LE_20, 103) + RELOC_NUMBER (R_NDS32_TLS_LE_15S0, 104) + RELOC_NUMBER (R_NDS32_TLS_LE_15S1, 105) + RELOC_NUMBER (R_NDS32_TLS_LE_15S2, 106) + RELOC_NUMBER (R_NDS32_LONGCALL4, 107) + RELOC_NUMBER (R_NDS32_LONGCALL5, 108) + RELOC_NUMBER (R_NDS32_LONGCALL6, 109) + RELOC_NUMBER (R_NDS32_LONGJUMP4, 110) + RELOC_NUMBER (R_NDS32_LONGJUMP5, 111) + RELOC_NUMBER (R_NDS32_LONGJUMP6, 112) + RELOC_NUMBER (R_NDS32_LONGJUMP7, 113) + + RELOC_NUMBER (R_NDS32_RELAX_ENTRY, 192) + RELOC_NUMBER (R_NDS32_GOT_SUFF, 193) + RELOC_NUMBER (R_NDS32_GOTOFF_SUFF, 194) + RELOC_NUMBER (R_NDS32_PLT_GOT_SUFF, 195) + RELOC_NUMBER (R_NDS32_MULCALL_SUFF, 196) /* This is obsoleted. */ + RELOC_NUMBER (R_NDS32_PTR, 197) + RELOC_NUMBER (R_NDS32_PTR_COUNT, 198) + RELOC_NUMBER (R_NDS32_PTR_RESOLVED, 199) + RELOC_NUMBER (R_NDS32_PLTBLOCK, 200) /* This is obsoleted. */ + RELOC_NUMBER (R_NDS32_RELAX_REGION_BEGIN, 201) + RELOC_NUMBER (R_NDS32_RELAX_REGION_END, 202) + RELOC_NUMBER (R_NDS32_MINUEND, 203) + RELOC_NUMBER (R_NDS32_SUBTRAHEND, 204) + RELOC_NUMBER (R_NDS32_DIFF8, 205) + RELOC_NUMBER (R_NDS32_DIFF16, 206) + RELOC_NUMBER (R_NDS32_DIFF32, 207) + RELOC_NUMBER (R_NDS32_DIFF_ULEB128, 208) + RELOC_NUMBER (R_NDS32_DATA, 209) + RELOC_NUMBER (R_NDS32_TRAN, 210) + RELOC_NUMBER (R_NDS32_TLS_LE_ADD, 211) + RELOC_NUMBER (R_NDS32_TLS_LE_LS, 212) + RELOC_NUMBER (R_NDS32_EMPTY, 213) + +END_RELOC_NUMBERS (R_NDS32_max) + +/* Processor specific section indices. These sections do not actually + exist. Symbols with a st_shndx field corresponding to one of these + values have a special meaning. */ + +/* Processor specific flags for the ELF header e_flags field. + + 31 28 27 8 7 4 3 0 + --------------------------------------------- + | ARCH | CONFUGURAION FIELD | ABI | ELF_VER | + --------------------------------------------- */ + +/* Architechure definition. */ + +/* 4-bit (b31-b28) nds32 architecture field. + We can have up to 15 architectures; 0000 is for unknown. */ +#define EF_NDS_ARCH 0xF0000000 +#define EF_NDS_ARCH_SHIFT 28 +/* There could be more architectures. For now, only n1 and n1h. */ +#define E_NDS_ARCH_STAR_RESERVED 0x00000000 +#define E_NDS_ARCH_STAR_V1_0 0x10000000 +#define E_NDS_ARCH_STAR_V2_0 0x20000000 +#define E_NDS_ARCH_STAR_V3_0 0x30000000 +#define E_NDS_ARCH_STAR_V3_M 0x40000000 +#define E_NDS_ARCH_STAR_V0_9 0x90000000 /* Obsoleted. */ +/* n1 code. */ +#define E_N1_ARCH E_NDS_ARCH_STAR_V0_9 +/* n1h code. */ +#define E_N1H_ARCH E_NDS_ARCH_STAR_V1_0 + + +/* Configuration field definitioans. */ +#define EF_NDS_INST 0x0FFFFF00 + +/* E_NDS_ARCH_STAR_V1_0 configuration fields. + + E_NDS_ARCH_STAR_V2_0 configuration fields. + These are discarded in v2. + * E_NDS32_HAS_MFUSR_PC_INST 0x00000100 + * E_NDS32_HAS_DIV_INST 0x00002000 + * E_NDS32_HAS_NO_MAC_INST 0x00100000 + These are added in v2. + * E_NDS32_HAS_DIV_DX_INST 0x00002000 + * E_NDS32_HAS_MAC_DX_INST 0x00100000 */ + +/* MFUSR rt, PC and correct ISYNC, MSYNC instructions. + Old N1213HC has no such instructions. */ +#define E_NDS32_HAS_MFUSR_PC_INST 0x00000100 /* Reclaimed. */ +#define E_NDS32_HAS_EX9_INST 0x00000100 /* v3, ELF 1.4. */ +/* C/C++ performance extension instructions. */ +#define E_NDS32_HAS_EXT_INST 0x00000200 +/* Performance extension set II instructions. */ +#define E_NDS32_HAS_EXT2_INST 0x00000400 +/* Single precision Floating point processor instructions. */ +#define E_NDS32_HAS_FPU_INST 0x00000800 +/* Audio instructions with 32-bit audio dx.lo register. */ +#define E_NDS32_HAS_AUDIO_INST 0x00001000 +/* DIV instructions. */ +#define E_NDS32_HAS_DIV_INST 0x00002000 /* Reclaimed. */ +/* DIV instructions using d0/d1. */ +#define E_NDS32_HAS_DIV_DX_INST 0x00002000 /* v2. */ +/* 16-bit instructions. */ +#define E_NDS32_HAS_16BIT_INST 0x00004000 /* Reclaimed. */ +#define E_NDS32_HAS_IFC_INST 0x00004000 /* v3, ELF 1.4. */ +/* String operation instructions. */ +#define E_NDS32_HAS_STRING_INST 0x00008000 +/* Reduced register file. */ +#define E_NDS32_HAS_REDUCED_REGS 0x00010000 +/* Video instructions. */ +#define E_NDS32_HAS_VIDEO_INST 0x00020000 /* Reclaimed. */ +#define E_NDS32_HAS_SATURATION_INST 0x00020000 /* v3, ELF 1.4. */ +/* Encription instructions. */ +#define E_NDS32_HAS_ENCRIPT_INST 0x00040000 +/* Doulbe Precision Floating point processor instructions. */ +#define E_NDS32_HAS_FPU_DP_INST 0x00080000 +/* No MAC instruction used. */ +#define E_NDS32_HAS_NO_MAC_INST 0x00100000 /* Reclaimed when V2/V3. */ +/* MAC instruction using d0/d1. */ +#define E_NDS32_HAS_MAC_DX_INST 0x00100000 /* v2. */ +/* L2 cache instruction. */ +#define E_NDS32_HAS_L2C_INST 0x00200000 +/* FPU registers configuration when FPU SP/DP presents; 0x00c00000. */ +#define E_NDS32_FPU_REG_CONF_SHIFT 22 +#define E_NDS32_FPU_REG_CONF (0x3 << E_NDS32_FPU_REG_CONF_SHIFT) +#define E_NDS32_FPU_REG_8SP_4DP 0x0 +#define E_NDS32_FPU_REG_16SP_8DP 0x1 +#define E_NDS32_FPU_REG_32SP_16DP 0x2 +#define E_NDS32_FPU_REG_32SP_32DP 0x3 +/* FPU MAC instruction used. */ +#define E_NDS32_HAS_FPU_MAC_INST 0x01000000 +/* <<>>. */ +#define E_NDS32_NULL 0x02000000 +/* PIC enabled. */ +#define E_NDS32_HAS_PIC 0x04000000 +/* Use custom section. */ +#define E_NDS32_HAS_CUSTOM_SEC 0x08000000 + +/* 4-bit for ABI signature, allow up to 16 ABIs + 0: for OLD ABI V0, phase out + 1: for V1 , starting with V0 toolchain + 2: for V2 + 3: for V2FP (fs0, fs1 as function parameter) + 4: for AABI */ +/* Only old N1213HC use V0. + New ABI is used due to return register is changed to r0 from r5. */ +#define EF_NDS_ABI 0x000000F0 +#define EF_NDS_ABI_SHIFT 4 +#define E_NDS_ABI_V0 0x00000000 +#define E_NDS_ABI_V1 0x00000010 +#define E_NDS_ABI_V2 0x00000020 +#define E_NDS_ABI_V2FP 0x00000030 +#define E_NDS_ABI_AABI 0x00000040 +#define E_NDS_ABI_V2FP_PLUS 0x00000050 + +/* This flag signifies the version of Andes ELF. + Some more information may exist somewhere which is TBD. */ +#define EF_NDS32_ELF_VERSION 0x0000000F +#define EF_NDS32_ELF_VERSION_SHIFT 0 + +/* Andes ELF Version 1.3 and before. */ +#define E_NDS32_ELF_VER_1_2 0x0 +/* Andes ELF Version 1.31. */ +#define E_NDS32_ELF_VER_1_3 0x1 +/* Andes ELF Version 1.4. Change the way we fix .debug_* and .gcc_except_table. + Change three bit for EX9, IFC and SAT. */ +#define E_NDS32_ELF_VER_1_4 0x2 + +#endif diff --git a/binutils-2.25/include/elf/nios2.h b/binutils-2.25/include/elf/nios2.h index ff5947bf..7571e464 100644 --- a/binutils-2.25/include/elf/nios2.h +++ b/binutils-2.25/include/elf/nios2.h @@ -1,5 +1,5 @@ /* Altera Nios II ELF support for BFD. - Copyright (C) 2012, 2013 Free Software Foundation, Inc. + Copyright (C) 2012-2014 Free Software Foundation, Inc. Contributed by Nigel Gray (ngray@altera.com). Contributed by Mentor Graphics, Inc. @@ -75,7 +75,12 @@ START_RELOC_NUMBERS (elf_nios2_reloc_type) RELOC_NUMBER (R_NIOS2_JUMP_SLOT, 38) RELOC_NUMBER (R_NIOS2_RELATIVE, 39) RELOC_NUMBER (R_NIOS2_GOTOFF, 40) - RELOC_NUMBER (R_NIOS2_ILLEGAL, 41) + RELOC_NUMBER (R_NIOS2_CALL26_NOAT, 41) + RELOC_NUMBER (R_NIOS2_GOT_LO, 42) + RELOC_NUMBER (R_NIOS2_GOT_HA, 43) + RELOC_NUMBER (R_NIOS2_CALL_LO, 44) + RELOC_NUMBER (R_NIOS2_CALL_HA, 45) + RELOC_NUMBER (R_NIOS2_ILLEGAL, 46) END_RELOC_NUMBERS (R_NIOS2_maxext) /* Processor-specific section flags. */ diff --git a/binutils-2.25/include/elf/openrisc.h b/binutils-2.25/include/elf/openrisc.h deleted file mode 100644 index 87969e8b..00000000 --- a/binutils-2.25/include/elf/openrisc.h +++ /dev/null @@ -1,39 +0,0 @@ -/* OpenRISC ELF support for BFD. - Copyright 2001, 2010 Free Software Foundation, Inc. - - This file is part of BFD, the Binary File Descriptor library. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _ELF_OPENRISC_H -#define _ELF_OPENRISC_H - -#include "elf/reloc-macros.h" - -/* Relocations. */ -START_RELOC_NUMBERS (elf_openrisc_reloc_type) - RELOC_NUMBER (R_OPENRISC_NONE, 0) - RELOC_NUMBER (R_OPENRISC_INSN_REL_26, 1) - RELOC_NUMBER (R_OPENRISC_INSN_ABS_26, 2) - RELOC_NUMBER (R_OPENRISC_LO_16_IN_INSN, 3) - RELOC_NUMBER (R_OPENRISC_HI_16_IN_INSN, 4) - RELOC_NUMBER (R_OPENRISC_8, 5) - RELOC_NUMBER (R_OPENRISC_16, 6) - RELOC_NUMBER (R_OPENRISC_32, 7) - RELOC_NUMBER (R_OPENRISC_GNU_VTINHERIT, 8) - RELOC_NUMBER (R_OPENRISC_GNU_VTENTRY, 9) -END_RELOC_NUMBERS (R_OPENRISC_max) - -#endif /* _ELF_OPENRISC_H */ diff --git a/binutils-2.25/include/elf/or1k.h b/binutils-2.25/include/elf/or1k.h new file mode 100644 index 00000000..d5e89a01 --- /dev/null +++ b/binutils-2.25/include/elf/or1k.h @@ -0,0 +1,65 @@ +/* Or1k ELF support for BFD. + Copyright 2001-2014 Free Software Foundation, Inc. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see */ + +#ifndef _ELF_OR1K_H +#define _ELF_OR1K_H + +#include "elf/reloc-macros.h" + +/* Relocations. */ +START_RELOC_NUMBERS (elf_or1k_reloc_type) + RELOC_NUMBER (R_OR1K_NONE, 0) + RELOC_NUMBER (R_OR1K_32, 1) + RELOC_NUMBER (R_OR1K_16, 2) + RELOC_NUMBER (R_OR1K_8, 3) + RELOC_NUMBER (R_OR1K_LO_16_IN_INSN, 4) + RELOC_NUMBER (R_OR1K_HI_16_IN_INSN, 5) + RELOC_NUMBER (R_OR1K_INSN_REL_26, 6) + RELOC_NUMBER (R_OR1K_GNU_VTENTRY, 7) + RELOC_NUMBER (R_OR1K_GNU_VTINHERIT, 8) + RELOC_NUMBER (R_OR1K_32_PCREL, 9) + RELOC_NUMBER (R_OR1K_16_PCREL, 10) + RELOC_NUMBER (R_OR1K_8_PCREL, 11) + RELOC_NUMBER (R_OR1K_GOTPC_HI16, 12) + RELOC_NUMBER (R_OR1K_GOTPC_LO16, 13) + RELOC_NUMBER (R_OR1K_GOT16, 14) + RELOC_NUMBER (R_OR1K_PLT26, 15) + RELOC_NUMBER (R_OR1K_GOTOFF_HI16, 16) + RELOC_NUMBER (R_OR1K_GOTOFF_LO16, 17) + RELOC_NUMBER (R_OR1K_COPY, 18) + RELOC_NUMBER (R_OR1K_GLOB_DAT, 19) + RELOC_NUMBER (R_OR1K_JMP_SLOT, 20) + RELOC_NUMBER (R_OR1K_RELATIVE, 21) + RELOC_NUMBER (R_OR1K_TLS_GD_HI16, 22) + RELOC_NUMBER (R_OR1K_TLS_GD_LO16, 23) + RELOC_NUMBER (R_OR1K_TLS_LDM_HI16, 24) + RELOC_NUMBER (R_OR1K_TLS_LDM_LO16, 25) + RELOC_NUMBER (R_OR1K_TLS_LDO_HI16, 26) + RELOC_NUMBER (R_OR1K_TLS_LDO_LO16, 27) + RELOC_NUMBER (R_OR1K_TLS_IE_HI16, 28) + RELOC_NUMBER (R_OR1K_TLS_IE_LO16, 29) + RELOC_NUMBER (R_OR1K_TLS_LE_HI16, 30) + RELOC_NUMBER (R_OR1K_TLS_LE_LO16, 31) + RELOC_NUMBER (R_OR1K_TLS_TPOFF, 32) + RELOC_NUMBER (R_OR1K_TLS_DTPOFF, 33) + RELOC_NUMBER (R_OR1K_TLS_DTPMOD, 34) +END_RELOC_NUMBERS (R_OR1K_max) + +#define EF_OR1K_NODELAY (1UL << 0) + +#endif /* _ELF_OR1K_H */ diff --git a/binutils-2.25/include/elf/or32.h b/binutils-2.25/include/elf/or32.h deleted file mode 100644 index 9f1c2f3f..00000000 --- a/binutils-2.25/include/elf/or32.h +++ /dev/null @@ -1,56 +0,0 @@ -/* OR1K ELF support for BFD. Derived from ppc.h. - Copyright (C) 2002, 2010 Free Software Foundation, Inc. - Contributed by Ivan Guzvinec - - This file is part of BFD, the Binary File Descriptor library. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, - MA 02110-1301, USA. */ - -#ifndef _ELF_OR1K_H -#define _ELF_OR1K_H - -#include "elf/reloc-macros.h" - -/* Relocations. */ -START_RELOC_NUMBERS (elf_or32_reloc_type) - RELOC_NUMBER (R_OR32_NONE, 0) - RELOC_NUMBER (R_OR32_32, 1) - RELOC_NUMBER (R_OR32_16, 2) - RELOC_NUMBER (R_OR32_8, 3) - RELOC_NUMBER (R_OR32_CONST, 4) - RELOC_NUMBER (R_OR32_CONSTH, 5) - RELOC_NUMBER (R_OR32_JUMPTARG, 6) - RELOC_NUMBER (R_OR32_GNU_VTENTRY, 7) - RELOC_NUMBER (R_OR32_GNU_VTINHERIT, 8) -END_RELOC_NUMBERS (R_OR32_max) - -/* Four bit OR32 machine type field. */ -#define EF_OR32_MACH 0x0000000f - -/* Various CPU types. */ -#define E_OR32_MACH_BASE 0x00000000 -#define E_OR32_MACH_UNUSED1 0x00000001 -#define E_OR32_MACH_UNUSED2 0x00000002 -#define E_OR32_MACH_UNUSED4 0x00000003 - -/* Processor specific section headers, sh_type field */ -#define SHT_ORDERED SHT_HIPROC /* Link editor is to sort the \ - entries in this section \ - based on the address \ - specified in the associated \ - symbol table entry. */ - -#endif /* _ELF_OR1K_H */ diff --git a/binutils-2.25/include/elf/pj.h b/binutils-2.25/include/elf/pj.h index afd19e8d..f99eff32 100644 --- a/binutils-2.25/include/elf/pj.h +++ b/binutils-2.25/include/elf/pj.h @@ -1,5 +1,5 @@ /* picoJava ELF support for BFD. - Copyright 1999, 2000, 2010 Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/ppc.h b/binutils-2.25/include/elf/ppc.h index f80a1e8a..73b12938 100644 --- a/binutils-2.25/include/elf/ppc.h +++ b/binutils-2.25/include/elf/ppc.h @@ -1,6 +1,5 @@ /* PPC ELF support for BFD. - Copyright 1995, 1996, 1998, 2000, 2001, 2002, 2003, 2005, 2007, 2008, - 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1995-2014 Free Software Foundation, Inc. By Michael Meissner, Cygnus Support, , from information in the System V Application Binary Interface, @@ -176,7 +175,8 @@ END_RELOC_NUMBERS (R_PPC_max) #define DT_PPC_GOT (DT_LOPROC) /* Specify that tls descriptors should be optimized. */ -#define DT_PPC_TLSOPT (DT_LOPROC + 1) +#define DT_PPC_OPT (DT_LOPROC + 1) +#define PPC_OPT_TLS 1 /* Processor specific flags for the ELF header e_flags field. */ diff --git a/binutils-2.25/include/elf/ppc64.h b/binutils-2.25/include/elf/ppc64.h index f1c80f18..013b52c7 100644 --- a/binutils-2.25/include/elf/ppc64.h +++ b/binutils-2.25/include/elf/ppc64.h @@ -1,5 +1,5 @@ /* PPC64 ELF support for BFD. - Copyright 2003, 2005, 2009, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2003-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -141,6 +141,18 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) RELOC_NUMBER (R_PPC64_TLSLD, 108) RELOC_NUMBER (R_PPC64_TOCSAVE, 109) +/* Added when HA and HI relocs were changed to report overflows. */ + RELOC_NUMBER (R_PPC64_ADDR16_HIGH, 110) + RELOC_NUMBER (R_PPC64_ADDR16_HIGHA, 111) + RELOC_NUMBER (R_PPC64_TPREL16_HIGH, 112) + RELOC_NUMBER (R_PPC64_TPREL16_HIGHA, 113) + RELOC_NUMBER (R_PPC64_DTPREL16_HIGH, 114) + RELOC_NUMBER (R_PPC64_DTPREL16_HIGHA, 115) + +/* Added for ELFv2. */ + RELOC_NUMBER (R_PPC64_REL24_NOTOC, 116) + RELOC_NUMBER (R_PPC64_ADDR64_LOCAL, 117) + #ifndef RELOC_MACROS_GEN_FUNC /* Fake relocation only used internally by ld. */ RELOC_NUMBER (R_PPC64_LO_DS_OPT, 128) @@ -161,8 +173,63 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) END_RELOC_NUMBERS (R_PPC64_max) -#define IS_PPC64_TLS_RELOC(R) \ - ((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) +#define IS_PPC64_TLS_RELOC(R) \ + (((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) \ + || ((R) >= R_PPC64_TPREL16_HIGH && (R) <= R_PPC64_DTPREL16_HIGHA)) + + +/* e_flags bits specifying ABI. + 1 for original function descriptor using ABI, + 2 for revised ABI without function descriptors, + 0 for unspecified or not using any features affected by the differences. */ +#define EF_PPC64_ABI 3 + +/* The ELFv2 ABI uses three bits in the symbol st_other field of a + function definition to specify the number of instructions between a + function's global entry point and local entry point. + The global entry point is used when it is necessary to set up the + toc pointer (r2) for the function. Callers must enter the global + entry point with r12 set to the global entry point address. On + return from the function, r2 may have a different value to that + which it had on entry. + The local entry point is used when r2 is known to already be valid + for the function. There is no requirement on r12 when using the + local entry point, and on return r2 will contain the same value as + at entry. + A value of zero in these bits means that the function has a single + entry point with no requirement on r12 or r2, and that on return r2 + will contain the same value as at entry. + Values of one and seven are reserved. */ +#define STO_PPC64_LOCAL_BIT 5 +#define STO_PPC64_LOCAL_MASK (7 << STO_PPC64_LOCAL_BIT) + +// 3 bit other field to bytes. +static inline unsigned int +ppc64_decode_local_entry(unsigned int other) +{ + return ((1 << other) >> 2) << 2; +} + +// bytes to field value. +static inline unsigned int +ppc64_encode_local_entry(unsigned int val) +{ + return (val >= 4 * 4 + ? (val >= 8 * 4 + ? (val >= 16 * 4 ? 6 : 5) + : 4) + : (val >= 2 * 4 + ? 3 + : (val >= 1 * 4 ? 2 : 0))); +} + +/* st_other to number of bytes. */ +#define PPC64_LOCAL_ENTRY_OFFSET(other) \ + ppc64_decode_local_entry (((other) & STO_PPC64_LOCAL_MASK) \ + >> STO_PPC64_LOCAL_BIT) +/* number of bytes to st_other. */ +#define PPC64_SET_LOCAL_ENTRY_OFFSET(val) \ + ppc64_encode_local_entry (val) << STO_PPC64_LOCAL_BIT /* Specify the start of the .glink section. */ #define DT_PPC64_GLINK DT_LOPROC @@ -171,7 +238,9 @@ END_RELOC_NUMBERS (R_PPC64_max) #define DT_PPC64_OPD (DT_LOPROC + 1) #define DT_PPC64_OPDSZ (DT_LOPROC + 2) -/* Specify that tls descriptors should be optimized. */ -#define DT_PPC64_TLSOPT (DT_LOPROC + 3) +/* Specify whether various optimisations are possible. */ +#define DT_PPC64_OPT (DT_LOPROC + 3) +#define PPC64_OPT_TLS 1 +#define PPC64_OPT_MULTI_TOC 2 #endif /* _ELF_PPC64_H */ diff --git a/binutils-2.25/include/elf/reloc-macros.h b/binutils-2.25/include/elf/reloc-macros.h index 92fc9c14..29ccdbd1 100644 --- a/binutils-2.25/include/elf/reloc-macros.h +++ b/binutils-2.25/include/elf/reloc-macros.h @@ -1,5 +1,5 @@ /* Generic relocation support for BFD. - Copyright 1998, 1999, 2000, 2003, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/rl78.h b/binutils-2.25/include/elf/rl78.h index b281d3af..1a526fa6 100644 --- a/binutils-2.25/include/elf/rl78.h +++ b/binutils-2.25/include/elf/rl78.h @@ -1,5 +1,5 @@ /* RL78 ELF support for BFD. - Copyright (C) 2008-2013 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -109,6 +109,7 @@ END_RELOC_NUMBERS (R_RL78_max) #define E_FLAG_RL78_G10 (1 << 2) /* CPU is missing register banks 1-3, so uses different ABI. */ /* These define the addend field of R_RL78_RH_RELAX relocations. */ +#define RL78_RELAXA_MASK 0x000000f0 /* Mask for relax types */ #define RL78_RELAXA_BRA 0x00000010 /* Any type of branch (must be decoded). */ #define RL78_RELAXA_ADDR16 0x00000020 /* addr16->sfr/saddr opportunity */ #define RL78_RELAXA_RNUM 0x0000000f /* Number of associated relocations. */ diff --git a/binutils-2.25/include/elf/rx.h b/binutils-2.25/include/elf/rx.h index 83980853..2ca0cbbf 100644 --- a/binutils-2.25/include/elf/rx.h +++ b/binutils-2.25/include/elf/rx.h @@ -1,5 +1,5 @@ /* RX ELF support for BFD. - Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/s390.h b/binutils-2.25/include/elf/s390.h index 9128f868..02e1db2e 100644 --- a/binutils-2.25/include/elf/s390.h +++ b/binutils-2.25/include/elf/s390.h @@ -1,5 +1,5 @@ /* 390 ELF support for BFD. - Copyright 2000, 2001, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. Contributed by Carl B. Pedersen and Martin Schwidefsky. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/score.h b/binutils-2.25/include/elf/score.h index 8d9c026b..7b935aaf 100644 --- a/binutils-2.25/include/elf/score.h +++ b/binutils-2.25/include/elf/score.h @@ -1,5 +1,5 @@ /* Score ELF support for BFD. - Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2006-2014 Free Software Foundation, Inc. Contributed by Brain.lin (brain.lin@sunplusct.com) Mei Ligang (ligang@sunnorth.com.cn) diff --git a/binutils-2.25/include/elf/sh.h b/binutils-2.25/include/elf/sh.h index c2bd50d2..e70fddd4 100644 --- a/binutils-2.25/include/elf/sh.h +++ b/binutils-2.25/include/elf/sh.h @@ -1,6 +1,5 @@ /* SH ELF support for BFD. - Copyright 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2010 - Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/sparc.h b/binutils-2.25/include/elf/sparc.h index d182f4d7..d41ba35b 100644 --- a/binutils-2.25/include/elf/sparc.h +++ b/binutils-2.25/include/elf/sparc.h @@ -1,7 +1,5 @@ /* SPARC ELF support for BFD. - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2008, 2010, - 2011 - Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. By Doug Evans, Cygnus Support, . This file is part of BFD, the Binary File Descriptor library. @@ -192,9 +190,19 @@ enum { /* 0-3 are generic. */ Tag_GNU_Sparc_HWCAPS = 4, + Tag_GNU_Sparc_HWCAPS2 = 8 }; -/* These values match the AV_SPARC_* hwcap bits defined under Solaris. */ +/* Generally speaking the ELF_SPARC_HWCAP_* and ELF_SPARC_HWCAP2_* + values match the AV_SPARC_* and AV2_SPARC_* bits respectively. + + However Solaris 11 introduced a backwards-incompatible change + deprecating the RANDOM, TRANS and ASI_CACHE_SPARING bits in the + AT_SUNW_CAP_HW1 flags, reusing the bits for the unrelated hwcaps + FJATHHPC, FJDES and FJAES respectively. In GNU/Linux we opted to + keep the old hwcaps in Tag_GNU_Sparc_HWCAPS and allocate bits for + FJATHHPC, FJDES and JFAES in Tag_GNU_Sparc_HWCAPS2. */ + #define ELF_SPARC_HWCAP_MUL32 0x00000001 /* umul/umulcc/smul/smulcc insns */ #define ELF_SPARC_HWCAP_DIV32 0x00000002 /* udiv/udivcc/sdiv/sdivcc insns */ #define ELF_SPARC_HWCAP_FSMULD 0x00000004 /* 'fsmuld' insn */ @@ -228,4 +236,17 @@ enum #define ELF_SPARC_HWCAP_CBCOND 0x10000000 /* Compare and Branch insns */ #define ELF_SPARC_HWCAP_CRC32C 0x20000000 /* CRC32C insn */ +#define ELF_SPARC_HWCAP2_FJATHPLUS 0x00000001 /* Fujitsu Athena+ */ +#define ELF_SPARC_HWCAP2_VIS3B 0x00000002 /* VIS3 present on multiple chips */ +#define ELF_SPARC_HWCAP2_ADP 0x00000004 /* Application Data Protection */ +#define ELF_SPARC_HWCAP2_SPARC5 0x00000008 /* The 29 new fp and sub instructions */ +#define ELF_SPARC_HWCAP2_MWAIT 0x00000010 /* mwait instruction and load/monitor ASIs */ +#define ELF_SPARC_HWCAP2_XMPMUL 0x00000020 /* XOR multiple precision multiply */ +#define ELF_SPARC_HWCAP2_XMONT 0x00000040 /* XOR Montgomery mult/sqr instructions */ +#define ELF_SPARC_HWCAP2_NSEC \ + 0x00000080 /* pause insn with support for nsec timings */ +#define ELF_SPARC_HWCAP2_FJATHHPC 0x00001000 /* Fujitsu HPC instrs */ +#define ELF_SPARC_HWCAP2_FJDES 0x00002000 /* Fujitsu DES instrs */ +#define ELF_SPARC_HWCAP2_FJAES 0x00010000 /* Fujitsu AES instrs */ + #endif /* _ELF_SPARC_H */ diff --git a/binutils-2.25/include/elf/spu.h b/binutils-2.25/include/elf/spu.h index 0618ec8f..66320718 100644 --- a/binutils-2.25/include/elf/spu.h +++ b/binutils-2.25/include/elf/spu.h @@ -1,6 +1,6 @@ /* SPU ELF support for BFD. - Copyright 2006, 2007, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2006-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/tic6x-attrs.h b/binutils-2.25/include/elf/tic6x-attrs.h index 21ce1e4f..0e796c67 100644 --- a/binutils-2.25/include/elf/tic6x-attrs.h +++ b/binutils-2.25/include/elf/tic6x-attrs.h @@ -1,6 +1,5 @@ /* TI C6X ELF attributes. - Copyright 2010 - Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/tic6x.h b/binutils-2.25/include/elf/tic6x.h index e686cc3a..ec825d56 100644 --- a/binutils-2.25/include/elf/tic6x.h +++ b/binutils-2.25/include/elf/tic6x.h @@ -1,6 +1,5 @@ /* TI C6X ELF support for BFD. - Copyright 2010, 2011 - Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/tilegx.h b/binutils-2.25/include/elf/tilegx.h index e838b809..835b72f7 100644 --- a/binutils-2.25/include/elf/tilegx.h +++ b/binutils-2.25/include/elf/tilegx.h @@ -1,5 +1,5 @@ /* TILE-Gx ELF support for BFD. - Copyright 2011 Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/tilepro.h b/binutils-2.25/include/elf/tilepro.h index 0079a2fe..277ccba4 100644 --- a/binutils-2.25/include/elf/tilepro.h +++ b/binutils-2.25/include/elf/tilepro.h @@ -1,5 +1,5 @@ /* TILEPro ELF support for BFD. - Copyright 2011 Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/v850.h b/binutils-2.25/include/elf/v850.h index 5a088202..fcd6cd32 100644 --- a/binutils-2.25/include/elf/v850.h +++ b/binutils-2.25/include/elf/v850.h @@ -1,5 +1,5 @@ /* V850 ELF support for BFD. - Copyright 1997-2013 Free Software Foundation, Inc. + Copyright (C) 1997-2014 Free Software Foundation, Inc. Created by Michael Meissner, Cygnus Support This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/vax.h b/binutils-2.25/include/elf/vax.h index e44c48e7..5499b17e 100644 --- a/binutils-2.25/include/elf/vax.h +++ b/binutils-2.25/include/elf/vax.h @@ -1,5 +1,5 @@ /* VAX ELF support for BFD. - Copyright (C) 2002, 2010 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. Contributed by Matt Thomas . This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/vxworks.h b/binutils-2.25/include/elf/vxworks.h index f25f0129..d3a351a7 100644 --- a/binutils-2.25/include/elf/vxworks.h +++ b/binutils-2.25/include/elf/vxworks.h @@ -1,6 +1,5 @@ /* VxWorks ELF support for BFD. - Copyright 2007, 2010 - Free Software Foundation, Inc. + Copyright (C) 2007-2014 Free Software Foundation, Inc. Contributed by Nathan Sidwell diff --git a/binutils-2.25/include/elf/x86-64.h b/binutils-2.25/include/elf/x86-64.h index 0ce92cd5..d0dda478 100644 --- a/binutils-2.25/include/elf/x86-64.h +++ b/binutils-2.25/include/elf/x86-64.h @@ -1,6 +1,5 @@ /* x86_64 ELF support for BFD. - Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2008, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. Contributed by Jan Hubicka This file is part of BFD, the Binary File Descriptor library. @@ -74,6 +73,10 @@ START_RELOC_NUMBERS (elf_x86_64_reloc_type) RELOC_NUMBER (R_X86_64_TLSDESC, 36) /* 2x64-bit TLS descriptor. */ RELOC_NUMBER (R_X86_64_IRELATIVE, 37) /* Adjust indirectly by program base */ RELOC_NUMBER (R_X86_64_RELATIVE64, 38) /* 64bit adjust by program base */ + RELOC_NUMBER (R_X86_64_PC32_BND, 39) /* PC relative 32 bit + signed with BND prefix */ + RELOC_NUMBER (R_X86_64_PLT32_BND, 40) /* 32 bit PLT address with + BND prefix */ RELOC_NUMBER (R_X86_64_GNU_VTINHERIT, 250) /* GNU C++ hack */ RELOC_NUMBER (R_X86_64_GNU_VTENTRY, 251) /* GNU C++ hack */ END_RELOC_NUMBERS (R_X86_64_max) diff --git a/binutils-2.25/include/elf/xc16x.h b/binutils-2.25/include/elf/xc16x.h index b46d9035..15808299 100644 --- a/binutils-2.25/include/elf/xc16x.h +++ b/binutils-2.25/include/elf/xc16x.h @@ -1,5 +1,5 @@ /* Infineon XC16X ELF support for BFD. - Copyright 2006, 2010 Free Software Foundation, Inc. + Copyright (C) 2006-2014 Free Software Foundation, Inc. Contributed by KPIT Cummins Infosystems This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/xgate.h b/binutils-2.25/include/elf/xgate.h index 33286a8d..27cd249d 100644 --- a/binutils-2.25/include/elf/xgate.h +++ b/binutils-2.25/include/elf/xgate.h @@ -1,5 +1,5 @@ /* XGATE ELF support for BFD. - Copyright 2010, 2011, 2012 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/xstormy16.h b/binutils-2.25/include/elf/xstormy16.h index 0ae0def8..ff702ded 100644 --- a/binutils-2.25/include/elf/xstormy16.h +++ b/binutils-2.25/include/elf/xstormy16.h @@ -1,5 +1,5 @@ /* XSTORMY16 ELF support for BFD. - Copyright (C) 2001, 2002, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/elf/xtensa.h b/binutils-2.25/include/elf/xtensa.h index 0d35f7ab..2b9b6dd3 100644 --- a/binutils-2.25/include/elf/xtensa.h +++ b/binutils-2.25/include/elf/xtensa.h @@ -1,5 +1,5 @@ /* Xtensa ELF support for BFD. - Copyright 2003, 2004, 2007, 2008, 2010 Free Software Foundation, Inc. + Copyright (C) 2003-2014 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/fopen-bin.h b/binutils-2.25/include/fopen-bin.h index 8f5f7710..c8adcf0c 100644 --- a/binutils-2.25/include/fopen-bin.h +++ b/binutils-2.25/include/fopen-bin.h @@ -7,7 +7,7 @@ cope with a "b" in the string, indicating binary files, but some reject this (and thereby don't conform to ANSI C, but what else is new?). - Copyright 1996-2012 Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/fopen-same.h b/binutils-2.25/include/fopen-same.h index d139e02e..6fbefa58 100644 --- a/binutils-2.25/include/fopen-same.h +++ b/binutils-2.25/include/fopen-same.h @@ -7,7 +7,7 @@ "b" to the string, indicating binary files, but some reject this (and thereby don't conform to ANSI C, but what else is new?). - Copyright 1996-2012 Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/fopen-vms.h b/binutils-2.25/include/fopen-vms.h index e2b2dc7a..86795a95 100644 --- a/binutils-2.25/include/fopen-vms.h +++ b/binutils-2.25/include/fopen-vms.h @@ -5,7 +5,7 @@ This version is for VMS systems, where text and binary files are different. - Copyright 1996-2012 Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/gdb/ChangeLog b/binutils-2.25/include/gdb/ChangeLog index 142f87ae..135391d4 100644 --- a/binutils-2.25/include/gdb/ChangeLog +++ b/binutils-2.25/include/gdb/ChangeLog @@ -1,3 +1,19 @@ +2014-03-10 Mike Frysinger + + * remote-sim.h (sim_do_command): Add const to cmd. + +2014-03-05 Alan Modra + + Update copyright notice. + +2014-03-05 Mike Frysinger + + * remote-sim.h (sim_load): Add const to prog. + +2014-02-09 Doug Evans + + * section-scripts.h: New file. + 2013-03-15 Steve Ellcey * gdb/remote-sim.h (sim_command_completer): Make char arguments const. @@ -258,7 +274,7 @@ Wed Jul 17 19:36:38 2002 J"orn Rennecke * signals.h: New file, from gdb/defs.h. -Copyright (C) 2002-2013 Free Software Foundation, Inc. +Copyright (C) 2002-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/include/gdb/callback.h b/binutils-2.25/include/gdb/callback.h index f830398a..bb1edaca 100644 --- a/binutils-2.25/include/gdb/callback.h +++ b/binutils-2.25/include/gdb/callback.h @@ -1,5 +1,5 @@ /* Remote target system call callback support. - Copyright 1997-2013 Free Software Foundation, Inc. + Copyright (C) 1997-2014 Free Software Foundation, Inc. Contributed by Cygnus Solutions. This file is part of GDB. diff --git a/binutils-2.25/include/gdb/fileio.h b/binutils-2.25/include/gdb/fileio.h index 73275d43..0bddb89a 100644 --- a/binutils-2.25/include/gdb/fileio.h +++ b/binutils-2.25/include/gdb/fileio.h @@ -1,6 +1,6 @@ /* Hosted File I/O interface definitions, for GDB, the GNU Debugger. - Copyright 2003-2013 Free Software Foundation, Inc. + Copyright (C) 2003-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/gdb/gdb-index.h b/binutils-2.25/include/gdb/gdb-index.h index b43c68f9..a8d4f2f4 100644 --- a/binutils-2.25/include/gdb/gdb-index.h +++ b/binutils-2.25/include/gdb/gdb-index.h @@ -1,5 +1,5 @@ /* Public attributes of the .gdb_index section. - Copyright 2012 Free Software Foundation, Inc. + Copyright (C) 2012-2014 Free Software Foundation, Inc. This file is part of GDB. diff --git a/binutils-2.25/include/gdb/remote-sim.h b/binutils-2.25/include/gdb/remote-sim.h index 113030c8..c335d4f8 100644 --- a/binutils-2.25/include/gdb/remote-sim.h +++ b/binutils-2.25/include/gdb/remote-sim.h @@ -1,6 +1,6 @@ /* This file defines the interface between the simulator and gdb. - Copyright 1993-2013 Free Software Foundation, Inc. + Copyright (C) 1993-2014 Free Software Foundation, Inc. This file is part of GDB. @@ -140,7 +140,7 @@ void sim_close (SIM_DESC sd, int quitting); Such manipulation should probably (?) occure in sim_create_inferior. */ -SIM_RC sim_load (SIM_DESC sd, char *prog, struct bfd *abfd, int from_tty); +SIM_RC sim_load (SIM_DESC sd, const char *prog, struct bfd *abfd, int from_tty); /* Prepare to run the simulated program. @@ -273,7 +273,7 @@ void sim_stop_reason (SIM_DESC sd, enum sim_stop *reason, int *sigrc); Simulators should be prepared to deal with any combination of NULL or empty CMD. */ -void sim_do_command (SIM_DESC sd, char *cmd); +void sim_do_command (SIM_DESC sd, const char *cmd); /* Complete a command based on the available sim commands. Returns an array of possible matches. */ diff --git a/binutils-2.25/include/gdb/section-scripts.h b/binutils-2.25/include/gdb/section-scripts.h new file mode 100644 index 00000000..e788f335 --- /dev/null +++ b/binutils-2.25/include/gdb/section-scripts.h @@ -0,0 +1,50 @@ +/* Definition of kinds of records in section .debug_gdb_scripts. + + Copyright (C) 2014 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef GDB_SECTION_SCRIPTS_H +#define GDB_SECTION_SCRIPTS_H + +/* Each entry in section .debug_gdb_scripts begins with a byte that is used to + identify the entry. This byte is to use as we choose. + 0 is reserved so that it is never used (to catch errors). + It is recommended to avoid ASCII values 32-127 to help catch (most) cases + of forgetting to include this byte. + Other unused values needn't specify different scripting languages, + but we have no need for anything else at the moment. + + Future extension: Include the contents of the script in the section. + + These values are defined as macros so that they can be used in embedded + asms and assembler source files. */ + +/* Reserved. */ +#define SECTION_SCRIPT_ID_NEVER_USE 0 + +/* The record is a nul-terminated file name to load as a python file. */ +#define SECTION_SCRIPT_ID_PYTHON_FILE 1 + +/* Native GDB scripts are not currently supported in .debug_gdb_scripts, + but we reserve a value for it. */ +/*#define SECTION_SCRIPT_ID_GDB_FILE 2*/ + +/* The record is a nul-terminated file name to load as a guile(scheme) + file. */ +#define SECTION_SCRIPT_ID_SCHEME_FILE 3 + +#endif /* GDB_SECTION_SCRIPTS_H */ diff --git a/binutils-2.25/include/gdb/signals.def b/binutils-2.25/include/gdb/signals.def index 637d00de..7fa44d9b 100644 --- a/binutils-2.25/include/gdb/signals.def +++ b/binutils-2.25/include/gdb/signals.def @@ -1,5 +1,5 @@ /* Target signal numbers for GDB and the GDB remote protocol. - Copyright 2010-2013 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. This file is part of GDB. @@ -186,15 +186,15 @@ SET (GDB_SIGNAL_DEFAULT, 144, NULL, /* Mach exceptions. In versions of GDB before 5.2, these were just before GDB_SIGNAL_INFO if you were compiling on a Mach host (and missing otherwise). */ -SET (TARGET_EXC_BAD_ACCESS, 145, "EXC_BAD_ACCESS", "Could not access memory") -SET (TARGET_EXC_BAD_INSTRUCTION, 146, "EXC_BAD_INSTRUCTION", +SET (GDB_EXC_BAD_ACCESS, 145, "EXC_BAD_ACCESS", "Could not access memory") +SET (GDB_EXC_BAD_INSTRUCTION, 146, "EXC_BAD_INSTRUCTION", "Illegal instruction/operand") -SET (TARGET_EXC_ARITHMETIC, 147, "EXC_ARITHMETIC", "Arithmetic exception") -SET (TARGET_EXC_EMULATION, 148, "EXC_EMULATION", "Emulation instruction") -SET (TARGET_EXC_SOFTWARE, 149, "EXC_SOFTWARE", "Software generated exception") -SET (TARGET_EXC_BREAKPOINT, 150, "EXC_BREAKPOINT", "Breakpoint") +SET (GDB_EXC_ARITHMETIC, 147, "EXC_ARITHMETIC", "Arithmetic exception") +SET (GDB_EXC_EMULATION, 148, "EXC_EMULATION", "Emulation instruction") +SET (GDB_EXC_SOFTWARE, 149, "EXC_SOFTWARE", "Software generated exception") +SET (GDB_EXC_BREAKPOINT, 150, "EXC_BREAKPOINT", "Breakpoint") /* If you are adding a new signal, add it just above this comment. */ /* Last and unused enum value, for sizing arrays, etc. */ -SET (GDB_SIGNAL_LAST, 151, NULL, "GDB_SIGNAL_MAGIC") +SET (GDB_SIGNAL_LAST, 151, NULL, "GDB_SIGNAL_LAST") diff --git a/binutils-2.25/include/gdb/signals.h b/binutils-2.25/include/gdb/signals.h index 1ee2c161..70834d46 100644 --- a/binutils-2.25/include/gdb/signals.h +++ b/binutils-2.25/include/gdb/signals.h @@ -1,5 +1,5 @@ /* Target signal numbers for GDB and the GDB remote protocol. - Copyright 1986-2013 Free Software Foundation, Inc. + Copyright (C) 1986-2014 Free Software Foundation, Inc. This file is part of GDB. diff --git a/binutils-2.25/include/gdb/sim-arm.h b/binutils-2.25/include/gdb/sim-arm.h index cae062f1..71353c39 100644 --- a/binutils-2.25/include/gdb/sim-arm.h +++ b/binutils-2.25/include/gdb/sim-arm.h @@ -1,6 +1,6 @@ /* This file defines the interface between the Arm simulator and GDB. - Copyright 2002-2013 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. Contributed by Red Hat. diff --git a/binutils-2.25/include/gdb/sim-bfin.h b/binutils-2.25/include/gdb/sim-bfin.h index ef2a1154..24e40394 100644 --- a/binutils-2.25/include/gdb/sim-bfin.h +++ b/binutils-2.25/include/gdb/sim-bfin.h @@ -1,6 +1,6 @@ /* This file defines the interface between the Blackfin simulator and GDB. - Copyright (C) 2005-2013 Free Software Foundation, Inc. + Copyright (C) 2005-2014 Free Software Foundation, Inc. Contributed by Analog Devices. This file is part of GDB. diff --git a/binutils-2.25/include/gdb/sim-cr16.h b/binutils-2.25/include/gdb/sim-cr16.h index 1503657a..28922b45 100644 --- a/binutils-2.25/include/gdb/sim-cr16.h +++ b/binutils-2.25/include/gdb/sim-cr16.h @@ -1,6 +1,6 @@ /* This file defines the interface between the cr16 simulator and gdb. - Copyright 2008-2013 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. This file is part of GDB. diff --git a/binutils-2.25/include/gdb/sim-d10v.h b/binutils-2.25/include/gdb/sim-d10v.h index 12eaa63e..e75be323 100644 --- a/binutils-2.25/include/gdb/sim-d10v.h +++ b/binutils-2.25/include/gdb/sim-d10v.h @@ -1,6 +1,6 @@ /* This file defines the interface between the d10v simulator and gdb. - Copyright 1999-2013 Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. This file is part of GDB. diff --git a/binutils-2.25/include/gdb/sim-frv.h b/binutils-2.25/include/gdb/sim-frv.h index bdb17f8e..3e06874a 100644 --- a/binutils-2.25/include/gdb/sim-frv.h +++ b/binutils-2.25/include/gdb/sim-frv.h @@ -1,6 +1,6 @@ /* This file defines the interface between the FR-V simulator and GDB. - Copyright 2003-2013 Free Software Foundation, Inc. + Copyright (C) 2003-2014 Free Software Foundation, Inc. Contributed by Red Hat. diff --git a/binutils-2.25/include/gdb/sim-h8300.h b/binutils-2.25/include/gdb/sim-h8300.h index 1649b52e..9020cdb4 100644 --- a/binutils-2.25/include/gdb/sim-h8300.h +++ b/binutils-2.25/include/gdb/sim-h8300.h @@ -1,5 +1,5 @@ /* This file defines the interface between the h8300 simulator and gdb. - Copyright (C) 2002-2013 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. This file is part of GDB. diff --git a/binutils-2.25/include/gdb/sim-lm32.h b/binutils-2.25/include/gdb/sim-lm32.h index b04d8d61..c81caf2a 100644 --- a/binutils-2.25/include/gdb/sim-lm32.h +++ b/binutils-2.25/include/gdb/sim-lm32.h @@ -1,7 +1,7 @@ /* This file defines the interface between the LM32 simulator and GDB. Contributed by Jon Beniston - Copyright (C) 2009-2013 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. This file is part of GDB. diff --git a/binutils-2.25/include/gdb/sim-m32c.h b/binutils-2.25/include/gdb/sim-m32c.h index 963ae047..a240b818 100644 --- a/binutils-2.25/include/gdb/sim-m32c.h +++ b/binutils-2.25/include/gdb/sim-m32c.h @@ -1,5 +1,5 @@ /* This file defines the interface between the m32c simulator and gdb. - Copyright (C) 2005-2013 Free Software Foundation, Inc. + Copyright (C) 2005-2014 Free Software Foundation, Inc. This file is part of GDB. diff --git a/binutils-2.25/include/gdb/sim-ppc.h b/binutils-2.25/include/gdb/sim-ppc.h index 188eb49d..9aa02584 100644 --- a/binutils-2.25/include/gdb/sim-ppc.h +++ b/binutils-2.25/include/gdb/sim-ppc.h @@ -1,6 +1,6 @@ /* sim-ppc.h --- interface between PowerPC simulator and GDB. - Copyright 2004-2013 Free Software Foundation, Inc. + Copyright (C) 2004-2014 Free Software Foundation, Inc. Contributed by Red Hat. diff --git a/binutils-2.25/include/gdb/sim-rl78.h b/binutils-2.25/include/gdb/sim-rl78.h index c52a2a7f..093058f0 100644 --- a/binutils-2.25/include/gdb/sim-rl78.h +++ b/binutils-2.25/include/gdb/sim-rl78.h @@ -1,6 +1,6 @@ /* sim-rx.h --- interface between rl78 simulator and GDB. - Copyright 2011-2013 Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. Contributed by Red Hat. diff --git a/binutils-2.25/include/gdb/sim-rx.h b/binutils-2.25/include/gdb/sim-rx.h index c4d855f7..2ea4a7aa 100644 --- a/binutils-2.25/include/gdb/sim-rx.h +++ b/binutils-2.25/include/gdb/sim-rx.h @@ -1,6 +1,6 @@ /* sim-rx.h --- interface between RX simulator and GDB. - Copyright 2008-2013 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Contributed by Red Hat. diff --git a/binutils-2.25/include/gdb/sim-sh.h b/binutils-2.25/include/gdb/sim-sh.h index 4e37992e..83307e98 100644 --- a/binutils-2.25/include/gdb/sim-sh.h +++ b/binutils-2.25/include/gdb/sim-sh.h @@ -1,5 +1,5 @@ /* This file defines the interface between the sh simulator and gdb. - Copyright (C) 2000-2013 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. This file is part of GDB. diff --git a/binutils-2.25/include/gdbm.h b/binutils-2.25/include/gdbm.h deleted file mode 100644 index d2a60063..00000000 --- a/binutils-2.25/include/gdbm.h +++ /dev/null @@ -1,91 +0,0 @@ -/* GNU DBM - DataBase Manager include file - Copyright 1989, 1991 Free Software Foundation, Inc. - Written by Philip A. Nelson. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ - -/* You may contact the author by: - e-mail: phil@wwu.edu - us-mail: Philip A. Nelson - Computer Science Department - Western Washington University - Bellingham, WA 98226 - phone: (206) 676-3035 - -*************************************************************************/ - -/* Parameters to gdbm_open for READERS, WRITERS, and WRITERS who - can create the database. */ -#define GDBM_READER 0 -#define GDBM_WRITER 1 -#define GDBM_WRCREAT 2 -#define GDBM_NEWDB 3 - -/* Parameters to gdbm_store for simple insertion or replacement. */ -#define GDBM_INSERT 0 -#define GDBM_REPLACE 1 - - -/* The data and key structure. This structure is defined for compatibility. */ -typedef struct { - char *dptr; - int dsize; - } datum; - - -/* The file information header. This is good enough for most applications. */ -typedef struct {int dummy[10];} *GDBM_FILE; - - -/* These are the routines! */ - -extern GDBM_FILE gdbm_open (); - -extern void gdbm_close (); - -extern datum gdbm_fetch (); - -extern int gdbm_store (); - -extern int gdbm_delete (); - -extern datum gdbm_firstkey (); - -extern datum gdbm_nextkey (); - -extern int gdbm_reorganize (); - - -/* gdbm sends back the following error codes in the variable gdbm_errno. */ -typedef enum { NO_ERROR, - MALLOC_ERROR, - BLOCK_SIZE_ERROR, - FILE_OPEN_ERROR, - FILE_WRITE_ERROR, - FILE_SEEK_ERROR, - FILE_READ_ERROR, - BAD_MAGIC_NUMBER, - EMPTY_DATABASE, - CANT_BE_READER, - CANT_BE_WRITER, - READER_CANT_RECOVER, - READER_CANT_DELETE, - READER_CANT_STORE, - READER_CANT_REORGANIZE, - UNKNOWN_UPDATE, - ITEM_NOT_FOUND, - REORGANIZE_FAILED, - CANNOT_REPLACE} - gdbm_error; diff --git a/binutils-2.25/include/hp-symtab.h b/binutils-2.25/include/hp-symtab.h index e944e909..ba6b39f1 100644 --- a/binutils-2.25/include/hp-symtab.h +++ b/binutils-2.25/include/hp-symtab.h @@ -4,7 +4,7 @@ Written by the Center for Software Science at the University of Utah and by Cygnus Support. - Copyright 1994, 1995, 1998, 1999, 2003 Free Software Foundation, Inc. + Copyright (C) 1994-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/ieee.h b/binutils-2.25/include/ieee.h index 72fcad42..7b483a89 100644 --- a/binutils-2.25/include/ieee.h +++ b/binutils-2.25/include/ieee.h @@ -1,6 +1,6 @@ /* IEEE Standard 695-1980 "Universal Format for Object Modules" header file - Copyright 2001 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/libiberty.h b/binutils-2.25/include/libiberty.h index 78c42eb8..bcc1f9af 100644 --- a/binutils-2.25/include/libiberty.h +++ b/binutils-2.25/include/libiberty.h @@ -106,7 +106,10 @@ extern int countargv (char**); to find the declaration so provide a fully prototyped one. If it is 1, we found it so don't provide any declaration at all. */ #if !HAVE_DECL_BASENAME -#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) || defined (HAVE_DECL_BASENAME) +#if defined (__GNU_LIBRARY__ ) || defined (__linux__) \ + || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__) \ + || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) \ + || defined (__DragonFly__) || defined (HAVE_DECL_BASENAME) extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1); #else /* Do not allow basename to be used if there is no prototype seen. We @@ -442,6 +445,11 @@ extern struct pex_obj *pex_init (int flags, const char *pname, on Unix. */ #define PEX_BINARY_ERROR 0x80 +/* Append stdout to existing file instead of truncating it. */ +#define PEX_STDOUT_APPEND 0x100 + +/* Thes same as PEX_STDOUT_APPEND, but for STDERR. */ +#define PEX_STDERR_APPEND 0x200 /* Execute one program. Returns NULL on success. On error returns an error string (typically just the name of a system call); the error @@ -633,6 +641,10 @@ extern int snprintf (char *, size_t, const char *, ...) ATTRIBUTE_PRINTF_3; extern int vsnprintf (char *, size_t, const char *, va_list) ATTRIBUTE_PRINTF(3,0); #endif +#if defined (HAVE_DECL_STRNLEN) && !HAVE_DECL_STRNLEN +extern size_t strnlen (const char *, size_t); +#endif + #if defined(HAVE_DECL_STRVERSCMP) && !HAVE_DECL_STRVERSCMP /* Compare version strings. */ extern int strverscmp (const char *, const char *); diff --git a/binutils-2.25/include/longlong.h b/binutils-2.25/include/longlong.h index 5f00e548..42c68ddd 100644 --- a/binutils-2.25/include/longlong.h +++ b/binutils-2.25/include/longlong.h @@ -1,5 +1,5 @@ /* longlong.h -- definitions for mixed size 32/64 bit arithmetic. - Copyright (C) 1991-2013 Free Software Foundation, Inc. + Copyright (C) 1991-2014 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -122,6 +122,22 @@ extern const UQItype __clz_tab[256] attribute_hidden; #define __AND_CLOBBER_CC , "cc" #endif /* __GNUC__ < 2 */ +#if defined (__aarch64__) + +#if W_TYPE_SIZE == 32 +#define count_leading_zeros(COUNT, X) ((COUNT) = __builtin_clz (X)) +#define count_trailing_zeros(COUNT, X) ((COUNT) = __builtin_ctz (X)) +#define COUNT_LEADING_ZEROS_0 32 +#endif /* W_TYPE_SIZE == 32 */ + +#if W_TYPE_SIZE == 64 +#define count_leading_zeros(COUNT, X) ((COUNT) = __builtin_clzll (X)) +#define count_trailing_zeros(COUNT, X) ((COUNT) = __builtin_ctzll (X)) +#define COUNT_LEADING_ZEROS_0 64 +#endif /* W_TYPE_SIZE == 64 */ + +#endif /* __aarch64__ */ + #if defined (__alpha) && W_TYPE_SIZE == 64 #define umul_ppmm(ph, pl, m0, m1) \ do { \ @@ -467,7 +483,7 @@ extern UDItype __umulsidi3 (USItype, USItype); #define UDIV_TIME 40 #endif /* 80x86 */ -#if (defined (__x86_64__) || defined (__i386__)) && W_TYPE_SIZE == 64 +#if defined (__x86_64__) && W_TYPE_SIZE == 64 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add{q} {%5,%1|%1,%5}\n\tadc{q} {%3,%0|%0,%3}" \ : "=r" ((UDItype) (sh)), \ @@ -832,7 +848,7 @@ extern UDItype __umulsidi3 (USItype, USItype); #define UMUL_TIME 10 #define UDIV_TIME 100 -#if (__mips == 32 || __mips == 64) && ! __mips16 +#if (__mips == 32 || __mips == 64) && ! defined (__mips16) #define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X)) #define COUNT_LEADING_ZEROS_0 32 #endif @@ -1671,7 +1687,8 @@ extern UHItype __stormy16_count_leading_zeros (UHItype); #if !defined (udiv_qrnnd) && defined (sdiv_qrnnd) #define udiv_qrnnd(q, r, nh, nl, d) \ do { \ - USItype __r; \ + extern UWtype __udiv_w_sdiv (UWtype *, UWtype, UWtype, UWtype); \ + UWtype __r; \ (q) = __udiv_w_sdiv (&__r, nh, nl, d); \ (r) = __r; \ } while (0) diff --git a/binutils-2.25/include/mach-o/ChangeLog b/binutils-2.25/include/mach-o/ChangeLog index a36c5461..7adbc497 100644 --- a/binutils-2.25/include/mach-o/ChangeLog +++ b/binutils-2.25/include/mach-o/ChangeLog @@ -1,3 +1,34 @@ +2014-04-16 Tristan Gingold + + * loader.h: Add macros for rebase, bind and export constants. + +2014-04-16 Tristan Gingold + + * loader.h (BFD_MACH_O_CPU_ARCH_MASK, BFD_MACH_O_CPU_ARCH_ABI64) + (BFD_MACH_O_CPU_SUBTYPE_MASK, BFD_MACH_O_CPU_SUBTYPE_LIB64): Define. + +2014-04-03 Tristan Gingold + + * unwind.h (mach_o_compact_unwind_64): Fix typo in personality. + +2014-04-02 Tristan Gingold + + * external.h (mach_o_prebound_dylib_command_external) + (mach_o_prebind_cksum_command_external) + (mach_o_twolevel_hints_command_external): New types. + +2014-03-26 Tristan Gingold + + * loader.h (bfd_mach_o_cpu_type): Add BFD_MACH_O_CPU_TYPE_ARM64. + +2014-03-17 Tristan Gingold + + * unwind.h: New file. + +2014-03-05 Alan Modra + + Update copyright years. + 2012-11-14 Tristan Gingold * external.h (mach_o_entry_point_command_external) @@ -6,7 +37,7 @@ * loader.h (bfd_mach_o_load_command_type): Add BFD_MACH_O_LC_MAIN, BFD_MACH_O_LC_DATA_IN_CODE, - BFD_MACH_O_LC_SOURCE_VERSION and BFD_MACH_O_LC_DYLIB_CODE_SIGN_DRS. + BFD_MACH_O_LC_SOURCE_VERSION and BFD_MACH_O_LC_DYLIB_CODE_SIGN_DRS. (BFD_MACH_O_REFERENCE_MASK): Adjust value. (BFD_MACH_O_N_REF_TO_WEAK): New definition. (BFD_MACH_O_N_ARM_THUMB_DEF, BFD_MACH_O_N_SYMBOL_RESOLVER): Likewise. @@ -67,7 +98,7 @@ * loader.h: New file. -Copyright (C) 2011-2012 Free Software Foundation, Inc. +Copyright (C) 2011-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/include/mach-o/arm.h b/binutils-2.25/include/mach-o/arm.h index f37ff77e..f012ffd0 100644 --- a/binutils-2.25/include/mach-o/arm.h +++ b/binutils-2.25/include/mach-o/arm.h @@ -1,6 +1,5 @@ /* Mach-O arm declarations for BFD. - Copyright 2012 - Free Software Foundation, Inc. + Copyright (C) 2012-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/mach-o/codesign.h b/binutils-2.25/include/mach-o/codesign.h index ee2f792a..4ef9634a 100644 --- a/binutils-2.25/include/mach-o/codesign.h +++ b/binutils-2.25/include/mach-o/codesign.h @@ -1,6 +1,5 @@ /* Mach-O support for BFD. - Copyright 2011 - Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/mach-o/external.h b/binutils-2.25/include/mach-o/external.h index 4b0a83e8..4fb950b2 100644 --- a/binutils-2.25/include/mach-o/external.h +++ b/binutils-2.25/include/mach-o/external.h @@ -1,6 +1,5 @@ /* Mach-O support for BFD. - Copyright 2011, 2012 - Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -288,6 +287,24 @@ struct mach_o_dyld_info_command_external unsigned char export_size[4]; }; +struct mach_o_prebound_dylib_command_external +{ + unsigned char name[4]; + unsigned char nmodules[4]; + unsigned char linked_modules[4]; +}; + +struct mach_o_prebind_cksum_command_external +{ + unsigned char cksum[4]; +}; + +struct mach_o_twolevel_hints_command_external +{ + unsigned char offset[4]; + unsigned char nhints[4]; +}; + struct mach_o_version_min_command_external { unsigned char version[4]; diff --git a/binutils-2.25/include/mach-o/loader.h b/binutils-2.25/include/mach-o/loader.h index 952bc8f4..ff794a3b 100644 --- a/binutils-2.25/include/mach-o/loader.h +++ b/binutils-2.25/include/mach-o/loader.h @@ -1,6 +1,5 @@ /* Mach-O support for BFD. - Copyright 2011, 2012 - Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -33,7 +32,10 @@ typedef enum bfd_mach_o_mach_header_magic } bfd_mach_o_mach_header_magic; -#define BFD_MACH_O_CPU_IS64BIT 0x1000000 +/* Capability bits in cpu type. */ +#define BFD_MACH_O_CPU_ARCH_MASK 0xff000000 +#define BFD_MACH_O_CPU_ARCH_ABI64 0x01000000 +#define BFD_MACH_O_CPU_IS64BIT 0x01000000 typedef enum bfd_mach_o_cpu_type { @@ -49,11 +51,19 @@ typedef enum bfd_mach_o_cpu_type BFD_MACH_O_CPU_TYPE_I860 = 15, BFD_MACH_O_CPU_TYPE_ALPHA = 16, BFD_MACH_O_CPU_TYPE_POWERPC = 18, - BFD_MACH_O_CPU_TYPE_POWERPC_64 = (BFD_MACH_O_CPU_TYPE_POWERPC | BFD_MACH_O_CPU_IS64BIT), - BFD_MACH_O_CPU_TYPE_X86_64 = (BFD_MACH_O_CPU_TYPE_I386 | BFD_MACH_O_CPU_IS64BIT) + BFD_MACH_O_CPU_TYPE_POWERPC_64 = + (BFD_MACH_O_CPU_TYPE_POWERPC | BFD_MACH_O_CPU_IS64BIT), + BFD_MACH_O_CPU_TYPE_X86_64 = + (BFD_MACH_O_CPU_TYPE_I386 | BFD_MACH_O_CPU_IS64BIT), + BFD_MACH_O_CPU_TYPE_ARM64 = + (BFD_MACH_O_CPU_TYPE_ARM | BFD_MACH_O_CPU_IS64BIT) } bfd_mach_o_cpu_type; +/* Capability bits in cpu subtype. */ +#define BFD_MACH_O_CPU_SUBTYPE_MASK 0xff000000 +#define BFD_MACH_O_CPU_SUBTYPE_LIB64 0x80000000 + typedef enum bfd_mach_o_cpu_subtype { /* i386. */ @@ -332,6 +342,63 @@ bfd_mach_o_section_attribute; #define BFD_MACH_O_INDIRECT_SYM_LOCAL 0x80000000 #define BFD_MACH_O_INDIRECT_SYM_ABS 0x40000000 +/* Constants for dyld info rebase. */ +#define BFD_MACH_O_REBASE_OPCODE_MASK 0xf0 +#define BFD_MACH_O_REBASE_IMMEDIATE_MASK 0x0f + +/* The rebase opcodes. */ +#define BFD_MACH_O_REBASE_OPCODE_DONE 0x00 +#define BFD_MACH_O_REBASE_OPCODE_SET_TYPE_IMM 0x10 +#define BFD_MACH_O_REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB 0x20 +#define BFD_MACH_O_REBASE_OPCODE_ADD_ADDR_ULEB 0x30 +#define BFD_MACH_O_REBASE_OPCODE_ADD_ADDR_IMM_SCALED 0x40 +#define BFD_MACH_O_REBASE_OPCODE_DO_REBASE_IMM_TIMES 0x50 +#define BFD_MACH_O_REBASE_OPCODE_DO_REBASE_ULEB_TIMES 0x60 +#define BFD_MACH_O_REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB 0x70 +#define BFD_MACH_O_REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB 0x80 + +/* The rebase type. */ +#define BFD_MACH_O_REBASE_TYPE_POINTER 1 +#define BFD_MACH_O_REBASE_TYPE_TEXT_ABSOLUTE32 2 +#define BFD_MACH_O_REBASE_TYPE_TEXT_PCREL32 3 + +/* Constants for dyld info bind. */ +#define BFD_MACH_O_BIND_OPCODE_MASK 0xf0 +#define BFD_MACH_O_BIND_IMMEDIATE_MASK 0x0f + +/* The bind opcodes. */ +#define BFD_MACH_O_BIND_OPCODE_DONE 0x00 +#define BFD_MACH_O_BIND_OPCODE_SET_DYLIB_ORDINAL_IMM 0x10 +#define BFD_MACH_O_BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB 0x20 +#define BFD_MACH_O_BIND_OPCODE_SET_DYLIB_SPECIAL_IMM 0x30 +#define BFD_MACH_O_BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM 0x40 +#define BFD_MACH_O_BIND_OPCODE_SET_TYPE_IMM 0x50 +#define BFD_MACH_O_BIND_OPCODE_SET_ADDEND_SLEB 0x60 +#define BFD_MACH_O_BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB 0x70 +#define BFD_MACH_O_BIND_OPCODE_ADD_ADDR_ULEB 0x80 +#define BFD_MACH_O_BIND_OPCODE_DO_BIND 0x90 +#define BFD_MACH_O_BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB 0xa0 +#define BFD_MACH_O_BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED 0xb0 +#define BFD_MACH_O_BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB 0xc0 + +/* The bind types. */ +#define BFD_MACH_O_BIND_TYPE_POINTER 1 +#define BFD_MACH_O_BIND_TYPE_TEXT_ABSOLUTE32 2 +#define BFD_MACH_O_BIND_TYPE_TEXT_PCREL32 3 + +/* The special dylib. */ +#define BFD_MACH_O_BIND_SPECIAL_DYLIB_SELF 0 +#define BFD_MACH_O_BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE -1 +#define BFD_MACH_O_BIND_SPECIAL_DYLIB_FLAT_LOOKUP -2 + +/* Constants for dyld info export. */ +#define BFD_MACH_O_EXPORT_SYMBOL_FLAGS_KIND_MASK 0x03 +#define BFD_MACH_O_EXPORT_SYMBOL_FLAGS_KIND_REGULAR 0x00 +#define BFD_MACH_O_EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL 0x01 +#define BFD_MACH_O_EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION 0x04 +#define BFD_MACH_O_EXPORT_SYMBOL_FLAGS_REEXPORT 0x08 +#define BFD_MACH_O_EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER 0x10 + /* Constants for DATA_IN_CODE entries. */ typedef enum bfd_mach_o_data_in_code_entry_kind { diff --git a/binutils-2.25/include/mach-o/reloc.h b/binutils-2.25/include/mach-o/reloc.h index bab31efe..8fe2228c 100644 --- a/binutils-2.25/include/mach-o/reloc.h +++ b/binutils-2.25/include/mach-o/reloc.h @@ -1,6 +1,5 @@ /* Mach-O support for BFD. - Copyright 2011, 2012 - Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/mach-o/unwind.h b/binutils-2.25/include/mach-o/unwind.h new file mode 100644 index 00000000..c11020e5 --- /dev/null +++ b/binutils-2.25/include/mach-o/unwind.h @@ -0,0 +1,199 @@ +/* Mach-O compact unwind encoding. + Copyright (C) 2014 Free Software Foundation, Inc. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#ifndef _MACH_O_UNWIND_H +#define _MACH_O_UNWIND_H + +/* Encodings bits for all cpus. */ +#define MACH_O_UNWIND_IS_NOT_FUNCTION_START 0x80000000 +#define MACH_O_UNWIND_HAS_LSDA 0x40000000 +#define MACH_O_UNWIND_PERSONALITY_MASK 0x30000000 +#define MACH_O_UNWIND_PERSONALITY_SHIFT 28 + +/* Encodings for x86-64. */ + +/* Kind of encoding (4 bits). */ +#define MACH_O_UNWIND_X86_64_MODE_MASK 0x0f000000 + +/* Frame is RBP based, using the standard sequence: push %rbp; mov %rsp, %rbp. + Non-volatile registers must be saved in the stack starting at %rbp-8 to + %rbp-2040 (offset is encoded in offset bits * 8). Registers saved are + encoded in registers bits, 3 bits per register. */ +#define MACH_O_UNWIND_X86_64_MODE_RBP_FRAME 0x01000000 +#define MACH_O_UNWIND_X86_64_RBP_FRAME_REGSITERS 0x00007FFF +#define MACH_O_UNWIND_X86_64_RBP_FRAME_OFFSET 0x00FF0000 + +/* Frameless function, with a small stack size. */ +#define MACH_O_UNWIND_X86_64_MODE_STACK_IMMD 0x02000000 +#define MACH_O_UNWIND_X86_64_FRAMELESS_STACK_SIZE 0x00FF0000 +#define MACH_O_UNWIND_X86_64_FRAMELESS_REG_COUNT 0x00001C00 +#define MACH_O_UNWIND_X86_64_FRAMELESS_REG_PERMUTATION 0x000003FF + +/* Frameless function, with a larger stack size. The stack size is the sum + of the X in subq $X,%rsp (address of X is at function + stack size bits) + and stack adjust. */ +#define MACH_O_UNWIND_X86_64_MODE_STACK_IND 0x03000000 +#define MACH_O_UNWIND_X86_64_FRAMELESS_STACK_ADJUST 0x0000E000 + +/* Use dwarf. */ +#define MACH_O_UNWIND_X86_64_MODE_DWARF 0x04000000 +#define MACH_O_UNWIND_X86_64_DWARF_SECTION_OFFSET 0x00ffffff + +/* Registers. */ +#define MACH_O_UNWIND_X86_64_REG_NONE 0 +#define MACH_O_UNWIND_X86_64_REG_RBX 1 +#define MACH_O_UNWIND_X86_64_REG_R12 2 +#define MACH_O_UNWIND_X86_64_REG_R13 3 +#define MACH_O_UNWIND_X86_64_REG_R14 4 +#define MACH_O_UNWIND_X86_64_REG_R15 5 +#define MACH_O_UNWIND_X86_64_REG_RBP 6 + +/* Encodings for x86 (almot the same as x86-64). */ + +/* Kind of encoding (4 bits). */ +#define MACH_O_UNWIND_X86_MODE_MASK 0x0f000000 + +/* Frame is EBP based, using the standard sequence: push %ebp; mov %esp, %ebp. + Non-volatile registers must be saved in the stack starting at %ebp-4 to + %ebp-240 (offset is encoded in offset bits * 4). Registers saved are + encoded in registers bits, 3 bits per register. */ +#define MACH_O_UNWIND_X86_MODE_EBP_FRAME 0x01000000 +#define MACH_O_UNWIND_X86_EBP_FRAME_REGSITERS 0x00007FFF +#define MACH_O_UNWIND_X86_EBP_FRAME_OFFSET 0x00FF0000 + +/* Frameless function, with a small stack size. */ +#define MACH_O_UNWIND_X86_MODE_STACK_IMMD 0x02000000 +#define MACH_O_UNWIND_X86_FRAMELESS_STACK_SIZE 0x00FF0000 +#define MACH_O_UNWIND_X86_FRAMELESS_REG_COUNT 0x00001C00 +#define MACH_O_UNWIND_X86_FRAMELESS_REG_PERMUTATION 0x000003FF + +/* Frameless function, with a larger stack size. The stack size is the sum + of the X in subq $X,%esp (address of X is at function + stack size bits) + and stack adjust. */ +#define MACH_O_UNWIND_X86_MODE_STACK_IND 0x03000000 +#define MACH_O_UNWIND_X86_FRAMELESS_STACK_ADJUST 0x0000E000 + +/* Use dwarf. */ +#define MACH_O_UNWIND_X86_MODE_DWARF 0x04000000 +#define MACH_O_UNWIND_X86_DWARF_SECTION_OFFSET 0x00ffffff + +/* Registers. */ +#define MACH_O_UNWIND_X86_REG_NONE 0 +#define MACH_O_UNWIND_X86_REG_EBX 1 +#define MACH_O_UNWIND_X86_REG_ECX 2 +#define MACH_O_UNWIND_X86_REG_EDX 3 +#define MACH_O_UNWIND_X86_REG_EDI 4 +#define MACH_O_UNWIND_X86_REG_ESI 5 +#define MACH_O_UNWIND_X86_REG_EBP 6 + +/* Entry in object file (in __LD,__compact_unwind section). */ + +struct mach_o_compact_unwind_32 +{ + unsigned char start[4]; + unsigned char length[4]; + unsigned char encoding[4]; + unsigned char personality[4]; + unsigned char lsda[4]; +}; + +struct mach_o_compact_unwind_64 +{ + unsigned char start[8]; + unsigned char length[4]; + unsigned char encoding[4]; + unsigned char personality[8]; + unsigned char lsda[8]; +}; + +/* Header in images (in __TEXT,__unwind_info). */ + +#define MACH_O_UNWIND_SECTION_VERSION 1 /* Current verion in header. */ +struct mach_o_unwind_info_header +{ + unsigned char version[4]; /* Currently MACH_O_UNWIND_SECTION_VERSION. */ + unsigned char encodings_array_offset[4]; + unsigned char encodings_array_count[4]; + unsigned char personality_array_offset[4]; + unsigned char personality_array_count[4]; + unsigned char index_offset[4]; + unsigned char index_count[4]; + /* Followed by: + - encodings array + These are the encodings shared, for index < encoding_array_count + - personality array + count given by personality_array_count + - index entries + count given by index_count + - lsda index entries + last offset given by lsda offset of last index_entry. + */ +}; + +struct mach_o_unwind_index_entry +{ + unsigned char function_offset[4]; + unsigned char second_level_offset[4]; + unsigned char lsda_index_offset[4]; +}; + +struct mach_o_unwind_lsda_index_entry +{ + unsigned char function_offset[4]; + unsigned char lsda_offset[4]; +}; + +/* Second level index pages. */ + +#define MACH_O_UNWIND_SECOND_LEVEL_REGULAR 2 +struct mach_o_unwind_regular_second_level_page_header +{ + unsigned char kind[4]; + unsigned char entry_page_offset[2]; + unsigned char entry_count[2]; + /* Array of entries. */ +}; + +struct mach_o_unwind_regular_second_level_entry +{ + unsigned char function_offset[4]; + unsigned char encoding[4]; +}; + +#define MACH_O_UNWIND_SECOND_LEVEL_COMPRESSED 3 +struct mach_o_unwind_compressed_second_level_page_header +{ + unsigned char kind[4]; + unsigned char entry_page_offset[2]; + unsigned char entry_count[2]; + unsigned char encodings_offset[2]; + unsigned char encodings_count[2]; + /* Followed by entries array (one word, see below). */ + /* Followed by (non-common) encodings array. */ +}; + +/* Compressed entries are one word, containing function offset and encoding + index. */ +#define MACH_O_UNWIND_INFO_COMPRESSED_ENTRY_FUNC_OFFSET(en) \ + ((en) & 0x00FFFFFF) +#define MACH_O_UNWIND_INFO_COMPRESSED_ENTRY_ENCODING_INDEX(en) \ + (((en) >> 24) & 0xFF) + +#endif /* _MACH_O_UNWIND_H */ diff --git a/binutils-2.25/include/mach-o/x86-64.h b/binutils-2.25/include/mach-o/x86-64.h index d06bc26a..761c56cb 100644 --- a/binutils-2.25/include/mach-o/x86-64.h +++ b/binutils-2.25/include/mach-o/x86-64.h @@ -1,6 +1,5 @@ /* Mach-O support for BFD. - Copyright 2011 - Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/nlm/ChangeLog b/binutils-2.25/include/nlm/ChangeLog index 9d5f54b1..38db30d1 100644 --- a/binutils-2.25/include/nlm/ChangeLog +++ b/binutils-2.25/include/nlm/ChangeLog @@ -1,3 +1,7 @@ +2014-03-05 Alan Modra + + Update copyright years. + 2010-04-15 Nick Clifton * alpha-ext.h: Update copyright notice to use GPLv3. @@ -105,7 +109,7 @@ support. -Copyright (C) 1993-2012 Free Software Foundation, Inc. +Copyright (C) 1993-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/include/nlm/alpha-ext.h b/binutils-2.25/include/nlm/alpha-ext.h index 7dc65688..500f4256 100644 --- a/binutils-2.25/include/nlm/alpha-ext.h +++ b/binutils-2.25/include/nlm/alpha-ext.h @@ -1,5 +1,5 @@ /* Alpha NLM (NetWare Loadable Module) support for BFD. - Copyright 1993, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 1993-2014 Free Software Foundation, Inc. By Ian Lance Taylor, Cygnus Support This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/nlm/common.h b/binutils-2.25/include/nlm/common.h index fcd290e0..986756fd 100644 --- a/binutils-2.25/include/nlm/common.h +++ b/binutils-2.25/include/nlm/common.h @@ -1,5 +1,5 @@ /* NLM (NetWare Loadable Module) support for BFD. - Copyright 1993, 2001, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 1993-2014 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support diff --git a/binutils-2.25/include/nlm/external.h b/binutils-2.25/include/nlm/external.h index eebd1cca..3dcfc422 100644 --- a/binutils-2.25/include/nlm/external.h +++ b/binutils-2.25/include/nlm/external.h @@ -1,5 +1,5 @@ /* NLM (NetWare Loadable Module) support for BFD. - Copyright 1993, 1994, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 1993-2014 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support diff --git a/binutils-2.25/include/nlm/i386-ext.h b/binutils-2.25/include/nlm/i386-ext.h index 4de8b340..ccb62f85 100644 --- a/binutils-2.25/include/nlm/i386-ext.h +++ b/binutils-2.25/include/nlm/i386-ext.h @@ -1,5 +1,5 @@ /* i386 NLM (NetWare Loadable Module) support for BFD. - Copyright 1993, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 1993-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/nlm/internal.h b/binutils-2.25/include/nlm/internal.h index 51e1f00e..6f3995b3 100644 --- a/binutils-2.25/include/nlm/internal.h +++ b/binutils-2.25/include/nlm/internal.h @@ -1,5 +1,5 @@ /* NLM (NetWare Loadable Module) support for BFD. - Copyright 1993, 1994, 2003, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 1993-2014 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support. diff --git a/binutils-2.25/include/nlm/ppc-ext.h b/binutils-2.25/include/nlm/ppc-ext.h index 026984b8..13977197 100644 --- a/binutils-2.25/include/nlm/ppc-ext.h +++ b/binutils-2.25/include/nlm/ppc-ext.h @@ -1,5 +1,5 @@ /* PowerPC NLM (NetWare Loadable Module) support for BFD. - Copyright (C) 1994, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 1994-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/nlm/sparc32-ext.h b/binutils-2.25/include/nlm/sparc32-ext.h index a5c78e34..59138d9a 100644 --- a/binutils-2.25/include/nlm/sparc32-ext.h +++ b/binutils-2.25/include/nlm/sparc32-ext.h @@ -1,5 +1,5 @@ /* SPARC NLM (NetWare Loadable Module) support for BFD. - Copyright 1993, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 1993-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/oasys.h b/binutils-2.25/include/oasys.h index 92d5c266..b6ae1198 100644 --- a/binutils-2.25/include/oasys.h +++ b/binutils-2.25/include/oasys.h @@ -1,6 +1,6 @@ /* Oasys object format header file for BFD. - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/opcode/ChangeLog b/binutils-2.25/include/opcode/ChangeLog index f645a7e7..d378910e 100644 --- a/binutils-2.25/include/opcode/ChangeLog +++ b/binutils-2.25/include/opcode/ChangeLog @@ -1,3 +1,169 @@ +2014-10-09 Jose E. Marchesi + + * sparc.h (sparc_opcode): new field `hwcaps2'. + (HWCAP2_FJATHPLUS): New define. + (HWCAP2_VIS3B): Likewise. + (HWCAP2_ADP): Likewise. + (HWCAP2_SPARC5): Likewise. + (HWCAP2_MWAIT): Likewise. + (HWCAP2_XMPMUL): Likewise. + (HWCAP2_XMONT): Likewise. + (HWCAP2_NSEC): Likewise. + (HWCAP2_FJATHHPC): Likewise. + (HWCAP2_FJDES): Likewise. + (HWCAP2_FJAES): Likewise. + Document the new operand kind `{', corresponding to the mcdper + ancillary state register. + Document the new operand kind }, which represents frsd floating + point registers (double precision) which must be the same than + frs1 in its containing instruction. + +2014-09-16 Kuan-Lin Chen + + * nds32.h: Add new opcode declaration. + +2014-09-15 Andrew Bennett + Matthew Fortune + + * mips.h (mips_operand_type): Add new entries: OP_SAME_RS_RT, + OP_CHECK_PREV and OP_NON_ZERO_REG. Add descriptions for the MIPS R6 + instruction arguments: -a, -b, -d, -s, -t, -u, -v, -w, -x, -y, -A, -B, + +I, +O, +R, +:, +\, +", +; + (mips_check_prev_operand): New struct. + (INSN2_FORBIDDEN_SLOT): New define. + (INSN_ISA32R6): New define. + (INSN_ISA64R6): New define. + (INSN_UPTO32R6): New define. + (INSN_UPTO64R6): New define. + (mips_isa_table): Add INSN_UPTO32R6 and INSN_UPTO64R6. + (ISA_MIPS32R6): New define. + (ISA_MIPS64R6): New define. + (CPU_MIPS32R6): New define. + (CPU_MIPS64R6): New define. + (cpu_is_member): Add cases for CPU_MIPS32R6, and CPU_MIPS64R6. + +2014-09-03 Jiong Wang + + * aarch64.h (AARCH64_FEATURE_LSE): New feature added. + (aarch64_opnd): Add AARCH64_OPND_PAIRREG. + (aarch64_insn_class): Add lse_atomic. + (F_LSE_SZ): New field added. + (opcode_has_special_coder): Recognize F_LSE_SZ. + +2014-08-26 Maciej W. Rozycki + + * mips.h: Document the move of `MICROMIPSOP_*_CODE10' from `B' + over to `+J'. + +2014-07-29 Matthew Fortune + + * mips.h (INSN_LOAD_COPROC_DELAY): Rename to... + (INSN_LOAD_COPROC): New define. + (INSN_COPROC_MOVE_DELAY): Rename to... + (INSN_COPROC_MOVE): New define. + +2014-07-01 Barney Stratford + Senthil Kumar Selvaraj + Pitchumani Sivanupandi + Soundararajan + + * avr.h (AVR_ISA_TINY): Define avrtiny specific ISA. + (AVR_ISA_2xxxa): Define ISA without LPM. + (AVR_ISA_AVRTINY): Define avrtiny arch ISA. + Add doc for contraint used in 16 bit lds/sts. + Adjust ISA group for icall, ijmp, pop and push. + Add 16 bit lds/sts encoding and update 32 bit lds/sts constraints. + +2014-05-19 Nick Clifton + + * msp430.h (struct msp430_operand_s): Add vshift field. + +2014-05-07 Andrew Bennett + + * mips.h (INSN_ISA_MASK): Updated. + (INSN_ISA32R3): New define. + (INSN_ISA32R5): New define. + (INSN_ISA64R3): New define. + (INSN_ISA64R5): New define. + (INSN_ISA64, INSN_ISA64R2, INSN_ISA3_32, INSN_ISA3_32R2, INSN_ISA4_32 + INSN_ISA4_32R2, INSN_ISA5_32R2): Renumbered. + (mips_isa_table): Add entries for mips32r3, mips32r5, mips64r3 and + mips64r5. + (INSN_UPTO32R3): New define. + (INSN_UPTO32R5): New define. + (INSN_UPTO64R3): New define. + (INSN_UPTO64R5): New define. + (ISA_MIPS32R3): New define. + (ISA_MIPS32R5): New define. + (ISA_MIPS64R3): New define. + (ISA_MIPS64R5): New define. + (CPU_MIPS32R3): New define. + (CPU_MIPS32R5): New define. + (CPU_MIPS64R3): New define. + (CPU_MIPS64R5): New define. + +2014-05-01 Richard Sandiford + + * mips.h (mips_isa_table): Avoid hard-coding INSN_ISA* values. + +2014-04-22 Christian Svensson + + * or32.h: Delete. + +2014-03-05 Alan Modra + + Update copyright years. + +2013-12-16 Andrew Bennett + + * mips.h: Updated description of +o, +u, +v and +w for MIPS and + microMIPS. + +2013-12-13 Kuan-Lin Chen + Wei-Cheng Wang + + * nds32.h: New file for Andes NDS32. + +2013-12-07 Mike Frysinger + + * bfin.h: Remove +x file mode. + +2013-11-20 Yufeng Zhang + + * aarch64.h (aarch64_pstatefields): Change element type to + aarch64_sys_reg. + +2013-11-18 Renlin Li + + * arm.h (ARM_AEXT_V7VE): New define. + (ARM_ARCH_V7VE): New define. + (ARM_ARCH_V7A_IDIV_MP_SEC_VIRT): Removed. + +2013-11-18 Yufeng Zhang + + Revert + + 2013-11-15 Yufeng Zhang + + * aarch64.h (aarch64_sys_reg_readonly_p): New declaration. + (aarch64_sys_reg_writeonly_p): Ditto. + +2013-11-15 Yufeng Zhang + + * aarch64.h (aarch64_sys_reg_readonly_p): New declaration. + (aarch64_sys_reg_writeonly_p): Ditto. + +2013-11-05 Yufeng Zhang + + * aarch64.h (aarch64_sys_reg): New typedef. + (aarch64_sys_regs): Change to define with the new type. + (aarch64_sys_reg_deprecated_p): Declare. + +2013-11-05 Yufeng Zhang + + * aarch64.h (enum aarch64_operand_class): Add AARCH64_OPND_CLASS_COND. + (enum aarch64_opnd): Add AARCH64_OPND_COND1. + 2013-10-14 Chao-ying Fu * mips.h (mips_operand_type): Add OP_IMM_INDEX and OP_REG_INDEX. @@ -1902,7 +2068,7 @@ For older changes see ChangeLog-9103 -Copyright (C) 2004-2012 Free Software Foundation, Inc. +Copyright (C) 2004-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/include/opcode/aarch64.h b/binutils-2.25/include/opcode/aarch64.h index eaf3cda5..c0afd74a 100644 --- a/binutils-2.25/include/opcode/aarch64.h +++ b/binutils-2.25/include/opcode/aarch64.h @@ -1,6 +1,6 @@ /* AArch64 assembler/disassembler support. - Copyright 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of GNU Binutils. @@ -38,6 +38,7 @@ typedef uint32_t aarch64_insn; #define AARCH64_FEATURE_FP 0x00020000 /* FP instructions. */ #define AARCH64_FEATURE_SIMD 0x00040000 /* SIMD instructions. */ #define AARCH64_FEATURE_CRC 0x00080000 /* CRC instructions. */ +#define AARCH64_FEATURE_LSE 0x00100000 /* LSE instructions. */ /* Architectures are the sum of the base and extensions. */ #define AARCH64_ARCH_V8 AARCH64_FEATURE (AARCH64_FEATURE_V8, \ @@ -85,6 +86,7 @@ enum aarch64_operand_class AARCH64_OPND_CLASS_ADDRESS, AARCH64_OPND_CLASS_IMMEDIATE, AARCH64_OPND_CLASS_SYSTEM, + AARCH64_OPND_CLASS_COND, }; /* Operand code that helps both parsing and coding. @@ -105,6 +107,7 @@ enum aarch64_opnd AARCH64_OPND_Rd_SP, /* Integer Rd or SP. */ AARCH64_OPND_Rn_SP, /* Integer Rn or SP. */ + AARCH64_OPND_PAIRREG, /* Paired register operand. */ AARCH64_OPND_Rm_EXT, /* Integer Rm extended. */ AARCH64_OPND_Rm_SFT, /* Integer Rm shifted. */ @@ -168,6 +171,7 @@ enum aarch64_opnd AARCH64_OPND_IMM_MOV, /* Immediate operand for the MOV alias. */ AARCH64_OPND_COND, /* Standard condition as the last operand. */ + AARCH64_OPND_COND1, /* Same as the above, but excluding AL and NV. */ AARCH64_OPND_ADDR_ADRP, /* Memory address for ADRP */ AARCH64_OPND_ADDR_PCREL14, /* 14-bit PC-relative address for e.g. TBZ. */ @@ -338,6 +342,7 @@ enum aarch64_insn_class loadlit, log_imm, log_shift, + lse_atomic, movewide, pcreladdr, ic_system, @@ -548,7 +553,9 @@ extern aarch64_opcode aarch64_opcode_table[]; #define F_N (1 << 23) /* Opcode dependent field. */ #define F_OD(X) (((X) & 0x7) << 24) -/* Next bit is 27. */ +/* Instruction has the field of 'sz'. */ +#define F_LSE_SZ (1 << 27) +/* Next bit is 28. */ static inline bfd_boolean alias_opcode_p (const aarch64_opcode *opcode) @@ -597,7 +604,7 @@ get_opcode_dependent_value (const aarch64_opcode *opcode) static inline bfd_boolean opcode_has_special_coder (const aarch64_opcode *opcode) { - return (opcode->flags & (F_SF | F_SIZEQ | F_FPTYPE | F_SSIZE | F_T + return (opcode->flags & (F_SF | F_LSE_SZ | F_SIZEQ | F_FPTYPE | F_SSIZE | F_T | F_GPRSIZE_IN_Q | F_LDS_SIZE | F_MISC | F_N | F_COND)) ? TRUE : FALSE; } @@ -609,11 +616,20 @@ struct aarch64_name_value_pair }; extern const struct aarch64_name_value_pair aarch64_operand_modifiers []; -extern const struct aarch64_name_value_pair aarch64_sys_regs []; -extern const struct aarch64_name_value_pair aarch64_pstatefields []; extern const struct aarch64_name_value_pair aarch64_barrier_options [16]; extern const struct aarch64_name_value_pair aarch64_prfops [32]; +typedef struct +{ + const char * name; + aarch64_insn value; + uint32_t flags; +} aarch64_sys_reg; + +extern const aarch64_sys_reg aarch64_sys_regs []; +extern const aarch64_sys_reg aarch64_pstatefields []; +extern bfd_boolean aarch64_sys_reg_deprecated_p (const aarch64_sys_reg *); + typedef struct { const char *template; diff --git a/binutils-2.25/include/opcode/alpha.h b/binutils-2.25/include/opcode/alpha.h index 2c0d4f6c..121c831e 100644 --- a/binutils-2.25/include/opcode/alpha.h +++ b/binutils-2.25/include/opcode/alpha.h @@ -1,5 +1,5 @@ /* alpha.h -- Header file for Alpha opcode table - Copyright 1996, 1999, 2001, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. Contributed by Richard Henderson , patterned after the PPC opcode table written by Ian Lance Taylor. diff --git a/binutils-2.25/include/opcode/arc.h b/binutils-2.25/include/opcode/arc.h index 695fec1e..6ababaa7 100644 --- a/binutils-2.25/include/opcode/arc.h +++ b/binutils-2.25/include/opcode/arc.h @@ -1,6 +1,5 @@ /* Opcode table for the ARC. - Copyright 1994, 1995, 1997, 2001, 2002, 2003, 2010 - Free Software Foundation, Inc. + Copyright (C) 1994-2014 Free Software Foundation, Inc. Contributed by Doug Evans (dje@cygnus.com). This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and diff --git a/binutils-2.25/include/opcode/arm.h b/binutils-2.25/include/opcode/arm.h index 851fd3c8..6d4825aa 100644 --- a/binutils-2.25/include/opcode/arm.h +++ b/binutils-2.25/include/opcode/arm.h @@ -1,5 +1,5 @@ /* ARM assembler/disassembler support. - Copyright 2004, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2004-2014 Free Software Foundation, Inc. This file is part of GDB and GAS. @@ -116,6 +116,8 @@ #define ARM_AEXT_V6ZKT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K | ARM_EXT_SEC) #define ARM_AEXT_V7_ARM (ARM_AEXT_V6KT2 | ARM_EXT_V7 | ARM_EXT_BARRIER) #define ARM_AEXT_V7A (ARM_AEXT_V7_ARM | ARM_EXT_V7A) +#define ARM_AEXT_V7VE (ARM_AEXT_V7A | ARM_EXT_DIV | ARM_EXT_ADIV \ + | ARM_EXT_VIRT | ARM_EXT_SEC | ARM_EXT_MP) #define ARM_AEXT_V7R (ARM_AEXT_V7_ARM | ARM_EXT_V7R | ARM_EXT_DIV) #define ARM_AEXT_NOTM \ (ARM_AEXT_V4 | ARM_EXT_V5ExP | ARM_EXT_V5J | ARM_EXT_V6_NOTM \ @@ -224,6 +226,7 @@ #define ARM_ARCH_V6SM ARM_FEATURE (ARM_AEXT_V6SM, 0) #define ARM_ARCH_V7 ARM_FEATURE (ARM_AEXT_V7, 0) #define ARM_ARCH_V7A ARM_FEATURE (ARM_AEXT_V7A, 0) +#define ARM_ARCH_V7VE ARM_FEATURE (ARM_AEXT_V7VE, 0) #define ARM_ARCH_V7R ARM_FEATURE (ARM_AEXT_V7R, 0) #define ARM_ARCH_V7M ARM_FEATURE (ARM_AEXT_V7M, 0) #define ARM_ARCH_V7EM ARM_FEATURE (ARM_AEXT_V7EM, 0) @@ -241,11 +244,6 @@ #define ARM_ARCH_V7A_MP_SEC \ ARM_FEATURE (ARM_AEXT_V7A | ARM_EXT_MP | ARM_EXT_SEC, \ 0) -/* v7-a+idiv+mp+sec+virt. */ -#define ARM_ARCH_V7A_IDIV_MP_SEC_VIRT \ - ARM_FEATURE (ARM_AEXT_V7A | ARM_EXT_MP | ARM_EXT_SEC \ - | ARM_EXT_DIV | ARM_EXT_ADIV \ - | ARM_EXT_VIRT, 0) /* v7-r+idiv. */ #define ARM_ARCH_V7R_IDIV ARM_FEATURE (ARM_AEXT_V7R | ARM_EXT_ADIV, 0) /* Features that are present in v6M and v6S-M but not other v6 cores. */ diff --git a/binutils-2.25/include/opcode/avr.h b/binutils-2.25/include/opcode/avr.h index f1d73ad9..56838486 100644 --- a/binutils-2.25/include/opcode/avr.h +++ b/binutils-2.25/include/opcode/avr.h @@ -1,6 +1,6 @@ /* Opcode table for the Atmel AVR micro controllers. - Copyright 2000, 2001, 2004, 2006, 2008, 2010, 2012 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. Contributed by Denis Chertykov This program is free software; you can redistribute it and/or modify @@ -22,6 +22,7 @@ #define AVR_ISA_LPM 0x0002 /* device has LPM */ #define AVR_ISA_LPMX 0x0004 /* device has LPM Rd,Z[+] */ #define AVR_ISA_SRAM 0x0008 /* device has SRAM (LD, ST, PUSH, POP, ...) */ +#define AVR_ISA_TINY 0x0010 /* device has Tiny core specific encodings */ #define AVR_ISA_MEGA 0x0020 /* device has >8K program memory (JMP and CALL supported, no 8K wrap on RJMP and RCALL) */ #define AVR_ISA_MUL 0x0040 /* device has new core (MUL, FMUL, ...) */ @@ -37,6 +38,7 @@ #define AVR_ISA_TINY1 (AVR_ISA_1200 | AVR_ISA_LPM) #define AVR_ISA_2xxx (AVR_ISA_TINY1 | AVR_ISA_SRAM) +#define AVR_ISA_2xxxa (AVR_ISA_1200 | AVR_ISA_SRAM) /* For the attiny26 which is missing LPM Rd,Z+. */ #define AVR_ISA_2xxe (AVR_ISA_2xxx | AVR_ISA_LPMX) #define AVR_ISA_RF401 (AVR_ISA_2xxx | AVR_ISA_MOVW | AVR_ISA_LPMX) @@ -72,6 +74,9 @@ AVR_ISA_ELPM | AVR_ISA_ELPMX | AVR_ISA_SPM | \ AVR_ISA_BRK | AVR_ISA_EIND | AVR_ISA_MOVW) +#define AVR_ISA_AVRTINY (AVR_ISA_1200 | AVR_ISA_BRK | AVR_ISA_SRAM | \ + AVR_ISA_TINY) + #define REGISTER_P(x) ((x) == 'r' \ || (x) == 'd' \ || (x) == 'w' \ @@ -94,7 +99,7 @@ `ld r,b' or `st b,r' respectively - next opcode entry)? */ #define AVR_DISP0_P(x) (((x) & 0xFC07) == 0x8000) -/* constraint letters +/* Constraint letters: r - any register d - `ldi' register (r16-r31) v - `movw' even register (r0, r2, ..., r28, r30) @@ -110,6 +115,7 @@ p - Port address value from 0 to 31. (cbi, sbi, sbic, sbis) K - immediate value from 0 to 63 (used in `adiw', `sbiw') i - immediate value + j - 7 bit immediate value from 0x40 to 0xBF (for 16-bit 'lds'/'sts') l - signed pc relative offset from -64 to 63 L - signed pc relative offset from -2048 to 2047 h - absolute code address (call, jmp) @@ -156,12 +162,12 @@ AVR_INSN (set, "", "1001010001101000", 1, AVR_ISA_1200, 0x9468) AVR_INSN (sev, "", "1001010000111000", 1, AVR_ISA_1200, 0x9438) AVR_INSN (sez, "", "1001010000011000", 1, AVR_ISA_1200, 0x9418) - /* Same as {cl,se}[chinstvz] above. */ +/* Same as {cl,se}[chinstvz] above. */ AVR_INSN (bclr, "S", "100101001SSS1000", 1, AVR_ISA_1200, 0x9488) AVR_INSN (bset, "S", "100101000SSS1000", 1, AVR_ISA_1200, 0x9408) -AVR_INSN (icall,"", "1001010100001001", 1, AVR_ISA_2xxx, 0x9509) -AVR_INSN (ijmp, "", "1001010000001001", 1, AVR_ISA_2xxx, 0x9409) +AVR_INSN (icall,"", "1001010100001001", 1, AVR_ISA_2xxxa,0x9509) +AVR_INSN (ijmp, "", "1001010000001001", 1, AVR_ISA_2xxxa,0x9409) AVR_INSN (lpm, "?", "1001010111001000", 1, AVR_ISA_TINY1,0x95c8) AVR_INSN (lpm, "r,z", "1001000ddddd010+", 1, AVR_ISA_LPMX, 0x9004) @@ -190,7 +196,7 @@ AVR_INSN (or, "r,r", "001010rdddddrrrr", 1, AVR_ISA_1200, 0x2800) AVR_INSN (sbc, "r,r", "000010rdddddrrrr", 1, AVR_ISA_1200, 0x0800) AVR_INSN (sub, "r,r", "000110rdddddrrrr", 1, AVR_ISA_1200, 0x1800) - /* Shorthand for {eor,add,adc,and} r,r above. */ +/* Shorthand for {eor,add,adc,and} r,r above. */ AVR_INSN (clr, "r=r", "001001rdddddrrrr", 1, AVR_ISA_1200, 0x2400) AVR_INSN (lsl, "r=r", "000011rdddddrrrr", 1, AVR_ISA_1200, 0x0c00) AVR_INSN (rol, "r=r", "000111rdddddrrrr", 1, AVR_ISA_1200, 0x1c00) @@ -245,7 +251,7 @@ AVR_INSN (brts, "l", "111100lllllll110", 1, AVR_ISA_1200, 0xf006) AVR_INSN (brvc, "l", "111101lllllll011", 1, AVR_ISA_1200, 0xf403) AVR_INSN (brvs, "l", "111100lllllll011", 1, AVR_ISA_1200, 0xf003) - /* Same as br?? above. */ +/* Same as br?? above. */ AVR_INSN (brbc, "s,l", "111101lllllllsss", 1, AVR_ISA_1200, 0xf400) AVR_INSN (brbs, "s,l", "111100lllllllsss", 1, AVR_ISA_1200, 0xf000) @@ -261,18 +267,18 @@ AVR_INSN (dec, "r", "1001010rrrrr1010", 1, AVR_ISA_1200, 0x940a) AVR_INSN (inc, "r", "1001010rrrrr0011", 1, AVR_ISA_1200, 0x9403) AVR_INSN (lsr, "r", "1001010rrrrr0110", 1, AVR_ISA_1200, 0x9406) AVR_INSN (neg, "r", "1001010rrrrr0001", 1, AVR_ISA_1200, 0x9401) -AVR_INSN (pop, "r", "1001000rrrrr1111", 1, AVR_ISA_2xxx, 0x900f) -AVR_INSN (push, "r", "1001001rrrrr1111", 1, AVR_ISA_2xxx, 0x920f) +AVR_INSN (pop, "r", "1001000rrrrr1111", 1, AVR_ISA_2xxxa,0x900f) +AVR_INSN (push, "r", "1001001rrrrr1111", 1, AVR_ISA_2xxxa,0x920f) AVR_INSN (ror, "r", "1001010rrrrr0111", 1, AVR_ISA_1200, 0x9407) AVR_INSN (swap, "r", "1001010rrrrr0010", 1, AVR_ISA_1200, 0x9402) - /* Atomic memory operations for XMEGA. List before `sts'. */ +/* Atomic memory operations for XMEGA. List before `sts'. */ AVR_INSN (xch, "z,r", "1001001rrrrr0100", 1, AVR_ISA_RMW, 0x9204) AVR_INSN (las, "z,r", "1001001rrrrr0101", 1, AVR_ISA_RMW, 0x9205) AVR_INSN (lac, "z,r", "1001001rrrrr0110", 1, AVR_ISA_RMW, 0x9206) AVR_INSN (lat, "z,r", "1001001rrrrr0111", 1, AVR_ISA_RMW, 0x9207) - /* Known to be decoded as `nop' by the old core. */ +/* Known to be decoded as `nop' by the old core. */ AVR_INSN (movw, "v,v", "00000001ddddrrrr", 1, AVR_ISA_MOVW, 0x0100) AVR_INSN (muls, "d,d", "00000010ddddrrrr", 1, AVR_ISA_MUL, 0x0200) AVR_INSN (mulsu,"a,a", "000000110ddd0rrr", 1, AVR_ISA_MUL, 0x0300) @@ -280,21 +286,23 @@ AVR_INSN (fmul, "a,a", "000000110ddd1rrr", 1, AVR_ISA_MUL, 0x0308) AVR_INSN (fmuls,"a,a", "000000111ddd0rrr", 1, AVR_ISA_MUL, 0x0380) AVR_INSN (fmulsu,"a,a","000000111ddd1rrr", 1, AVR_ISA_MUL, 0x0388) -AVR_INSN (sts, "i,r", "1001001ddddd0000", 2, AVR_ISA_2xxx, 0x9200) -AVR_INSN (lds, "r,i", "1001000ddddd0000", 2, AVR_ISA_2xxx, 0x9000) +AVR_INSN (sts, "j,d", "10101kkkddddkkkk", 1, AVR_ISA_TINY, 0xA800) +AVR_INSN (sts, "i,r", "1001001ddddd0000", 2, AVR_ISA_2xxx, 0x9200) +AVR_INSN (lds, "d,j", "10100kkkddddkkkk", 1, AVR_ISA_TINY, 0xA000) +AVR_INSN (lds, "r,i", "1001000ddddd0000", 2, AVR_ISA_2xxx, 0x9000) - /* Special case for b+0, `e' must be next entry after `b', - b={Y=1,Z=0}, ee={X=11,Y=10,Z=00}, !=1 if -e or e+ or X. */ +/* Special case for b+0, `e' must be next entry after `b', + b={Y=1,Z=0}, ee={X=11,Y=10,Z=00}, !=1 if -e or e+ or X. */ AVR_INSN (ldd, "r,b", "10o0oo0dddddbooo", 1, AVR_ISA_2xxx, 0x8000) AVR_INSN (ld, "r,e", "100!000dddddee-+", 1, AVR_ISA_1200, 0x8000) AVR_INSN (std, "b,r", "10o0oo1rrrrrbooo", 1, AVR_ISA_2xxx, 0x8200) AVR_INSN (st, "e,r", "100!001rrrrree-+", 1, AVR_ISA_1200, 0x8200) - /* These are for devices that don't exist yet - (>128K program memory, PC = EIND:Z). */ +/* These are for devices that don't exist yet + (>128K program memory, PC = EIND:Z). */ AVR_INSN (eicall, "", "1001010100011001", 1, AVR_ISA_EIND, 0x9519) AVR_INSN (eijmp, "", "1001010000011001", 1, AVR_ISA_EIND, 0x9419) -/* DES instruction for encryption and decryption */ +/* DES instruction for encryption and decryption. */ AVR_INSN (des, "E", "10010100EEEE1011", 1, AVR_ISA_DES, 0x940B) diff --git a/binutils-2.25/include/opcode/bfin.h b/binutils-2.25/include/opcode/bfin.h old mode 100755 new mode 100644 index 26f01938..fafe0d8a --- a/binutils-2.25/include/opcode/bfin.h +++ b/binutils-2.25/include/opcode/bfin.h @@ -1,5 +1,5 @@ /* bfin.h -- Header file for ADI Blackfin opcode table - Copyright 2005, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2005-2014 Free Software Foundation, Inc. This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/cgen.h b/binutils-2.25/include/opcode/cgen.h index b7e82d4d..905ae9a5 100644 --- a/binutils-2.25/include/opcode/cgen.h +++ b/binutils-2.25/include/opcode/cgen.h @@ -1,7 +1,6 @@ /* Header file for targets using CGEN: Cpu tools GENerator. - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GDB, the GNU debugger, and the GNU Binutils. diff --git a/binutils-2.25/include/opcode/convex.h b/binutils-2.25/include/opcode/convex.h index 4643f5e0..cbf7076a 100644 --- a/binutils-2.25/include/opcode/convex.h +++ b/binutils-2.25/include/opcode/convex.h @@ -1,5 +1,5 @@ /* Information for instruction disassembly on the Convex. - Copyright 1989, 1993, 2002, 2010 Free Software Foundation, Inc. + Copyright (C) 1989-2014 Free Software Foundation, Inc. This file is part of GDB. diff --git a/binutils-2.25/include/opcode/cr16.h b/binutils-2.25/include/opcode/cr16.h index 1f1191dc..e4050dc3 100644 --- a/binutils-2.25/include/opcode/cr16.h +++ b/binutils-2.25/include/opcode/cr16.h @@ -1,5 +1,5 @@ /* cr16.h -- Header file for CR16 opcode and register tables. - Copyright 2007, 2008, 2010, 2013 Free Software Foundation, Inc. + Copyright (C) 2007-2014 Free Software Foundation, Inc. Contributed by M R Swami Reddy This file is part of GAS, GDB and the GNU binutils. diff --git a/binutils-2.25/include/opcode/cris.h b/binutils-2.25/include/opcode/cris.h index e57a8825..ea0b135c 100644 --- a/binutils-2.25/include/opcode/cris.h +++ b/binutils-2.25/include/opcode/cris.h @@ -1,5 +1,5 @@ /* cris.h -- Header file for CRIS opcode and register tables. - Copyright (C) 2000, 2001, 2004, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. Contributed by Axis Communications AB, Lund, Sweden. Originally written for GAS 1.38.1 by Mikael Asker. Updated, BFDized and GNUified by Hans-Peter Nilsson. diff --git a/binutils-2.25/include/opcode/crx.h b/binutils-2.25/include/opcode/crx.h index 6081ea35..8c305b45 100644 --- a/binutils-2.25/include/opcode/crx.h +++ b/binutils-2.25/include/opcode/crx.h @@ -1,5 +1,5 @@ /* crx.h -- Header file for CRX opcode and register tables. - Copyright 2004, 2010, 2012 Free Software Foundation, Inc. + Copyright (C) 2004-2014 Free Software Foundation, Inc. Contributed by Tomer Levi, NSC, Israel. Originally written for GAS 2.12 by Tomer Levi, NSC, Israel. Updates, BFDizing, GNUifying and ELF support by Tomer Levi. diff --git a/binutils-2.25/include/opcode/d10v.h b/binutils-2.25/include/opcode/d10v.h index d0e115fa..1451f437 100644 --- a/binutils-2.25/include/opcode/d10v.h +++ b/binutils-2.25/include/opcode/d10v.h @@ -1,6 +1,5 @@ /* d10v.h -- Header file for D10V opcode table - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2010 - Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. Written by Martin Hunt (hunt@cygnus.com), Cygnus Support This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/d30v.h b/binutils-2.25/include/opcode/d30v.h index 62c041da..3c08729e 100644 --- a/binutils-2.25/include/opcode/d30v.h +++ b/binutils-2.25/include/opcode/d30v.h @@ -1,6 +1,5 @@ /* d30v.h -- Header file for D30V opcode table - Copyright 1997, 1998, 1999, 2000, 2001, 2003, 2010 - Free Software Foundation, Inc. + Copyright (C) 1997-2014 Free Software Foundation, Inc. Written by Martin Hunt (hunt@cygnus.com), Cygnus Solutions This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/dlx.h b/binutils-2.25/include/opcode/dlx.h index 54dadd07..19aff9ab 100644 --- a/binutils-2.25/include/opcode/dlx.h +++ b/binutils-2.25/include/opcode/dlx.h @@ -1,5 +1,5 @@ /* Table of opcodes for the DLX microprocess. - Copyright 2002, 2010 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. This file is part of GDB and GAS. diff --git a/binutils-2.25/include/opcode/h8300.h b/binutils-2.25/include/opcode/h8300.h index 3296deba..63b5682e 100644 --- a/binutils-2.25/include/opcode/h8300.h +++ b/binutils-2.25/include/opcode/h8300.h @@ -1,5 +1,5 @@ /* Opcode table for the H8/300 - Copyright 1991-2013 Free Software Foundation, Inc. + Copyright (C) 1991-2014 Free Software Foundation, Inc. Written by Steve Chamberlain . This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler. diff --git a/binutils-2.25/include/opcode/hppa.h b/binutils-2.25/include/opcode/hppa.h index 489ca550..a9f87af0 100644 --- a/binutils-2.25/include/opcode/hppa.h +++ b/binutils-2.25/include/opcode/hppa.h @@ -1,7 +1,5 @@ /* Table of opcodes for the PA-RISC. - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1990-2014 Free Software Foundation, Inc. Contributed by the Center for Software Science at the University of Utah (pa-gdb-bugs@cs.utah.edu). diff --git a/binutils-2.25/include/opcode/i370.h b/binutils-2.25/include/opcode/i370.h index e3b7166d..4f346502 100644 --- a/binutils-2.25/include/opcode/i370.h +++ b/binutils-2.25/include/opcode/i370.h @@ -1,6 +1,5 @@ /* i370.h -- Header file for S/390 opcode table - Copyright 1994, 1995, 1998, 1999, 2000, 2003, 2010 - Free Software Foundation, Inc. + Copyright (C) 1994-2014 Free Software Foundation, Inc. PowerPC version written by Ian Lance Taylor, Cygnus Support Rewritten for i370 ESA/390 support, Linas Vepstas diff --git a/binutils-2.25/include/opcode/i386.h b/binutils-2.25/include/opcode/i386.h index 6021002b..160a76f2 100644 --- a/binutils-2.25/include/opcode/i386.h +++ b/binutils-2.25/include/opcode/i386.h @@ -1,7 +1,5 @@ /* opcode/i386.h -- Intel 80386 opcode macros - Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1989-2014 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler, and GDB, the GNU Debugger. diff --git a/binutils-2.25/include/opcode/i860.h b/binutils-2.25/include/opcode/i860.h index 7f4aafd9..70f0ea79 100644 --- a/binutils-2.25/include/opcode/i860.h +++ b/binutils-2.25/include/opcode/i860.h @@ -1,6 +1,5 @@ /* Table of opcodes for the i860. - Copyright 1989, 1991, 2000, 2002, 2003, 2010 - Free Software Foundation, Inc. + Copyright (C) 1989-2014 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler, and GDB, the GNU disassembler. diff --git a/binutils-2.25/include/opcode/i960.h b/binutils-2.25/include/opcode/i960.h index 7b8e1f5d..650b6dac 100644 --- a/binutils-2.25/include/opcode/i960.h +++ b/binutils-2.25/include/opcode/i960.h @@ -1,6 +1,6 @@ /* Basic 80960 instruction formats. - Copyright 2001-2013 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/opcode/ia64.h b/binutils-2.25/include/opcode/ia64.h index 433c5058..f18353f2 100644 --- a/binutils-2.25/include/opcode/ia64.h +++ b/binutils-2.25/include/opcode/ia64.h @@ -1,6 +1,5 @@ /* ia64.h -- Header file for ia64 opcode table - Copyright (C) 1998, 1999, 2000, 2002, 2005, 2006, 2010 - Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. Contributed by David Mosberger-Tang This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/opcode/m68hc11.h b/binutils-2.25/include/opcode/m68hc11.h index 1a002008..8781e6c0 100644 --- a/binutils-2.25/include/opcode/m68hc11.h +++ b/binutils-2.25/include/opcode/m68hc11.h @@ -1,6 +1,5 @@ /* m68hc11.h -- Header file for Motorola 68HC11 & 68HC12 opcode table - Copyright 1999, 2000, 2002, 2003, 2010, 2012 - Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. Written by Stephane Carrez (stcarrez@nerim.fr) This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/m68k.h b/binutils-2.25/include/opcode/m68k.h index f7bd8b45..2d2d41b4 100644 --- a/binutils-2.25/include/opcode/m68k.h +++ b/binutils-2.25/include/opcode/m68k.h @@ -1,6 +1,5 @@ /* Opcode table header for m680[01234]0/m6888[12]/m68851. - Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2001, - 2003, 2004, 2006, 2010 Free Software Foundation, Inc. + Copyright (C) 1989-2014 Free Software Foundation, Inc. This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/m88k.h b/binutils-2.25/include/opcode/m88k.h index 739c0e90..35c7416f 100644 --- a/binutils-2.25/include/opcode/m88k.h +++ b/binutils-2.25/include/opcode/m88k.h @@ -1,6 +1,5 @@ /* Table of opcodes for the Motorola M88k family. - Copyright 1989, 1990, 1991, 1993, 2001, 2002, 2010 - Free Software Foundation, Inc. + Copyright (C) 1989-2014 Free Software Foundation, Inc. This file is part of GDB and GAS. diff --git a/binutils-2.25/include/opcode/metag.h b/binutils-2.25/include/opcode/metag.h index c9bb6680..6fc77186 100644 --- a/binutils-2.25/include/opcode/metag.h +++ b/binutils-2.25/include/opcode/metag.h @@ -1,5 +1,5 @@ /* Imagination Technologies Meta opcode table. - Copyright (C) 2013 Free Software Foundation, Inc. + Copyright (C) 2013-2014 Free Software Foundation, Inc. Contributed by Imagination Technologies Ltd. This file is part of GDB and GAS. diff --git a/binutils-2.25/include/opcode/mips.h b/binutils-2.25/include/opcode/mips.h index cb16d2a4..ef261674 100644 --- a/binutils-2.25/include/opcode/mips.h +++ b/binutils-2.25/include/opcode/mips.h @@ -1,7 +1,5 @@ /* mips.h. Mips opcode list for GDB, the GNU debugger. - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2008, 2009, 2010, 2013 - Free Software Foundation, Inc. + Copyright (C) 1993-2014 Free Software Foundation, Inc. Contributed by Ralph Campbell and OSF Commented and modified by Ian Lance Taylor, Cygnus Support @@ -419,7 +417,17 @@ enum mips_operand_type { OP_IMM_INDEX, /* An index selected by a register, e.g. [$2]. */ - OP_REG_INDEX + OP_REG_INDEX, + + /* The operand spans two 5-bit register fields, both of which must be set to + the source register. */ + OP_SAME_RS_RT, + + /* Described by mips_prev_operand. */ + OP_CHECK_PREV, + + /* A register operand that must not be zero. */ + OP_NON_ZERO_REG }; /* Enumerates the types of MIPS register. */ @@ -555,6 +563,18 @@ struct mips_reg_operand const unsigned char *reg_map; }; +/* Describes an operand that which must match a condition based on the + previous operand. */ +struct mips_check_prev_operand +{ + struct mips_operand root; + + bfd_boolean greater_than_ok; + bfd_boolean less_than_ok; + bfd_boolean equal_ok; + bfd_boolean zero_ok; +}; + /* Describes an operand that encodes a pair of registers. */ struct mips_reg_pair_operand { @@ -910,10 +930,10 @@ struct mips_opcode "+k" 5-bit GPR at bit 6 "+l" 5-bit MSA control register at bit 6 "+n" 5-bit MSA control register at bit 11 - "+o" 5-bit vector element index at bit 16 - "+u" 4-bit vector element index at bit 16 - "+v" 3-bit vector element index at bit 16 - "+w" 2-bit vector element index at bit 16 + "+o" 4-bit vector element index at bit 16 + "+u" 3-bit vector element index at bit 16 + "+v" 2-bit vector element index at bit 16 + "+w" 1-bit vector element index at bit 16 "+T" (-512 .. 511) << 0 at bit 16 "+U" (-512 .. 511) << 1 at bit 16 "+V" (-512 .. 511) << 2 at bit 16 @@ -929,6 +949,28 @@ struct mips_opcode "+*" 5-bit register vector element index at bit 16 "+|" 8-bit mask at bit 16 + MIPS R6: + "+:" 11-bit mask at bit 0 + "+'" 26 bit PC relative branch target address + "+"" 21 bit PC relative branch target address + "+;" 5 bit same register in both OP_*_RS and OP_*_RT + "+I" 2bit unsigned bit position at bit 6 + "+O" 3bit unsigned bit position at bit 6 + "+R" must be program counter + "-a" (-262144 .. 262143) << 2 at bit 0 + "-b" (-131072 .. 131071) << 3 at bit 0 + "-d" Same as destination register GP + "-s" 5 bit source register specifier (OP_*_RS) not $0 + "-t" 5 bit source register specifier (OP_*_RT) not $0 + "-u" 5 bit source register specifier (OP_*_RT) greater than OP_*_RS + "-v" 5 bit source register specifier (OP_*_RT) not $0 not OP_*_RS + "-w" 5 bit source register specifier (OP_*_RT) less than or equal to OP_*_RS + "-x" 5 bit source register specifier (OP_*_RT) greater than or + equal to OP_*_RS + "-y" 5 bit source register specifier (OP_*_RT) not $0 less than OP_*_RS + "-A" symbolic offset (-262144 .. 262143) << 2 at bit 0 + "-B" symbolic offset (-131072 .. 131071) << 3 at bit 0 + Other: "()" parens surrounding optional value "," separates operands @@ -936,16 +978,21 @@ struct mips_opcode Characters used so far, for quick reference when adding more: "1234567890" - "%[]<>(),+:'@!#$*&\~" + "%[]<>(),+-:'@!#$*&\~" "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklopqrstuvwxz" Extension character sequences used so far ("+" followed by the following), for quick reference when adding more: "1234567890" - "~!@#$%^&*|" - "ABCEFGHJKLMNPQSTUVWXZ" + "~!@#$%^&*|:'";" + "ABCEFGHIJKLMNOPQRSTUVWXZ" "abcdefghijklmnopqrstuvwxyz" + + Extension character sequences used so far ("-" followed by the + following), for quick reference when adding more: + "AB" + "abdstuvwxy" */ /* These are the bits which may be set in the pinfo field of an @@ -973,18 +1020,18 @@ struct mips_opcode #define INSN_TLB 0x00000200 /* Reads coprocessor register other than floating point register. */ #define INSN_COP 0x00000400 -/* Instruction loads value from memory, requiring delay. */ -#define INSN_LOAD_MEMORY_DELAY 0x00000800 -/* Instruction loads value from coprocessor, requiring delay. */ -#define INSN_LOAD_COPROC_DELAY 0x00001000 +/* Instruction loads value from memory. */ +#define INSN_LOAD_MEMORY 0x00000800 +/* Instruction loads value from coprocessor, (may require delay). */ +#define INSN_LOAD_COPROC 0x00001000 /* Instruction has unconditional branch delay slot. */ #define INSN_UNCOND_BRANCH_DELAY 0x00002000 /* Instruction has conditional branch delay slot. */ #define INSN_COND_BRANCH_DELAY 0x00004000 /* Conditional branch likely: if branch not taken, insn nullified. */ #define INSN_COND_BRANCH_LIKELY 0x00008000 -/* Moves to coprocessor register, requiring delay. */ -#define INSN_COPROC_MOVE_DELAY 0x00010000 +/* Moves to coprocessor register, (may require delay). */ +#define INSN_COPROC_MOVE 0x00010000 /* Loads coprocessor register from memory, requiring delay. */ #define INSN_COPROC_MEMORY_DELAY 0x00020000 /* Reads the HI register. */ @@ -1053,6 +1100,8 @@ struct mips_opcode #define INSN2_READ_GPR_16 0x00002000 /* Has an "\.x?y?z?w?" suffix based on mips_vu0_channel_mask. */ #define INSN2_VU0_CHANNEL_SUFFIX 0x00004000 +/* Instruction has a forbidden slot. */ +#define INSN2_FORBIDDEN_SLOT 0x00008000 /* Masks used to mark instructions to indicate which MIPS ISA level they were introduced in. INSN_ISA_MASK masks an enumeration that @@ -1060,7 +1109,7 @@ struct mips_opcode word constructed using these macros is a bitmask of the remaining INSN_* values below. */ -#define INSN_ISA_MASK 0x0000000ful +#define INSN_ISA_MASK 0x0000001ful /* We cannot start at zero due to ISA_UNKNOWN below. */ #define INSN_ISA1 1 @@ -1070,28 +1119,75 @@ struct mips_opcode #define INSN_ISA5 5 #define INSN_ISA32 6 #define INSN_ISA32R2 7 -#define INSN_ISA64 8 -#define INSN_ISA64R2 9 +#define INSN_ISA32R3 8 +#define INSN_ISA32R5 9 +#define INSN_ISA32R6 10 +#define INSN_ISA64 11 +#define INSN_ISA64R2 12 +#define INSN_ISA64R3 13 +#define INSN_ISA64R5 14 +#define INSN_ISA64R6 15 /* Below this point the INSN_* values correspond to combinations of ISAs. They are only for use in the opcodes table to indicate membership of a combination of ISAs that cannot be expressed using the usual inclusion ordering on the above INSN_* values. */ -#define INSN_ISA3_32 10 -#define INSN_ISA3_32R2 11 -#define INSN_ISA4_32 12 -#define INSN_ISA4_32R2 13 -#define INSN_ISA5_32R2 14 - -/* Given INSN_ISA* values X and Y, where X ranges over INSN_ISA1 through - INSN_ISA5_32R2 and Y ranges over INSN_ISA1 through INSN_ISA64R2, - this table describes whether at least one of the ISAs described by X - is/are implemented by ISA Y. (Think of Y as the ISA level supported by - a particular core and X as the ISA level(s) at which a certain instruction - is defined.) The ISA(s) described by X is/are implemented by Y iff - (mips_isa_table[(Y & INSN_ISA_MASK) - 1] >> ((X & INSN_ISA_MASK) - 1)) & 1 - is non-zero. */ -static const unsigned int mips_isa_table[] = - { 0x0001, 0x0003, 0x0607, 0x1e0f, 0x3e1f, 0x0a23, 0x3e63, 0x3ebf, 0x3fff }; +#define INSN_ISA3_32 16 +#define INSN_ISA3_32R2 17 +#define INSN_ISA4_32 18 +#define INSN_ISA4_32R2 19 +#define INSN_ISA5_32R2 20 + +/* The R6 definitions shown below state that they support all previous ISAs. + This is not actually true as some instructions are removed in R6. + The problem is that the removed instructions in R6 come from different + ISAs. One approach to solve this would be to describe in the membership + field of the opcode table the different ISAs an instruction belongs to. + This would require us to create a large amount of different ISA + combinations which is hard to manage. A cleaner approach (which is + implemented here) is to say that R6 is an extension of R5 and then to + deal with the removed instructions by adding instruction exclusions + for R6 in the opcode table. */ + +/* Bit INSN_ISA - 1 of INSN_UPTO is set if ISA Y includes ISA X. */ + +#define ISAF(X) (1 << (INSN_ISA##X - 1)) +#define INSN_UPTO1 ISAF(1) +#define INSN_UPTO2 INSN_UPTO1 | ISAF(2) +#define INSN_UPTO3 INSN_UPTO2 | ISAF(3) | ISAF(3_32) | ISAF(3_32R2) +#define INSN_UPTO4 INSN_UPTO3 | ISAF(4) | ISAF(4_32) | ISAF(4_32R2) +#define INSN_UPTO5 INSN_UPTO4 | ISAF(5) | ISAF(5_32R2) +#define INSN_UPTO32 INSN_UPTO2 | ISAF(32) | ISAF(3_32) | ISAF(4_32) +#define INSN_UPTO32R2 INSN_UPTO32 | ISAF(32R2) \ + | ISAF(3_32R2) | ISAF(4_32R2) | ISAF(5_32R2) +#define INSN_UPTO32R3 INSN_UPTO32R2 | ISAF(32R3) +#define INSN_UPTO32R5 INSN_UPTO32R3 | ISAF(32R5) +#define INSN_UPTO32R6 INSN_UPTO32R5 | ISAF(32R6) +#define INSN_UPTO64 INSN_UPTO5 | ISAF(64) | ISAF(32) +#define INSN_UPTO64R2 INSN_UPTO64 | ISAF(64R2) | ISAF(32R2) +#define INSN_UPTO64R3 INSN_UPTO64R2 | ISAF(64R3) | ISAF(32R3) +#define INSN_UPTO64R5 INSN_UPTO64R3 | ISAF(64R5) | ISAF(32R5) +#define INSN_UPTO64R6 INSN_UPTO64R5 | ISAF(64R6) | ISAF(32R6) + +/* The same information in table form: bit INSN_ISA - 1 of index + INSN_UPTO - 1 is set if ISA Y includes ISA X. */ +static const unsigned int mips_isa_table[] = { + INSN_UPTO1, + INSN_UPTO2, + INSN_UPTO3, + INSN_UPTO4, + INSN_UPTO5, + INSN_UPTO32, + INSN_UPTO32R2, + INSN_UPTO32R3, + INSN_UPTO32R5, + INSN_UPTO32R6, + INSN_UPTO64, + INSN_UPTO64R2, + INSN_UPTO64R3, + INSN_UPTO64R5, + INSN_UPTO64R6 +}; +#undef ISAF /* Masks used for Chip specific instructions. */ #define INSN_CHIP_MASK 0xc3ff0f20 @@ -1157,6 +1253,8 @@ static const unsigned int mips_isa_table[] = /* MSA Extension */ #define ASE_MSA 0x00000800 #define ASE_MSA64 0x00001000 +/* eXtended Physical Address (XPA) Extension. */ +#define ASE_XPA 0x00002000 /* MIPS ISA defines, use instead of hardcoding ISA level. */ @@ -1171,8 +1269,14 @@ static const unsigned int mips_isa_table[] = #define ISA_MIPS64 INSN_ISA64 #define ISA_MIPS32R2 INSN_ISA32R2 +#define ISA_MIPS32R3 INSN_ISA32R3 +#define ISA_MIPS32R5 INSN_ISA32R5 #define ISA_MIPS64R2 INSN_ISA64R2 +#define ISA_MIPS64R3 INSN_ISA64R3 +#define ISA_MIPS64R5 INSN_ISA64R5 +#define ISA_MIPS32R6 INSN_ISA32R6 +#define ISA_MIPS64R6 INSN_ISA64R6 /* CPU defines, use instead of hardcoding processor number. Keep this in sync with bfd/archures.c in order for machine selection to work. */ @@ -1203,9 +1307,15 @@ static const unsigned int mips_isa_table[] = #define CPU_MIPS16 16 #define CPU_MIPS32 32 #define CPU_MIPS32R2 33 +#define CPU_MIPS32R3 34 +#define CPU_MIPS32R5 36 +#define CPU_MIPS32R6 37 #define CPU_MIPS5 5 #define CPU_MIPS64 64 #define CPU_MIPS64R2 65 +#define CPU_MIPS64R3 66 +#define CPU_MIPS64R5 68 +#define CPU_MIPS64R6 69 #define CPU_SB1 12310201 /* octal 'SB', 01. */ #define CPU_LOONGSON_2E 3001 #define CPU_LOONGSON_2F 3002 @@ -1281,6 +1391,13 @@ cpu_is_member (int cpu, unsigned int mask) case CPU_XLR: return (mask & INSN_XLR) != 0; + case CPU_MIPS32R6: + return (mask & INSN_ISA_MASK) == INSN_ISA32R6; + + case CPU_MIPS64R6: + return ((mask & INSN_ISA_MASK) == INSN_ISA32R6) + || ((mask & INSN_ISA_MASK) == INSN_ISA64R6); + default: return FALSE; } @@ -2018,7 +2135,6 @@ extern const int bfd_mips16_num_opcodes; "y" 5-bit source 3 register for ALNV.PS (MICROMIPSOP_*_RS3) "z" must be zero register "C" 23-bit coprocessor function code (MICROMIPSOP_*_COPZ) - "B" 10-bit syscall/wait function code (MICROMIPSOP_*_CODE10) "K" 5-bit Hardware Register (RDHWR instruction) (MICROMIPSOP_*_RS) "+A" 5-bit INS/EXT/DINS/DEXT/DINSM/DEXTM position, which becomes @@ -2043,6 +2159,8 @@ extern const int bfd_mips16_num_opcodes; "+H" 5-bit DEXTU size, which becomes MSBD (MICROMIPSOP_*_EXTMSBD). Requires that "+A" or "+E" occur first to set position. Enforces: 32 < (pos+size) <= 64. + "+J" 10-bit SYSCALL/WAIT/SDBBP/HYPCALL function code + (MICROMIPSOP_*_CODE10) PC-relative addition (ADDIUPC) instruction: "mQ" 23-bit offset (-4194304 .. 4194303) << 2 (MICROMIPSOP_*_IMMQ) @@ -2093,10 +2211,10 @@ extern const int bfd_mips16_num_opcodes; "+k" 5-bit GPR at bit 6 "+l" 5-bit MSA control register at bit 6 "+n" 5-bit MSA control register at bit 11 - "+o" 5-bit vector element index at bit 16 - "+u" 4-bit vector element index at bit 16 - "+v" 3-bit vector element index at bit 16 - "+w" 2-bit vector element index at bit 16 + "+o" 4-bit vector element index at bit 16 + "+u" 3-bit vector element index at bit 16 + "+v" 2-bit vector element index at bit 16 + "+w" 1-bit vector element index at bit 16 "+x" 5-bit shift amount at bit 16 "+T" (-512 .. 511) << 0 at bit 16 "+U" (-512 .. 511) << 1 at bit 16 @@ -2121,7 +2239,7 @@ extern const int bfd_mips16_num_opcodes; Characters used so far, for quick reference when adding more: "12345678 0" - "<>(),+.@\^|~" + "<>(),+-.@\^|~" "ABCDEFGHI KLMN RST V " "abcd f hijklmnopqrstuvw yz" @@ -2129,7 +2247,7 @@ extern const int bfd_mips16_num_opcodes; following), for quick reference when adding more: "" "~!@#$%^&*|" - "ABCEFGHTUVW" + "ABCEFGHJTUVW" "dehijklnouvwx" Extension character sequences used so far ("m" followed by the @@ -2138,6 +2256,12 @@ extern const int bfd_mips16_num_opcodes; "" " BCDEFGHIJ LMNOPQ U WXYZ" " bcdefghij lmn pq st xyz" + + Extension character sequences used so far ("-" followed by the + following), for quick reference when adding more: + "" + "" + */ extern const struct mips_operand *decode_micromips_operand (const char *); diff --git a/binutils-2.25/include/opcode/mmix.h b/binutils-2.25/include/opcode/mmix.h index f931545d..f0d7a8ff 100644 --- a/binutils-2.25/include/opcode/mmix.h +++ b/binutils-2.25/include/opcode/mmix.h @@ -1,5 +1,5 @@ /* mmix.h -- Header file for MMIX opcode table - Copyright (C) 2001, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. Written by Hans-Peter Nilsson (hp@bitrange.com) This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/mn10200.h b/binutils-2.25/include/opcode/mn10200.h index b597d7b4..f327d10f 100644 --- a/binutils-2.25/include/opcode/mn10200.h +++ b/binutils-2.25/include/opcode/mn10200.h @@ -1,5 +1,5 @@ /* mn10200.h -- Header file for Matsushita 10200 opcode table - Copyright 1996, 1997, 2010 Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. Written by Jeff Law, Cygnus Support This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/mn10300.h b/binutils-2.25/include/opcode/mn10300.h index 16a139bc..eaa82e2e 100644 --- a/binutils-2.25/include/opcode/mn10300.h +++ b/binutils-2.25/include/opcode/mn10300.h @@ -1,5 +1,5 @@ /* mn10300.h -- Header file for Matsushita 10300 opcode table - Copyright 1996, 1997, 1998, 1999, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. Written by Jeff Law, Cygnus Support This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/moxie.h b/binutils-2.25/include/opcode/moxie.h index dae40c8e..6c5a0039 100644 --- a/binutils-2.25/include/opcode/moxie.h +++ b/binutils-2.25/include/opcode/moxie.h @@ -1,5 +1,5 @@ /* Definitions for decoding the moxie opcode table. - Copyright 2009 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Contributed by Anthony Green (green@moxielogic.com). This program is free software; you can redistribute it and/or modify diff --git a/binutils-2.25/include/opcode/msp430-decode.h b/binutils-2.25/include/opcode/msp430-decode.h index 0653aded..70fff07a 100644 --- a/binutils-2.25/include/opcode/msp430-decode.h +++ b/binutils-2.25/include/opcode/msp430-decode.h @@ -1,5 +1,5 @@ /* Opcode decoder for the TI MSP430 - Copyright 2012-2013 Free Software Foundation, Inc. + Copyright (C) 2012-2014 Free Software Foundation, Inc. Written by DJ Delorie This file is part of GDB, the GNU Debugger. diff --git a/binutils-2.25/include/opcode/msp430.h b/binutils-2.25/include/opcode/msp430.h index caddc42d..0e73815a 100644 --- a/binutils-2.25/include/opcode/msp430.h +++ b/binutils-2.25/include/opcode/msp430.h @@ -1,6 +1,6 @@ /* Opcode table for the TI MSP430 microcontrollers - Copyright 2002-2013 Free Software Foundation, Inc. + Copyright (C) 2002-2014 Free Software Foundation, Inc. Contributed by Dmitry Diky This program is free software; you can redistribute it and/or modify @@ -26,7 +26,8 @@ struct msp430_operand_s int ol; /* Operand length words. */ int am; /* Addr mode. */ int reg; /* Register. */ - int mode; /* Pperand mode. */ + int mode; /* Operand mode. */ + int vshift; /* Number of bytes to shift operand down. */ #define OP_REG 0 #define OP_EXP 1 #ifndef DASM_SECTION diff --git a/binutils-2.25/include/opcode/nds32.h b/binutils-2.25/include/opcode/nds32.h new file mode 100644 index 00000000..9592be66 --- /dev/null +++ b/binutils-2.25/include/opcode/nds32.h @@ -0,0 +1,831 @@ +/* nds32.h -- Header file for nds32 opcode table + Copyright (C) 2012-2014 Free Software Foundation, Inc. + Contributed by Andes Technology Corporation. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ + +#ifndef OPCODE_NDS32_H +#define OPCODE_NDS32_H + +/* Registers. */ +#define REG_R5 5 +#define REG_R8 8 +#define REG_R10 10 +#define REG_R12 12 +#define REG_R15 15 +#define REG_R16 16 +#define REG_R20 20 +#define REG_TA 15 +#define REG_TP 27 +#define REG_FP 28 +#define REG_GP 29 +#define REG_LP 30 +#define REG_SP 31 + +/* Macros for extracting fields or making an instruction. */ +static const int nds32_r45map[] = +{ + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 16, 17, 18, 19 +}; + +static const int nds32_r54map[] = +{ + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, -1, -1, -1, -1, + 12, 13, 14, 15, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; + +#define __BIT(n) (1 << (n)) +#define __MASK(n) (__BIT (n) - 1) +#define __MF(v, off, bs) (((v) & __MASK (bs)) << (off)) +#define __GF(v, off, bs) (((v) >> off) & __MASK (bs)) +#define __SEXT(v, bs) ((((v) & ((1 << (bs)) - 1)) ^ (1 << ((bs) - 1))) - (1 << ((bs) - 1))) + +/* Make nds32 instructions. */ + +#define N32_TYPE4(op6, rt5, ra5, rb5, rd5, sub5) \ + (__MF (N32_OP6_##op6, 25, 6) | __MF (rt5, 20, 5) \ + | __MF (ra5, 15, 5) | __MF (rb5, 10, 5) \ + | __MF (rd5, 5, 5) | __MF (sub5, 0, 5)) +#define N32_TYPE3(op6, rt5, ra5, rb5, sub10) \ + (N32_TYPE4 (op6, rt5, ra5, rb5, 0, 0) \ + | __MF (sub10, 0, 10)) +#define N32_TYPE2(op6, rt5, ra5, imm15) \ + (N32_TYPE3 (op6, rt5, ra5, 0, 0) | __MF (imm15, 0, 15)) +#define N32_TYPE1(op6, rt5, imm20) \ + (N32_TYPE2 (op6, rt5, 0, 0) | __MF (imm20, 0, 20)) +#define N32_TYPE0(op6, imm25) \ + (N32_TYPE1 (op6, 0, 0) | __MF (imm25, 0, 25)) +#define N32_ALU1(sub, rt, ra, rb) \ + N32_TYPE4 (ALU1, rt, ra, rb, 0, N32_ALU1_##sub) +#define N32_ALU1_SH(sub, rt, ra, rb, rd) \ + N32_TYPE4 (ALU1, rt, ra, rb, rd, N32_ALU1_##sub) +#define N32_ALU2(sub, rt, ra, rb) \ + N32_TYPE3 (ALU2, rt, ra, rb, N32_ALU2_##sub) +#define N32_BR1(sub, rt, ra, imm14s) \ + N32_TYPE2 (BR1, rt, ra, (N32_BR1_##sub << 14) | (imm14s & __MASK (14))) +#define N32_BR2(sub, rt, imm16s) \ + N32_TYPE1 (BR2, rt, (N32_BR2_##sub << 16) | (imm16s & __MASK (16))) +#define N32_BR3(sub, rt, imm11s, imm8s) \ + N32_TYPE1 (BR3, rt, (N32_BR3_##sub << 19) \ + | ((imm11s & __MASK (11)) << 8) \ + | (imm8s & __MASK (8))) +#define N32_JI(sub, imm24s) \ + N32_TYPE0 (JI, (N32_JI_##sub << 24) | (imm24s & __MASK (24))) +#define N32_JREG(sub, rt, rb, dtit, hint) \ + N32_TYPE4(JREG, rt, 0, rb, (dtit << 3) | (hint & 7), N32_JREG_##sub) +#define N32_MEM(sub, rt, ra, rb, sv) \ + N32_TYPE3 (MEM, rt, ra, rb, (sv << 8) | N32_MEM_##sub) + +#define N16_TYPE55(op5, rt5, ra5) \ + (0x8000 | __MF (N16_T55_##op5, 10, 5) | __MF (rt5, 5, 5) \ + | __MF (ra5, 0, 5)) +#define N16_TYPE45(op6, rt4, ra5) \ + (0x8000 | __MF (N16_T45_##op6, 9, 6) | __MF (rt4, 5, 4) \ + | __MF (ra5, 0, 5)) +#define N16_TYPE333(op6, rt3, ra3, rb3) \ + (0x8000 | __MF (N16_T333_##op6, 9, 6) | __MF (rt3, 6, 3) \ + | __MF (ra3, 3, 3) | __MF (rb3, 0, 3)) +#define N16_TYPE36(op6, rt3, imm6) \ + (0x8000 | __MF (N16_T36_##op6, 9, 6) | __MF (rt3, 6, 3) \ + | __MF (imm6, 0, 6)) +#define N16_TYPE38(op4, rt3, imm8) \ + (0x8000 | __MF (N16_T38_##op4, 11, 4) | __MF (rt3, 8, 3) \ + | __MF (imm8, 0, 8)) +#define N16_TYPE37(op4, rt3, ls, imm7) \ + (0x8000 | __MF (N16_T37_##op4, 11, 4) | __MF (rt3, 8, 3) \ + | __MF (imm7, 0, 7) | __MF (ls, 7, 1)) +#define N16_TYPE5(op10, imm5) \ + (0x8000 | __MF (N16_T5_##op10, 5, 10) | __MF (imm5, 0, 5)) +#define N16_TYPE8(op7, imm8) \ + (0x8000 | __MF (N16_T8_##op7, 8, 7) | __MF (imm8, 0, 8)) +#define N16_TYPE9(op6, imm9) \ + (0x8000 | __MF (N16_T9_##op6, 9, 6) | __MF (imm9, 0, 9)) +#define N16_TYPE10(op5, imm10) \ + (0x8000 | __MF (N16_T10_##op5, 10, 5) | __MF (imm10, 0, 10)) +#define N16_TYPE25(op8, re, imm5) \ + (0x8000 | __MF (N16_T25_##op8, 7, 8) | __MF (re, 5, 2) \ + | __MF (imm5, 0, 5)) + +#define N16_MISC33(sub, rt, ra) \ + N16_TYPE333 (MISC33, rt, ra, N16_MISC33_##sub) +#define N16_BFMI333(sub, rt, ra) \ + N16_TYPE333 (BFMI333, rt, ra, N16_BFMI333_##sub) + +/* Get instruction fields. + + Macros used for handling 32-bit and 16-bit instructions are + prefixed with N32_ and N16_ respectively. */ + +#define N32_OP6(insn) (((insn) >> 25) & 0x3f) +#define N32_RT5(insn) (((insn) >> 20) & 0x1f) +#define N32_RT53(insn) (N32_RT5 (insn) & 0x7) +#define N32_RT54(insn) nds32_r54map[N32_RT5 (insn)] +#define N32_RA5(insn) (((insn) >> 15) & 0x1f) +#define N32_RA53(insn) (N32_RA5 (insn) & 0x7) +#define N32_RA54(insn) nds32_r54map[N32_RA5 (insn)] +#define N32_RB5(insn) (((insn) >> 10) & 0x1f) +#define N32_UB5(insn) (((insn) >> 10) & 0x1f) +#define N32_RB53(insn) (N32_RB5 (insn) & 0x7) +#define N32_RB54(insn) nds32_r54map[N32_RB5 (insn)] +#define N32_RD5(insn) (((insn) >> 5) & 0x1f) +#define N32_SH5(insn) (((insn) >> 5) & 0x1f) +#define N32_SUB5(insn) (((insn) >> 0) & 0x1f) +#define N32_SWID(insn) (((insn) >> 5) & 0x3ff) +#define N32_IMMU(insn, bs) ((insn) & __MASK (bs)) +#define N32_IMMS(insn, bs) ((signed) __SEXT (((insn) & __MASK (bs)), bs)) +#define N32_IMM5U(insn) N32_IMMU (insn, 5) +#define N32_IMM12S(insn) N32_IMMS (insn, 12) +#define N32_IMM14S(insn) N32_IMMS (insn, 14) +#define N32_IMM15U(insn) N32_IMMU (insn, 15) +#define N32_IMM15S(insn) N32_IMMS (insn, 15) +#define N32_IMM16S(insn) N32_IMMS (insn, 16) +#define N32_IMM17S(insn) N32_IMMS (insn, 17) +#define N32_IMM20S(insn) N32_IMMS (insn, 20) +#define N32_IMM20U(insn) N32_IMMU (insn, 20) +#define N32_IMM24S(insn) N32_IMMS (insn, 24) + +#define N16_RT5(insn) (((insn) >> 5) & 0x1f) +#define N16_RT4(insn) nds32_r45map[(((insn) >> 5) & 0xf)] +#define N16_RT3(insn) (((insn) >> 6) & 0x7) +#define N16_RT38(insn) (((insn) >> 8) & 0x7) +#define N16_RT8(insn) (((insn) >> 8) & 0x7) +#define N16_RA5(insn) ((insn) & 0x1f) +#define N16_RA3(insn) (((insn) >> 3) & 0x7) +#define N16_RB3(insn) ((insn) & 0x7) +#define N16_IMM3U(insn) N32_IMMU (insn, 3) +#define N16_IMM5U(insn) N32_IMMU (insn, 5) +#define N16_IMM5S(insn) N32_IMMS (insn, 5) +#define N16_IMM6U(insn) N32_IMMU (insn, 6) +#define N16_IMM7U(insn) N32_IMMU (insn, 7) +#define N16_IMM8S(insn) N32_IMMS (insn, 8) +#define N16_IMM9U(insn) N32_IMMU (insn, 9) +#define N16_IMM10S(insn) N32_IMMS (insn, 10) + +#define IS_WITHIN_U(v, n) (((v) >> n) == 0) +#define IS_WITHIN_S(v, n) IS_WITHIN_U ((v) + (1 << ((n) - 1)), n) + +/* Get fields for specific instruction. */ +#define N32_JREG_T(insn) (((insn) >> 8) & 0x3) +#define N32_JREG_HINT(insn) (((insn) >> 5) & 0x7) +#define N32_BR2_SUB(insn) (((insn) >> 16) & 0xf) +#define N32_COP_SUB(insn) ((insn) & 0xf) +#define N32_COP_CP(insn) (((insn) >> 4) & 0x3) + +/* Check fields. */ +#define N32_IS_RT3(insn) (N32_RT5 (insn) < 8) +#define N32_IS_RA3(insn) (N32_RA5 (insn) < 8) +#define N32_IS_RB3(insn) (N32_RB5 (insn) < 8) +#define N32_IS_RT4(insn) (nds32_r54map[N32_RT5 (insn)] != -1) +#define N32_IS_RA4(insn) (nds32_r54map[N32_RA5 (insn)] != -1) +#define N32_IS_RB4(insn) (nds32_r54map[N32_RB5 (insn)] != -1) + + +/* These are opcodes for Nxx_TYPE macros. + They are prefixed by corresponding TYPE to avoid misusing. */ + +enum n32_opcodes +{ + /* Main opcodes (OP6). */ + + N32_OP6_LBI = 0x0, + N32_OP6_LHI, + N32_OP6_LWI, + N32_OP6_LDI, + N32_OP6_LBI_BI, + N32_OP6_LHI_BI, + N32_OP6_LWI_BI, + N32_OP6_LDI_BI, + + N32_OP6_SBI = 0x8, + N32_OP6_SHI, + N32_OP6_SWI, + N32_OP6_SDI, + N32_OP6_SBI_BI, + N32_OP6_SHI_BI, + N32_OP6_SWI_BI, + N32_OP6_SDI_BI, + + N32_OP6_LBSI = 0x10, + N32_OP6_LHSI, + N32_OP6_LWSI, + N32_OP6_DPREFI, + N32_OP6_LBSI_BI, + N32_OP6_LHSI_BI, + N32_OP6_LWSI_BI, + N32_OP6_LBGP, + + N32_OP6_LWC = 0x18, + N32_OP6_SWC, + N32_OP6_LDC, + N32_OP6_SDC, + N32_OP6_MEM, + N32_OP6_LSMW, + N32_OP6_HWGP, + N32_OP6_SBGP, + + N32_OP6_ALU1 = 0x20, + N32_OP6_ALU2, + N32_OP6_MOVI, + N32_OP6_SETHI, + N32_OP6_JI, + N32_OP6_JREG, + N32_OP6_BR1, + N32_OP6_BR2, + + N32_OP6_ADDI = 0x28, + N32_OP6_SUBRI, + N32_OP6_ANDI, + N32_OP6_XORI, + N32_OP6_ORI, + N32_OP6_BR3, + N32_OP6_SLTI, + N32_OP6_SLTSI, + + N32_OP6_AEXT = 0x30, + N32_OP6_CEXT, + N32_OP6_MISC, + N32_OP6_BITCI, + N32_OP6_0x34, + N32_OP6_COP, + N32_OP6_0x36, + N32_OP6_0x37, + + N32_OP6_SIMD = 0x38, + + /* Sub-opcodes of specific opcode. */ + + /* bit-24 */ + N32_BR1_BEQ = 0, + N32_BR1_BNE = 1, + + /* bit[16:19] */ + N32_BR2_IFCALL = 0, + N32_BR2_BEQZ = 2, + N32_BR2_BNEZ = 3, + N32_BR2_BGEZ = 4, + N32_BR2_BLTZ = 5, + N32_BR2_BGTZ = 6, + N32_BR2_BLEZ = 7, + N32_BR2_BGEZAL = 0xc, + N32_BR2_BLTZAL = 0xd, + + /* bit-19 */ + N32_BR3_BEQC = 0, + N32_BR3_BNEC = 1, + + /* bit-24 */ + N32_JI_J = 0, + N32_JI_JAL = 1, + + /* bit[0:4] */ + N32_JREG_JR = 0, + N32_JREG_JRAL = 1, + N32_JREG_JRNEZ = 2, + N32_JREG_JRALNEZ = 3, + + /* bit[0:4] */ + N32_ALU1_ADD_SLLI = 0x0, + N32_ALU1_SUB_SLLI, + N32_ALU1_AND_SLLI, + N32_ALU1_XOR_SLLI, + N32_ALU1_OR_SLLI, + N32_ALU1_ADD = 0x0, + N32_ALU1_SUB, + N32_ALU1_AND, + N32_ALU1_XOR, + N32_ALU1_OR, + N32_ALU1_NOR, + N32_ALU1_SLT, + N32_ALU1_SLTS, + N32_ALU1_SLLI = 0x8, + N32_ALU1_SRLI, + N32_ALU1_SRAI, + N32_ALU1_ROTRI, + N32_ALU1_SLL, + N32_ALU1_SRL, + N32_ALU1_SRA, + N32_ALU1_ROTR, + N32_ALU1_SEB = 0x10, + N32_ALU1_SEH, + N32_ALU1_BITC, + N32_ALU1_ZEH, + N32_ALU1_WSBH, + N32_ALU1_OR_SRLI, + N32_ALU1_DIVSR, + N32_ALU1_DIVR, + N32_ALU1_SVA = 0x18, + N32_ALU1_SVS, + N32_ALU1_CMOVZ, + N32_ALU1_CMOVN, + N32_ALU1_ADD_SRLI, + N32_ALU1_SUB_SRLI, + N32_ALU1_AND_SRLI, + N32_ALU1_XOR_SRLI, + + /* bit[0:5], where bit[6:9] == 0 */ + N32_ALU2_MAX = 0, + N32_ALU2_MIN, + N32_ALU2_AVE, + N32_ALU2_ABS, + N32_ALU2_CLIPS, + N32_ALU2_CLIP, + N32_ALU2_CLO, + N32_ALU2_CLZ, + N32_ALU2_BSET = 0x8, + N32_ALU2_BCLR, + N32_ALU2_BTGL, + N32_ALU2_BTST, + N32_ALU2_BSE, + N32_ALU2_BSP, + N32_ALU2_FFB, + N32_ALU2_FFMISM, + N32_ALU2_ADD_SC = 0x10, + N32_ALU2_SUB_SC, + N32_ALU2_ADD_WC, + N32_ALU2_SUB_WC, + N32_ALU2_KMxy, + N32_ALU2_0x15, + N32_ALU2_0x16, + N32_ALU2_FFZMISM, + N32_ALU2_KADD = 0x18, + N32_ALU2_KSUB, + N32_ALU2_KSLRA, + N32_ALU2_MFUSR = 0x20, + N32_ALU2_MTUSR, + N32_ALU2_0x22, + N32_ALU2_0x23, + N32_ALU2_MUL, + N32_ALU2_0x25, + N32_ALU2_0x26, + N32_ALU2_MULTS64 = 0x28, + N32_ALU2_MULT64, + N32_ALU2_MADDS64, + N32_ALU2_MADD64, + N32_ALU2_MSUBS64, + N32_ALU2_MSUB64, + N32_ALU2_DIVS, + N32_ALU2_DIV, + N32_ALU2_0x30 = 0x30, + N32_ALU2_MULT32, + N32_ALU2_0x32, + N32_ALU2_MADD32, + N32_ALU2_0x34, + N32_ALU2_MSUB32, + + /* bit[0:5], where bit[6:9] != 0 */ + N32_ALU2_FFBI = 0xe, + N32_ALU2_FLMISM = 0xf, + N32_ALU2_MULSR64 = 0x28, + N32_ALU2_MULR64 = 0x29, + N32_ALU2_MADDR32 = 0x33, + N32_ALU2_MSUBR32 = 0x35, + + /* bit[0:5] */ + N32_MEM_LB = 0, + N32_MEM_LH, + N32_MEM_LW, + N32_MEM_LD, + N32_MEM_LB_BI, + N32_MEM_LH_BI, + N32_MEM_LW_BI, + N32_MEM_LD_BI, + N32_MEM_SB, + N32_MEM_SH, + N32_MEM_SW, + N32_MEM_SD, + N32_MEM_SB_BI, + N32_MEM_SH_BI, + N32_MEM_SW_BI, + N32_MEM_SD_BI, + N32_MEM_LBS, + N32_MEM_LHS, + N32_MEM_LWS, /* Not used. */ + N32_MEM_DPREF, + N32_MEM_LBS_BI, + N32_MEM_LHS_BI, + N32_MEM_LWS_BI, /* Not used. */ + N32_MEM_0x17, /* Not used. */ + N32_MEM_LLW, + N32_MEM_SCW, + N32_MEM_LBUP = 0x20, + N32_MEM_LWUP = 0x22, + N32_MEM_SBUP = 0x28, + N32_MEM_SWUP = 0x2a, + + /* bit[0:1] */ + N32_LSMW_LSMW = 0, + N32_LSMW_LSMWA, + N32_LSMW_LSMWZB, + + /* bit[2:4] */ + N32_LSMW_BI = 0, + N32_LSMW_BIM, + N32_LSMW_BD, + N32_LSMW_BDM, + N32_LSMW_AI, + N32_LSMW_AIM, + N32_LSMW_AD, + N32_LSMW_ADM, + + /* bit[0:4] */ + N32_MISC_STANDBY = 0, + N32_MISC_CCTL, + N32_MISC_MFSR, + N32_MISC_MTSR, + N32_MISC_IRET, + N32_MISC_TRAP, + N32_MISC_TEQZ, + N32_MISC_TNEZ, + N32_MISC_DSB = 0x8, + N32_MISC_ISB, + N32_MISC_BREAK, + N32_MISC_SYSCALL, + N32_MISC_MSYNC, + N32_MISC_ISYNC, + N32_MISC_TLBOP, + N32_MISC_0xf, + + /* bit[0:4] */ + N32_SIMD_PBSAD = 0, + N32_SIMD_PBSADA = 1, + + /* bit[0:3] */ + N32_COP_CPE1 = 0, + N32_COP_MFCP, + N32_COP_CPLW, + N32_COP_CPLD, + N32_COP_CPE2, + N32_COP_CPE3 = 8, + N32_COP_MTCP, + N32_COP_CPSW, + N32_COP_CPSD, + N32_COP_CPE4, + + /* cop/0 b[3:0] */ + N32_FPU_FS1 = 0, + N32_FPU_MFCP, + N32_FPU_FLS, + N32_FPU_FLD, + N32_FPU_FS2, + N32_FPU_FD1 = 8, + N32_FPU_MTCP, + N32_FPU_FSS, + N32_FPU_FSD, + N32_FPU_FD2, + + /* FS1 b[9:6] */ + N32_FPU_FS1_FADDS = 0, + N32_FPU_FS1_FSUBS, + N32_FPU_FS1_FCPYNSS, + N32_FPU_FS1_FCPYSS, + N32_FPU_FS1_FMADDS, + N32_FPU_FS1_FMSUBS, + N32_FPU_FS1_FCMOVNS, + N32_FPU_FS1_FCMOVZS, + N32_FPU_FS1_FNMADDS, + N32_FPU_FS1_FNMSUBS, + N32_FPU_FS1_10, + N32_FPU_FS1_11, + N32_FPU_FS1_FMULS = 12, + N32_FPU_FS1_FDIVS, + N32_FPU_FS1_14, + N32_FPU_FS1_F2OP = 15, + + /* FS1/F2OP b[14:10] */ + N32_FPU_FS1_F2OP_FS2D = 0x00, + N32_FPU_FS1_F2OP_FSQRTS = 0x01, + N32_FPU_FS1_F2OP_FABSS = 0x05, + N32_FPU_FS1_F2OP_FUI2S = 0x08, + N32_FPU_FS1_F2OP_FSI2S = 0x0c, + N32_FPU_FS1_F2OP_FS2UI = 0x10, + N32_FPU_FS1_F2OP_FS2UI_Z = 0x14, + N32_FPU_FS1_F2OP_FS2SI = 0x18, + N32_FPU_FS1_F2OP_FS2SI_Z = 0x1c, + + /* FS2 b[9:6] */ + N32_FPU_FS2_FCMPEQS = 0x0, + N32_FPU_FS2_FCMPLTS = 0x2, + N32_FPU_FS2_FCMPLES = 0x4, + N32_FPU_FS2_FCMPUNS = 0x6, + N32_FPU_FS2_FCMPEQS_E = 0x1, + N32_FPU_FS2_FCMPLTS_E = 0x3, + N32_FPU_FS2_FCMPLES_E = 0x5, + N32_FPU_FS2_FCMPUNS_E = 0x7, + + /* FD1 b[9:6] */ + N32_FPU_FD1_FADDD = 0, + N32_FPU_FD1_FSUBD, + N32_FPU_FD1_FCPYNSD, + N32_FPU_FD1_FCPYSD, + N32_FPU_FD1_FMADDD, + N32_FPU_FD1_FMSUBD, + N32_FPU_FD1_FCMOVND, + N32_FPU_FD1_FCMOVZD, + N32_FPU_FD1_FNMADDD, + N32_FPU_FD1_FNMSUBD, + N32_FPU_FD1_10, + N32_FPU_FD1_11, + N32_FPU_FD1_FMULD = 12, + N32_FPU_FD1_FDIVD, + N32_FPU_FD1_14, + N32_FPU_FD1_F2OP = 15, + + /* FD1/F2OP b[14:10] */ + N32_FPU_FD1_F2OP_FD2S = 0x00, + N32_FPU_FD1_F2OP_FSQRTD = 0x01, + N32_FPU_FD1_F2OP_FABSD = 0x05, + N32_FPU_FD1_F2OP_FUI2D = 0x08, + N32_FPU_FD1_F2OP_FSI2D = 0x0c, + N32_FPU_FD1_F2OP_FD2UI = 0x10, + N32_FPU_FD1_F2OP_FD2UI_Z = 0x14, + N32_FPU_FD1_F2OP_FD2SI = 0x18, + N32_FPU_FD1_F2OP_FD2SI_Z = 0x1c, + + /* FD2 b[9:6] */ + N32_FPU_FD2_FCMPEQD = 0x0, + N32_FPU_FD2_FCMPLTD = 0x2, + N32_FPU_FD2_FCMPLED = 0x4, + N32_FPU_FD2_FCMPUND = 0x6, + N32_FPU_FD2_FCMPEQD_E = 0x1, + N32_FPU_FD2_FCMPLTD_E = 0x3, + N32_FPU_FD2_FCMPLED_E = 0x5, + N32_FPU_FD2_FCMPUND_E = 0x7, + + /* MFCP b[9:6] */ + N32_FPU_MFCP_FMFSR = 0x0, + N32_FPU_MFCP_FMFDR = 0x1, + N32_FPU_MFCP_XR = 0xc, + + /* MFCP/XR b[14:10] */ + N32_FPU_MFCP_XR_FMFCFG = 0x0, + N32_FPU_MFCP_XR_FMFCSR = 0x1, + + /* MTCP b[9:6] */ + N32_FPU_MTCP_FMTSR = 0x0, + N32_FPU_MTCP_FMTDR = 0x1, + N32_FPU_MTCP_XR = 0xc, + + /* MTCP/XR b[14:10] */ + N32_FPU_MTCP_XR_FMTCSR = 0x1 +}; + +enum n16_opcodes +{ + N16_T55_MOV55 = 0x0, + N16_T55_MOVI55 = 0x1, + + N16_T45_0 = 0, + N16_T45_ADD45 = 0x4, + N16_T45_SUB45 = 0x5, + N16_T45_ADDI45 = 0x6, + N16_T45_SUBI45 = 0x7, + N16_T45_SRAI45 = 0x8, + N16_T45_SRLI45 = 0x9, + N16_T45_LWI45_FE = 0x19, + N16_T45_LWI450 = 0x1a, + N16_T45_SWI450 = 0x1b, + N16_T45_SLTS45 = 0x30, + N16_T45_SLT45 = 0x31, + N16_T45_SLTSI45 = 0x32, + N16_T45_SLTI45 = 0x33, + N16_T45_MOVPI45 = 0x3d, + + N15_T44_MOVD44 = 0x7d, + + N16_T333_0 = 0, + N16_T333_SLLI333 = 0xa, + N16_T333_BFMI333 = 0xb, + N16_T333_ADD333 = 0xc, + N16_T333_SUB333 = 0xd, + N16_T333_ADDI333 = 0xe, + N16_T333_SUBI333 = 0xf, + N16_T333_LWI333 = 0x10, + N16_T333_LWI333_BI = 0x11, + N16_T333_LHI333 = 0x12, + N16_T333_LBI333 = 0x13, + N16_T333_SWI333 = 0x14, + N16_T333_SWI333_BI = 0x15, + N16_T333_SHI333 = 0x16, + N16_T333_SBI333 = 0x17, + N16_T333_MISC33 = 0x3f, + + N16_T36_ADDRI36_SP = 0x18, + + N16_T37_XWI37 = 0x7, + N16_T37_XWI37SP = 0xe, + + N16_T38_BEQZ38 = 0x8, + N16_T38_BNEZ38 = 0x9, + N16_T38_BEQS38 = 0xa, + N16_T38_BNES38 = 0xb, + + N16_T5_JR5 = 0x2e8, + N16_T5_JRAL5 = 0x2e9, + N16_T5_EX9IT = 0x2ea, + /* 0x2eb reserved. */ + N16_T5_RET5 = 0x2ec, + N16_T5_ADD5PC = 0x2ed, + /* 0x2e[ef] reserved. */ + N16_T5_BREAK16 = 0x350, + + N16_T8_J8 = 0x55, + N16_T8_BEQZS8 = 0x68, + N16_T8_BNEZS8 = 0x69, + + /* N16_T9_BREAK16 = 0x35 + Since v3, SWID of BREAK16 above 32 are used for encoding EX9.IT. */ + N16_T9_EX9IT = 0x35, + N16_T9_IFCALL9 = 0x3c, + + N16_T10_ADDI10S = 0x1b, + + N16_T25_PUSH25 = 0xf8, + N16_T25_POP25 = 0xf9, + + /* Sub-opcodes. */ + N16_MISC33_0 = 0, + N16_MISC33_1 = 1, + N16_MISC33_NEG33 = 2, + N16_MISC33_NOT33 = 3, + N16_MISC33_MUL33 = 4, + N16_MISC33_XOR33 = 5, + N16_MISC33_AND33 = 6, + N16_MISC33_OR33 = 7, + + N16_BFMI333_ZEB33 = 0, + N16_BFMI333_ZEH33 = 1, + N16_BFMI333_SEB33 = 2, + N16_BFMI333_SEH33 = 3, + N16_BFMI333_XLSB33 = 4, + N16_BFMI333_X11B33 = 5, + N16_BFMI333_BMSKI33 = 6, + N16_BFMI333_FEXTI33 = 7 +}; + +/* These macros a deprecated. DO NOT use them anymore. + And please help rewrite code used them. */ + +/* 32-bit instructions without operands. */ +#define INSN_SETHI 0x46000000 +#define INSN_ORI 0x58000000 +#define INSN_JR 0x4a000000 +#define INSN_RET 0x4a000020 +#define INSN_JAL 0x49000000 +#define INSN_J 0x48000000 +#define INSN_JRAL 0x4a000001 +#define INSN_BGEZAL 0x4e0c0000 +#define INSN_BLTZAL 0x4e0d0000 +#define INSN_BEQ 0x4c000000 +#define INSN_BNE 0x4c004000 +#define INSN_BEQZ 0x4e020000 +#define INSN_BNEZ 0x4e030000 +#define INSN_BGEZ 0x4e040000 +#define INSN_BLTZ 0x4e050000 +#define INSN_BGTZ 0x4e060000 +#define INSN_BLEZ 0x4e070000 +#define INSN_MOVI 0x44000000 +#define INSN_ADDI 0x50000000 +#define INSN_ANDI 0x54000000 +#define INSN_LDI 0x06000000 +#define INSN_SDI 0x16000000 +#define INSN_LWI 0x04000000 +#define INSN_LWSI 0x24000000 +#define INSN_LWIP 0x0c000000 +#define INSN_LHI 0x02000000 +#define INSN_LHSI 0x22000000 +#define INSN_LBI 0x00000000 +#define INSN_LBSI 0x20000000 +#define INSN_SWI 0x14000000 +#define INSN_SWIP 0x1c000000 +#define INSN_SHI 0x12000000 +#define INSN_SBI 0x10000000 +#define INSN_SLTI 0x5c000000 +#define INSN_SLTSI 0x5e000000 +#define INSN_ADD 0x40000000 +#define INSN_SUB 0x40000001 +#define INSN_SLT 0x40000006 +#define INSN_SLTS 0x40000007 +#define INSN_SLLI 0x40000008 +#define INSN_SRLI 0x40000009 +#define INSN_SRAI 0x4000000a +#define INSN_SEB 0x40000010 +#define INSN_SEH 0x40000011 +#define INSN_ZEB INSN_ANDI + 0xFF +#define INSN_ZEH 0x40000013 +#define INSN_BREAK 0x6400000a +#define INSN_NOP 0x40000009 +#define INSN_FLSI 0x30000000 +#define INSN_FSSI 0x32000000 +#define INSN_FLDI 0x34000000 +#define INSN_FSDI 0x36000000 +#define INSN_BEQC 0x5a000000 +#define INSN_BNEC 0x5a080000 +#define INSN_DSB 0x64000008 +#define INSN_IFCALL 0x4e000000 +#define INSN_IFRET 0x4a000060 +#define INSN_BR1 0x4c000000 +#define INSN_BR2 0x4e000000 + +/* 16-bit instructions without operand. */ +#define INSN_MOV55 0x8000 +#define INSN_MOVI55 0x8400 +#define INSN_ADD45 0x8800 +#define INSN_SUB45 0x8a00 +#define INSN_ADDI45 0x8c00 +#define INSN_SUBI45 0x8e00 +#define INSN_SRAI45 0x9000 +#define INSN_SRLI45 0x9200 +#define INSN_SLLI333 0x9400 +#define INSN_BFMI333 0x9600 +#define INSN_ADD333 0x9800 +#define INSN_SUB333 0x9a00 +#define INSN_ADDI333 0x9c00 +#define INSN_SUBI333 0x9e00 +#define INSN_LWI333 0xa000 +#define INSN_LWI333P 0xa200 +#define INSN_LHI333 0xa400 +#define INSN_LBI333 0xa600 +#define INSN_SWI333 0xa800 +#define INSN_SWI333P 0xaa00 +#define INSN_SHI333 0xac00 +#define INSN_SBI333 0xae00 +#define INSN_RSV01 0xb000 +#define INSN_RSV02 0xb200 +#define INSN_LWI450 0xb400 +#define INSN_SWI450 0xb600 +#define INSN_LWI37 0xb800 +#define INSN_SWI37 0xb880 +#define INSN_BEQZ38 0xc000 +#define INSN_BNEZ38 0xc800 +#define INSN_BEQS38 0xd000 +#define INSN_J8 0xd500 +#define INSN_BNES38 0xd800 +#define INSN_JR5 0xdd00 +#define INSN_RET5 0xdd80 +#define INSN_JRAL5 0xdd20 +#define INSN_EX9_IT_2 0xdd40 +#define INSN_SLTS45 0xe000 +#define INSN_SLT45 0xe200 +#define INSN_SLTSI45 0xe400 +#define INSN_SLTI45 0xe600 +#define INSN_BEQZS8 0xe800 +#define INSN_BNEZS8 0xe900 +#define INSN_BREAK16 0xea00 +#define INSN_EX9_IT_1 0xea00 +#define INSN_NOP16 0x9200 +/* 16-bit version 2. */ +#define INSN_ADDI10_SP 0xec00 +#define INSN_LWI37SP 0xf000 +#define INSN_SWI37SP 0xf080 +/* 16-bit version 3. */ +#define INSN_IFRET16 0x83ff +#define INSN_ADDRI36_SP 0xb000 +#define INSN_LWI45_FE 0xb200 +#define INSN_IFCALL9 0xf800 +#define INSN_MISC33 0xfe00 + +/* Instruction with specific operands. */ +#define INSN_ADDI_GP_TO_FP 0x51cd8000 /* BASELINE_V1. */ +#define INSN_ADDIGP_TO_FP 0x3fc80000 /* BASELINE_V2. */ +#define INSN_MOVI_TO_FP 0x45c00000 +#define INSN_MFUSR_PC 0x420F8020 +#define INSN_MFUSR_PC_MASK 0xFE0FFFFF + +/* Instructions use $ta register as operand. */ +#define INSN_SETHI_TA (INSN_SETHI | (REG_TA << 20)) +#define INSN_ORI_TA (INSN_ORI | (REG_TA << 20) | (REG_TA << 15)) +#define INSN_ADD_TA (INSN_ADD | (REG_TA << 20)) +#define INSN_ADD45_TA (INSN_ADD45 | (REG_TA << 5)) +#define INSN_JR5_TA (INSN_JR5 | (REG_TA << 0)) +#define INSN_RET5_TA (INSN_RET5 | (REG_TA << 0)) +#define INSN_JR_TA (INSN_JR | (REG_TA << 10)) +#define INSN_RET_TA (INSN_RET | (REG_TA << 10)) +#define INSN_JRAL_TA (INSN_JRAL | (REG_LP << 20) | (REG_TA << 10)) +#define INSN_JRAL5_TA (INSN_JRAL5 | (REG_TA << 0)) +#define INSN_BEQZ_TA (INSN_BEQZ | (REG_TA << 20)) +#define INSN_BNEZ_TA (INSN_BNEZ | (REG_TA << 20)) +#define INSN_MOVI_TA (INSN_MOVI | (REG_TA << 20)) +#define INSN_BEQ_TA (INSN_BEQ | (REG_TA << 15)) +#define INSN_BNE_TA (INSN_BNE | (REG_TA << 15)) + +/* Instructions use $r5 register as operand. */ +#define INSN_BNE_R5 (INSN_BNE | (REG_R5 << 15)) +#define INSN_BEQ_R5 (INSN_BEQ | (REG_R5 << 15)) + +#endif diff --git a/binutils-2.25/include/opcode/nios2.h b/binutils-2.25/include/opcode/nios2.h index aa670981..04beff93 100644 --- a/binutils-2.25/include/opcode/nios2.h +++ b/binutils-2.25/include/opcode/nios2.h @@ -1,5 +1,5 @@ /* Nios II opcode list for GAS, the GNU assembler. - Copyright (C) 2012, 2013 Free Software Foundation, Inc. + Copyright (C) 2012-2014 Free Software Foundation, Inc. Contributed by Nigel Gray (ngray@altera.com). Contributed by Mentor Graphics, Inc. diff --git a/binutils-2.25/include/opcode/np1.h b/binutils-2.25/include/opcode/np1.h index 6dadafde..f054d02d 100644 --- a/binutils-2.25/include/opcode/np1.h +++ b/binutils-2.25/include/opcode/np1.h @@ -1,5 +1,5 @@ /* Print GOULD NPL instructions for GDB, the GNU debugger. - Copyright 1986, 1987, 1989, 1991, 2010 Free Software Foundation, Inc. + Copyright (C) 1986-2014 Free Software Foundation, Inc. This file is part of GDB. diff --git a/binutils-2.25/include/opcode/ns32k.h b/binutils-2.25/include/opcode/ns32k.h index 34c42f87..4f0fc01d 100644 --- a/binutils-2.25/include/opcode/ns32k.h +++ b/binutils-2.25/include/opcode/ns32k.h @@ -1,5 +1,5 @@ /* ns32k-opcode.h -- Opcode table for National Semi 32k processor - Copyright 1987, 1991, 1994, 2002, 2010 Free Software Foundation, Inc. + Copyright (C) 1987-2014 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. diff --git a/binutils-2.25/include/opcode/or32.h b/binutils-2.25/include/opcode/or32.h deleted file mode 100644 index 153d91ec..00000000 --- a/binutils-2.25/include/opcode/or32.h +++ /dev/null @@ -1,181 +0,0 @@ -/* Table of opcodes for the OpenRISC 1000 ISA. - Copyright 2002, 2003, 2010 Free Software Foundation, Inc. - Contributed by Damjan Lampret (lampret@opencores.org). - - This file is part of or1k_gen_isa, or1ksim, GDB and GAS. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, - MA 02110-1301, USA. */ - -/* We treat all letters the same in encode/decode routines so - we need to assign some characteristics to them like signess etc. */ - -#ifndef OR32_H_ISA -#define OR32_H_ISA - -#define NUM_UNSIGNED (0) -#define NUM_SIGNED (1) - -#define MAX_GPRS 32 -#define PAGE_SIZE 4096 -#undef __HALF_WORD_INSN__ - -#define OPERAND_DELIM (',') - -#define OR32_IF_DELAY (1) -#define OR32_W_FLAG (2) -#define OR32_R_FLAG (4) - -struct or32_letter -{ - char letter; - int sign; - /* int reloc; relocation per letter ?? */ -}; - -/* Main instruction specification array. */ -struct or32_opcode -{ - /* Name of the instruction. */ - char *name; - - /* A string of characters which describe the operands. - Valid characters are: - ,() Itself. Characters appears in the assembly code. - rA Register operand. - rB Register operand. - rD Register operand. - I An immediate operand, range -32768 to 32767. - J An immediate operand, range . (unused) - K An immediate operand, range 0 to 65535. - L An immediate operand, range 0 to 63. - M An immediate operand, range . (unused) - N An immediate operand, range -33554432 to 33554431. - O An immediate operand, range . (unused). */ - char *args; - - /* Opcode and operand encoding. */ - char *encoding; - void (*exec) (void); - unsigned int flags; -}; - -#define OPTYPE_LAST (0x80000000) -#define OPTYPE_OP (0x40000000) -#define OPTYPE_REG (0x20000000) -#define OPTYPE_SIG (0x10000000) -#define OPTYPE_DIS (0x08000000) -#define OPTYPE_DST (0x04000000) -#define OPTYPE_SBIT (0x00001F00) -#define OPTYPE_SHR (0x0000001F) -#define OPTYPE_SBIT_SHR (8) - -/* MM: Data how to decode operands. */ -extern struct insn_op_struct -{ - unsigned long type; - unsigned long data; -} **op_start; - -#ifdef HAS_EXECUTION -extern void l_invalid (void); -extern void l_sfne (void); -extern void l_bf (void); -extern void l_add (void); -extern void l_sw (void); -extern void l_sb (void); -extern void l_sh (void); -extern void l_lwz (void); -extern void l_lbs (void); -extern void l_lbz (void); -extern void l_lhs (void); -extern void l_lhz (void); -extern void l_movhi (void); -extern void l_and (void); -extern void l_or (void); -extern void l_xor (void); -extern void l_sub (void); -extern void l_mul (void); -extern void l_div (void); -extern void l_divu (void); -extern void l_sll (void); -extern void l_sra (void); -extern void l_srl (void); -extern void l_j (void); -extern void l_jal (void); -extern void l_jalr (void); -extern void l_jr (void); -extern void l_rfe (void); -extern void l_nop (void); -extern void l_bnf (void); -extern void l_sfeq (void); -extern void l_sfgts (void); -extern void l_sfges (void); -extern void l_sflts (void); -extern void l_sfles (void); -extern void l_sfgtu (void); -extern void l_sfgeu (void); -extern void l_sfltu (void); -extern void l_sfleu (void); -extern void l_mtspr (void); -extern void l_mfspr (void); -extern void l_sys (void); -extern void l_trap (void); /* CZ 21/06/01. */ -extern void l_macrc (void); -extern void l_mac (void); -extern void l_msb (void); -extern void l_invalid (void); -extern void l_cust1 (void); -extern void l_cust2 (void); -extern void l_cust3 (void); -extern void l_cust4 (void); -#endif -extern void l_none (void); - -extern const struct or32_letter or32_letters[]; - -extern const struct or32_opcode or32_opcodes[]; - -extern const unsigned int or32_num_opcodes; - -/* Calculates instruction length in bytes. Always 4 for OR32. */ -extern int insn_len (int); - -/* Is individual insn's operand signed or unsigned? */ -extern int letter_signed (char); - -/* Number of letters in the individual lettered operand. */ -extern int letter_range (char); - -/* MM: Returns index of given instruction name. */ -extern int insn_index (char *); - -/* MM: Returns instruction name from index. */ -extern const char *insn_name (int); - -/* MM: Constructs new FSM, based on or32_opcodes. */ -extern void build_automata (void); - -/* MM: Destructs FSM. */ -extern void destruct_automata (void); - -/* MM: Decodes instruction using FSM. Call build_automata first. */ -extern int insn_decode (unsigned int); - -/* Disassemble one instruction from insn to disassemble. - Return the size of the instruction. */ -int disassemble_insn (unsigned long); - -#endif diff --git a/binutils-2.25/include/opcode/pdp11.h b/binutils-2.25/include/opcode/pdp11.h index 24e13b25..b44cd464 100644 --- a/binutils-2.25/include/opcode/pdp11.h +++ b/binutils-2.25/include/opcode/pdp11.h @@ -1,5 +1,5 @@ /* PDP-11 opcde list. - Copyright 2001, 2002, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This file is part of GDB and GAS. diff --git a/binutils-2.25/include/opcode/pj.h b/binutils-2.25/include/opcode/pj.h index e6ffacc4..37515c84 100644 --- a/binutils-2.25/include/opcode/pj.h +++ b/binutils-2.25/include/opcode/pj.h @@ -1,5 +1,5 @@ /* Definitions for decoding the picoJava opcode table. - Copyright 1999, 2002, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. Contributed by Steve Chamberlain of Transmeta (sac@pobox.com). This program is free software; you can redistribute it and/or modify diff --git a/binutils-2.25/include/opcode/pn.h b/binutils-2.25/include/opcode/pn.h index 6674030c..2189d723 100644 --- a/binutils-2.25/include/opcode/pn.h +++ b/binutils-2.25/include/opcode/pn.h @@ -1,5 +1,5 @@ /* Print GOULD PN (PowerNode) instructions for GDB, the GNU debugger. - Copyright 1986, 1987, 1989, 1991, 2010 Free Software Foundation, Inc. + Copyright (C) 1986-2014 Free Software Foundation, Inc. This file is part of GDB. diff --git a/binutils-2.25/include/opcode/ppc.h b/binutils-2.25/include/opcode/ppc.h index df971302..c797fa55 100644 --- a/binutils-2.25/include/opcode/ppc.h +++ b/binutils-2.25/include/opcode/ppc.h @@ -1,6 +1,5 @@ /* ppc.h -- Header file for PowerPC opcode table - Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc. + Copyright (C) 1994-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/pyr.h b/binutils-2.25/include/opcode/pyr.h index 2fffd946..b31ce304 100644 --- a/binutils-2.25/include/opcode/pyr.h +++ b/binutils-2.25/include/opcode/pyr.h @@ -1,6 +1,6 @@ /* pyramid.opcode.h -- gdb initial attempt. - Copyright 2001, 2010 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/opcode/rl78.h b/binutils-2.25/include/opcode/rl78.h index 0f3c64d6..6b0e639f 100644 --- a/binutils-2.25/include/opcode/rl78.h +++ b/binutils-2.25/include/opcode/rl78.h @@ -1,6 +1,5 @@ /* Opcode decoder for the Renesas RL78 - Copyright 2011 - Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. Written by DJ Delorie This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler. diff --git a/binutils-2.25/include/opcode/rx.h b/binutils-2.25/include/opcode/rx.h index aa85fe4a..76f2035c 100644 --- a/binutils-2.25/include/opcode/rx.h +++ b/binutils-2.25/include/opcode/rx.h @@ -1,6 +1,5 @@ /* Opcode decoder for the Renesas RX - Copyright 2008, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by DJ Delorie This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler. diff --git a/binutils-2.25/include/opcode/s390.h b/binutils-2.25/include/opcode/s390.h index 531011e0..0884eb65 100644 --- a/binutils-2.25/include/opcode/s390.h +++ b/binutils-2.25/include/opcode/s390.h @@ -1,5 +1,5 @@ /* s390.h -- Header file for S390 opcode table - Copyright 2000, 2001, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/opcode/score-datadep.h b/binutils-2.25/include/opcode/score-datadep.h index 10ddf32f..5e4ff78a 100644 --- a/binutils-2.25/include/opcode/score-datadep.h +++ b/binutils-2.25/include/opcode/score-datadep.h @@ -1,5 +1,5 @@ /* score-datadep.h -- Score Instructions data dependency table - Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2006-2014 Free Software Foundation, Inc. Contributed by: Brain.lin (brain.lin@sunplusct.com) Mei Ligang (ligang@sunnorth.com.cn) diff --git a/binutils-2.25/include/opcode/score-inst.h b/binutils-2.25/include/opcode/score-inst.h index ecb18da2..04b7c85f 100644 --- a/binutils-2.25/include/opcode/score-inst.h +++ b/binutils-2.25/include/opcode/score-inst.h @@ -1,5 +1,5 @@ /* score-inst.h -- Score Instructions Table - Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2006-2014 Free Software Foundation, Inc. Contributed by: Brain.lin (brain.lin@sunplusct.com) Mei Ligang (ligang@sunnorth.com.cn) diff --git a/binutils-2.25/include/opcode/sparc.h b/binutils-2.25/include/opcode/sparc.h index f05909fe..cf4ff1c6 100644 --- a/binutils-2.25/include/opcode/sparc.h +++ b/binutils-2.25/include/opcode/sparc.h @@ -1,6 +1,5 @@ /* Definitions for opcode table for the sparc. - Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000, 2002, - 2003, 2005, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 1989-2014 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and the GNU Binutils. @@ -101,6 +100,7 @@ typedef struct sparc_opcode /* This was called "delayed" in versions before the flags. */ unsigned int flags; unsigned int hwcaps; + unsigned int hwcaps2; short architecture; /* Bitmask of sparc_opcode_arch_val's. */ } sparc_opcode; @@ -116,7 +116,8 @@ typedef struct sparc_opcode #define F_PREF_ALIAS (F_ALIAS|F_PREFERRED) -/* These must match the HWCAP_* values precisely. */ +/* These must match the ELF_SPARC_HWCAP_* and ELF_SPARC_HWCAP2_* + values precisely. See include/elf/sparc.h. */ #define HWCAP_MUL32 0x00000001 /* umul/umulcc/smul/smulcc insns */ #define HWCAP_DIV32 0x00000002 /* udiv/udivcc/sdiv/sdivcc insns */ #define HWCAP_FSMULD 0x00000004 /* 'fsmuld' insn */ @@ -149,6 +150,20 @@ typedef struct sparc_opcode #define HWCAP_CBCOND 0x10000000 /* Compare and Branch insns */ #define HWCAP_CRC32C 0x20000000 /* CRC32C insn */ +#define HWCAP2_FJATHPLUS 0x00000001 /* Fujitsu Athena+ */ +#define HWCAP2_VIS3B 0x00000002 /* VIS3 present on multiple chips */ +#define HWCAP2_ADP 0x00000004 /* Application Data Protection */ +#define HWCAP2_SPARC5 0x00000008 /* The 29 new fp and sub instructions */ +#define HWCAP2_MWAIT 0x00000010 /* mwait instruction and load/monitor ASIs */ +#define HWCAP2_XMPMUL 0x00000020 /* XOR multiple precision multiply */ +#define HWCAP2_XMONT 0x00000040 /* XOR Montgomery mult/sqr instructions */ +#define HWCAP2_NSEC \ + 0x00000080 /* pause insn with support for nsec timings */ +#define HWCAP2_FJATHHPC 0x00001000 /* Fujitsu HPC instrs */ +#define HWCAP2_FJDES 0x00002000 /* Fujitsu DES instrs */ +#define HWCAP2_FJAES 0x00010000 /* Fujitsu AES instrs */ + + /* All sparc opcodes are 32 bits, except for the `set' instruction (really a macro), which is 64 bits. It is handled as a special case. @@ -174,6 +189,7 @@ typedef struct sparc_opcode g frsd floating point register. H frsd floating point register (double/even). J frsd floating point register (quad/multiple of 4). + } frsd floating point register (double/even) that is == frs2 b crs1 coprocessor register c crs2 coprocessor register D crsd coprocessor register @@ -215,6 +231,7 @@ typedef struct sparc_opcode s %fprs. (v9) P %pc. (v9) W %tick. (v9) + { %mcdper. (v9b) o %asi. (v9) 6 %fcc0. (v9) 7 %fcc1. (v9) diff --git a/binutils-2.25/include/opcode/spu-insns.h b/binutils-2.25/include/opcode/spu-insns.h index d6c260aa..e8259e6a 100644 --- a/binutils-2.25/include/opcode/spu-insns.h +++ b/binutils-2.25/include/opcode/spu-insns.h @@ -1,6 +1,6 @@ /* SPU ELF support for BFD. - Copyright 2006, 2007, 2010 Free Software Foundation, Inc. + Copyright (C) 2006-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/opcode/spu.h b/binutils-2.25/include/opcode/spu.h index c6468303..64882f58 100644 --- a/binutils-2.25/include/opcode/spu.h +++ b/binutils-2.25/include/opcode/spu.h @@ -1,6 +1,6 @@ /* SPU ELF support for BFD. - Copyright 2006, 2010 Free Software Foundation, Inc. + Copyright (C) 2006-2014 Free Software Foundation, Inc. This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/tahoe.h b/binutils-2.25/include/opcode/tahoe.h index 70fcf623..664f3b5f 100644 --- a/binutils-2.25/include/opcode/tahoe.h +++ b/binutils-2.25/include/opcode/tahoe.h @@ -2,7 +2,7 @@ * Ported by the State University of New York at Buffalo by the Distributed * Computer Systems Lab, Department of Computer Science, 1991. */ -/* Copyright 2012 Free Software Foundation, Inc. +/* Copyright (C) 2012-2014 Free Software Foundation, Inc. This file is part of GDB and BINUTILS. diff --git a/binutils-2.25/include/opcode/tic30.h b/binutils-2.25/include/opcode/tic30.h index 3f4d3071..1a1c05a4 100644 --- a/binutils-2.25/include/opcode/tic30.h +++ b/binutils-2.25/include/opcode/tic30.h @@ -1,5 +1,5 @@ /* tic30.h -- Header file for TI TMS320C30 opcode table - Copyright 1998, 2005, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au) This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/tic4x.h b/binutils-2.25/include/opcode/tic4x.h index 6f16fcb4..15c837e5 100644 --- a/binutils-2.25/include/opcode/tic4x.h +++ b/binutils-2.25/include/opcode/tic4x.h @@ -1,6 +1,6 @@ /* Table of opcodes for the Texas Instruments TMS320C[34]X family. - Copyright (C) 2002, 2003, 2010 Free Software Foundation. + Copyright (C) 2002-2014 Free Software Foundation, Inc. Contributed by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz) diff --git a/binutils-2.25/include/opcode/tic54x.h b/binutils-2.25/include/opcode/tic54x.h index f468714e..ca2911e3 100644 --- a/binutils-2.25/include/opcode/tic54x.h +++ b/binutils-2.25/include/opcode/tic54x.h @@ -1,5 +1,5 @@ /* tic54x.h -- Header file for TI TMS320C54X opcode table - Copyright 1999, 2000, 2001, 2005, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1999-2014 Free Software Foundation, Inc. Written by Timothy Wall (twall@cygnus.com) This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/tic6x-control-registers.h b/binutils-2.25/include/opcode/tic6x-control-registers.h index b4387779..2afb8d64 100644 --- a/binutils-2.25/include/opcode/tic6x-control-registers.h +++ b/binutils-2.25/include/opcode/tic6x-control-registers.h @@ -1,6 +1,5 @@ /* TI C6X control register information. - Copyright 2010 - Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/opcode/tic6x-insn-formats.h b/binutils-2.25/include/opcode/tic6x-insn-formats.h index 80bc9fac..5aea2712 100644 --- a/binutils-2.25/include/opcode/tic6x-insn-formats.h +++ b/binutils-2.25/include/opcode/tic6x-insn-formats.h @@ -1,5 +1,5 @@ /* TI C6X instruction format information. - Copyright 2010-2013 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/opcode/tic6x-opcode-table.h b/binutils-2.25/include/opcode/tic6x-opcode-table.h index d876c564..b93d71e8 100644 --- a/binutils-2.25/include/opcode/tic6x-opcode-table.h +++ b/binutils-2.25/include/opcode/tic6x-opcode-table.h @@ -1,5 +1,5 @@ /* TI C6X opcode table. - Copyright 2010-2013 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/opcode/tic6x.h b/binutils-2.25/include/opcode/tic6x.h index d76c5e1a..7ccffb09 100644 --- a/binutils-2.25/include/opcode/tic6x.h +++ b/binutils-2.25/include/opcode/tic6x.h @@ -1,5 +1,5 @@ /* TI C6X opcode information. - Copyright 2010-2013 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/opcode/tic80.h b/binutils-2.25/include/opcode/tic80.h index 43c84be5..e13f2a60 100644 --- a/binutils-2.25/include/opcode/tic80.h +++ b/binutils-2.25/include/opcode/tic80.h @@ -1,5 +1,5 @@ /* tic80.h -- Header file for TI TMS320C80 (MV) opcode table - Copyright 1996, 1997, 2003, 2010 Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. Written by Fred Fish (fnf@cygnus.com), Cygnus Support This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/tilegx.h b/binutils-2.25/include/opcode/tilegx.h index c11fc166..9dd074d6 100644 --- a/binutils-2.25/include/opcode/tilegx.h +++ b/binutils-2.25/include/opcode/tilegx.h @@ -1,6 +1,6 @@ /* TILE-Gx opcode information. * - * Copyright 2011 Free Software Foundation, Inc. + * Copyright (C) 2011-2014 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/opcode/tilepro.h b/binutils-2.25/include/opcode/tilepro.h index 767926bd..410ee410 100644 --- a/binutils-2.25/include/opcode/tilepro.h +++ b/binutils-2.25/include/opcode/tilepro.h @@ -1,6 +1,6 @@ /* TILEPro opcode information. * - * Copyright 2011 Free Software Foundation, Inc. + * Copyright (C) 2011-2014 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/opcode/v850.h b/binutils-2.25/include/opcode/v850.h index 02ef3d4c..d19ff80f 100644 --- a/binutils-2.25/include/opcode/v850.h +++ b/binutils-2.25/include/opcode/v850.h @@ -1,5 +1,5 @@ /* v850.h -- Header file for NEC V850 opcode table - Copyright 1996-2013 Free Software Foundation, Inc. + Copyright (C) 1996-2014 Free Software Foundation, Inc. Written by J.T. Conklin, Cygnus Support This file is part of GDB, GAS, and the GNU binutils. diff --git a/binutils-2.25/include/opcode/vax.h b/binutils-2.25/include/opcode/vax.h index f5cdd243..3b384135 100644 --- a/binutils-2.25/include/opcode/vax.h +++ b/binutils-2.25/include/opcode/vax.h @@ -1,5 +1,5 @@ /* Vax opcde list. - Copyright 1989, 1991, 1992, 1995, 2010 Free Software Foundation, Inc. + Copyright (C) 1989-2014 Free Software Foundation, Inc. This file is part of GDB and GAS. diff --git a/binutils-2.25/include/opcode/xgate.h b/binutils-2.25/include/opcode/xgate.h index 8451e66c..9124b84b 100644 --- a/binutils-2.25/include/opcode/xgate.h +++ b/binutils-2.25/include/opcode/xgate.h @@ -1,5 +1,5 @@ /* xgate.h -- Freescale XGATE opcode list - Copyright 2010, 2011, 2012 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Sean Keys (skeys@ipdatasys.com) This file is part of the GNU opcodes library. diff --git a/binutils-2.25/include/os9k.h b/binutils-2.25/include/os9k.h index e8baee17..248099b6 100644 --- a/binutils-2.25/include/os9k.h +++ b/binutils-2.25/include/os9k.h @@ -1,5 +1,5 @@ /* os9k.h - OS-9000 i386 module header definitions - Copyright 2000 Free Software Foundation, Inc. + Copyright (C) 2000-2014 Free Software Foundation, Inc. This file is part of GNU CC. diff --git a/binutils-2.25/include/progress.h b/binutils-2.25/include/progress.h index 80ffbe24..a622c0b2 100644 --- a/binutils-2.25/include/progress.h +++ b/binutils-2.25/include/progress.h @@ -1,5 +1,5 @@ /* Default definitions for progress macros. - Copyright 1994, 2010 Free Software Foundation, Inc. + Copyright (C) 1994-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/include/som/ChangeLog b/binutils-2.25/include/som/ChangeLog index e1f1ec59..cd7129ed 100644 --- a/binutils-2.25/include/som/ChangeLog +++ b/binutils-2.25/include/som/ChangeLog @@ -1,3 +1,7 @@ +2014-03-05 Alan Modra + + Update copyright years. + 2010-06-10 Tristan Gingold * aout.h: New file. @@ -6,7 +10,7 @@ * reloc.h: Likewise. * internal.h: Likewise. -Copyright (C) 2010-2012 Free Software Foundation, Inc. +Copyright (C) 2010-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/include/som/aout.h b/binutils-2.25/include/som/aout.h index c3845edf..a328ba7e 100644 --- a/binutils-2.25/include/som/aout.h +++ b/binutils-2.25/include/som/aout.h @@ -1,5 +1,5 @@ /* SOM a.out definitions for BFD. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Contributed by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/som/clock.h b/binutils-2.25/include/som/clock.h index e2a7ba6d..fd0041ec 100644 --- a/binutils-2.25/include/som/clock.h +++ b/binutils-2.25/include/som/clock.h @@ -1,5 +1,5 @@ /* SOM clock definition for BFD. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Contributed by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/som/internal.h b/binutils-2.25/include/som/internal.h index e3889fb5..a2799194 100644 --- a/binutils-2.25/include/som/internal.h +++ b/binutils-2.25/include/som/internal.h @@ -1,5 +1,5 @@ /* SOM internal definitions for BFD. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Contributed by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/som/lst.h b/binutils-2.25/include/som/lst.h index 6088b47c..7683fd9a 100644 --- a/binutils-2.25/include/som/lst.h +++ b/binutils-2.25/include/som/lst.h @@ -1,5 +1,5 @@ /* SOM lst definitions for BFD. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Contributed by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/som/reloc.h b/binutils-2.25/include/som/reloc.h index 417b5ee1..9c8a1eb3 100644 --- a/binutils-2.25/include/som/reloc.h +++ b/binutils-2.25/include/som/reloc.h @@ -1,5 +1,5 @@ /* SOM relocation definitions for BFD. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Contributed by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/ChangeLog b/binutils-2.25/include/vms/ChangeLog index 8d5e91d3..7bcd3888 100644 --- a/binutils-2.25/include/vms/ChangeLog +++ b/binutils-2.25/include/vms/ChangeLog @@ -1,3 +1,7 @@ +2014-03-05 Alan Modra + + Update copyright years. + 2012-03-08 Tristan Gingold * lbr.h (struct vms_lhd): Add comments. @@ -73,7 +77,7 @@ * eiaf.h, eicp.h, eiha.h, eihd.h, eihi.h, eihs.h, eihvn.h: Ditto. * eisd.h, emh.h, eobjrec.h, esdf.h, esrf.h, etir.h, shl.h: Ditto. -Copyright (C) 2010-2012 Free Software Foundation, Inc. +Copyright (C) 2010-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/include/vms/dcx.h b/binutils-2.25/include/vms/dcx.h index b6f373ab..bfcf628c 100644 --- a/binutils-2.25/include/vms/dcx.h +++ b/binutils-2.25/include/vms/dcx.h @@ -1,6 +1,6 @@ /* Alpha VMS external format for DeCompression. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/dmt.h b/binutils-2.25/include/vms/dmt.h index f2aad6e9..97342412 100644 --- a/binutils-2.25/include/vms/dmt.h +++ b/binutils-2.25/include/vms/dmt.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Debug Module Table. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/dsc.h b/binutils-2.25/include/vms/dsc.h index 5a1b0e23..c66618fc 100644 --- a/binutils-2.25/include/vms/dsc.h +++ b/binutils-2.25/include/vms/dsc.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Descriptors. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/dst.h b/binutils-2.25/include/vms/dst.h index 231d3970..f502465a 100644 --- a/binutils-2.25/include/vms/dst.h +++ b/binutils-2.25/include/vms/dst.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Debug Symbol Table. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/eeom.h b/binutils-2.25/include/vms/eeom.h index 807e4485..10c31b47 100644 --- a/binutils-2.25/include/vms/eeom.h +++ b/binutils-2.25/include/vms/eeom.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended End Of Module. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/egps.h b/binutils-2.25/include/vms/egps.h index e92df810..592e8d83 100644 --- a/binutils-2.25/include/vms/egps.h +++ b/binutils-2.25/include/vms/egps.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Program Section Definition. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/egsd.h b/binutils-2.25/include/vms/egsd.h index f9be3981..db96dadd 100644 --- a/binutils-2.25/include/vms/egsd.h +++ b/binutils-2.25/include/vms/egsd.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Global Symbol Directory. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/egst.h b/binutils-2.25/include/vms/egst.h index d4244842..c7693794 100644 --- a/binutils-2.25/include/vms/egst.h +++ b/binutils-2.25/include/vms/egst.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Global Symbol Definition. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/egsy.h b/binutils-2.25/include/vms/egsy.h index dd36ab21..021bc38e 100644 --- a/binutils-2.25/include/vms/egsy.h +++ b/binutils-2.25/include/vms/egsy.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Global Symbol. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/eiaf.h b/binutils-2.25/include/vms/eiaf.h index c3c39884..a6e0179a 100644 --- a/binutils-2.25/include/vms/eiaf.h +++ b/binutils-2.25/include/vms/eiaf.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Activator Fixup section. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/eicp.h b/binutils-2.25/include/vms/eicp.h index 9c769f76..02f96d53 100644 --- a/binutils-2.25/include/vms/eicp.h +++ b/binutils-2.25/include/vms/eicp.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image section Change Protection. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/eidc.h b/binutils-2.25/include/vms/eidc.h index 987e8c24..78faa20b 100644 --- a/binutils-2.25/include/vms/eidc.h +++ b/binutils-2.25/include/vms/eidc.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Ident Consistency check. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/eiha.h b/binutils-2.25/include/vms/eiha.h index 5965ef97..ac6bbfcd 100644 --- a/binutils-2.25/include/vms/eiha.h +++ b/binutils-2.25/include/vms/eiha.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Activation. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/eihd.h b/binutils-2.25/include/vms/eihd.h index fdb3a6ec..329f6bd4 100644 --- a/binutils-2.25/include/vms/eihd.h +++ b/binutils-2.25/include/vms/eihd.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Header. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/eihi.h b/binutils-2.25/include/vms/eihi.h index 97d3d895..9026ed84 100644 --- a/binutils-2.25/include/vms/eihi.h +++ b/binutils-2.25/include/vms/eihi.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Identification. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/eihs.h b/binutils-2.25/include/vms/eihs.h index cf048b13..80ece6d1 100644 --- a/binutils-2.25/include/vms/eihs.h +++ b/binutils-2.25/include/vms/eihs.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Symbols and debug table. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/eihvn.h b/binutils-2.25/include/vms/eihvn.h index 07f9eeed..a8bf58c4 100644 --- a/binutils-2.25/include/vms/eihvn.h +++ b/binutils-2.25/include/vms/eihvn.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Header Version. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/eisd.h b/binutils-2.25/include/vms/eisd.h index 7579e72b..6d0c5bc4 100644 --- a/binutils-2.25/include/vms/eisd.h +++ b/binutils-2.25/include/vms/eisd.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Image Section Descriptor. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/emh.h b/binutils-2.25/include/vms/emh.h index 973d71ea..4fbcf597 100644 --- a/binutils-2.25/include/vms/emh.h +++ b/binutils-2.25/include/vms/emh.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Module Header. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/eobjrec.h b/binutils-2.25/include/vms/eobjrec.h index 985fda78..28b3e4b9 100644 --- a/binutils-2.25/include/vms/eobjrec.h +++ b/binutils-2.25/include/vms/eobjrec.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Object Records. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/esdf.h b/binutils-2.25/include/vms/esdf.h index 79ee3d61..9f222712 100644 --- a/binutils-2.25/include/vms/esdf.h +++ b/binutils-2.25/include/vms/esdf.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended GSD Global Symbol Definition. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/esdfm.h b/binutils-2.25/include/vms/esdfm.h index e00e44a1..4f83721e 100644 --- a/binutils-2.25/include/vms/esdfm.h +++ b/binutils-2.25/include/vms/esdfm.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Symbol Definition for version Mask. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/esdfv.h b/binutils-2.25/include/vms/esdfv.h index fae0dbc1..3b6154de 100644 --- a/binutils-2.25/include/vms/esdfv.h +++ b/binutils-2.25/include/vms/esdfv.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Symbol Def for Vectored symbols. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/esgps.h b/binutils-2.25/include/vms/esgps.h index e668a874..16885ee8 100644 --- a/binutils-2.25/include/vms/esgps.h +++ b/binutils-2.25/include/vms/esgps.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Shared Program Section Definition. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/esrf.h b/binutils-2.25/include/vms/esrf.h index 291250c9..3005e256 100644 --- a/binutils-2.25/include/vms/esrf.h +++ b/binutils-2.25/include/vms/esrf.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended GSD Global Symbol Reference. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/etir.h b/binutils-2.25/include/vms/etir.h index 4d922dc3..5628d0bd 100644 --- a/binutils-2.25/include/vms/etir.h +++ b/binutils-2.25/include/vms/etir.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Extended Text Information and Relocation. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/internal.h b/binutils-2.25/include/vms/internal.h index 1c8c4724..1815d2ba 100644 --- a/binutils-2.25/include/vms/internal.h +++ b/binutils-2.25/include/vms/internal.h @@ -1,6 +1,6 @@ /* Alpha VMS internal format. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/lbr.h b/binutils-2.25/include/vms/lbr.h index fd3c256a..1e889a0b 100644 --- a/binutils-2.25/include/vms/lbr.h +++ b/binutils-2.25/include/vms/lbr.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Libraries. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/prt.h b/binutils-2.25/include/vms/prt.h index 8b8d27b5..a9174aa9 100644 --- a/binutils-2.25/include/vms/prt.h +++ b/binutils-2.25/include/vms/prt.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Protection values. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/vms/shl.h b/binutils-2.25/include/vms/shl.h index d1d9fae9..1320a1ec 100644 --- a/binutils-2.25/include/vms/shl.h +++ b/binutils-2.25/include/vms/shl.h @@ -1,6 +1,6 @@ /* Alpha VMS external format of Shareable image List. - Copyright 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Tristan Gingold , AdaCore. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/xtensa-isa-internal.h b/binutils-2.25/include/xtensa-isa-internal.h index 6c727366..82d360a5 100644 --- a/binutils-2.25/include/xtensa-isa-internal.h +++ b/binutils-2.25/include/xtensa-isa-internal.h @@ -1,5 +1,5 @@ /* Internal definitions for configurable Xtensa ISA support. - Copyright 2003, 2004, 2005, 2008, 2010 Free Software Foundation, Inc. + Copyright (C) 2003-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. diff --git a/binutils-2.25/include/xtensa-isa.h b/binutils-2.25/include/xtensa-isa.h index c3c740da..340224a4 100644 --- a/binutils-2.25/include/xtensa-isa.h +++ b/binutils-2.25/include/xtensa-isa.h @@ -1,5 +1,5 @@ /* Interface definition for configurable Xtensa ISA support. - Copyright 2003, 2004, 2005, 2006, 2008, 2010 Free Software Foundation, Inc. + Copyright (C) 2003-2014 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. -- cgit v1.2.3