# GCC target-specific configuration file.
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-# 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
#This file is part of GCC.
md_file=
# Obsolete configurations.
-#case ${target} in
-# )
-# if test "x$enable_obsolete" != xyes; then
-# echo "*** Configuration ${target} is obsolete." >&2
-# echo "*** Specify --enable-obsolete to build it anyway." >&2
-# echo "*** Support will be REMOVED in the next major release of GCC," >&2
-# echo "*** unless a maintainer comes forward." >&2
-# exit 1
-# fi;;
-#esac
+case ${target} in
+# Avoid cases below matching.
+ alpha*-*-linux* \
+ | arm*-wince-pe* \
+ | arm*-*-netbsdelf* \
+ | i[34567]86-*-netbsdelf* \
+ | powerpc*-*-linux* \
+ | vax-*-netbsdelf*) ;;
+ arc-* \
+ | alpha*-*-gnu* \
+ | arm*-*-netbsd* \
+ | arm-*-pe* \
+ | crx-* \
+ | i[34567]86-*-interix3* \
+ | i[34567]86-*-netbsd* \
+ | i[3456x]86-*-netware* \
+ | i[34567]86-*-pe \
+ | m68hc11-*-* \
+ | m6811-*-* \
+ | m68hc12-*-* \
+ | m6812-*-* \
+ | m68k-*-uclinuxoldabi* \
+ | mcore-*-pe* \
+ | powerpc*-*-gnu* \
+ | score-* \
+ | sh*-*-symbianelf* \
+ | vax-*-netbsd* \
+ )
+ if test "x$enable_obsolete" != xyes; then
+ echo "*** Configuration ${target} is obsolete." >&2
+ echo "*** Specify --enable-obsolete to build it anyway." >&2
+ echo "*** Support will be REMOVED in the next major release of GCC," >&2
+ echo "*** unless a maintainer comes forward." >&2
+ exit 1
+ fi;;
+esac
# Unsupported targets list. Do not put an entry in this list unless
# it would otherwise be caught by a more permissive pattern. The list
use_gcc_stdint=wrap
;;
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
+ extra_options="$extra_options gnu-user.opt"
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
gas=yes
gnu_ld=yes
use_gcc_stdint=wrap
;;
*-*-uclinux*)
+ extra_options="$extra_options gnu-user.opt"
use_gcc_stdint=wrap
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC"
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
case $target in
- arm*b-*)
+ arm*b-*-linux*)
tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
;;
esac
tmake_file="arm/t-arm arm/t-arm-elf"
tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
;;
-arm*-*-eabi* | arm*-*-symbianelf* )
+arm*-*-rtemself*)
+ tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h newlib-stdint.h"
+ tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
+ tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
+ ;;
+arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
# The BPABI long long divmod functions return a 128-bit value in
# registers r0-r3. Correctly modeling that requires the use of
# TImode.
tmake_file="${tmake_file} arm/t-bpabi"
use_gcc_stdint=wrap
;;
+ arm*-*-rtems*)
+ tm_file="${tm_file} rtems.h arm/rtems-eabi.h newlib-stdint.h"
+ tmake_file="${tmake_file} arm/t-bpabi t-rtems arm/t-rtems-eabi"
+ ;;
arm*-*-symbianelf*)
tm_file="${tm_file} arm/symbian.h"
# We do not include t-bpabi for Symbian OS because the system
tm_file="${tm_file} arm/aout.h arm/arm.h"
tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
;;
-arm*-*-rtems*)
- tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h newlib-stdint.h"
- tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
- tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
- ;;
arm*-*-elf)
tm_file="dbxelf.h elfos.h newlib-stdint.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
tmake_file="arm/t-arm arm/t-arm-elf"
extra_objs="avr-devices.o"
;;
avr-*-*)
- tm_file="avr/avr.h dbxelf.h newlib-stdint.h"
+ tm_file="avr/avr.h dbxelf.h avr/avr-stdint.h"
use_gcc_stdint=wrap
extra_gcc_objs="driver-avr.o avr-devices.o"
extra_objs="avr-devices.o"
moxie-*-elf)
gas=yes
gnu_ld=yes
- tm_file="dbxelf.h elfos.h ${tm_file}"
+ tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
tmake_file="${tmake_file} moxie/t-moxie moxie/t-moxie-softfp soft-fp/t-softfp"
;;
esac
tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
pa/pa-hpux.h pa/pa-hpux10.h"
- extra_options="${extra_options} pa/pa-hpux.opt"
+ extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux10.opt"
case ${target} in
*-*-hpux10.[1-9]*)
tm_file="${tm_file} pa/pa-hpux1010.h"
;;
i[34567]86-*-freebsd*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
+ tmake_file="${tmake_file} i386/t-crtstuff"
;;
x86_64-*-freebsd*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
tm_file="${tm_file} i386/linux.h"
fi
;;
- i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} i386/linux.h knetbsd-gnu.h i386/knetbsd-gnu.h" ;;
- i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} i386/linux.h kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
- i[34567]86-*-kopensolaris*-gnu) tm_file="${tm_file} i386/linux.h kopensolaris-gnu.h i386/kopensolaris-gnu.h" ;;
- i[34567]86-*-gnu*) tm_file="$tm_file i386/linux.h gnu.h i386/gnu.h";;
+ i[34567]86-*-knetbsd*-gnu)
+ tm_file="${tm_file} i386/linux.h knetbsd-gnu.h i386/knetbsd-gnu.h"
+ ;;
+ i[34567]86-*-kfreebsd*-gnu)
+ tm_file="${tm_file} i386/linux.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
+ ;;
+ i[34567]86-*-kopensolaris*-gnu)
+ tm_file="${tm_file} i386/linux.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
+ ;;
+ i[34567]86-*-gnu*)
+ tm_file="$tm_file i386/linux.h gnu.h i386/gnu.h";;
esac
tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
;;
i386/x86-64.h i386/linux64.h"
case ${target} in
x86_64-*-linux*)
- default_gnu_indirect_function=glibc-2011 ;;
- x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;;
- x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
+ default_gnu_indirect_function=yes
+ ;;
+ x86_64-*-kfreebsd*-gnu)
+ tm_file="${tm_file} kfreebsd-gnu.h"
+ ;;
+ x86_64-*-knetbsd*-gnu)
+ tm_file="${tm_file} knetbsd-gnu.h"
+ ;;
esac
tmake_file="${tmake_file} i386/t-linux64 i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
;;
i[34567]86-pc-msdosdjgpp*)
xm_file=i386/xm-djgpp.h
- tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h"
+ tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h i386/djgpp-stdint.h"
tmake_file="${tmake_file} i386/t-djgpp"
extra_options="${extra_options} i386/djgpp.opt"
gnu_ld=yes
fi
exeext=.exe
install_headers_dir=install-headers-cp
- extra_options="${extra_options} vms/vms.opt"
+ extra_options="${extra_options} vms/vms.opt ia64/vms.opt"
;;
iq2000*-*-elf*)
tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
default_m68k_cpu=68020
default_cf_cpu=5206
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h"
+ extra_options="${extra_options} m68k/uclinux.opt"
tm_defines="${tm_defines} MOTOROLA=1"
tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
;;
mips-sgi-irix6.5*)
tm_file="elfos.h ${tm_file} mips/iris6.h"
tmake_file="mips/t-iris mips/t-iris6 mips/t-slibgcc-irix"
- extra_options="${extra_options} rpath.opt"
+ extra_options="${extra_options} rpath.opt mips/iris6.opt"
target_cpu_default="MASK_ABICALLS"
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
# Only IRIX Development Foundation 1.3 for IRIX 6.5 provides stdint.h.
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
tmake_file="mips/t-elf mips/t-libgcc-mips16"
;;
+mips64-*-toppers* | mips64el-*-toppers*)
+ tm_file="elfos.h ${tm_file} mips/elf.h mips/toppers.h"
+ tmake_file="mips/t-elf mips/t-libgcc-mips16"
+ tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
+ ;;
mips64-*-elf* | mips64el-*-elf*)
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
tmake_file="mips/t-elf mips/t-libgcc-mips16"
tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
extra_headers=altivec.h
;;
-powerpc*-*-freebsd*)
+powerpc-*-freebsd*)
tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
- tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
+ tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm rs6000/t-freebsd"
+ tmake_file="${tmake_file} t-slibgcc-libgcc rs6000/t-fprules-softfp soft-fp/t-softfp"
extra_options="${extra_options} rs6000/sysv4.opt"
;;
powerpc-*-netbsd*)
;;
powerpc-xilinx-eabi*)
tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h rs6000/xfpu.h rs6000/xilinx.h"
- extra_options="${extra_options} rs6000/sysv4.opt"
+ extra_options="${extra_options} rs6000/sysv4.opt rs6000/xilinx.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm rs6000/t-xilinx"
use_gcc_stdint=wrap
;;
;;
*)
tm_file="${tm_file} rs6000/linux.h glibc-stdint.h"
+ tmake_file="$tmake_file rs6000/t-linux"
;;
esac
tmake_file="${tmake_file} t-slibgcc-libgcc rs6000/t-fprules-softfp soft-fp/t-softfp"
extra_options="${extra_options} s390/tpf.opt"
;;
score-*-elf)
+ gas=yes
+ gnu_ld=yes
tm_file="dbxelf.h elfos.h score/elf.h score/score.h newlib-stdint.h"
- tmake_file=score/t-score-elf
- extra_objs="score7.o score3.o"
+ extra_parts="crti.o crtn.o crtbegin.o crtend.o"
+ tmake_file="${tmake_file} score/t-score-elf score/t-score-softfp soft-fp/t-softfp"
+ extra_objs="score7.o"
;;
sh-*-elf* | sh[12346l]*-*-elf* | \
sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
tmake_file="sparc/t-elf"
;;
esac
- tmake_file="${tmake_file} sparc/t-crtfm"
+ tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm"
extra_parts="crtbegin.o crtend.o"
;;
sparc-*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
- tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
+ tmake_file="sparc/t-elf sparc/t-crtin sparc/t-crtfm t-rtems"
extra_parts="crtbegin.o crtend.o"
;;
sparc-*-linux*)
tm_file="${tm_file} sparc/sol2.h"
case ${target} in
sparc64-*-* | sparcv9-*-*)
- tm_file="${tm_file} sparc/sol2-64.h"
+ tm_file="sparc/sol2-64.h ${tm_file}"
;;
*)
test x$with_cpu != x || with_cpu=v9
tm_file="${tm_file} sol2-gld.h sparc/sol2-gld-bi.h"
fi
tm_file="${tm_file} tm-dwarf2.h"
- tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
+ tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtin sparc/t-crtfm"
if test x$gnu_ld = xyes; then
tmake_file="$tmake_file t-slibgcc-elf-ver"
else
cxx_target_objs="sol2-c.o"
extra_objs="sol2.o"
tm_p_file="${tm_p_file} sol2-protos.h"
- extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
+ extra_parts="crt1.o gcrt1.o gmon.o crtbegin.o crtend.o"
case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
"":yes:* | yes:yes:* )
thread_file=posix
sparc64-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
extra_options="${extra_options} sparc/little-endian.opt"
- tmake_file="${tmake_file} sparc/t-crtfm"
+ tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm"
extra_parts="crtbegin.o crtend.o"
;;
sparc64-*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
extra_options="${extra_options} sparc/little-endian.opt"
- tmake_file="${tmake_file} sparc/t-crtfm t-rtems"
+ tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm t-rtems"
extra_parts="crtbegin.o crtend.o"
;;
sparc64-*-linux*)
;;
vax-*-linux*)
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h vax/elf.h vax/linux.h"
+ extra_options="${extra_options} vax/elf.opt"
tmake_file="${tmake_file} vax/t-linux"
;;
vax-*-netbsdelf*)
tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
- extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
+ extra_options="${extra_options} netbsd.opt netbsd-elf.opt vax/elf.opt"
;;
vax-*-netbsd*)
tm_file="${tm_file} netbsd.h netbsd-aout.h vax/netbsd.h"
;;
xtensa*-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
+ extra_options="${extra_options} xtensa/elf.opt"
tmake_file="xtensa/t-xtensa xtensa/t-elf"
;;
xtensa*-*-linux*)
arch_without_sse2=no
arch_without_64bit=no
case ${target} in
+ i386-*-freebsd*)
+ if test $fbsd_major -ge 6; then
+ arch=i486
+ else
+ arch=i386
+ fi
+ cpu=generic
+ arch_without_sse2=yes
+ arch_without_64bit=yes
+ ;;
i386-*-*)
arch=i386
cpu=i386
i[34567]86-*-darwin* | x86_64-*-darwin*)
tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
;;
- i[34567]86-*-linux* | x86_64-*-linux* | \
- i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
- i[34567]86-*-gnu*)
+ i[34567]86-*-linux* | x86_64-*-linux*)
tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux"
;;
+ i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
+ tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux i386/t-kfreebsd"
+ ;;
+ i[34567]86-*-gnu*)
+ tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux i386/t-gnu"
+ ;;
i[34567]86-*-solaris2*)
tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
;;