2004-12-22 23:29:25 +08:00
|
|
|
# gas target specific configuration file. This is a -*- sh -*- file.
|
2012-12-18 00:56:12 +08:00
|
|
|
#
|
|
|
|
# Copyright 2012 Free Software Foundation
|
|
|
|
#
|
|
|
|
# This file 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; see the file COPYING3. If not see
|
|
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
#
|
2004-12-22 23:29:25 +08:00
|
|
|
|
|
|
|
# This is invoked by configure. Putting it in a separate shell file
|
|
|
|
# lets us skip running autoconf when modifying target specific
|
|
|
|
# information.
|
|
|
|
|
|
|
|
# Input shell variables:
|
|
|
|
# targ a configuration target name, such as i686-pc-linux-gnu.
|
|
|
|
|
|
|
|
# Output shell variables:
|
|
|
|
# cpu_type canonical gas cpu type; identifies the config/tc-* files
|
|
|
|
# fmt output format; identifies the config/obj-* files
|
|
|
|
# em emulation; identifies the config/te-* files
|
|
|
|
|
|
|
|
# Optional output shell variables; these are not always set:
|
2012-01-24 05:42:04 +08:00
|
|
|
# arch the default architecture; sets DEFAULT_ARCH on some systems
|
2004-12-22 23:29:25 +08:00
|
|
|
# endian "big" or "little"; used on bi-endian systems
|
|
|
|
|
|
|
|
cpu_type=
|
|
|
|
fmt=
|
2005-03-21 18:26:18 +08:00
|
|
|
em=generic
|
|
|
|
bfd_gas=no
|
2004-12-22 23:29:25 +08:00
|
|
|
arch=
|
|
|
|
endian=
|
|
|
|
|
|
|
|
eval `echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
|
|
|
|
|
|
|
|
# Check for architecture variants. Set cpu_type and, optionally,
|
|
|
|
# endian and arch.
|
|
|
|
# Note: This table is alpha-sorted, please try to keep it that way.
|
|
|
|
case ${cpu} in
|
2012-08-13 22:52:54 +08:00
|
|
|
aarch64) cpu_type=aarch64 endian=little ;;
|
|
|
|
aarch64_be) cpu_type=aarch64 endian=big ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
alpha*) cpu_type=alpha ;;
|
2005-07-18 22:13:36 +08:00
|
|
|
am33_2.0) cpu_type=mn10300 endian=little ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
arm*be|arm*b) cpu_type=arm endian=big ;;
|
|
|
|
arm*) cpu_type=arm endian=little ;;
|
2005-09-30 23:05:07 +08:00
|
|
|
bfin*) cpu_type=bfin endian=little ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
c4x*) cpu_type=tic4x ;;
|
2007-06-29 22:09:34 +08:00
|
|
|
cr16*) cpu_type=cr16 endian=little ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
crisv32) cpu_type=cris arch=crisv32 ;;
|
|
|
|
crx*) cpu_type=crx endian=little ;;
|
bfd:
* Makefile.am (ALL_MACHINES): Add cpu-epiphany.lo .
(ALL_MACHINES_CFILES): Add cpu-epiphany.c .
(BFD32_BACKENDS): Add elf32-epiphany.lo .
(BFD32_BACKENDS_CFILES): Add elf32-epiphany.c .
* Makefile.in, bfd-in2.h, configure, libbfd.h: Regenerate.
* archures.c (bfd_arch_epiphany): Add.
(bfd_mach_epiphany16, bfd_mach_epiphany32): Define.
(bfd_epiphany_arch): Declare.
(bfd_archures_list): Add &bfd_epiphany_arch.
* config.bfd (epiphany-*-elf): New target case.
* configure.in (bfd_elf32_epiphany_vec): New target vector case.
* reloc.c (BFD_RELOC_EPIPHANY_SIMM8): New relocation.
(BFD_RELOC_EPIPHANY_SIMM24, BFD_RELOC_EPIPHANY_HIGH): Likewise.
(BFD_RELOC_EPIPHANY_LOW, BFD_RELOC_EPIPHANY_SIMM11): Likewise.
(BFD_RELOC_EPIPHANY_IMM11, BFD_RELOC_EPIPHANY_IMM8): Likewise.
* targets.c (bfd_elf32_epiphany_vec): Declare.
(_bfd_target_vector): Add bfd_elf32_epiphany_vec.
* po/SRC-POTFILES.in, po/bfd.pot: Regenerate.
* cpu-epiphany.c, elf32-epiphany.c: New files.
binutils:
* readelf.c (include "elf/epiphany.h")
(guess_is_rela, dump_relocation): Handle EM_ADAPTEVA_EPIPHANY.
(get_machine_name, is_32bit_abs_reloc, is_32bit_pcrel_reloc): Likewise.
(is_16bit_abs_reloc, is_none_reloc): Likewise.
* po/binutils.pot: Regenerate.
cpu:
* cpu/epiphany.cpu, cpu/epiphany.opc: New files.
gas:
* NEWS: Mention addition of Adapteva Epiphany support.
* config/tc-epiphany.c, config/tc-epiphany.h: New files.
* Makefile.am (TARGET_CPU_CFILES): Add config/tc-epiphany.c .
(TARGET_CPU_HFILES): Add config/tc-epiphany.h .
* Makefile.in, configure, doc/Makefile.in, po/POTFILES.in: Regenerate.
* configure.in: Also set using_cgen for epiphany.
* configure.tgt: Handle epiphany.
* doc/Makefile.am (CPU_DOCS): Add c-epiphany.texi .
* doc/all.texi: Set EPIPHANY.
* doc/as.texinfo: Add EPIPHANY-specific text.
* doc/c-epiphany.texi: New file.
* po/gas.pot: Regenerate.
gas/testsuite:
* gas/epiphany: New directory.
include:
* dis-asm.h (print_insn_epiphany): Declare.
* elf/epiphany.h: New file.
* elf/common.h (EM_ADAPTEVA_EPIPHANY): Define.
ld:
* NEWS: Mention addition of Adapteva Epiphany support.
* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32epiphany.c .
(eelf32epiphany.c): New rule.
* Makefile.in: Regenerate.
* configure.tgt: Handle epiphany-*-elf.
* po/ld.pot: Regenerate.
* testsuite/ld-srec/srec.exp: xfail epiphany.
* emulparams/elf32epiphany.sh: New file.
opcodes:
* Makefile.am (HFILES): Add epiphany-desc.h and epiphany-opc.h .
(TARGET_LIBOPCODES_CFILES): Add epiphany-asm.c, epiphany-desc.c,
epiphany-dis.c, epiphany-ibld.c and epiphany-opc.c .
(CLEANFILES): Add stamp-epiphany.
(EPIPHANY_DEPS): Set. Make CGEN-generated Epiphany files depend on it.
(stamp-epiphany): New rule.
* Makefile.in, configure, po/POTFILES.in, po/opcodes.pot: Regenerate.
* configure.in: Handle bfd_epiphany_arch.
* disassemble.c (ARCH_epiphany): Define.
(disassembler): Handle bfd_arch_epiphany.
* epiphany-asm.c, epiphany-desc.c, epiphany-desc.h: New files.
* epiphany-dis.c, epiphany-ibld.c, epiphany-opc.c: Likewise.
* epiphany-opc.h: Likewise.
2011-10-25 19:18:16 +08:00
|
|
|
epiphany*) cpu_type=epiphany endian=little ;;
|
2006-12-24 10:48:59 +08:00
|
|
|
fido) cpu_type=m68k ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
hppa*) cpu_type=hppa ;;
|
|
|
|
i[3-7]86) cpu_type=i386 arch=i386;;
|
|
|
|
ia64) cpu_type=ia64 ;;
|
2012-01-24 05:42:04 +08:00
|
|
|
ip2k) cpu_type=ip2k endian=big ;;
|
|
|
|
iq2000) cpu_type=iq2000 endian=big ;;
|
2010-02-19 11:36:06 +08:00
|
|
|
lm32) cpu_type=lm32 ;;
|
2010-08-04 12:21:06 +08:00
|
|
|
m32c) cpu_type=m32c endian=little ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
m32r) cpu_type=m32r endian=big ;;
|
|
|
|
m32rle) cpu_type=m32r endian=little ;;
|
2005-07-18 22:13:36 +08:00
|
|
|
m5200) cpu_type=m68k ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
m68008) cpu_type=m68k ;;
|
2005-07-18 22:13:36 +08:00
|
|
|
m680[012346]0) cpu_type=m68k ;;
|
|
|
|
m6811|m6812|m68hc12) cpu_type=m68hc11 ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
m683??) cpu_type=m68k ;;
|
2010-02-27 01:27:00 +08:00
|
|
|
mep) cpu_type=mep endian=little ;;
|
2012-11-10 00:25:12 +08:00
|
|
|
microblazeel*) cpu_type=microblaze endian=little;;
|
|
|
|
microblaze*) cpu_type=microblaze endian=big;;
|
2004-12-22 23:29:25 +08:00
|
|
|
mips*el) cpu_type=mips endian=little ;;
|
|
|
|
mips*) cpu_type=mips endian=big ;;
|
2010-02-19 11:36:06 +08:00
|
|
|
mt) cpu_type=mt endian=big ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
or32*) cpu_type=or32 endian=big ;;
|
|
|
|
pjl*) cpu_type=pj endian=little ;;
|
|
|
|
pj*) cpu_type=pj endian=big ;;
|
|
|
|
powerpc*le*) cpu_type=ppc endian=little ;;
|
|
|
|
powerpc*) cpu_type=ppc endian=big ;;
|
|
|
|
rs6000*) cpu_type=ppc ;;
|
2011-11-02 11:09:11 +08:00
|
|
|
rl78*) cpu_type=rl78 ;;
|
2009-09-29 22:17:19 +08:00
|
|
|
rx) cpu_type=rx ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
s390x*) cpu_type=s390 arch=s390x ;;
|
|
|
|
s390*) cpu_type=s390 arch=s390 ;;
|
2010-02-19 11:36:06 +08:00
|
|
|
score*l) cpu_type=score endian=little ;;
|
|
|
|
score*) cpu_type=score endian=big ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
sh5le*) cpu_type=sh64 endian=little ;;
|
2005-07-18 22:13:36 +08:00
|
|
|
sh5*) cpu_type=sh64 endian=big ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
sh64le*) cpu_type=sh64 endian=little ;;
|
2010-02-19 11:36:06 +08:00
|
|
|
sh64*) cpu_type=sh64 endian=big ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
sh*le) cpu_type=sh endian=little ;;
|
|
|
|
sh*) cpu_type=sh endian=big ;;
|
|
|
|
sparc64*) cpu_type=sparc arch=v9-64 ;;
|
|
|
|
sparc86x*) cpu_type=sparc arch=sparc86x ;;
|
2005-07-18 22:13:36 +08:00
|
|
|
sparclet*) cpu_type=sparc arch=sparclet ;;
|
|
|
|
sparclite*) cpu_type=sparc arch=sparclite ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
|
2012-02-26 03:51:34 +08:00
|
|
|
tilegx*be) cpu_type=tilegx endian=big ;;
|
|
|
|
tilegx*) cpu_type=tilegx endian=little ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
v850*) cpu_type=v850 ;;
|
2011-06-20 21:23:22 +08:00
|
|
|
x86_64*) cpu_type=i386 arch=x86_64;;
|
2012-05-03 21:12:08 +08:00
|
|
|
xgate) cpu_type=xgate ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
xtensa*) cpu_type=xtensa arch=xtensa ;;
|
|
|
|
*) cpu_type=${cpu} ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
|
|
# Assign object format. Set fmt, em, and bfd_gas.
|
|
|
|
generic_target=${cpu_type}-$vendor-$os
|
|
|
|
# Note: This table is alpha-sorted, please try to keep it that way.
|
|
|
|
case ${generic_target} in
|
2012-08-13 22:52:54 +08:00
|
|
|
aarch64*-*-elf) fmt=elf;;
|
|
|
|
aarch64*-*-linux*) fmt=elf em=linux ;;
|
|
|
|
|
2004-12-22 23:29:25 +08:00
|
|
|
alpha-*-*vms*) fmt=evax ;;
|
|
|
|
alpha-*-osf*) fmt=ecoff ;;
|
|
|
|
alpha-*-linuxecoff*) fmt=ecoff ;;
|
2005-03-23 23:35:50 +08:00
|
|
|
alpha-*-linux-*) fmt=elf em=linux ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
alpha-*-netbsd*) fmt=elf em=nbsd ;;
|
|
|
|
alpha-*-openbsd*) fmt=elf em=obsd ;;
|
|
|
|
|
|
|
|
arc-*-elf*) fmt=elf ;;
|
|
|
|
|
|
|
|
arm-*-aout) fmt=aout ;;
|
bfd:
* config.bfd (thumb-*-oabi): Don't handle in list of obsolete
targets.
(strongarm*, thumb*, xscale*): Remove architectures.
(strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
xscale-*-coff): Remove targets.
binutils:
* configure.in (thumb-*-pe*): Remove.
* configure: Regenerate.
binutils/testsuite:
* binutils-all/objcopy.exp (*arm*-*-coff): Change to arm*-*-coff.
(xscale-*-coff, thumb*-*-coff, thumb*-*-pe): Don't handle.
gas:
* configure.tgt (strongarm*be, strongarm*b, strongarm*,
xscale*be|xscale*b, xscale*): Remove architectures.
(thumb-*-coff, thumb-*-rtems*, thumb-*-elf, thumb-epoc-pe,
thumb-*-pe, xscale-*-coff, xscale-*-elf): Remove targets.
gas/testsuite:
* gas/all/gas.exp (*arm*-*-coff): Change to arm*-*-coff.
(thumb*-*-coff, thumb*-*-pe*): Don;t handle.
* gas/arm/arm.exp (*arm*-*-*): Change to arm*-*-*.
(*xscale*-*-*): Don't handle.
* gas/cfi/cfi.exp (xscale*-*): Don't handle.
* gas/elf/elf.exp (*arm*-*-*): Change to arm*-*-*.
(xscale*-*-*): Don't handle.
ld:
* configure.tgt (thumb-*-linux-* | thumb-*-uclinux*,
strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*,
thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe,
xscale-*-coff, xscale-*-elf): Remove targets.
ld/testsuite:
* ld-selective/selective.exp (xscale-*-*): Don't handle.
* ld-srec/srec.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't
handle.
(*arm*-*-*): Change to arm*-*-*.
(strongarm*-*-coff, xscale*-*-coff, thumb-*-coff*, thumb-*-pe*,
thumb-*-elf*, strongarm*-*-*, thumb-*-*): Remove xfails.
* ld-undefined/undefined.exp (thumb*-*-pe*, thumb*-*-pe*): Remove
commented-out xfails.
(thumb-elf): Remove reference in comment.
* lib/ld-lib.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't
handle.
2011-04-07 01:09:56 +08:00
|
|
|
arm-*-coff) fmt=coff ;;
|
|
|
|
arm-*-rtems*) fmt=elf ;;
|
|
|
|
arm-*-elf) fmt=elf ;;
|
2005-03-17 01:27:17 +08:00
|
|
|
arm-*-eabi*) fmt=elf em=armeabi ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
arm-*-symbianelf*) fmt=elf em=symbian ;;
|
|
|
|
arm-*-kaos*) fmt=elf ;;
|
|
|
|
arm-*-conix*) fmt=elf ;;
|
|
|
|
arm-*-linux*aout*) fmt=aout em=linux ;;
|
2006-02-13 23:08:43 +08:00
|
|
|
arm-*-linux-*eabi*) fmt=elf em=armlinuxeabi ;;
|
2005-03-23 23:35:50 +08:00
|
|
|
arm-*-linux-*) fmt=elf em=linux ;;
|
2007-04-05 02:02:39 +08:00
|
|
|
arm-*-uclinux*eabi*) fmt=elf em=armlinuxeabi ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
arm-*-uclinux*) fmt=elf em=linux ;;
|
* elf32-arm.c (elf32_arm_nacl_plt0_entry, elf32_arm_nacl_plt_entry):
New variables.
(struct elf32_arm_link_hash_table): New member `nacl_p'.
(elf32_arm_link_hash_table_create): Initialize it.
(elf32_arm_nacl_link_hash_table_create): New function.
(arm_movw_immediate, arm_movt_immediate): New functions.
(elf32_arm_populate_plt_entry): Test HTAB->nacl_p.
(elf32_arm_finish_dynamic_sections): Likewise.
(elf32_arm_output_plt_map_1): Likewise.
(bfd_elf32_littlearm_nacl_vec, bfd_elf32_bigarm_nacl_vec):
New backend vector stanza.
(elf32_arm_nacl_modify_segment_map): New function.
* config.bfd: Handle arm-*-nacl*, armeb-*-nacl*.
* targets.c: Support bfd_elf32_{big,little}_nacl_vec.
* configure.in: Likewise.
(bfd_elf32_bigarm_nacl_vec): Add elf-nacl.lo here.
(bfd_elf32_littlearm_nacl_vec): Likewise.
(bfd_elf32_bigarm_vec, bfd_elf32_littlearm_vec): Likewise.
(bfd_elf32_bigarm_symbian_vec): Likewise.
(bfd_elf32_littlearm_symbian_vec): Likewise.
(bfd_elf32_bigarm_vxworks_vec): Likewise.
(bfd_elf32_littlearm_vxworks_vec): Likewise.
* configure: Regenerated.
* configure.tgt (arm-*-nacl*): Match it.
* config/te-nacl.h (FPU_DEFAULT, EABI_DEFAULT): Define.
(LOCAL_LABELS_DOLLAR): Define.
* config/tc-arm.c (elf32_arm_target_format) [TE_NACL]:
Use nacl format variants.
* gas/elf/elf.exp (run_elf_list_test): Treat arm-*-nacl* targets
as -armeabi.
* gas/arm/any-idiv.d: Match *-*-nacl* targets too.
* gas/arm/arch4t.d: Likewise.
* gas/arm/arch4t-eabi.d: Likewise.
* gas/arm/attr-any-armv4t.d: Likewise.
* gas/arm/attr-any-thumbv6.d: Likewise.
* gas/arm/attr-cpu-directive.d: Likewise.
* gas/arm/attr-default.d: Likewise.
* gas/arm/attr-march-all.d: Likewise.
* gas/arm/attr-march-armv1.d: Likewise.
* gas/arm/attr-march-armv2a.d: Likewise.
* gas/arm/attr-march-armv2.d: Likewise.
* gas/arm/attr-march-armv2s.d: Likewise.
* gas/arm/attr-march-armv3.d: Likewise.
* gas/arm/attr-march-armv3m.d: Likewise.
* gas/arm/attr-march-armv4.d: Likewise.
* gas/arm/attr-march-armv4t.d: Likewise.
* gas/arm/attr-march-armv4txm.d: Likewise.
* gas/arm/attr-march-armv4xm.d: Likewise.
* gas/arm/attr-march-armv5.d: Likewise.
* gas/arm/attr-march-armv5t.d: Likewise.
* gas/arm/attr-march-armv5te.d: Likewise.
* gas/arm/attr-march-armv5tej.d: Likewise.
* gas/arm/attr-march-armv5texp.d: Likewise.
* gas/arm/attr-march-armv5txm.d: Likewise.
* gas/arm/attr-march-armv6.d: Likewise.
* gas/arm/attr-march-armv6j.d: Likewise.
* gas/arm/attr-march-armv6k.d: Likewise.
* gas/arm/attr-march-armv6k+sec.d: Likewise.
* gas/arm/attr-march-armv6kt2.d: Likewise.
* gas/arm/attr-march-armv6-m.d: Likewise.
* gas/arm/attr-march-armv6-m+os.d: Likewise.
* gas/arm/attr-march-armv6s-m.d: Likewise.
* gas/arm/attr-march-armv6t2.d: Likewise.
* gas/arm/attr-march-armv6z.d: Likewise.
* gas/arm/attr-march-armv6zk.d: Likewise.
* gas/arm/attr-march-armv6zkt2.d: Likewise.
* gas/arm/attr-march-armv6zt2.d: Likewise.
* gas/arm/attr-march-armv7-a.d: Likewise.
* gas/arm/attr-march-armv7a.d: Likewise.
* gas/arm/attr-march-armv7-a+idiv.d: Likewise.
* gas/arm/attr-march-armv7-a+mp.d: Likewise.
* gas/arm/attr-march-armv7-a+sec.d: Likewise.
* gas/arm/attr-march-armv7-a+sec+virt.d: Likewise.
* gas/arm/attr-march-armv7-a+virt.d: Likewise.
* gas/arm/attr-march-armv7.d: Likewise.
* gas/arm/attr-march-armv7em.d: Likewise.
* gas/arm/attr-march-armv7-m.d: Likewise.
* gas/arm/attr-march-armv7m.d: Likewise.
* gas/arm/attr-march-armv7-r.d: Likewise.
* gas/arm/attr-march-armv7r.d: Likewise.
* gas/arm/attr-march-armv7-r+mp.d: Likewise.
* gas/arm/attr-march-iwmmxt2.d: Likewise.
* gas/arm/attr-march-iwmmxt.d: Likewise.
* gas/arm/attr-march-xscale.d: Likewise.
* gas/arm/attr-mcpu.d: Likewise.
* gas/arm/attr-mfpu-arm1020e.d: Likewise.
* gas/arm/attr-mfpu-arm1020t.d: Likewise.
* gas/arm/attr-mfpu-arm1136jf-s.d: Likewise.
* gas/arm/attr-mfpu-arm1136jfs.d: Likewise.
* gas/arm/attr-mfpu-arm7500fe.d: Likewise.
* gas/arm/attr-mfpu-fpa10.d: Likewise.
* gas/arm/attr-mfpu-fpa11.d: Likewise.
* gas/arm/attr-mfpu-fpa.d: Likewise.
* gas/arm/attr-mfpu-fpe2.d: Likewise.
* gas/arm/attr-mfpu-fpe3.d: Likewise.
* gas/arm/attr-mfpu-fpe.d: Likewise.
* gas/arm/attr-mfpu-maverick.d: Likewise.
* gas/arm/attr-mfpu-neon.d: Likewise.
* gas/arm/attr-mfpu-neon-fp16.d: Likewise.
* gas/arm/attr-mfpu-softfpa.d: Likewise.
* gas/arm/attr-mfpu-softvfp.d: Likewise.
* gas/arm/attr-mfpu-softvfp+vfp.d: Likewise.
* gas/arm/attr-mfpu-vfp10.d: Likewise.
* gas/arm/attr-mfpu-vfp10-r0.d: Likewise.
* gas/arm/attr-mfpu-vfp3.d: Likewise.
* gas/arm/attr-mfpu-vfp9.d: Likewise.
* gas/arm/attr-mfpu-vfp.d: Likewise.
* gas/arm/attr-mfpu-vfpv2.d: Likewise.
* gas/arm/attr-mfpu-vfpv3-d16.d: Likewise.
* gas/arm/attr-mfpu-vfpv3.d: Likewise.
* gas/arm/attr-mfpu-vfpv4-d16.d: Likewise.
* gas/arm/attr-mfpu-vfpv4.d: Likewise.
* gas/arm/attr-mfpu-vfpxd.d: Likewise.
* gas/arm/attr-names.d: Likewise.
* gas/arm/attr-order.d: Likewise.
* gas/arm/attr-override-cpu-directive.d: Likewise.
* gas/arm/attr-override-mcpu.d: Likewise.
* gas/arm/got_prel.d: Likewise.
* gas/arm/mapdir.d: Likewise.
* gas/arm/mapmisc.d: Likewise.
* gas/arm/mapsecs.d: Likewise.
* gas/arm/mapshort-eabi.d: Likewise.
* gas/arm/mapshort-elf.d: Likewise.
* gas/arm/mov-highregs-any.d: Likewise.
* gas/arm/mov-lowregs-any.d: Likewise.
* gas/arm/pr12198-1.d: Likewise.
* gas/arm/pr12198-2.d: Likewise.
* gas/arm/thumb.d: Likewise.
* gas/arm/thumb-eabi.d: Likewise.
* gas/arm/thumbrel.d: Likewise.
* configure.tgt (arm*-*-nacl*, arm*b-*-nacl*): Handle them.
* emulparams/armelf_nacl.sh: New file.
* emulparams/armelfb_nacl.sh: New file.
* Makefile.am (ALL_EMULATION_SOURCES): Add earmelf_nacl.c
and earmelfb_nacl.c here.
(earmelf_nacl.c, earmelfb_nacl.c): New targets.
* Makefile.in: Regenerated.
* ld-arm/arm-elf.exp (armelftests): Split out into ...
(armelftests_common, armelftests_nonacl): ... these two.
(armeabitests): Split out into ...
(armeabitests_common, armeabitests_nonacl): ... these two.
Omit _nonacl sets for arm*-*-nacl* targets.
* ld-arm/farcall-mix.d: Don't match exact addresses, only symbolic ones.
* ld-arm/farcall-mix2.d: Likewise.
* ld-arm/farcall-group.d: Likewise.
* ld-arm/tls-gdesc-got.d: Match variant file formats too.
Accept some variation in exact addresses.
* ld-arm/thumb2-b-interwork.d: Match variant file formats too.
Fix regexps not to care about exact addresses where not relevant.
* ld-arm/thumb2-bl-undefweak.d: Match any hex strings, not any
strings of particular exact lengths.
* ld-arm/thumb2-bl-undefweak1.d: Likewise.
* ld-arm/arm-app.r: Match variant file formats too.
* ld-arm/arm-app-abs32.r: Likewise.
* ld-arm/arm-lib.d: Likewise.
* ld-arm/arm-lib.r: Likewise.
* ld-arm/arm-static-app.r: Likewise.
* ld-arm/armv4-bx.d: Likewise.
* ld-arm/data-only-map.d: Likewise.
* ld-arm/group-relocs.d: Likewise.
* ld-arm/jump19.d: Likewise.
* ld-arm/reloc-boundaries.d: Likewise.
* ld-arm/thumb1-bl.d: Likewise.
* ld-arm/thumb2-bl.d: Likewise.
* ld-arm/tls-app.d: Likewise.
* ld-arm/tls-app.r: Likewise.
* ld-arm/tls-gdierelax.d: Likewise.
* ld-arm/tls-gdierelax2.d: Likewise.
* ld-arm/tls-gdlerelax.d: Likewise.
* ld-arm/tls-lib.d: Likewise.
* ld-arm/tls-lib.r: Likewise.
* ld-arm/tls-mixed.r: Likewise.
* ld-arm/vfp11-fix-none.d: Likewise.
* ld-arm/vfp11-fix-scalar.d: Likewise.
* ld-arm/vfp11-fix-vector.d: Likewise.
* ld-arm/arm-static-app.d: Likewise.
Fix regexps not to care about exact number of leading spaces.
* ld-arm/arm-app-abs32.d: Likewise.
* ld-arm/fix-arm1176-off.d: Likewise.
* ld-arm/fix-arm1176-on.d: Likewise.
* ld-arm/arm-elf.exp: Treat nacl targets like eabi targets.
2012-04-12 21:01:15 +08:00
|
|
|
arm-*-nacl*) fmt=elf em=nacl ;;
|
2010-02-19 11:36:06 +08:00
|
|
|
arm-*-netbsdelf*) fmt=elf em=nbsd ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
arm-*-*n*bsd*) fmt=aout em=nbsd ;;
|
|
|
|
arm-*-nto*) fmt=elf ;;
|
bfd:
* config.bfd (thumb-*-oabi): Don't handle in list of obsolete
targets.
(strongarm*, thumb*, xscale*): Remove architectures.
(strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
xscale-*-coff): Remove targets.
binutils:
* configure.in (thumb-*-pe*): Remove.
* configure: Regenerate.
binutils/testsuite:
* binutils-all/objcopy.exp (*arm*-*-coff): Change to arm*-*-coff.
(xscale-*-coff, thumb*-*-coff, thumb*-*-pe): Don't handle.
gas:
* configure.tgt (strongarm*be, strongarm*b, strongarm*,
xscale*be|xscale*b, xscale*): Remove architectures.
(thumb-*-coff, thumb-*-rtems*, thumb-*-elf, thumb-epoc-pe,
thumb-*-pe, xscale-*-coff, xscale-*-elf): Remove targets.
gas/testsuite:
* gas/all/gas.exp (*arm*-*-coff): Change to arm*-*-coff.
(thumb*-*-coff, thumb*-*-pe*): Don;t handle.
* gas/arm/arm.exp (*arm*-*-*): Change to arm*-*-*.
(*xscale*-*-*): Don't handle.
* gas/cfi/cfi.exp (xscale*-*): Don't handle.
* gas/elf/elf.exp (*arm*-*-*): Change to arm*-*-*.
(xscale*-*-*): Don't handle.
ld:
* configure.tgt (thumb-*-linux-* | thumb-*-uclinux*,
strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*,
thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe,
xscale-*-coff, xscale-*-elf): Remove targets.
ld/testsuite:
* ld-selective/selective.exp (xscale-*-*): Don't handle.
* ld-srec/srec.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't
handle.
(*arm*-*-*): Change to arm*-*-*.
(strongarm*-*-coff, xscale*-*-coff, thumb-*-coff*, thumb-*-pe*,
thumb-*-elf*, strongarm*-*-*, thumb-*-*): Remove xfails.
* ld-undefined/undefined.exp (thumb*-*-pe*, thumb*-*-pe*): Remove
commented-out xfails.
(thumb-elf): Remove reference in comment.
* lib/ld-lib.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't
handle.
2011-04-07 01:09:56 +08:00
|
|
|
arm-epoc-pe) fmt=coff em=epoc-pe ;;
|
2009-06-18 10:11:03 +08:00
|
|
|
arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
|
|
|
|
fmt=coff em=wince-pe ;;
|
bfd:
* config.bfd (thumb-*-oabi): Don't handle in list of obsolete
targets.
(strongarm*, thumb*, xscale*): Remove architectures.
(strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
xscale-*-coff): Remove targets.
binutils:
* configure.in (thumb-*-pe*): Remove.
* configure: Regenerate.
binutils/testsuite:
* binutils-all/objcopy.exp (*arm*-*-coff): Change to arm*-*-coff.
(xscale-*-coff, thumb*-*-coff, thumb*-*-pe): Don't handle.
gas:
* configure.tgt (strongarm*be, strongarm*b, strongarm*,
xscale*be|xscale*b, xscale*): Remove architectures.
(thumb-*-coff, thumb-*-rtems*, thumb-*-elf, thumb-epoc-pe,
thumb-*-pe, xscale-*-coff, xscale-*-elf): Remove targets.
gas/testsuite:
* gas/all/gas.exp (*arm*-*-coff): Change to arm*-*-coff.
(thumb*-*-coff, thumb*-*-pe*): Don;t handle.
* gas/arm/arm.exp (*arm*-*-*): Change to arm*-*-*.
(*xscale*-*-*): Don't handle.
* gas/cfi/cfi.exp (xscale*-*): Don't handle.
* gas/elf/elf.exp (*arm*-*-*): Change to arm*-*-*.
(xscale*-*-*): Don't handle.
ld:
* configure.tgt (thumb-*-linux-* | thumb-*-uclinux*,
strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*,
thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe,
xscale-*-coff, xscale-*-elf): Remove targets.
ld/testsuite:
* ld-selective/selective.exp (xscale-*-*): Don't handle.
* ld-srec/srec.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't
handle.
(*arm*-*-*): Change to arm*-*-*.
(strongarm*-*-coff, xscale*-*-coff, thumb-*-coff*, thumb-*-pe*,
thumb-*-elf*, strongarm*-*-*, thumb-*-*): Remove xfails.
* ld-undefined/undefined.exp (thumb*-*-pe*, thumb*-*-pe*): Remove
commented-out xfails.
(thumb-elf): Remove reference in comment.
* lib/ld-lib.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't
handle.
2011-04-07 01:09:56 +08:00
|
|
|
arm-*-pe) fmt=coff em=pe ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
arm-*-riscix*) fmt=aout em=riscix ;;
|
|
|
|
|
2005-09-30 23:05:07 +08:00
|
|
|
avr-*-*) fmt=elf bfd_gas=yes ;;
|
2008-04-24 02:40:34 +08:00
|
|
|
|
|
|
|
bfin-*-linux-uclibc) fmt=fdpicelf em=linux ;;
|
|
|
|
bfin-*-uclinux*) fmt=elf em=linux ;;
|
2008-07-08 00:43:06 +08:00
|
|
|
bfin-*-rtems*) fmt=elf ;;
|
2005-09-30 23:05:07 +08:00
|
|
|
bfin-*elf) fmt=elf ;;
|
2008-04-24 02:40:34 +08:00
|
|
|
|
2010-02-19 11:36:06 +08:00
|
|
|
cr16-*-elf*) fmt=elf ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
2005-03-23 23:35:50 +08:00
|
|
|
cris-*-linux-* | crisv32-*-linux-*)
|
2005-03-21 18:26:18 +08:00
|
|
|
fmt=multi em=linux ;;
|
|
|
|
cris-*-* | crisv32-*-*) fmt=multi ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
2010-02-19 11:36:06 +08:00
|
|
|
crx-*-elf*) fmt=elf ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
|
|
|
d10v-*-*) fmt=elf ;;
|
|
|
|
d30v-*-*) fmt=elf ;;
|
|
|
|
dlx-*-*) fmt=elf ;;
|
|
|
|
|
bfd:
* Makefile.am (ALL_MACHINES): Add cpu-epiphany.lo .
(ALL_MACHINES_CFILES): Add cpu-epiphany.c .
(BFD32_BACKENDS): Add elf32-epiphany.lo .
(BFD32_BACKENDS_CFILES): Add elf32-epiphany.c .
* Makefile.in, bfd-in2.h, configure, libbfd.h: Regenerate.
* archures.c (bfd_arch_epiphany): Add.
(bfd_mach_epiphany16, bfd_mach_epiphany32): Define.
(bfd_epiphany_arch): Declare.
(bfd_archures_list): Add &bfd_epiphany_arch.
* config.bfd (epiphany-*-elf): New target case.
* configure.in (bfd_elf32_epiphany_vec): New target vector case.
* reloc.c (BFD_RELOC_EPIPHANY_SIMM8): New relocation.
(BFD_RELOC_EPIPHANY_SIMM24, BFD_RELOC_EPIPHANY_HIGH): Likewise.
(BFD_RELOC_EPIPHANY_LOW, BFD_RELOC_EPIPHANY_SIMM11): Likewise.
(BFD_RELOC_EPIPHANY_IMM11, BFD_RELOC_EPIPHANY_IMM8): Likewise.
* targets.c (bfd_elf32_epiphany_vec): Declare.
(_bfd_target_vector): Add bfd_elf32_epiphany_vec.
* po/SRC-POTFILES.in, po/bfd.pot: Regenerate.
* cpu-epiphany.c, elf32-epiphany.c: New files.
binutils:
* readelf.c (include "elf/epiphany.h")
(guess_is_rela, dump_relocation): Handle EM_ADAPTEVA_EPIPHANY.
(get_machine_name, is_32bit_abs_reloc, is_32bit_pcrel_reloc): Likewise.
(is_16bit_abs_reloc, is_none_reloc): Likewise.
* po/binutils.pot: Regenerate.
cpu:
* cpu/epiphany.cpu, cpu/epiphany.opc: New files.
gas:
* NEWS: Mention addition of Adapteva Epiphany support.
* config/tc-epiphany.c, config/tc-epiphany.h: New files.
* Makefile.am (TARGET_CPU_CFILES): Add config/tc-epiphany.c .
(TARGET_CPU_HFILES): Add config/tc-epiphany.h .
* Makefile.in, configure, doc/Makefile.in, po/POTFILES.in: Regenerate.
* configure.in: Also set using_cgen for epiphany.
* configure.tgt: Handle epiphany.
* doc/Makefile.am (CPU_DOCS): Add c-epiphany.texi .
* doc/all.texi: Set EPIPHANY.
* doc/as.texinfo: Add EPIPHANY-specific text.
* doc/c-epiphany.texi: New file.
* po/gas.pot: Regenerate.
gas/testsuite:
* gas/epiphany: New directory.
include:
* dis-asm.h (print_insn_epiphany): Declare.
* elf/epiphany.h: New file.
* elf/common.h (EM_ADAPTEVA_EPIPHANY): Define.
ld:
* NEWS: Mention addition of Adapteva Epiphany support.
* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32epiphany.c .
(eelf32epiphany.c): New rule.
* Makefile.in: Regenerate.
* configure.tgt: Handle epiphany-*-elf.
* po/ld.pot: Regenerate.
* testsuite/ld-srec/srec.exp: xfail epiphany.
* emulparams/elf32epiphany.sh: New file.
opcodes:
* Makefile.am (HFILES): Add epiphany-desc.h and epiphany-opc.h .
(TARGET_LIBOPCODES_CFILES): Add epiphany-asm.c, epiphany-desc.c,
epiphany-dis.c, epiphany-ibld.c and epiphany-opc.c .
(CLEANFILES): Add stamp-epiphany.
(EPIPHANY_DEPS): Set. Make CGEN-generated Epiphany files depend on it.
(stamp-epiphany): New rule.
* Makefile.in, configure, po/POTFILES.in, po/opcodes.pot: Regenerate.
* configure.in: Handle bfd_epiphany_arch.
* disassemble.c (ARCH_epiphany): Define.
(disassembler): Handle bfd_arch_epiphany.
* epiphany-asm.c, epiphany-desc.c, epiphany-desc.h: New files.
* epiphany-dis.c, epiphany-ibld.c, epiphany-opc.c: Likewise.
* epiphany-opc.h: Likewise.
2011-10-25 19:18:16 +08:00
|
|
|
epiphany-*-*) fmt=elf ;;
|
|
|
|
|
2004-12-22 23:29:25 +08:00
|
|
|
fr30-*-*) fmt=elf ;;
|
|
|
|
frv-*-*linux*) fmt=elf em=linux;;
|
|
|
|
frv-*-*) fmt=elf ;;
|
|
|
|
|
|
|
|
hppa-*-linux*)
|
|
|
|
case ${cpu} in
|
|
|
|
hppa*64*) fmt=elf em=hppalinux64 ;;
|
|
|
|
hppa*) fmt=elf em=linux ;;
|
|
|
|
esac ;;
|
|
|
|
hppa-*-*elf*) fmt=elf em=hppa ;;
|
|
|
|
hppa-*-lites*) fmt=elf em=hppa ;;
|
|
|
|
hppa-*-netbsd*) fmt=elf em=nbsd ;;
|
|
|
|
hppa-*-openbsd*) fmt=elf em=hppa ;;
|
|
|
|
hppa-*-osf*) fmt=som em=hppa ;;
|
|
|
|
hppa-*-hpux11*)
|
|
|
|
case ${cpu} in
|
|
|
|
hppa*64*) fmt=elf em=hppa64 ;;
|
|
|
|
hppa*) fmt=som em=hppa ;;
|
|
|
|
esac ;;
|
|
|
|
hppa-*-hpux*) fmt=som em=hppa ;;
|
|
|
|
hppa-*-mpeix*) fmt=som em=hppa ;;
|
|
|
|
hppa-*-bsd*) fmt=som em=hppa ;;
|
|
|
|
hppa-*-hiux*) fmt=som em=hppa ;;
|
|
|
|
|
2005-04-30 02:43:35 +08:00
|
|
|
h8300-*-elf | h8300-*-rtems*) fmt=elf ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
|
|
|
i370-*-elf* | i370-*-linux*) fmt=elf ;;
|
|
|
|
|
|
|
|
i386-ibm-aix*) fmt=coff em=i386aix ;;
|
|
|
|
i386-sequent-bsd*) fmt=aout em=dynix ;;
|
|
|
|
i386-*-beospe*) fmt=coff em=pe ;;
|
|
|
|
i386-*-beos*) fmt=elf ;;
|
|
|
|
i386-*-coff) fmt=coff ;;
|
|
|
|
i386-*-elf) fmt=elf ;;
|
|
|
|
i386-*-kaos*) fmt=elf ;;
|
|
|
|
i386-*-bsd*) fmt=aout em=386bsd ;;
|
2012-03-17 07:19:47 +08:00
|
|
|
i386-*-nacl*) fmt=elf em=nacl
|
|
|
|
case ${cpu} in
|
|
|
|
x86_64*) arch=x86_64:32 ;;
|
|
|
|
esac ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
i386-*-netbsd0.8) fmt=aout em=386bsd ;;
|
|
|
|
i386-*-netbsdpe*) fmt=coff em=pe ;;
|
|
|
|
i386-*-netbsd*-gnu* | \
|
|
|
|
i386-*-knetbsd*-gnu | \
|
|
|
|
i386-*-netbsdelf*) fmt=elf em=nbsd ;;
|
2005-04-12 06:31:37 +08:00
|
|
|
i386-*-netbsd*)
|
2004-12-22 23:29:25 +08:00
|
|
|
case ${cpu} in
|
|
|
|
x86_64) fmt=elf em=nbsd ;;
|
|
|
|
*) fmt=aout em=nbsd ;;
|
|
|
|
esac ;;
|
2005-04-12 06:31:37 +08:00
|
|
|
i386-*-openbsd[0-2].* | \
|
|
|
|
i386-*-openbsd3.[0-2]) fmt=aout em=nbsd ;;
|
|
|
|
i386-*-openbsd*) fmt=elf em=nbsd ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
i386-*-linux*aout*) fmt=aout em=linux ;;
|
|
|
|
i386-*-linux*oldld) fmt=aout em=linux ;;
|
|
|
|
i386-*-linux*coff*) fmt=coff em=linux ;;
|
2012-05-05 04:01:03 +08:00
|
|
|
i386-*-linux-*) fmt=elf em=linux
|
|
|
|
case ${cpu}-${os} in
|
|
|
|
x86_64*-linux-gnux32) arch=x86_64:32 ;;
|
|
|
|
esac ;;
|
2005-03-21 18:26:18 +08:00
|
|
|
i386-*-lynxos*) fmt=elf em=lynx ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
i386-*-sysv[45]*) fmt=elf ;;
|
2008-09-26 15:02:44 +08:00
|
|
|
i386-*-solaris*) fmt=elf em=solaris ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
i386-*-freebsdaout*) fmt=aout em=386bsd ;;
|
|
|
|
i386-*-freebsd[12].*) fmt=aout em=386bsd ;;
|
|
|
|
i386-*-freebsd[12]) fmt=aout em=386bsd ;;
|
2011-03-28 19:18:27 +08:00
|
|
|
i386-*-freebsd* \
|
|
|
|
| i386-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
i386-*-sysv*) fmt=coff ;;
|
|
|
|
i386-*-sco3.2v5*coff) fmt=coff ;;
|
|
|
|
i386-*-isc*) fmt=coff ;;
|
|
|
|
i386-*-sco3.2v5*) fmt=elf ;;
|
|
|
|
i386-*-sco3.2*) fmt=coff ;;
|
|
|
|
i386-*-vsta) fmt=aout ;;
|
|
|
|
i386-*-msdosdjgpp* \
|
2005-07-11 15:49:07 +08:00
|
|
|
| i386-*-go32*) fmt=coff em=go32 ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
i386-*-rtems*) fmt=elf ;;
|
2005-11-16 11:44:10 +08:00
|
|
|
i386-*-gnu*) fmt=elf em=gnu ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
i386-*-mach*) fmt=aout em=mach ;;
|
|
|
|
i386-*-msdos*) fmt=aout ;;
|
|
|
|
i386-*-moss*) fmt=elf ;;
|
|
|
|
i386-*-pe) fmt=coff em=pe ;;
|
|
|
|
i386-*-cygwin*) fmt=coff em=pe ;;
|
|
|
|
i386-*-interix*) fmt=coff em=interix ;;
|
2007-01-09 01:21:50 +08:00
|
|
|
i386-*-mingw*)
|
|
|
|
case ${cpu} in
|
|
|
|
x86_64*) fmt=coff em=pep ;;
|
|
|
|
i*) fmt=coff em=pe ;;
|
|
|
|
esac ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
i386-*-nto-qnx*) fmt=elf ;;
|
|
|
|
i386-*-*nt*) fmt=coff em=pe ;;
|
|
|
|
i386-*-chaos) fmt=elf ;;
|
2005-12-28 01:42:45 +08:00
|
|
|
i386-*-rdos*) fmt=elf ;;
|
2009-07-02 16:09:35 +08:00
|
|
|
i386-*-darwin*) fmt=macho ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
|
|
|
i860-*-*) fmt=elf endian=little ;;
|
|
|
|
|
|
|
|
i960-*-elf*) fmt=elf ;;
|
|
|
|
|
|
|
|
ia64-*-elf*) fmt=elf ;;
|
* include/elf/ia64.h (SHT_IA_64_VMS_DISPLAY_NAME_INFO,
EF_IA_64_ARCHVER_1): New macros. Minor reformatting.
* bfd/Makefile.am (BFD32_BACKENDS): Add new object vmsutil.lo
(BFD32_BACKENDS_CFILES): Add new file vmsutil.c
(vmsutil.lo): Add dependency rule
* bfd/Makefile.in: Regenerate
* bfd/config.bfd (ia64*-*-*vms*): Add case.
* bfd/configure.in (bfd_elf64_ia64_vms_vec): Add case.
* bfd/configure: Regenerate
* bfd/vmsutil.[ch]: New files
* bfd/elf-bfd.h (struct bfd_elf_special_section): Change type of
attr to bfd_vma.
* bfd/elfxx-ia64.c (elfNN_vms_post_process_headers,
elfNN_vms_section_processing, elfNN_vms_final_write_processing,
elfNN_vms_close_and_cleanup, elfNN_vms_section_from_shdr,
elfNN_vms_object_p): New functions
* bfd/targets.c (bfd_elf64_ia64_vms_vec): New target.
* gas/configure.tgt(ia64-*-*vms*): New target.
* gas/dwarf2dbg.h (dwarf2_loc_mark_labels): Make extern.
* gas/tc.h (md_number_to_chars): Declare iff undefined.
* gas/config/obj-elf.c (obj_elf_change_section): Change type of
arg attr to bfd_vma.
(obj_elf_parse_section_letters): Return a bfd_vma. Change type of
variables attr, md_attr to bfd_vma.
(obj_elf_section_word): Likewise.
(obj_elf_section): Change type of variable attr to bfd_vma
* gas/config/obj-elf.h (obj_elf_change_section): Change type of
arg attr to bfd_vma
* gas/config/tc-ia64.c (bfdver.h,time.h): Include.
(ia64_elf_section_letter): Now returns a bfd_vma.
Handle VMS specific attributes.
(ia64_elf_section_flags): Arg attr now a bfd_vma.
(ia64_init): Don't turn on dependency checking for VMS.
(ia64_target_format): Check for VMS flag bit.
(do_alias): Hande decc$ functions.
(get_vms_time): New function.
(ia64_vms_note): New function.
* gas/config/tc-ia64.h (ia64_elf_section_letter): Now returns a bfd_vma.
(ia64_elf_section_flags): Arg attr now a bfd_vma.
(tc_init_after_args): Define for VMS.
* gas/config/tc-alpha.c (alpha_elf_section_letter): Return a bfd_vma.
(alpha_elf_section_flags): Change type of arg attr to bfd_vma.
* gas/config/tc-alpha.h: Likewise.
* gas/config/tc-i386.c (x86_64_section_letter): Return a bfd_vma.
(x86_64_section_word): Return a bfd_vma.
* gas/config/tc-i386.h: Likewise.
* gas/config/tc-ip2k.c (ip2k_elf_section_flags): Change type of arg
attr to bfd_vma.
* gas/config/tc-ip2k.h: Likewise.
* gas/config/tc-mep.c (mep_elf_section_letter): Return a bfd_vma.
(mep_elf_section_flags): Change type of arg attr to bfd_vma.
* gas/config/tc-mep.h: Likewise.
* gas/config/tc-ppc.c (ppc_section_letter): Return a bfd_vma.
(ppc_section_word): Return a bfd_vma.
(ppc_section_flags): Change type of arg attr to bfd_vma.
* gas/config/tc-ppc.h: Likewise.
* gas/config/te-vms.h (DWARF2_DIR_SHOULD_END_WITH_SEPARATOR,
DWAR2_FILE_TIME_NAME, DWARF2_FILE_SIZE_NAME, DWARF2_FILEN_NAME):
New file with new macros
* gas/dwarf2dbg.c (get_filenum, out_file_list): Default and call new
macros.
2009-01-15 20:42:52 +08:00
|
|
|
ia64-*-*vms*) fmt=elf em=vms ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
ia64-*-aix*) fmt=elf em=ia64aix ;;
|
2005-03-23 23:35:50 +08:00
|
|
|
ia64-*-linux-*) fmt=elf em=linux ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
ia64-*-hpux*) fmt=elf em=hpux ;;
|
|
|
|
ia64-*-netbsd*) fmt=elf em=nbsd ;;
|
|
|
|
|
|
|
|
ip2k-*-*) fmt=elf ;;
|
|
|
|
|
2010-02-19 11:36:06 +08:00
|
|
|
iq2000-*-elf) fmt=elf ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
2008-12-24 03:10:25 +08:00
|
|
|
lm32-*-*) fmt=elf ;;
|
|
|
|
|
2009-01-19 23:40:56 +08:00
|
|
|
m32c-*-elf | m32c-*-rtems*) fmt=elf ;;
|
|
|
|
|
2008-11-06 23:36:38 +08:00
|
|
|
m32r-*-elf* | m32r-*-rtems*) fmt=elf ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
m32r-*-linux*) fmt=elf em=linux;;
|
|
|
|
|
|
|
|
m68hc11-*-* | m6811-*-*) fmt=elf ;;
|
|
|
|
m68hc12-*-* | m6812-*-*) fmt=elf ;;
|
|
|
|
|
2010-08-25 20:03:30 +08:00
|
|
|
m68k-*-aout) fmt=aout bfd_gas=yes ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
m68k-*-elf*) fmt=elf ;;
|
|
|
|
m68k-*-sysv4*) fmt=elf em=svr4 ;;
|
|
|
|
m68k-*-rtems*) fmt=elf ;;
|
2005-03-23 23:35:50 +08:00
|
|
|
m68k-*-linux-*) fmt=elf em=linux ;;
|
2009-11-04 17:52:00 +08:00
|
|
|
m68k-*-uclinux*) fmt=elf em=uclinux ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
m68k-*-gnu*) fmt=elf ;;
|
|
|
|
m68k-*-netbsdelf*) fmt=elf em=nbsd ;;
|
|
|
|
m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
|
|
|
|
m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
|
|
|
|
m68k-*-psos*) fmt=elf em=psos;;
|
|
|
|
|
2007-02-06 04:10:25 +08:00
|
|
|
mep-*-elf) fmt=elf ;;
|
|
|
|
|
2013-01-10 17:49:22 +08:00
|
|
|
metag-*-elf) fmt=elf ;;
|
|
|
|
metag-*-linux*) fmt=elf em=linux ;;
|
|
|
|
|
2004-12-22 23:29:25 +08:00
|
|
|
mcore-*-elf) fmt=elf ;;
|
|
|
|
mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
|
|
|
|
|
Add support for Xilinx MicroBlaze processor.
* bfd/Makefile.am: Add cpu-microblaze.{lo,c}, elf32-microblaze.{lo,c}.
* bfd/Makefile.in: Same.
* bfd/archures.c: Add bfd_arch_microblaze.
* bfd/bfd-in2.h: Regenerate.
* bfd/config.bfd: Add microblaze target.
* bfd/configure: Add bfd_elf32_microblaze_vec target.
* bfd/configure.in: Same.
* bfd/cpu-microblaze.c: New.
* bfd/elf32-microblaze.c: New.
* bfd/libbfd-in.h: Add prototype _bfd_dwarf2_fixup_section_debug_loc().
* bfd/libbfd.h: Regenerate.
* bfd/reloc.c: Add MICROBLAZE relocations.
* bfd/section.c: Add struct relax_table and relax_count to section.
* bfd/targets.c: Add bfd_elf32_microblaze_vec.
* binutils/MAINTAINERS: Add self as maintainer.
* binutils/readelf.c: Include elf/microblaze.h, add EM_MICROBLAZE &
EM_MICROBLAZE_OLD to guess_is_rela(), dump_relocations(),
get_machine_name().
* config.sub: Add microblaze target.
* configure: Same.
* configure.ac: Same.
* gas/Makefile.am: add microblaze to CPU_TYPES, config/tc-microblaze.c to
TARGET_CPU_CFILES, config/tc-microblaze.h to TARGET_CPU_HFILES, add
DEP_microblaze_elf target.
* gas/Makefile.in: Same.
* gas/config/tc-microblaze.c: Add MicroBlaze assembler.
* gas/config/tc-microblaze.h: Add header for tc-microblaze.c.
* gas/configure: Add microblaze target.
* gas/configure.in: Same.
* gas/configure.tgt: Same.
* gas/doc/Makefile.am: Add c-microblaze.texi to CPU_DOCS.
* gas/doc/Makefile.in: Same.
* gas/doc/all.texi: Set MICROBLAZE.
* gas/doc/as.texinfo: Add MicroBlaze doc links.
* gas/doc/c-microblaze.texi: New MicroBlaze docs.
* include/dis-asm.h: Decl print_insn_microblaze().
* include/elf/common.h: Define EM_MICROBLAZE & EM_MICROBLAZE_OLD.
* include/elf/microblaze.h: New reloc definitions.
* ld/Makefile.am: Add eelf32mb_linux.o, eelf32microblaze.o to
ALL_EMULATIONS, targets.
* ld/Makefile.in: Same.
* ld/configure.tgt: Add microblaze*-linux*, microblaze* targets.
* ld/emulparams/elf32mb_linux.sh: New.
* ld/emulparams/elf32microblaze.sh. New.
* ld/scripttempl/elfmicroblaze.sc: New.
* opcodes/Makefile.am: Add microblaze-opc.h to HFILES, microblaze-dis.c to
CFILES, microblaze-dis.lo to ALL_MACHINES, targets.
* opcodes/Makefile.in: Same.
* opcodes/configure: Add bfd_microblaze_arch target.
* opcodes/configure.in: Same.
* opcodes/disassemble.c: Define ARCH_microblaze, return
print_insn_microblaze().
* opcodes/microblaze-dis.c: New MicroBlaze disassembler.
* opcodes/microblaze-opc.h: New MicroBlaze opcode definitions.
* opcodes/microblaze-opcm.h: New MicroBlaze opcode types.
2009-08-07 01:38:04 +08:00
|
|
|
microblaze-*-*) fmt=elf ;;
|
|
|
|
|
2004-12-22 23:29:25 +08:00
|
|
|
# don't change em like *-*-bsd does
|
|
|
|
mips-sony-bsd*) fmt=ecoff ;;
|
|
|
|
mips-*-ultrix*) fmt=ecoff endian=little ;;
|
|
|
|
mips-*-osf*) fmt=ecoff endian=little ;;
|
|
|
|
mips-*-ecoff*) fmt=ecoff ;;
|
|
|
|
mips-*-pe*) fmt=coff endian=little em=pe ;;
|
|
|
|
mips-*-irix6*) fmt=elf em=irix ;;
|
|
|
|
mips-*-irix5*) fmt=elf em=irix ;;
|
|
|
|
mips-*-irix*) fmt=ecoff em=irix ;;
|
|
|
|
mips-*-lnews*) fmt=ecoff em=lnews ;;
|
|
|
|
mips-*-riscos*) fmt=ecoff ;;
|
|
|
|
mips*-*-linux*) fmt=elf em=tmips ;;
|
bfd/
2010-12-23 Robert Millan <rmh@gnu.org>
* config.bfd: Recognize mips-freebsd and mips-kfreebsd-gnu.
* configure.host: Likewise.
* configure.in: Support for `bfd_elf32_ntradbigmips_freebsd_vec',
`bfd_elf32_ntradlittlemips_freebsd_vec',
`bfd_elf32_tradbigmips_freebsd_vec',
`bfd_elf32_tradlittlemips_freebsd_vec',
`bfd_elf64_tradbigmips_freebsd_vec' and
`bfd_elf64_tradlittlemips_freebsd_vec'.
* configure: Regenerate.
* elf32-mips.c: New target for FreeBSD support
(same as traditional MIPS but overrides ELF_OSABI
with ELFOSABI_FREEBSD).
* elf64-mips.c: Likewise.
* elfn32-mips.c: Likewise.
* targets.c (_bfd_target_vector): Add
`bfd_elf32_ntradbigmips_freebsd_vec',
`bfd_elf32_ntradlittlemips_freebsd_vec',
`bfd_elf32_tradbigmips_freebsd_vec',
`bfd_elf32_tradlittlemips_freebsd_vec',
`bfd_elf64_tradbigmips_freebsd_vec' and
`bfd_elf64_tradlittlemips_freebsd_vec'.
ld/
2010-12-14 Robert Millan <rmh@gnu.org>
* configure.tgt: Recognize mips-freebsd and mips-kfreebsd-gnu.
* emulparams/elf32btsmip_fbsd.sh: New file.
* emulparams/elf32btsmipn32_fbsd.sh: Likewise.
* emulparams/elf32ltsmip_fbsd.sh: Likewise.
* emulparams/elf32ltsmipn32_fbsd.sh: Likewise.
* emulparams/elf64btsmip_fbsd.sh: Likewise.
* emulparams/elf64ltsmip_fbsd.sh: Likewise.
* Makefile.am: Add build rules for `eelf32btsmip_fbsd.c',
`eelf32btsmipn32_fbsd.c', `eelf32ltsmip_fbsd.c',
`eelf32ltsmipn32_fbsd.c', `eelf64btsmip_fbsd.c' and
`eelf64ltsmip_fbsd.c'.
* Makefile.in: Regenerate.
gas/
2010-12-19 Robert Millan <rmh@gnu.org>
Richard Sandiford <rdsandiford@googlemail.com>
* config/tc-mips.c (ELF_TARGET): New macro. Generates target
names accordingly to whether TE_FreeBSD and whether TE_TMIPS
are defined.
(mips_target_format): Refactor code using ELF_TARGET().
(support_64bit_objects): Likewise.
* configure.in: Recognize mips-freebsd and mips-kfreebsd-gnu.
* configure.tgt: Likewise.
* configure: Regenerate.
binutils/testsuite/
* binutils-all/readelf.exp: Handle MIPS FreeBSD targets.
gas/testsuite/
* gas/mips/e32el-rel2.d: Accept any file format.
* gas/mips/elf-rel.d: Likewise.
* gas/mips/elf-rel2.d: Likewise.
* gas/mips/elf-rel3.d: Likewise.
* gas/mips/elfel-rel.d: Likewise.
* gas/mips/elfel-rel2.d: Likewise.
* gas/mips/elfel-rel3.d: Likewise.
* gas/mips/ldstla-32-mips3-shared.d: Likewise.
* gas/mips/ldstla-32-mips3.d: Likewise.
* gas/mips/ldstla-32-shared.d: Likewise.
* gas/mips/ldstla-32.d: Likewise.
* gas/mips/ldstla-n64-shared.d: Likewise.
* gas/mips/ldstla-n64.d: Likewise.
* gas/mips/noat-1.d: Likewise.
* gas/mips/set-arch.d: Likewise.
* gas/mips/tls-o32.d: Likewise.
ld/testsuite/
* ld-mips-elf/mips-elf-flags.exp: Handle FreeBSD targets.
* ld-mips-elf/mips-elf.exp: Likewise.
* ld-mips-elf/mips16-call-global.d: Accept any file format.
* ld-mips-elf/mips16-intermix.d: Likewise.
2010-12-31 19:01:00 +08:00
|
|
|
mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
|
|
|
|
fmt=elf em=freebsd ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
mips-*-sysv4*MP* | mips-*-gnu*) fmt=elf em=tmips ;;
|
2012-09-20 04:15:05 +08:00
|
|
|
mips*-sde-elf* | mips*-mti-elf*) fmt=elf em=tmips ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
mips-*-sysv*) fmt=ecoff ;;
|
|
|
|
mips-*-elf* | mips-*-rtems*) fmt=elf ;;
|
2006-02-16 16:05:02 +08:00
|
|
|
mips-*-netbsd*) fmt=elf em=tmips ;;
|
2005-04-15 00:55:49 +08:00
|
|
|
mips-*-openbsd*) fmt=elf em=tmips ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
|
|
|
mmix-*-*) fmt=elf ;;
|
|
|
|
|
|
|
|
mn10200-*-*) fmt=elf ;;
|
|
|
|
|
|
|
|
# cpu_type for am33_2.0 is set to mn10300
|
2005-03-21 18:26:18 +08:00
|
|
|
mn10300-*-linux*) fmt=elf em=linux ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
mn10300-*-*) fmt=elf ;;
|
|
|
|
|
2010-02-19 11:36:06 +08:00
|
|
|
moxie-*-uclinux) fmt=elf em=linux;;
|
|
|
|
moxie-*-*) fmt=elf ;;
|
|
|
|
|
2005-12-12 19:25:08 +08:00
|
|
|
mt-*-elf) fmt=elf bfd_gas=yes ;;
|
2005-07-18 22:13:36 +08:00
|
|
|
|
2004-12-22 23:29:25 +08:00
|
|
|
msp430-*-*) fmt=elf ;;
|
|
|
|
|
2013-02-15 17:36:32 +08:00
|
|
|
nios2-*-rtems*) fmt=elf ;;
|
|
|
|
nios2*-linux*) fmt=elf em=linux ;;
|
2013-02-07 07:22:26 +08:00
|
|
|
|
2004-12-22 23:29:25 +08:00
|
|
|
ns32k-pc532-mach*) fmt=aout em=pc532mach ;;
|
|
|
|
ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
|
|
|
|
ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
|
|
|
|
ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;;
|
|
|
|
|
|
|
|
openrisc-*-*) fmt=elf ;;
|
|
|
|
|
|
|
|
or32-*-rtems*) fmt=elf ;;
|
|
|
|
or32-*-elf) fmt=elf ;;
|
|
|
|
|
|
|
|
pj*) fmt=elf ;;
|
|
|
|
|
|
|
|
ppc-*-pe | ppc-*-cygwin*) fmt=coff em=pe ;;
|
|
|
|
ppc-*-winnt*) fmt=coff em=pe ;;
|
|
|
|
ppc-*-aix5.[01]) fmt=coff em=aix5 ;;
|
2009-03-14 17:11:38 +08:00
|
|
|
ppc-*-aix[5-9].*) fmt=coff em=aix5 ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
ppc-*-aix*) fmt=coff ;;
|
|
|
|
ppc-*-beos*) fmt=coff ;;
|
|
|
|
ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
|
|
|
|
ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
|
2005-03-23 23:35:50 +08:00
|
|
|
ppc-*-linux-*) fmt=elf em=linux ;;
|
2008-09-26 15:02:44 +08:00
|
|
|
ppc-*-solaris*) fmt=elf em=solaris ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
ppc-*-rtems*) fmt=elf ;;
|
|
|
|
ppc-*-macos*) fmt=coff em=macos ;;
|
|
|
|
ppc-*-nto*) fmt=elf ;;
|
|
|
|
ppc-*-kaos*) fmt=elf ;;
|
2005-03-21 18:26:18 +08:00
|
|
|
ppc-*-lynxos*) fmt=elf em=lynx ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
2005-03-23 23:35:50 +08:00
|
|
|
s390-*-linux-*) fmt=elf em=linux ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
s390-*-tpf*) fmt=elf ;;
|
|
|
|
|
2010-02-19 11:36:06 +08:00
|
|
|
score-*-elf) fmt=elf ;;
|
2006-09-17 07:51:50 +08:00
|
|
|
|
2004-12-22 23:29:25 +08:00
|
|
|
sh*-*-linux*) fmt=elf em=linux
|
|
|
|
case ${cpu} in
|
|
|
|
sh*eb) endian=big ;;
|
|
|
|
*) endian=little ;;
|
|
|
|
esac ;;
|
|
|
|
sh5*-*-netbsd*) fmt=elf em=nbsd ;;
|
|
|
|
sh64*-*-netbsd*) fmt=elf em=nbsd ;;
|
2009-09-08 20:31:32 +08:00
|
|
|
sh*-*-netbsdelf*) fmt=elf em=nbsd
|
|
|
|
case ${cpu} in
|
|
|
|
sh*l*) endian=little ;;
|
|
|
|
*) endian=big ;;
|
|
|
|
esac ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
sh*-*-symbianelf*) fmt=elf endian=little ;;
|
2010-05-21 Daniel Jacobowitz <dan@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Andrew Stubbs <ams@codesourcery.com>
bfd/
* config.bfd (sh-*-uclinux* | sh[12]-*-uclinux*): Add
bfd_elf32_shl_vec, and FDPIC vectors to targ_selvecs.
* configure.in: Handle FDPIC vectors.
* elf32-sh-relocs.h: Add FDPIC and movi20 relocations.
* elf32-sh.c (DEFAULT_STACK_SIZE): Define.
(SYMBOL_FUNCDESC_LOCAL): Define. Use it instead of
SYMBOL_REFERENCES_LOCAL for function descriptors.
(fdpic_object_p): New.
(sh_reloc_map): Add FDPIC and movi20 relocations.
(sh_elf_info_to_howto, sh_elf_relocate_section): Handle new invalid
range.
(struct elf_sh_plt_info): Add got20 and short_plt. Update all
definitions.
(FDPIC_PLT_ENTRY_SIZE, FDPIC_PLT_LAZY_OFFSET): Define.
(fdpic_sh_plt_entry_be, fdpic_sh_plt_entry_le, fdpic_sh_plts): New.
(FDPIC_SH2A_PLT_ENTRY_SIZE, FDPIC_SH2A_PLT_LAZY_OFFSET): Define.
(fdpic_sh2a_plt_entry_be, fdpic_sh2a_plt_entry_le)
(fdpic_sh2a_short_plt_be, fdpic_sh2a_short_plt_le, fdpic_sh2a_plts):
New.
(get_plt_info): Handle FDPIC.
(MAX_SHORT_PLT): Define.
(get_plt_index, get_plt_offset): Handle short_plt.
(union gotref): New.
(struct elf_sh_link_hash_entry): Add funcdesc, rename tls_type to
got_type and adjust all uses. Add GOT_FUNCDESC.
(struct sh_elf_obj_tdata): Add local_funcdesc. Rename
local_got_tls_type to local_got_type.
(sh_elf_local_got_type): Renamed from sh_elf_local_got_tls_type. All
users changed.
(sh_elf_local_funcdesc): Define.
(struct elf_sh_link_hash_table): Add sfuncdesc, srelfuncdesc, fdpic_p,
and srofixup.
(sh_elf_link_hash_newfunc): Initialize new fields.
(sh_elf_link_hash_table_create): Set fdpic_p.
(sh_elf_omit_section_dynsym): New.
(create_got_section): Create .got.funcdesc, .rela.got.funcdesc
and .rofixup.
(allocate_dynrelocs): Allocate local function descriptors and space
for R_SH_FUNCDESC-related relocations, and for rofixups.
Handle GOT_FUNCDESC. Create fixups. Handle GOT entries which
require function descriptors.
(sh_elf_always_size_sections): Handle PT_GNU_STACK and __stacksize.
(sh_elf_modify_program_headers): New.
(sh_elf_size_dynamic_sections): Allocate function descriptors for
local symbols. Allocate .got.funcdesc contents. Allocate rofixups.
Handle local GOT entries of type GOT_FUNCDESC. Create fixups for
local GOT entries. Ensure that FDPIC libraries always have a PLTGOT
entry in the .dynamic section.
(sh_elf_add_dyn_reloc, sh_elf_got_offset, sh_elf_initialize_funcdesc)
(sh_elf_add_rofixup, sh_elf_osec_to_segment)
(sh_elf_osec_readonly_p, install_movi20_field): New functions.
(sh_elf_relocate_section): Handle new relocations, R_SH_FUNCDESC,
R_SH_GOTFUNCDESC and R_SH_GOTOFFFUNCDESC. Use sh_elf_got_offset
and .got.plt throughout to find _GLOBAL_OFFSET_TABLE_. Add rofixup
read-only section warnings. Handle undefined weak symbols. Generate
fixups for R_SH_DIR32 and GOT entries. Check for cross-segment
relocations and clear EF_SH_PIC. Handle 20-bit relocations.
Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
(sh_elf_gc_sweep_hook): Handle R_SH_FUNCDESC, R_SH_GOTOFF20,
R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20, and R_SH_GOTOFFFUNCDESC.
Handle 20-bit relocations.
(sh_elf_copy_indirect_symbol): Copy function descriptor reference
counts.
(sh_elf_check_relocs): Handle new relocations. Make symbols
dynamic for FDPIC relocs. Account for rofixups. Error for FDPIC
symbol mismatches. Allocate a GOT for R_SH_DIR32. Allocate fixups
for R_SH_DIR32.
(sh_elf_copy_private_data): Copy PT_GNU_STACK size.
(sh_elf_merge_private_data): Copy initial flags. Do not clobber
non-mach flags. Set EF_SH_PIC for FDPIC. Reject FDPIC mismatches.
(sh_elf_finish_dynamic_symbol): Do not handle got_funcdesc entries
here. Rename sgot to sgotplt and srel to srelplt. Handle short_plt,
FDPIC descriptors, and got20. Create R_SH_FUNCDESC_VALUE for FDPIC.
Use install_movi20_field. Rename srel to srelgot. Always generate
R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
(sh_elf_finish_dynamic_sections): Fill in the GOT pointer in rofixup.
Do not fill in reserved GOT entries for FDPIC. Correct DT_PLTGOT.
Rename sgot to sgotplt. Assert that the right number of rofixups
and dynamic relocations were allocated.
(sh_elf_use_relative_eh_frame, sh_elf_encode_eh_address): New.
(elf_backend_omit_section_dynsym): Use sh_elf_omit_section_dynsym.
(elf_backend_can_make_relative_eh_frame)
(elf_backend_can_make_lsda_relative_eh_frame)
(elf_backend_encode_eh_address): Define.
(TARGET_BIG_SYM, TARGET_BIG_NAME, TARGET_LITTLE_SYM)
(TARGET_LITTLE_NAME, elf_backend_modify_program_headers, elf32_bed):
Redefine for FDPIC vector.
* reloc.c: Add SH FDPIC and movi20 relocations.
* targets.c (_bfd_target_vector): Add FDPIC vectors.
* configure, bfd-in2.h, libbfd.h: Regenerated.
binutils/
* readelf.c (get_machine_flags): Handle EF_SH_PIC and EF_SH_FDPIC.
gas/
* config/tc-sh.c (sh_fdpic): New.
(sh_check_fixup): Handle relocations on movi20.
(parse_exp): Do not reject PIC operators here.
(build_Mytes): Check for unhandled PIC operators here. Use
sh_check_fixup for movi20.
(enum options): Add OPTION_FDPIC.
(md_longopts, md_parse_option, md_show_usage): Add --fdpic.
(sh_fix_adjustable, md_apply_fix): Handle FDPIC and movi20 relocations.
(sh_elf_final_processing): Handle --fdpic.
(sh_uclinux_target_format): New.
(sh_parse_name): Handle FDPIC relocation operators.
* config/tc-sh.h (TARGET_FORMAT): Define specially for TE_UCLINUX.
(sh_uclinux_target_format): Declare for TE_UCLINUX.
* configure.tgt (sh-*-uclinux* | sh[12]-*-uclinux*): Set
em=uclinux.
* doc/c-sh.texi (SH Options): Document --fdpic.
gas/testsuite/
* gas/sh/basic.exp: Run new tests. Handle uClinux like Linux.
* gas/sh/fdpic.d: New file.
* gas/sh/fdpic.s: New file.
* gas/sh/reg-prefix.d: Force big-endian.
* gas/sh/sh2a-pic.d: New file.
* gas/sh/sh2a-pic.s: New file.
* lib/gas-defs.exp (is_elf_format): Include sh*-*-uclinux*.
include/elf/
* sh.h (EF_SH_PIC, EF_SH_FDPIC): Define.
(R_SH_FIRST_INVALID_RELOC_6, R_SH_LAST_INVALID_RELOC_6): New. Adjust
other invalid ranges.
(R_SH_GOT20, R_SH_GOTOFF20, R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20)
(R_SH_GOTOFFFUNCDESC, R_SH_GOTOFFFUNCDESC20, R_SH_FUNCDESC)
(R_SH_FUNCDESC_VALUE): New.
ld/
* Makefile.am (ALL_EMULATIONS): Add eshelf_fd.o and eshlelf_fd.o.
(eshelf_fd.c, eshlelf_fd.c): New rules.
* Makefile.in: Regenerate.
* configure.tgt (sh-*-uclinux*): Add shelf_fd and shlelf_fd
emulations.
* emulparams/shelf_fd.sh: New file.
* emulparams/shlelf_fd.sh: New file.
* emulparams/shlelf_linux.sh: Update comment.
ld/testsuite/
* ld-sh/sh.exp: Handle uClinux like Linux.
* lib/ld-lib.exp (is_elf_format): Include sh*-*-uclinux*.
* ld-sh/fdpic-funcdesc-shared.d: New file.
* ld-sh/fdpic-funcdesc-shared.s: New file.
* ld-sh/fdpic-funcdesc-static.d: New file.
* ld-sh/fdpic-funcdesc-static.s: New file.
* ld-sh/fdpic-gotfuncdesc-shared.d: New file.
* ld-sh/fdpic-gotfuncdesc-shared.s: New file.
* ld-sh/fdpic-gotfuncdesc-static.d: New file.
* ld-sh/fdpic-gotfuncdesc-static.s: New file.
* ld-sh/fdpic-gotfuncdesci20-shared.d: New file.
* ld-sh/fdpic-gotfuncdesci20-shared.s: New file.
* ld-sh/fdpic-gotfuncdesci20-static.d: New file.
* ld-sh/fdpic-gotfuncdesci20-static.s: New file.
* ld-sh/fdpic-goti20-shared.d: New file.
* ld-sh/fdpic-goti20-shared.s: New file.
* ld-sh/fdpic-goti20-static.d: New file.
* ld-sh/fdpic-goti20-static.s: New file.
* ld-sh/fdpic-gotofffuncdesc-shared.d: New file.
* ld-sh/fdpic-gotofffuncdesc-shared.s: New file.
* ld-sh/fdpic-gotofffuncdesc-static.d: New file.
* ld-sh/fdpic-gotofffuncdesc-static.s: New file.
* ld-sh/fdpic-gotofffuncdesci20-shared.d: New file.
* ld-sh/fdpic-gotofffuncdesci20-shared.s: New file.
* ld-sh/fdpic-gotofffuncdesci20-static.d: New file.
* ld-sh/fdpic-gotofffuncdesci20-static.s: New file.
* ld-sh/fdpic-gotoffi20-shared.d: New file.
* ld-sh/fdpic-gotoffi20-shared.s: New file.
* ld-sh/fdpic-gotoffi20-static.d: New file.
* ld-sh/fdpic-gotoffi20-static.s: New file.
* ld-sh/fdpic-plt-be.d: New file.
* ld-sh/fdpic-plt-le.d: New file.
* ld-sh/fdpic-plt.s: New file.
* ld-sh/fdpic-plti20-be.d: New file.
* ld-sh/fdpic-plti20-le.d: New file.
* ld-sh/fdpic-stack-default.d: New file.
* ld-sh/fdpic-stack-size.d: New file.
* ld-sh/fdpic-stack.s: New file.
2010-05-25 22:12:43 +08:00
|
|
|
sh-*-elf*) fmt=elf ;;
|
|
|
|
sh-*-uclinux* | sh[12]-*-uclinux*) fmt=elf em=uclinux ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
sh-*-coff*) fmt=coff ;;
|
|
|
|
sh-*-nto*) fmt=elf ;;
|
|
|
|
sh-*-pe*) fmt=coff em=pe bfd_gas=yes endian=little ;;
|
|
|
|
sh-*-rtemscoff*) fmt=coff ;;
|
|
|
|
sh-*-rtems*) fmt=elf ;;
|
|
|
|
sh-*-kaos*) fmt=elf ;;
|
|
|
|
shle*-*-kaos*) fmt=elf ;;
|
|
|
|
sh64-*-elf*) fmt=elf ;;
|
|
|
|
|
2010-11-30 09:14:08 +08:00
|
|
|
sparc64-*-rtems*) fmt=elf ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
sparc-*-rtems*) fmt=elf ;;
|
|
|
|
sparc-*-sunos4*) fmt=aout em=sun3 ;;
|
bfd/
* config.bfd (sparc-*-vxworks*): New stanza.
* configure.in (bfd_elf32_sparc_vxworks_vec): New stanza.
(bfd_elf32_sparc_vec, bfd_elf64_sparc_vec): Add elf-vxworks.lo.
* configure: Regenerate.
* elf32-sparc.c: Include elf-vxworks.h.
(elf32_sparc_vxworks_link_hash_table_create: New.
(elf32_sparc_vxworks_final_write_processing): New.
(TARGET_BIG_SYM): Override for VxWorks.
(TARGET_BIG_NAME, ELF_MINPAGESIZE): Likewise.
(bfd_elf32_bfd_link_hash_table_create): Likewise.
(elf_backend_want_got_plt, elf_backend_plt_readonly): Likewise.
(elf_backend_got_header_size, elf_backend_add_symbol_hook): Likewise.
(elf_backend_link_output_symbol_hook): Likewise.
(elf_backend_emit_relocs): Likewise.
(elf_backend_final_write_processing, elf32_bed): Likewise.
* elfxx-sparc.c: Include libiberty.h and elf-vxworks.h.
(sparc_vxworks_exec_plt0_entry, sparc_vxworks_exec_plt_entry): New.
(sparc_vxworks_shared_plt0_entry, sparc_vxworks_shared_plt_entry): New.
(_bfd_sparc_elf_link_hash_table_create): Don't initialize
build_plt_entry here.
(create_got_section): Initialize sgotplt for VxWorks.
(_bfd_sparc_elf_create_dynamic_sections): Initialize build_plt_entry,
plt_header_size and plt_entry_size, with new VxWorks-specific settings.
Call elf_vxworks_create_dynamic_sections for VxWorks.
(allocate_dynrelocs): Use plt_header_size and plt_entry_size.
Allocate room for .got.plt and .rela.plt.unloaded entries on VxWorks.
(_bfd_sparc_elf_size_dynamic_sections): Don't allocate a nop in .plt
for VxWorks. Check for the .got.plt section.
(sparc_vxworks_build_plt_entry): New function.
(_bfd_sparc_elf_finish_dynamic_symbol): Add handling of VxWorks PLTs.
Don't make _GLOBAL_OFFSET_TABLE_ and _PROCEDURE_LINKAGE_TABLE_
absolute on VxWorks.
(sparc32_finish_dyn): Add special handling for DT_RELASZ
and DT_PLTGOT on VxWorks.
(sparc_vxworks_finish_exec_plt): New.
(sparc_vxworks_finish_shared_plt): New.
(_bfd_sparc_elf_finish_dynamic_sections): Call them.
Use plt_header_size and plt_entry_size.
* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add is_vxworks,
srelplt2, sgotplt, plt_header_size and plt_entry_size fields.
* Makefile.am (elfxx-sparc.lo): Depend on elf-vxworks.h.
(elf32-sparc.lo): Likewise.
* Makefile.in: Regenerate.
* targets.c (bfd_elf32_sparc_vxworks_vec): Declare.
(_bfd_target_vector): Add a pointer to it.
gas/
* config/tc-sparc.c (sparc_target_format): Handle TE_VXWORKS.
(GOTT_BASE, GOTT_INDEX): New.
(tc_gen_reloc): Don't alter relocations against GOTT_BASE and
GOTT_INDEX when generating VxWorks PIC.
* configure.tgt (sparc*-*-vxworks*): Remove this special case;
use the generic *-*-vxworks* stanza instead.
gas/testsuite/
* gas/sparc/vxworks-pic.s, gas/sparc/vxworks-pic.d: New test.
* gas/sparc/sparc.exp: Run it. Remove sparc*-*-vxworks* XFAILs.
ld/
* configure.tgt (sparc*-*-vxworks*): New stanza.
* emulparams/elf32_sparc_vxworks.sh: New file.
* Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_vxworks.o.
(eelf32_sparc_vxworks.c): New rule.
* Makefile.in: Regenerate.
ld/testsuite/
* ld-sparc/vxworks1.dd, ld-sparc/vxworks1.ld, ld-sparc/vxworks1-lib.dd,
* ld-sparc/vxworks1-lib.nd, ld-sparc/vxworks1-lib.rd,
* ld-sparc/vxworks1-lib.s, ld-sparc/vxworks1.rd, ld-sparc/vxworks1.s,
* ld-sparc/vxworks1-static.d, ld-sparc/vxworks2.s,
* ld-sparc/vxworks2.sd, ld-sparc/vxworks2-static.sd: New tests.
* ld-sparc/sparc.exp: Run them.
2006-04-05 20:41:59 +08:00
|
|
|
sparc-*-aout) fmt=aout em=sparcaout ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
sparc-*-coff) fmt=coff ;;
|
|
|
|
sparc-*-linux*aout*) fmt=aout em=linux ;;
|
2005-03-23 23:35:50 +08:00
|
|
|
sparc-*-linux-*) fmt=elf em=linux ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
sparc-fujitsu-none) fmt=aout ;;
|
|
|
|
sparc-*-elf) fmt=elf ;;
|
|
|
|
sparc-*-sysv4*) fmt=elf ;;
|
2008-09-26 15:02:44 +08:00
|
|
|
sparc-*-solaris*) fmt=elf em=solaris ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
sparc-*-netbsdelf*) fmt=elf em=nbsd ;;
|
2005-04-15 02:49:04 +08:00
|
|
|
sparc-*-netbsd*)
|
2004-12-22 23:29:25 +08:00
|
|
|
case ${cpu} in
|
|
|
|
sparc64) fmt=elf em=nbsd ;;
|
|
|
|
*) fmt=aout em=nbsd ;;
|
|
|
|
esac ;;
|
2005-04-15 02:49:04 +08:00
|
|
|
sparc-*-openbsd[0-2].* | \
|
|
|
|
sparc-*-openbsd3.[0-1])
|
|
|
|
case ${cpu} in
|
|
|
|
sparc64) fmt=elf em=nbsd ;;
|
|
|
|
*) fmt=aout em=nbsd ;;
|
|
|
|
esac ;;
|
|
|
|
sparc-*-openbsd*) fmt=elf em=nbsd ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
2006-10-25 14:49:21 +08:00
|
|
|
spu-*-elf) fmt=elf ;;
|
|
|
|
|
2004-12-22 23:29:25 +08:00
|
|
|
tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
|
|
|
|
tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
|
|
|
|
tic4x-*-* | c4x-*-*) fmt=coff bfd_gas=yes ;;
|
|
|
|
tic54x-*-* | c54x*-*-*) fmt=coff bfd_gas=yes need_libm=yes;;
|
bfd:
* Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo.
(ALL_MACHINES_CFILES): Add cpu-tic6x.c.
(BFD32_BACKENDS): Add elf32-tic6x.lo.
(BFD32_BACKENDS_CFILES): Add elf32-tic6x.c.
* Makefile.in: Regenerate.
* archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New.
(bfd_archures_list): Update.
* config.bfd (tic6x-*-elf): New.
* configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec):
New.
* configure: Regenerate.
* cpu-tic6x.c, elf32-tic6x.c: New.
* reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12,
BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7,
BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16,
BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B,
BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W,
BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B,
BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W,
BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H,
BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W,
BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W,
BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31,
BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN,
BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New.
* targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New.
(_bfd_target_vector): Update.
* bfd-in2.h, libbfd.h: Regenerate.
binutils:
* MAINTAINERS: Add self as TI C6X maintainer.
* NEWS: Add news entry for TI C6X support.
* readelf.c: Include elf/tic6x.h.
(guess_is_rela): Handle EM_TI_C6000.
(dump_relocations): Likewise.
(get_tic6x_dynamic_type): New.
(get_dynamic_type): Call it.
(get_machine_flags): Handle EF_C6000_REL.
(get_osabi_name): Handle machine-specific values only for relevant
machines. Handle C6X values.
(get_tic6x_segment_type): New.
(get_segment_type): Call it.
(get_tic6x_section_type_name): New.
(get_section_type_name): Call it.
(is_32bit_abs_reloc, is_16bit_abs_reloc, is_none_reloc): Handle
EM_TI_C6000.
gas:
* Makefile.am (TARGET_CPU_CFILES): Add config/tc-tic6x.c.
(TARGET_CPU_HFILES): Add config/tc-tic6x.h.
* Makefile.in: Regenerate.
* NEWS: Add news entry for TI C6X support.
* app.c (do_scrub_chars): Handle "||^" for TI C6X. Handle
TC_PREDICATE_START_CHAR and TC_PREDICATE_END_CHAR. Keep spaces in
operands if TC_KEEP_OPERAND_SPACES.
* configure.tgt (tic6x-*-*): New.
* config/tc-ia64.h (TC_PREDICATE_START_CHAR,
TC_PREDICATE_END_CHAR): Define.
* config/tc-tic6x.c, config/tc-tic6x.h: New.
* doc/Makefile.am (CPU_DOCS): Add c-tic6x.texi.
* doc/Makefile.in: Regenerate.
* doc/all.texi (TIC6X): Define.
* doc/as.texinfo: Add TI C6X documentation. Include c-tic6x.texi.
* doc/c-tic6x.texi: New.
gas/testsuite:
* gas/tic6x: New directory and testcases.
include:
* dis-asm.h (print_insn_tic6x): Declare.
include/elf:
* common.h (ELFOSABI_C6000_ELFABI, ELFOSABI_C6000_LINUX): Define.
* tic6x.h: New.
include/opcode:
* tic6x-control-registers.h, tic6x-insn-formats.h,
tic6x-opcode-table.h, tic6x.h: New.
ld:
* Makefile.am (ALL_EMULATIONS): Add eelf32_tic6x_be.o and
eelf32_tic6x_le.o.
(eelf32_tic6x_be.c, eelf32_tic6x_le.c): New.
* NEWS: Add news entry for TI C6X support.
* configure.tgt (tic6x-*-*): New.
* emulparams/elf32_tic6x_be.sh, emulparams/elf32_tic6x_le.sh: New.
ld/testsuite:
* ld-elf/flags1.d, ld-elf/merge.d: XFAIL for tic6x-*-*.
* ld-elf/sec-to-seg.exp: Set B_test_same_seg to 0 for tic6x-*-*.
* ld-tic6x: New directory and testcases.
opcodes:
* Makefile.am (TARGET_LIBOPCODES_CFILES): Add tic6x-dis.c.
* Makefile.in: Regenerate.
* configure.in (bfd_tic6x_arch): New.
* configure: Regenerate.
* disassemble.c (ARCH_tic6x): Define if ARCH_all.
(disassembler): Handle TI C6X.
* tic6x-dis.c: New.
2010-03-26 05:12:36 +08:00
|
|
|
tic6x-*-*) fmt=elf ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
2012-02-26 03:51:34 +08:00
|
|
|
tilepro-*-* | tilegx*-*-*) fmt=elf ;;
|
* Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo.
(ALL_MACHINE_CFILES): Add cpu-tilegx.c and cpu-tilepro.c.
(BFD32_BACKENDS): Add elf32-tilegx.lo, elf32-tilepro.lo,
and elfxx-tilegx.lo.
(BFD32_BACKENDS_CFILES): Add elf32-tilegx.c elf32-tilepro.c, and
elfxx-tilegx.c.
(BFD64_BACKENDS): Add elf64-tilegx.lo.
(BFD64_BACKENDS_CFILES): Add elf64-tilegx.c.
* Makefile.in: Regenerate.
* arctures.c (bfd_architecture): Define bfd_arch_tilepro,
bfd_arch_tilegx, bfd_mach_tilepro, bfd_mach_tilegx.
(bfd_arch_info): Add bfd_tilegx_arch, bfd_tilepro_arch.
(bfd_archures_list): Add bfd_tilegx_arch, bfd_tilepro_arch.
bfd-in2.h: Regenerate.
* config.bfd: Handle tilegx-*-* and tilepro-*-*.
* configure.in: Handle bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
and bfd_elf64_tilegx_vec.
* configure: Regenerate.
* elf-bfd.h (enum elf_target_id): Define TILEGX_ELF_DATA and
TILEPRO_ELF_DATA.
* libbfd.h: Regenerate.
* reloc.c: Add BFD_RELOC_TILEPRO_{COPY, GLOB_DAT, JMP_SLOT,
RELATIVE, BROFF_X1, JOFFLONG_X1, JOFFLONG_X1_PLT, IMM8_X0,
IMM8_Y0, IMM8_X1, IMM8_Y1, DEST_IMM8_X1, MT_IMM15_X1, MF_IMM15_X1,
IMM16_X0, IMM16_X1, IMM16_X0_LO, IMM16_X1_LO, IMM16_X0_HI,
IMM16_X1_HI, IMM16_X0_HA, IMM16_X1_HA, IMM16_X0_PCREL,
IMM16_X1_PCREL, IMM16_X0_LO_PCREL, IMM16_X1_LO_PCREL,
IMM16_X0_HI_PCREL, IMM16_X1_HI_PCREL, IMM16_X0_HA_PCREL,
IMM16_X1_HA_PCREL, IMM16_X0_GOT, IMM16_X1_GOT, IMM16_X0_GOT_LO,
IMM16_X1_GOT_LO, IMM16_X0_GOT_HI, IMM16_X1_GOT_HI,
IMM16_X0_GOT_HA, IMM16_X1_GOT_HA, MMSTART_X0, MMEND_X0,
MMSTART_X1, MMEND_X1, SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1,
IMM16_X0_TLS_GD, IMM16_X1_TLS_GD, IMM16_X0_TLS_GD_LO,
IMM16_X1_TLS_GD_LO, IMM16_X0_TLS_GD_HI, IMM16_X1_TLS_GD_HI,
IMM16_X0_TLS_GD_HA, IMM16_X1_TLS_GD_HA, IMM16_X0_TLS_IE,
IMM16_X1_TLS_IE, IMM16_X0_TLS_IE_LO, IMM16_X1_TLS_IE_LO,
IMM16_X0_TLS_IE_HI, IMM16_X1_TLS_IE_HI, IMM16_X0_TLS_IE_HA,
IMM16_X1_TLS_IE_HA, TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
Add BFD_RELOC_TILEGX_{HW0, HW1, HW2, HW3, HW0_LAST, HW1_LAST,
HW2_LAST, COPY, GLOB_DAT, JMP_SLOT, RELATIVE, BROFF_X1,
JUMPOFF_X1, JUMPOFF_X1_PLT, IMM8_X0, IMM8_Y0, IMM8_X1, IMM8_Y1,
DEST_IMM8_X1, MT_IMM14_X1, MF_IMM14_X1, MMSTART_X0, MMEND_X0,
SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1, IMM16_X0_HW0,
IMM16_X1_HW0, IMM16_X0_HW1, IMM16_X1_HW1, IMM16_X0_HW2,
IMM16_X1_HW2, IMM16_X0_HW3, IMM16_X1_HW3, IMM16_X0_HW0_LAST,
IMM16_X1_HW0_LAST, IMM16_X0_HW1_LAST, IMM16_X1_HW1_LAST,
IMM16_X0_HW2_LAST, IMM16_X1_HW2_LAST, IMM16_X0_HW0_PCREL,
IMM16_X1_HW0_PCREL, IMM16_X0_HW1_PCREL, IMM16_X1_HW1_PCREL,
IMM16_X0_HW2_PCREL, IMM16_X1_HW2_PCREL, IMM16_X0_HW3_PCREL,
IMM16_X1_HW3_PCREL, IMM16_X0_HW0_LAST_PCREL,
IMM16_X1_HW0_LAST_PCREL, IMM16_X0_HW1_LAST_PCREL,
IMM16_X1_HW1_LAST_PCREL, IMM16_X0_HW2_LAST_PCREL,
IMM16_X1_HW2_LAST_PCREL, IMM16_X0_HW0_GOT, IMM16_X1_HW0_GOT,
IMM16_X0_HW1_GOT, IMM16_X1_HW1_GOT, IMM16_X0_HW2_GOT,
IMM16_X1_HW2_GOT, IMM16_X0_HW3_GOT, IMM16_X1_HW3_GOT,
IMM16_X0_HW0_LAST_GOT, IMM16_X1_HW0_LAST_GOT,
IMM16_X0_HW1_LAST_GOT, IMM16_X1_HW1_LAST_GOT,
IMM16_X0_HW2_LAST_GOT, IMM16_X1_HW2_LAST_GOT, IMM16_X0_HW0_TLS_GD,
IMM16_X1_HW0_TLS_GD, IMM16_X0_HW1_TLS_GD, IMM16_X1_HW1_TLS_GD,
IMM16_X0_HW2_TLS_GD, IMM16_X1_HW2_TLS_GD, IMM16_X0_HW3_TLS_GD,
IMM16_X1_HW3_TLS_GD, IMM16_X0_HW0_LAST_TLS_GD,
IMM16_X1_HW0_LAST_TLS_GD, IMM16_X0_HW1_LAST_TLS_GD,
IMM16_X1_HW1_LAST_TLS_GD, IMM16_X0_HW2_LAST_TLS_GD,
IMM16_X1_HW2_LAST_TLS_GD, IMM16_X0_HW0_TLS_IE,
IMM16_X1_HW0_TLS_IE, IMM16_X0_HW1_TLS_IE, IMM16_X1_HW1_TLS_IE,
IMM16_X0_HW2_TLS_IE, IMM16_X1_HW2_TLS_IE, IMM16_X0_HW3_TLS_IE,
IMM16_X1_HW3_TLS_IE, IMM16_X0_HW0_LAST_TLS_IE,
IMM16_X1_HW0_LAST_TLS_IE, IMM16_X0_HW1_LAST_TLS_IE,
IMM16_X1_HW1_LAST_TLS_IE, IMM16_X0_HW2_LAST_TLS_IE,
IMM16_X1_HW2_LAST_TLS_IE, TLS_DTPMOD64, TLS_DTPOFF64, TLS_TPOFF64,
TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
* targets.c (bfd_elf32_tilegx_vec): Declare.
(bfd_elf32_tilepro_vec): Declare.
(bfd_elf64_tilegx_vec): Declare.
(bfd_target_vector): Add bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
and bfd_elf64_tilegx_vec.
* cpu-tilegx.c: New file.
* cpu-tilepro.c: New file.
* elf32-tilepro.h: New file.
* elf32-tilepro.c: New file.
* elf32-tilegx.c: New file.
* elf32-tilegx.h: New file.
* elf64-tilegx.c: New file.
* elf64-tilegx.h: New file.
* elfxx-tilegx.c: New file.
* elfxx-tilegx.h: New file.
* Makefile.am (TARGET_CPU_CFILES): Add config/tc-tilegx.c and
config/tc-tilepro.c.
(TARGET_CPU_HFILES): Add config/tc-tilegx.h and
config/tc-tilepro.h.
* Makefile.in: Regenerate.
* configure.tgt (tilepro-*-*): New.
(tilegx-*-*): Likewise.
* config/tc-tilegx.c: New file.
* config/tc-tilegx.h: Likewise.
* config/tc-tilepro.h: Likewise.
* config/tc-tilepro.c: Likewise.
* doc/Makefile.am (CPU_DOCS): Add c-tilegx.texi and
c-tilepro.texi.
* doc/Makefile.in: Regenerate.
* doc/all.texi (TILEGX): Define.
(TILEPRO): Define.
* doc/as.texinfo: Add Tile-Gx and TILEPro documentation. Include
c-tilegx.texi and c-tilepro.texi.
* doc/c-tilegx.texi: New.
* doc/c-tilepro.texi: New.
* gas/tilepro/t_constants.s: New file.
* gas/tilepro/t_constants.d: Likewise.
* gas/tilepro/t_insns.s: Likewise.
* gas/tilepro/tilepro.exp: Likewise.
* gas/tilepro/t_insns.d: Likewise.
* gas/tilegx/tilegx.exp: Likewise.
* gas/tilegx/t_insns.d: Likewise.
* gas/tilegx/t_insns.s: Likewise.
* dis-asm.h (print_insn_tilegx): Declare.
(print_insn_tilepro): Likewise.
* tilegx.h: New file.
* tilepro.h: New file.
* common.h: Add EM_TILEGX.
* tilegx.h: New file.
* tilepro.h: New file.
* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx.c and
eelf32tilepro.c.
(ALL_64_EMULATION_SOURCES): Add eelf64tilegx.c.
(eelf32tilegx.c): New target.
(eelf32tilepro.c): Likewise.
(eelf64tilegx.c): Likewise.
* Makefile.in: Regenerate.
* configure.tgt: Handle tilegx-*-* and tilepro-*-*.
* emulparams/elf32tilegx.sh: New file.
* emulparams/elf64tilegx.sh: New file.
* emulparams/elf32tilepro.sh: New file.
* ld-elf/eh5.d: Don't run on tile*.
* ld-srec/srec.exp: xfail on tile*.
* ld-tilegx/external.s: New file.
* ld-tilegx/reloc.d: New file.
* ld-tilegx/reloc.s: New file.
* ld-tilegx/tilegx.exp: New file.
* ld-tilepro/external.s: New file.
* ld-tilepro/reloc.d: New file.
* ld-tilepro/reloc.s: New file.
* ld-tilepro/tilepro.exp: New file.
* Makefile.am (TARGET_LIBOPCODES_CFILES): Add tilegx-dis.c,
tilegx-opc.c, tilepro-dis.c, and tilepro-opc.c.
* Makefile.in: Regenerate.
* configure.in: Handle bfd_tilegx_arch and bfd_tilepro_arch.
* configure: Regenerate.
* disassemble.c (disassembler): Add ARCH_tilegx and ARCH_tilepro.
* po/POTFILES.in: Regenerate.
* tilegx-dis.c: New file.
* tilegx-opc.c: New file.
* tilepro-dis.c: New file.
* tilepro-opc.c: New file.
2011-06-13 23:18:54 +08:00
|
|
|
|
2010-07-23 22:52:54 +08:00
|
|
|
v850*-*-*) fmt=elf ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
|
|
|
vax-*-netbsdelf*) fmt=elf em=nbsd ;;
|
2005-03-23 23:35:50 +08:00
|
|
|
vax-*-linux-*) fmt=elf em=linux ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
|
|
|
xstormy16-*-*) fmt=elf ;;
|
2012-05-03 21:12:08 +08:00
|
|
|
|
|
|
|
xgate-*-*) fmt=elf ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
2008-02-02 01:58:48 +08:00
|
|
|
xtensa*-*-*) fmt=elf ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
|
2005-10-26 01:40:19 +08:00
|
|
|
z80-*-coff) fmt=coff ;;
|
|
|
|
|
2004-12-22 23:29:25 +08:00
|
|
|
z8k-*-coff | z8k-*-sim) fmt=coff ;;
|
|
|
|
|
|
|
|
*-*-aout | *-*-scout) fmt=aout ;;
|
2011-03-28 19:18:27 +08:00
|
|
|
*-*-dragonfly*) fmt=elf em=dragonfly ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
*-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
|
|
|
|
*-*-bsd*) fmt=aout em=sun3 ;;
|
|
|
|
*-*-generic) fmt=generic ;;
|
|
|
|
*-*-xray | *-*-hms) fmt=coff ;;
|
|
|
|
*-*-sim) fmt=coff ;;
|
2008-09-26 15:02:44 +08:00
|
|
|
*-*-elf | *-*-sysv4*) fmt=elf ;;
|
|
|
|
*-*-solaris*) fmt=elf em=solaris ;;
|
2005-03-21 18:26:18 +08:00
|
|
|
*-*-aros*) fmt=elf em=linux ;;
|
2005-08-23 11:23:12 +08:00
|
|
|
*-*-vxworks* | *-*-windiss) fmt=elf em=vxworks ;;
|
2004-12-22 23:29:25 +08:00
|
|
|
*-*-netware) fmt=elf em=netware ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
case ${cpu_type} in
|
2012-08-13 22:52:54 +08:00
|
|
|
aarch64 | alpha | arm | i386 | ia64 | microblaze | mips | ns32k | pdp11 | ppc | sparc | z80 | z8k)
|
2004-12-22 23:29:25 +08:00
|
|
|
bfd_gas=yes
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
case ${fmt} in
|
2008-04-24 02:40:34 +08:00
|
|
|
elf | ecoff | fdpicelf | multi | som)
|
2004-12-22 23:29:25 +08:00
|
|
|
bfd_gas=yes
|
|
|
|
;;
|
|
|
|
esac
|
* README-vms: Delete.
* config-gas.com: Delete.
* makefile.vms: Delete.
* vmsconf.sh: Delete.
* config/atof-tahoe.c: Delete.
* config/m88k-opcode.h: Delete.
* config/obj-bout.c: Delete.
* config/obj-bout.h: Delete.
* config/obj-hp300.c: Delete.
* config/obj-hp300.h: Delete.
* config/tc-a29k.c: Delete.
* config/tc-a29k.h: Delete.
* config/tc-h8500.c: Delete.
* config/tc-h8500.h: Delete.
* config/tc-m88k.c: Delete.
* config/tc-m88k.h: Delete.
* config/tc-tahoe.c: Delete.
* config/tc-tahoe.h: Delete.
* config/tc-tic80.c: Delete.
* config/tc-tic80.h: Delete.
* config/tc-w65.c: Delete.
* config/tc-w65.h: Delete.
* config/te-aux.h: Delete.
* config/te-delt88.h: Delete.
* config/te-delta.h: Delete.
* config/te-dpx2.h: Delete.
* config/te-hp300.h: Delete.
* config/te-ic960.h: Delete.
* config/vms-a-conf.h: Delete.
* doc/c-a29k.texi: Delete.
* doc/c-h8500.texi: Delete.
* doc/c-m88k.texi: Delete.
* README: Remove obsolete examples, and list of supported targets.
* Makefile.am: Remove a29k, h8500, m88k, tahoe, tic80, w65,
bout and hp300 support.
(DEP_FLAGS): Don't define BFD_ASSEMBLER.
* configure.in: Remove --enable-bfd-assembler, need_bfd,
primary_bfd_gas.
* configure.tgt: Remove a29k, h8300-coff, h8500-*, i960 non-elf,
m68k non bfd, m88k, or32-coff, tic80-*, vax non-bfd, w65k-*, *-nindy.
* as.c: Remove all non-BFD_ASSEMBLER code, support for above targets.
* as.h: Likewise.
* dw2gencfi.c: Likewise.
* dwarf2dbg.c: Likewise.
* ehopt.c: Likewise.
* input-file.c: Likewise.
* listing.c: Likewise.
* literal.c: Likewise.
* messages.c: Likewise.
* obj.h: Likewise.
* output-file.c: Likewise.
* read.c: Likewise.
* stabs.c: Likewise.
* struc-symbol.h: Likewise.
* subsegs.c: Likewise.
* subsegs.h: Likewise.
* symbols.c: Likewise.
* symbols.h: Likewise.
* tc.h: Likewise.
* write.c: Likewise.
* write.h: Likewise.
* config/aout_gnu.h: Likewise.
* config/obj-aout.c: Likewise.
* config/obj-aout.h: Likewise.
* config/obj-coff.c: Likewise.
* config/obj-coff.h: Likewise.
* config/obj-evax.h: Likewise.
* config/obj-ieee.h: Likewise.
* config/tc-arm.c: Likewise.
* config/tc-arm.h: Likewise.
* config/tc-avr.c: Likewise.
* config/tc-avr.h: Likewise.
* config/tc-crx.h: Likewise.
* config/tc-d10v.h: Likewise.
* config/tc-d30v.h: Likewise.
* config/tc-dlx.h: Likewise.
* config/tc-fr30.h: Likewise.
* config/tc-frv.h: Likewise.
* config/tc-h8300.c: Likewise.
* config/tc-h8300.h: Likewise.
* config/tc-hppa.h: Likewise.
* config/tc-i370.h: Likewise.
* config/tc-i386.c: Likewise.
* config/tc-i386.h: Likewise.
* config/tc-i860.h: Likewise.
* config/tc-i960.c: Likewise.
* config/tc-i960.h: Likewise.
* config/tc-ip2k.h: Likewise.
* config/tc-iq2000.h: Likewise.
* config/tc-m32c.h: Likewise.
* config/tc-m32r.h: Likewise.
* config/tc-m68hc11.h: Likewise.
* config/tc-m68k.c: Likewise.
* config/tc-m68k.h: Likewise.
* config/tc-maxq.c: Likewise.
* config/tc-maxq.h: Likewise.
* config/tc-mcore.c: Likewise.
* config/tc-mcore.h: Likewise.
* config/tc-mn10200.h: Likewise.
* config/tc-mn10300.c: Likewise.
* config/tc-mn10300.h: Likewise.
* config/tc-ms1.h: Likewise.
* config/tc-msp430.c: Likewise.
* config/tc-msp430.h: Likewise.
* config/tc-ns32k.c: Likewise.
* config/tc-ns32k.h: Likewise.
* config/tc-openrisc.h: Likewise.
* config/tc-or32.c: Likewise.
* config/tc-or32.h: Likewise.
* config/tc-ppc.c: Likewise.
* config/tc-ppc.h: Likewise.
* config/tc-s390.h: Likewise.
* config/tc-sh.c: Likewise.
* config/tc-sh.h: Likewise.
* config/tc-sparc.c: Likewise.
* config/tc-tic30.c: Likewise.
* config/tc-tic30.h: Likewise.
* config/tc-tic4x.c: Likewise.
* config/tc-tic4x.h: Likewise.
* config/tc-tic54x.c: Likewise.
* config/tc-tic54x.h: Likewise.
* config/tc-v850.h: Likewise.
* config/tc-vax.c: Likewise.
* config/tc-vax.h: Likewise.
* config/tc-xstormy16.h: Likewise.
* config/tc-xtensa.h: Likewise.
* config/tc-z8k.c: Likewise.
* config/tc-z8k.h: Likewise.
* config/vms-a-conf.h
* doc/Makefile.am: Likewise.
* doc/all.texi: Likewise.
* doc/as.texinfo: Likewise.
* doc/Makefile.in: Regenerate.
* Makefile.in: Regenerate.
* configure: Regenerate.
* config.in: Regenerate.
* po/POTFILES.in: Regenerate.
2005-08-11 09:25:29 +08:00
|
|
|
|
|
|
|
if test $bfd_gas != yes; then
|
|
|
|
echo This target is no longer supported in gas
|
|
|
|
exit 1
|
|
|
|
fi
|