# configure.tgt
#
-# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
#
# 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
case "${targ}" in
aarch64_be-*-elf) targ_emul=aarch64elfb
targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" ;;
-aarch64-*-elf) targ_emul=aarch64elf
+aarch64-*-elf | aarch64-*-rtems*)
+ targ_emul=aarch64elf
targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;;
+aarch64-*-cloudabi*) targ_emul=aarch64cloudabi
+ targ_extra_emuls=aarch64cloudabib ;;
aarch64-*-freebsd*) targ_emul=aarch64fbsd
targ_extra_emuls="aarch64fbsdb aarch64elf" ;;
aarch64_be-*-linux*) targ_emul=aarch64linuxb
alpha*-*-openbsd*) targ_emul=elf64alpha ;;
alpha*-*-*vms*) targ_emul=alphavms
;;
-arc-*-elf*) targ_emul=arcelf
+arc*-*-elf*) targ_emul=arcelf
+ targ_extra_emuls="arcelf_prof arclinux arclinux_prof arcv2elf arcv2elfx"
+ ;;
+arc*-*-linux*) targ_emul=arclinux
+ targ_extra_emuls="arclinux_prof arcelf arcelf_prof arcv2elf arcv2elfx"
;;
arm-epoc-pe) targ_emul=arm_epoc_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;;
arm*-*-cegcc*) targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o"
targ_extra_emuls="armelf armelf_nbsd armelfb_nbsd" ;;
arm-*-nto*) targ_emul=armnto ;;
arm-*-openbsd*) targ_emul=armnbsd ;;
+arm-*-phoenix*) targ_emul=armelf ;;
arm-*-rtems*) targ_emul=armelf ;;
armeb-*-elf | armeb-*-eabi*)
targ_emul=armelfb ;;
i[3-7]86-*-sysv[45]*) targ_emul=elf_i386
targ_extra_emuls=elf_iamcu ;;
i[3-7]86-*-solaris2*) targ_emul=elf_i386_sol2
- targ_extra_emuls="elf_i386_ldso elf_i386 elf_x86_64_sol2 elf_x86_64 elf_l1om elf_k1om"
+ targ_extra_emuls="elf_i386_ldso elf_i386 elf_iamcu elf_x86_64_sol2 elf_x86_64 elf_l1om elf_k1om"
targ_extra_libpath=$targ_extra_emuls
;;
x86_64-*-solaris2*)
targ_emul=elf_x86_64_sol2
- targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_l1om elf_k1om"
+ targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu elf_l1om elf_k1om"
targ_extra_libpath=$targ_extra_emuls
tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
i[3-7]86-*-unixware) targ_emul=elf_i386
targ_extra_emuls=elf_i386 ;;
i[3-7]86-*-elf*) targ_emul=elf_i386
targ_extra_emuls=elf_iamcu ;;
-x86_64-*-elf*) targ_emul=elf_x86_64
+x86_64-*-elf* | x86_64-*-rtems*)
+ targ_emul=elf_x86_64
targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om"
targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om"
tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
mips*vr4100-*-elf*) targ_emul=elf32b4300 ;;
mips*vr5000el-*-elf*) targ_emul=elf32l4300 ;;
mips*vr5000-*-elf*) targ_emul=elf32b4300 ;;
-mips*el-sde-elf*) targ_emul=elf32ltsmip
+mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*)
+ targ_emul=elf32ltsmip
targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" ;;
mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
targ_emul=elf32btsmip
mmix-*-*) targ_emul=mmo
targ_extra_emuls=elf64mmix
;;
-am34-*-linux*) targ_emul=elf32am33lin ;;
am33_2.0-*-linux*) targ_emul=elf32am33lin ;;
mn10200-*-*) targ_emul=mn10200 ;;
mn10300-*-*) targ_emul=mn10300
esac
case "${targ}" in
powerpc*le-*)
- for z in targ_emul targ_extra_emuls targ_extra_libpath targ64_extra_emuls targ64_extra_libpath
+ # PR 19985: Include big endian emulations.
+ for z in targ_extra_emuls targ_extra_libpath targ64_extra_emuls targ64_extra_libpath
do
- eval ${z}=\"`eval echo \\$${z} | sed -e 's/ppc/lppc/g'`\"
+ eval ${z}=\"\$${z} `eval echo \\$${z} | sed -e 's/ppc/lppc/g'`\"
done
+ targ_extra_emuls="$targ_extra_emuls $targ_emul"
+ eval targ_emul=\"`eval echo \\$targ_emul | sed -e 's/ppc/lppc/g'`\"
esac ;;
powerpc-*-nto*) targ_emul=elf32ppcnto ;;
powerpcle-*-nto*) targ_emul=elf32lppcnto ;;
score-*-elf) targ_emul=score7_elf
targ_extra_emuls=score3_elf ;;
sh-*-linux*) targ_emul=shlelf_linux
- targ_extra_emuls=shelf_linux
+ targ_extra_emuls="shelf_linux shlelf_fd shelf_fd"
targ_extra_libpath=shelf_linux ;;
sh64eb-*-linux*) targ_emul=shelf32_linux
targ_extra_emuls="shlelf32_linux" ;;
sh64-*-linux*) targ_emul=shlelf32_linux
targ_extra_emuls="shelf32_linux"
targ_extra_libpath=shelf32_linux ;;
-sh*eb-*-linux*) targ_emul=shelf_linux ;;
-sh*-*-linux*) targ_emul=shlelf_linux ;;
+sh*eb-*-linux*) targ_emul=shelf_linux
+ targ_extra_emuls="shelf_fd" ;;
+sh*-*-linux*) targ_emul=shlelf_linux
+ targ_extra_emuls="shlelf_fd" ;;
sh5le-*-netbsd*) targ_emul=shlelf32_nbsd
targ_extra_emuls="shelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" ;;
sh5-*-netbsd*) targ_emul=shelf32_nbsd
;;
esac
+
+case "${target}" in
+frv-*-* | hppa*-*-* | ia64-*-* | mips*-*-*)
+ # Don't enable -z relro by default since many relro tests fail on these
+ # targets:
+ # FAIL: strip -z relro (relro1)
+ # FAIL: strip -z relro -shared (relro1)
+ # FAIL: objcopy -z relro (relro1)
+ # FAIL: objcopy -z relro -shared (relro1)
+ # FAIL: objcopy -z relro (tdata1)
+ # FAIL: objcopy -shared -z relro (tdata1)
+ # FAIL: objcopy -z relro (tdata2)
+ # FAIL: objcopy -shared -z relro (tdata2)
+ # FAIL: objcopy -z relro (tdata3)
+ # FAIL: objcopy -shared -z relro (tdata3)
+ # FAIL: objcopy -shared -z relro (tbss1)
+ # FAIL: objcopy -shared -z relro (tbss2)
+ # FAIL: objcopy -shared -z relro (tbss3)
+ ;;
+*-*-linux*)
+ if test ${ac_default_ld_z_relro} = unset; then
+ ac_default_ld_z_relro=1
+ fi
+ ;;
+esac