# GCC target-specific configuration file.
-# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
-# Free Software Foundation, Inc.
+# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+# 2008 Free Software Foundation, Inc.
#This file is part of GCC.
# Obsolete configurations.
case ${target} in
- c4x-* \
- | tic4x-* \
+ crx-* \
+ | mt-* \
)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration ${target} is obsolete." >&2
arm*-*-*)
cpu_type=arm
extra_headers="mmintrin.h arm_neon.h"
+ c_target_objs="arm-c.o"
+ cxx_target_objs="arm-c.o"
;;
bfin*-*)
cpu_type=bfin
;;
+crisv32-*)
+ cpu_type=cris
+ ;;
ep9312*-*-*)
cpu_type=arm
;;
;;
i[34567]86-*-*)
cpu_type=i386
- extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
+ extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
- nmmintrin.h"
+ nmmintrin.h bmmintrin.h mmintrin-common.h"
;;
x86_64-*-*)
cpu_type=i386
- extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
+ extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
- nmmintrin.h"
+ nmmintrin.h bmmintrin.h mmintrin-common.h"
need_64bit_hwint=yes
;;
ia64-*-*)
extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h"
need_64bit_hwint=yes
case x$with_cpu in
- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456]|xpower6x|xrs64a)
+ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456]|xpower6x|xrs64a|xcell)
cpu_is_64bit=yes
;;
esac
cpu_type=sh
need_64bit_hwint=yes
;;
-tic4x-*-*)
- cpu_type=c4x
- ;;
esac
tm_file=${cpu_type}/${cpu_type}.h
gas=yes
gnu_ld=yes
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
- case ${target} in
- *-*-freebsd3 | *-*-freebsd[3].*)
- tm_defines="${tm_defines} FBSD_MAJOR=3" ;;
- *-*-freebsd4 | *-*-freebsd[4].*)
- tm_defines="${tm_defines} FBSD_MAJOR=4" ;;
- *-*-freebsd5 | *-*-freebsd[5].*)
- tm_defines="${tm_defines} FBSD_MAJOR=5" ;;
- *-*-freebsd6 | *-*-freebsd[6].*)
- tm_defines="${tm_defines} FBSD_MAJOR=6" ;;
- *-*-freebsd7 | *-*-freebsd[7].*)
- tm_defines="${tm_defines} FBSD_MAJOR=7" ;;
- *-*-freebsd8 | *-*-freebsd[8].*)
- tm_defines="${tm_defines} FBSD_MAJOR=8" ;;
- *-*-freebsd9 | *-*-freebsd[9].*)
- tm_defines="${tm_defines} FBSD_MAJOR=9" ;;
- *)
- echo 'Please update *-*-freebsd* in gcc/config.gcc'
- exit 1
- ;;
- esac
+ fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
+ tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
tmake_file="t-slibgcc-elf-ver t-freebsd"
case ${enable_threads} in
no)
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
+ case $target in
+ arm*b-*)
+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
+ ;;
+ esac
tmake_file="${tmake_file} t-linux arm/t-arm"
case ${target} in
arm*-*-linux-*eabi)
;;
bfin*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
- tmake_file=bfin/t-bfin-elf
- use_collect2=no
- ;;
+ tmake_file=bfin/t-bfin-elf
+ use_collect2=no
+ ;;
bfin*-uclinux*)
- tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/uclinux.h"
- tmake_file=bfin/t-bfin-uclinux
- use_collect2=no
- ;;
+ tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/uclinux.h"
+ tmake_file=bfin/t-bfin-uclinux
+ tm_defines="${tm_defines} UCLIBC_DEFAULT=1"
+ extra_options="${extra_options} linux.opt"
+ use_collect2=no
+ ;;
bfin*-linux-uclibc*)
- tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/linux.h"
- tmake_file="t-slibgcc-elf-ver bfin/t-bfin-linux"
- use_collect2=no
- ;;
+ tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/linux.h ./linux-sysroot-suffix.h"
+ tmake_file="t-slibgcc-elf-ver bfin/t-bfin-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ use_collect2=no
+ ;;
bfin*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h"
tmake_file="bfin/t-bfin t-rtems bfin/t-rtems"
- ;;
+ ;;
bfin*-*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
- tmake_file=bfin/t-bfin
- use_collect2=no
- ;;
-c4x-*-rtems* | tic4x-*-rtems*)
- tmake_file="c4x/t-c4x t-rtems c4x/t-rtems"
- tm_file="c4x/c4x.h c4x/rtems.h rtems.h"
- c_target_objs="c4x-c.o"
- cxx_target_objs="c4x-c.o"
- ;;
-c4x-* | tic4x-*)
- tmake_file=c4x/t-c4x
- c_target_objs="c4x-c.o"
- cxx_target_objs="c4x-c.o"
+ tmake_file=bfin/t-bfin
+ use_collect2=no
;;
cris-*-aout)
tm_file="dbxelf.h ${tm_file} cris/aout.h"
tmake_file="cris/t-cris cris/t-aout"
extra_options="${extra_options} cris/aout.opt"
;;
+crisv32-*-elf | crisv32-*-none)
+ tm_file="dbxelf.h elfos.h ${tm_file}"
+ tmake_file="cris/t-cris"
+ target_cpu_default=32
+ gas=yes
+ extra_options="${extra_options} cris/elf.opt"
+ ;;
cris-*-elf | cris-*-none)
tm_file="dbxelf.h elfos.h ${tm_file}"
tmake_file="cris/t-cris cris/t-elfmulti"
gas=yes
extra_options="${extra_options} cris/elf.opt"
;;
-cris-*-linux*)
+crisv32-*-linux* | cris-*-linux*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
# We need to avoid using t-linux, so override default tmake_file
tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
extra_options="${extra_options} cris/linux.opt"
+ case $target in
+ cris-*-*)
+ target_cpu_default=10
+ ;;
+ crisv32-*-*)
+ target_cpu_default=32
+ ;;
+ esac
;;
crx-*-elf)
tm_file="elfos.h ${tm_file}"
linux.h frv/linux.h frv/frv-abi.h"
tmake_file="${tmake_file} frv/t-frv frv/t-linux"
;;
-h8300-*-rtemscoff*)
- tmake_file="h8300/t-h8300 t-rtems h8300/t-rtems"
- tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h h8300/rtems.h rtems.h"
- ;;
h8300-*-rtems*)
tmake_file="h8300/t-h8300 h8300/t-elf t-rtems h8300/t-rtems"
tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h"
default_m68k_cpu=68020
default_cf_cpu=5206
tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs"
- tm_defines="${tm_defines} MOTOROLA=1 USE_GAS"
+ tm_defines="${tm_defines} MOTOROLA=1"
tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
use_fixproto=yes
;;
;;
esac
tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
- tm_defines="${tm_defines} MOTOROLA=1 USE_GAS"
+ tm_defines="${tm_defines} MOTOROLA=1"
tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
# Add multilibs for targets other than fido.
case ${target} in
default_m68k_cpu=68020
default_cf_cpu=5475
tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
- tm_defines="${tm_defines} MOTOROLA=1 USE_GAS"
+ tm_defines="${tm_defines} MOTOROLA=1"
;;
m68k*-*-openbsd*)
default_m68k_cpu=68020
default_m68k_cpu=68020
default_cf_cpu=5206
tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/uclinux-oldabi.h"
- tm_defines="${tm_defines} MOTOROLA=1 USE_GAS"
+ tm_defines="${tm_defines} MOTOROLA=1"
tmake_file="m68k/t-floatlib m68k/t-uclinux"
use_fixproto=no
;;
default_m68k_cpu=68020
default_cf_cpu=5206
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h"
- tm_defines="${tm_defines} MOTOROLA=1 USE_GAS UCLIBC_DEFAULT=1"
+ tm_defines="${tm_defines} MOTOROLA=1 UCLIBC_DEFAULT=1"
extra_options="${extra_options} linux.opt"
tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
use_fixproto=no
default_cf_cpu=5475
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h m68k/linux.h"
extra_options="${extra_options} m68k/ieee.opt"
- tm_defines="${tm_defines} MOTOROLA=1 USE_GAS"
+ tm_defines="${tm_defines} MOTOROLA=1"
# if not configured with --enable-sjlj-exceptions, bump the
# libgcc version number
if test x$sjlj != x1; then
default_cf_cpu=5206
tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems m68k/t-mlibs"
tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h"
- tm_defines="${tm_defines} MOTOROLA=1 USE_GAS"
+ tm_defines="${tm_defines} MOTOROLA=1"
extra_parts="crtbegin.o crtend.o"
;;
mcore-*-elf)
tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
gnu_ld=yes
gas=yes
+ test x$with_llsc != x || with_llsc=yes
;;
mips*-*-linux*) # Linux MIPS, either endian.
tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
case ${target} in
- mipsisa32*-*)
- target_cpu_default="MASK_SOFT_FLOAT"
- tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
+ mipsisa32r2*)
+ tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
;;
+ mipsisa32*)
+ tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
esac
+ test x$with_llsc != x || with_llsc=yes
;;
mips*-*-openbsd*)
tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS"
mips*-sde-elf*)
tm_file="elfos.h ${tm_file} mips/elf.h mips/sde.h"
tmake_file="mips/t-sde mips/t-libgcc-mips16"
+ case "${with_newlib}" in
+ yes)
+ # newlib / libgloss.
+ ;;
+ *)
+ # MIPS toolkit libraries.
+ tm_file="$tm_file mips/sdemtk.h"
+ tmake_file="$tmake_file mips/t-sdemtk"
+ extra_options="$extra_options mips/sdemtk.opt"
+ case ${enable_threads} in
+ "" | yes | mipssde)
+ thread_file='mipssde'
+ ;;
+ esac
+ ;;
+ esac
case ${target} in
mipsisa32r2*)
tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
tmake_file="${tmake_file} mt/t-mt"
;;
-ns32k-*-netbsdelf*)
- echo "GCC does not yet support the ${target} target"; exit 1
- ;;
-ns32k-*-netbsd*)
- tm_file="${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
- # On NetBSD, the headers are already okay, except for math.h.
- tmake_file="t-netbsd ns32k/t-ns32k"
- extra_parts=""
- use_collect2=yes
- ;;
pdp11-*-bsd)
tm_file="${tm_file} pdp11/2bsd.h"
use_fixproto=yes
thread_file='aix'
extra_headers=
;;
-rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
+rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h"
tmake_file=rs6000/t-aix52
extra_options="${extra_options} rs6000/aix64.opt"
thread_file='aix'
extra_headers=
;;
+rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
+ tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h"
+ tmake_file=rs6000/t-aix52
+ extra_options="${extra_options} rs6000/aix64.opt"
+ use_collect2=yes
+ thread_file='aix'
+ extra_headers=altivec.h
+ ;;
s390-*-linux*)
tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux"
score-*-elf)
tm_file="dbxelf.h elfos.h score/elf.h score/score.h"
tmake_file=score/t-score-elf
- extra_objs="score-mdaux.o"
+ extra_objs="score7.o score3.o"
;;
sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
fi
use_fixproto=yes
;;
-sh-*-rtemscoff*)
- tmake_file="sh/t-sh t-rtems sh/t-rtems"
- tm_file="${tm_file} dbxcoff.h sh/coff.h sh/rtems.h rtems.h"
- ;;
sh-*-rtems*)
tmake_file="sh/t-sh sh/t-elf t-rtems sh/t-rtems"
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h"
;;
mips*-*-*)
- supported_defaults="abi arch float tune divide"
+ supported_defaults="abi arch float tune divide llsc"
case ${with_float} in
"" | soft | hard)
*)
echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
exit 1
+ ;;
+ esac
+
+ case ${with_llsc} in
+ yes)
+ with_llsc=llsc
+ ;;
+ no)
+ with_llsc="no-llsc"
+ ;;
+ "")
+ # OK
+ ;;
+ *)
+ echo "Unknown llsc type used in --with-llsc" 1>&2
+ exit 1
+ ;;
esac
;;
| 401 | 403 | 405 | 405fp | 440 | 440fp | 505 \
| 601 | 602 | 603 | 603e | ec603e | 604 \
| 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
- | 854[08] | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5)
+ | 854[08] | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
# OK
;;
*)
"" | sparc | sparcv9 | sparc64 | sparc86x \
| v7 | cypress | v8 | supersparc | sparclite | f930 \
| f934 | hypersparc | sparclite86x | sparclet | tsc701 \
- | v9 | ultrasparc | ultrasparc3 | niagara)
+ | v9 | ultrasparc | ultrasparc3 | niagara | niagara2)
# OK
;;
*)
esac
t=
-all_defaults="abi cpu arch tune schedule float mode fpu divide"
+all_defaults="abi cpu arch tune schedule float mode fpu divide llsc"
for option in $all_defaults
do
eval "val=\$with_$option"