summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/config.gcc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/config.gcc')
-rw-r--r--contrib/gcc/config.gcc325
1 files changed, 247 insertions, 78 deletions
diff --git a/contrib/gcc/config.gcc b/contrib/gcc/config.gcc
index 23c6aa1..6736c3a 100644
--- a/contrib/gcc/config.gcc
+++ b/contrib/gcc/config.gcc
@@ -207,6 +207,80 @@ gas="$gas_flag"
gnu_ld="$gnu_ld_flag"
enable_threads=$enable_threads_flag
+# Obsolete configurations.
+# To avoid some tedious lists, we have a blacklist with a whitelist
+# embedded within it.
+case $machine in
+ 1750a-* \
+ | a29k-* \
+ | alpha*-*-osf[123]* \
+ | arm-*-riscix* \
+ | c*-convex-* \
+ | clipper-* \
+ | elxsi-* \
+ | i860-* \
+ | i?86-*-aix* \
+ | i?86-*-bsd* \
+ | i?86-*-chorusos* \
+ | i?86-*-dgux* \
+ | i?86-*-freebsd1.* \
+ | i?86-*-isc* \
+ | i?86-*-linux*oldld* \
+ | i?86-*-osf1* \
+ | i?86-*-osfrose* \
+ | i?86-*-rtemscoff* \
+ | i?86-*-sunos* \
+ | i?86-go32-rtems* \
+ | i?86-next-* \
+ | i?86-sequent-bsd* \
+ | i?86-sequent-ptx[12]* \
+ | i?86-sequent-sysv3* \
+ | m68[k0]*-*-lynxos* \
+ | m68[k0]*-*-rtemscoff* \
+ | m68[k0]*-*-sysv3* \
+ | m68[k0]*-altos-* \
+ | m68[k0]*-apollo-* \
+ | m68[k0]*-apple-* \
+ | m68[k0]*-bull-* \
+ | m68[k0]*-convergent-* \
+ | m68[k0]*-isi-* \
+ | m68[k0]*-next-* \
+ | m68[k0]*-sony-* \
+ | m88k-* \
+ | mips-*-bsd* \
+ | mips-*-riscos* \
+ | mips-*-sysv* \
+ | mips-*-ultrix* \
+ | mips-dec-* \
+ | mips-sgi-irix[1234]* \
+ | mips-sony-* \
+ | mips-tandem-* \
+ | ns32k-* \
+ | pj-* \
+ | pjl-* \
+ | romp-* \
+ | sparc-*-rtemsaout* \
+ | we32k-* \
+)
+ case $machine in
+ mips-sni-sysv4 \
+ | m88k-*-aout* | m88k-*-openbsd* | m88k-*-sysv4* \
+ | ns32k-*-netbsd* | ns32k-*-openbsd* \
+ | romp-*-openbsd* \
+ )
+ # Whitelisted.
+ ;;
+ *)
+ if test "x$enable_obsolete" != xyes; then
+ echo "*** Configuration $machine 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
+esac
+
# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
# updated in each machine entry. Also set default extra_headers for some
# machines.
@@ -243,7 +317,7 @@ ia64-*-*)
hppa*-*-* | parisc*-*-*)
cpu_type=pa
;;
-m680[02]0-*-*)
+m680[012]0-*-*)
cpu_type=m68k
extra_headers=math-68881.h
;;
@@ -263,6 +337,9 @@ powerpc*-*-*)
sparc*-*-*)
cpu_type=sparc
;;
+sh64-*-*)
+ cpu_type=sh
+ ;;
esac
tm_file=${cpu_type}/${cpu_type}.h
@@ -320,7 +397,7 @@ case $machine in
fi
;;
*-*-netbsd*)
- tmake_file="t-libc-ok t-netbsd"
+ tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd"
xm_defines=POSIX
gas=yes
gnu_ld=yes
@@ -360,7 +437,7 @@ case $machine in
*-*-freebsd6 | *-*-freebsd[6].*) fbsd_tm_file="freebsd6.h";;
*) echo 'Please update *-*-freebsd* in gcc/config.gcc'; exit 1;;
esac
- tmake_file=t-freebsd
+ tmake_file="t-slibgcc-elf-ver t-freebsd"
xmake_file=none
xm_defines=POSIX
case x${enable_threads} in
@@ -368,6 +445,12 @@ case $machine in
x | xyes | xpthreads | xposix)
thread_file='posix'
tmake_file="${tmake_file} t-freebsd-thread"
+ # Before 5.0, FreeBSD can't bind shared libraries to -lc
+ # when "optionally" threaded via weak pthread_* checks.
+ case $machine in
+ *-*-freebsd[34] | *-*-freebsd[34].*)
+ tmake_file="${tmake_file} t-slibgcc-nolc-override";;
+ esac
;;
*) echo 'Unknown thread configuration for FreeBSD'; exit 1;;
esac
@@ -407,7 +490,8 @@ a29k-*-udi | a29k-*-coff)
tmake_file=a29k/t-a29kbare
;;
a29k*-*-rtems*)
- tm_file=a29k/rtems.h
+ xm_defines=POSIX
+ tm_file="a29k/a29k.h a29k/rtems.h rtems.h"
tmake_file="a29k/t-a29kbare t-rtems"
if test x$enable_threads = xyes; then
thread_file='rtems'
@@ -587,13 +671,6 @@ arc-*-elf*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
extra_parts="crtinit.o crtfini.o"
;;
-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"
- tmake_file="arm/t-arm-elf t-rtems"
- if test x$enable_threads = xyes; then
- thread_file='rtems'
- fi
- ;;
arm-*-coff* | armel-*-coff*)
tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h"
tmake_file=arm/t-arm-coff
@@ -629,6 +706,9 @@ arm*-*-freebsd*|strongarm*-*-freebsd*)
tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h arm/aout.h arm/freebsd.h arm/arm.h"
tmake_file="${tmake_file} arm/t-strongarm-elf"
;;
+arm*-*-netbsdelf*)
+ echo "GCC does not yet support the ${machine} target"; exit 1
+ ;;
arm*-*-netbsd*)
tm_file="arm/aout.h arm/arm.h netbsd.h netbsd-aout.h arm/netbsd.h"
tmake_file="t-netbsd arm/t-netbsd"
@@ -657,6 +737,14 @@ arm*-*-ecos-elf)
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h"
tmake_file=arm/t-arm-elf
;;
+arm*-*-rtems*)
+ xm_defines=POSIX
+ 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"
+ tmake_file="arm/t-arm-elf t-rtems"
+ if test x$enable_threads = xyes; then
+ thread_file='rtems'
+ fi
+ ;;
arm*-*-elf)
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
tmake_file=arm/t-arm-elf
@@ -697,8 +785,9 @@ c38-convex-*)
use_collect2=yes
;;
c4x-*-rtems*)
+ xm_defines=POSIX
tmake_file="c4x/t-c4x t-rtems"
- tm_file=c4x/rtems.h
+ tm_file="c4x/c4x.h c4x/rtems.h rtems.h"
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
@@ -753,8 +842,9 @@ fr30-*-elf)
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
;;
h8300-*-rtems*)
+ xm_defines=POSIX
tmake_file="h8300/t-h8300 t-rtems"
- tm_file=h8300/rtems.h
+ tm_file="h8300/h8300.h h8300/rtems.h rtems.h"
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
@@ -794,32 +884,39 @@ hppa1.1-*-pro*)
target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
tmake_file="pa/t-bsd pa/t-pro"
+ xmake_file="pa/x-ada"
;;
hppa1.1-*-osf*)
target_cpu_default="MASK_PA_11"
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
tmake_file="pa/t-bsd pa/t-pa"
+ xmake_file="pa/x-ada"
use_collect2=yes
;;
hppa1.1-*-rtems*)
+ xm_defines=POSIX
target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
- tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
+ tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h rtems.h"
tmake_file="pa/t-bsd pa/t-pro"
+ xmake_file="pa/x-ada"
;;
hppa1.0-*-osf*)
tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
tmake_file="pa/t-bsd pa/t-pa"
+ xmake_file="pa/x-ada"
use_collect2=yes
;;
hppa1.1-*-bsd*)
tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
target_cpu_default="MASK_PA_11"
tmake_file="pa/t-bsd pa/t-pa"
+ xmake_file="pa/x-ada"
use_collect2=yes
;;
hppa1.0-*-bsd*)
tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
tmake_file="pa/t-bsd pa/t-pa"
+ xmake_file="pa/x-ada"
use_collect2=yes
;;
hppa1.0-*-hpux7*)
@@ -873,6 +970,7 @@ hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
float_format=i128
xm_defines=POSIX
tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+ xmake_file="pa/x-ada"
if test x$enable_threads = x; then
enable_threads=$have_pthread_h
fi
@@ -889,6 +987,7 @@ hppa1.0-*-hpux10*)
float_format=i128
xm_defines=POSIX
tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+ xmake_file="pa/x-ada"
if test x$enable_threads = x; then
enable_threads=$have_pthread_h
fi
@@ -905,6 +1004,7 @@ hppa*64*-*-hpux11*)
tm_file="pa/pa64-start.h ${tm_file} pa/pa64-regs.h pa/long_double.h pa/elf.h pa/pa-hpux.h pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
float_format=i128
tmake_file="pa/t-pa64 pa/t-pa-hpux"
+ xmake_file="pa/x-ada"
target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)"
# if [ x$enable_threads = x ]; then
@@ -923,6 +1023,7 @@ hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
float_format=i128
xm_defines=POSIX
tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+ xmake_file="pa/x-ada"
# if test x$enable_threads = x; then
# enable_threads=$have_pthread_h
# fi
@@ -938,6 +1039,7 @@ hppa1.0-*-hpux11*)
float_format=i128
xm_defines=POSIX
tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+ xmake_file="pa/x-ada"
# if test x$enable_threads = x; then
# enable_threads=$have_pthread_h
# fi
@@ -982,6 +1084,7 @@ hppa*-*-lites*)
tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h"
target_cpu_default="MASK_PA_11"
tmake_file="pa/t-bsd pa/t-pa"
+ xmake_file="pa/x-ada"
use_collect2=yes
;;
hppa*-*-mpeix*)
@@ -1221,7 +1324,7 @@ i[34567]86-*-linux*) # Intel 80386's running GNU/Linux
x86_64-*-linux*)
tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h linux.h \
i386/x86-64.h i386/linux64.h"
- tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
+ tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff i386/t-linux64"
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
gnu_ld=yes
float_format=i386
@@ -1281,21 +1384,24 @@ i[34567]86-*-osfrose*) # 386 using OSF/rose
extra_objs=halfpic.o
;;
i[34567]86-go32-rtems*)
- tm_file=i386/djgpp-rtems.h
+ xm_defines=POSIX
+ tm_file="i386/djgpp.h i386/djgpp-rtems.h rtems.h"
tmake_file=t-rtems
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
;;
i[34567]86-*-rtemscoff*)
- tm_file=i386/rtems.h
+ xm_defines=POSIX
+ tm_file="i386/i386-coff.h i386/rtems.h rtems.h"
tmake_file=t-rtems
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
;;
i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
- tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/rtemself.h rtems.h"
+ xm_defines=POSIX
+ tm_file="${tm_file} i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h"
extra_parts="crtbegin.o crtend.o crti.o crtn.o"
tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
if test x$enable_threads = xyes; then
@@ -1319,7 +1425,6 @@ i[34567]86-*-solaris2*)
xm_defines="POSIX SMALL_ARG_MAX"
tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sol2.h"
if test x$gas = xyes; then
- # Only needed if gas does not support -s
tm_file="i386/sol2gas.h ${tm_file}"
fi
tmake_file="i386/t-sol2 t-svr4"
@@ -1557,8 +1662,9 @@ i960-*-coff*)
cxx_target_objs="i960-c.o"
;;
i960-*-rtems)
+ xm_defines=POSIX
tmake_file="i960/t-960bare t-rtems"
- tm_file="${tm_file} dbxcoff.h i960/rtems.h"
+ tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/rtems.h rtems.h"
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
@@ -1591,7 +1697,7 @@ ia64*-*-elf*)
float_format=i386
;;
ia64*-*-freebsd*)
- tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/freebsd.h"
+ tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
tmake_file="${tmake_file} ia64/t-ia64"
float_format=i386
@@ -1932,6 +2038,18 @@ m68k-*-lynxos*)
tmake_file=m68k/t-lynx
float_format=m68k
;;
+m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
+ tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
+ case $machine in
+ m68010*)
+ target_cpu_default="0"
+ ;;
+ *)
+ target_cpu_default="MASK_68020|MASK_68881|MASK_BITFIELD"
+ ;;
+ esac
+ float_format=m68k
+ ;;
m68k*-*-netbsd*)
tm_file=m68k/netbsd.h
tmake_file=t-netbsd
@@ -1991,16 +2109,18 @@ m68k-*-psos*)
float_format=m68k
;;
m68k-*-rtemscoff*)
+ xm_defines=POSIX
tmake_file="m68k/t-m68kbare t-rtems"
- tm_file=m68k/rtems.h
+ tm_file="m68k/m68k-coff.h m68k/rtems.h rtems.h"
float_format=m68k
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
;;
m68k-*-rtemself*|m68k-*-rtems*)
+ xm_defines=POSIX
tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
- tm_file=m68k/rtemself.h
+ 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"
float_format=m68k
extra_parts="crtbegin.o crtend.o"
if test x$enable_threads = xyes; then
@@ -2518,14 +2638,16 @@ mips64orion-*-elf*)
tmake_file=mips/t-elf
;;
mips64orion-*-rtems*)
- tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
+ xm_defines=POSIX
+ tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h rtems.h"
tmake_file="mips/t-elf t-rtems"
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
;;
mips*-*-rtems*)
- tm_file="mips/elf.h mips/rtems.h"
+ xm_defines=POSIX
+ tm_file="mips/elf.h mips/rtems.h rtems.h"
tmake_file="mips/t-elf t-rtems"
if test x$enable_threads = xyes; then
thread_file='rtems'
@@ -2602,6 +2724,9 @@ ns32k-pc532-minix*)
xm_defines='POSIX HZ=60'
use_collect2=yes
;;
+ns32k-*-netbsdelf*)
+ echo "GCC does not yet support the ${machine} target"; exit 1
+ ;;
ns32k-*-netbsd*)
tm_file=ns32k/netbsd.h
# On NetBSD, the headers are already okay, except for math.h.
@@ -2643,7 +2768,12 @@ powerpc-*-openbsd*)
powerpc64-*-linux*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux64.h"
out_file=rs6000/rs6000.c
- tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
+ tmake_file="rs6000/t-rs6000 t-slibgcc-elf-ver t-linux rs6000/t-linux64"
+ ;;
+powerpc64-*-gnu*)
+ tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux64.h rs6000/gnu.h"
+ out_file=rs6000/rs6000.c
+ tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
;;
powerpc-*-beos*)
tm_file="${tm_file} rs6000/aix.h rs6000/beos.h rs6000/xcoff.h"
@@ -2719,7 +2849,7 @@ powerpc-*-eabi*)
;;
powerpc-*-rtems*)
xm_defines=POSIX
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rtems.h rs6000/rtems.h"
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h rtems.h"
tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
if test x$enable_threads = xyes; then
thread_file='rtems'
@@ -2749,6 +2879,22 @@ powerpc-*-linux*)
thread_file='posix'
fi
;;
+powerpc-*-gnu-gnualtivec*)
+ tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h rs6000/gnu.h"
+ out_file=rs6000/rs6000.c
+ tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
+ if test x$enable_threads = xyes; then
+ thread_file='posix'
+ fi
+ ;;
+powerpc-*-gnu*)
+ tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/gnu.h"
+ out_file=rs6000/rs6000.c
+ tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
+ if test x$enable_threads = xyes; then
+ thread_file='posix'
+ fi
+ ;;
powerpc-wrs-vxworks*)
xm_defines=POSIX
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/vxppc.h"
@@ -2852,11 +2998,11 @@ s390-*-linux*)
fi
;;
s390x-*-linux*)
- tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h s390/linux64.h"
+ tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
tm_p_file=s390/s390-protos.h
md_file=s390/s390.md
out_file=s390/s390.c
- tmake_file="t-slibgcc-elf-ver t-linux s390/t-linux"
+ tmake_file="t-slibgcc-elf-ver t-linux s390/t-linux s390/t-linux64"
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
if test x$enable_threads = xyes; then
thread_file='posix'
@@ -2867,17 +3013,29 @@ sh-*-elf*)
tm_file="${tm_file} sh/elf.h"
float_format=sh
;;
+sh64-*-elf*)
+ tmake_file="sh/t-sh sh/t-elf sh/t-sh64"
+ tm_file="${tm_file} sh/sh.h sh/elf.h sh/sh64.h"
+ float_format=sh
+ extra_headers="../../config/sh/shmedia.h ../../config/sh/ushmedia.h ../../config/sh/sshmedia.h"
+ # Not strictly necessary to check this, but a good idea anyway.
+ if test $machine = $target; then
+ target_requires_64bit_host_wide_int=yes
+ fi
+ ;;
sh-*-rtemself*)
+ xm_defines=POSIX
tmake_file="sh/t-sh sh/t-elf t-rtems"
- tm_file="${tm_file} sh/elf.h sh/rtemself.h"
+ tm_file="${tm_file} sh/elf.h sh/rtemself.h rtems.h"
float_format=sh
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
;;
sh-*-rtems*)
+ xm_defines=POSIX
tmake_file="sh/t-sh t-rtems"
- tm_file="${tm_file} sh/rtems.h"
+ tm_file="${tm_file} sh/rtems.h rtems.h"
float_format=sh
if test x$enable_threads = xyes; then
thread_file='rtems'
@@ -2901,7 +3059,7 @@ sparc-tti-*)
;;
sparc64-wrs-vxworks*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h sparc/biarch64.h gofast.h sparc/vxsparc64.h"
- tmake_file=sparc/t-vxsparc64
+ tmake_file="sparc/t-vxsparc64 sparc/t-crtfm"
use_collect2=yes
;;
sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
@@ -2914,6 +3072,9 @@ sparc-*-aout*)
tmake_file=sparc/t-sparcbare
tm_file="sparc/sparc.h aoutos.h sparc/aout.h libgloss.h"
;;
+sparc-*-netbsdelf*)
+ tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
+ ;;
sparc-*-netbsd*)
tm_file="${tm_file} sparc/aout.h netbsd.h netbsd-aout.h sparc/netbsd.h"
tmake_file=t-netbsd
@@ -2931,7 +3092,7 @@ sparc-*-bsd*)
;;
sparc-*-chorusos*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h chorus.h"
- tmake_file=sparc/t-chorus-elf
+ tmake_file="sparc/t-chorus-elf sparc/t-crtfm"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
float_format=i64
case x${enable_threads} in
@@ -2942,7 +3103,7 @@ sparc-*-chorusos*)
;;
sparc-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h"
- tmake_file=sparc/t-elf
+ tmake_file="sparc/t-elf sparc/t-crtfm"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
#float_format=i128
float_format=i64
@@ -2953,14 +3114,14 @@ sparc-*-linux*aout*) # Sparc's running GNU/Linux, a.out
;;
sparc-*-linux*libc1*) # Sparc's running GNU/Linux, libc5
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
- tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1"
+ tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 sparc/t-crtfm"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
float_format=sparc
;;
sparc-*-linux*) # Sparc's running GNU/Linux, libc6
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
- tmake_file="t-slibgcc-elf-ver t-linux"
+ tmake_file="t-slibgcc-elf-ver t-linux sparc/t-crtfm"
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
gnu_ld=yes
if test x$enable_threads = xyes; then
@@ -2978,6 +3139,7 @@ sparc-*-lynxos*)
tmake_file=sparc/t-sunos41
;;
sparc-*-rtemsaout*)
+ xm_defines=POSIX
tmake_file="sparc/t-sparcbare t-rtems"
tm_file="${tm_file} aoutos.h sparc/aout.h sparc/rtems.h rtems.h"
if test x$enable_threads = xyes; then
@@ -2985,8 +3147,9 @@ sparc-*-rtemsaout*)
fi
;;
sparc-*-rtems*|sparc-*-rtemself*)
+ xm_defines=POSIX
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h sparc/rtemself.h rtems.h"
- tmake_file="sparc/t-elf t-rtems"
+ tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
#float_format=i128
float_format=i64
@@ -2994,22 +3157,23 @@ sparc-*-rtems*|sparc-*-rtemself*)
thread_file='rtems'
fi
;;
-sparcv9-*-solaris2* | sparc64-*-solaris2*)
- if test x$gnu_ld = xyes
- then
- tm_file="sparc/sol2-sld-64.h sparc/sol2-64.h"
- else
- tm_file=sparc/sol2-sld-64.h
+sparc64-*-solaris2* | sparcv9-*-solaris2*)
+ tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sol2-64.h sparc/sol2-bi.h"
+ if test x$gnu_ld = xyes; then
+ tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h"
+ fi
+ if test x$gas = xyes; then
+ tm_file="${tm_file} sparc/sol2-gas-bi.h"
fi
xm_defines=POSIX
- tmake_file="sparc/t-sol2 sparc/t-sol2-64"
+ tmake_file="sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
if test x$gnu_ld = xyes; then
tmake_file="$tmake_file t-slibgcc-elf-ver"
else
tmake_file="$tmake_file t-slibgcc-sld"
fi
extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
- float_format=none
+ float_format=i128
if test x${enable_threads} = x ; then
enable_threads=$have_pthread_h
if test x${enable_threads} = x ; then
@@ -3027,58 +3191,50 @@ sparcv9-*-solaris2* | sparc64-*-solaris2*)
sparc-hal-solaris2*)
xm_defines=POSIX
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/hal.h"
- tmake_file="sparc/t-halos sparc/t-sol2"
+ tmake_file="sparc/t-halos sparc/t-sol2 sparc/t-crtfm"
if test x$gnu_ld = xyes; then
+ tm_file="${tm_file} sparc/sol2-gld.h"
tmake_file="$tmake_file t-slibgcc-elf-ver"
else
tmake_file="$tmake_file t-slibgcc-sld"
fi
extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
- case $machine in
- *-*-solaris2.[0-4])
- float_format=i128
- ;;
- *)
- float_format=none
- ;;
- esac
+ float_format=i128
thread_file='solaris'
;;
sparc-*-solaris2*)
- if test x$gnu_ld = xyes
- then
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h"
- else
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sol2-sld.h"
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h"
+ if test x$gnu_ld = xyes; then
+ tm_file="${tm_file} sparc/sol2-gld.h"
fi
- xm_defines=POSIX
- tmake_file=sparc/t-sol2
+ tmake_file="sparc/t-sol2 sparc/t-crtfm"
if test x$gnu_ld = xyes; then
tmake_file="$tmake_file t-slibgcc-elf-ver"
else
tmake_file="$tmake_file t-slibgcc-sld"
fi
- extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
case $machine in
- *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
- *-*-solaris2*)
- if test x$gnu_ld = xyes
- then
- tm_file="sparc/sol2-sld-64.h sparc/sol2-64.h"
- else
- tm_file="sparc/sol2-sld-64.h"
+ *-*-solaris2.[789])
+ tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h"
+ if test x$gnu_ld = xyes; then
+ tm_file="${tm_file} sparc/sol2-gld-bi.h"
+ fi
+ if test x$gas = xyes; then
+ tm_file="${tm_file} sparc/sol2-gas-bi.h"
fi
tmake_file="$tmake_file sparc/t-sol2-64"
;;
esac
case $machine in
- *-*-solaris2.[0-4])
- float_format=i128
- ;;
- *)
- float_format=none
+ *-*-solaris2.[0-7] | *-*-solaris2.[0-7].*)
+ if test x$gnu_ld = xno; then
+ tm_file="${tm_file} sparc/sol27-sld.h"
+ fi
;;
esac
+ xm_defines=POSIX
+ extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
+ float_format=i128
if test x${enable_threads} = x; then
enable_threads=$have_pthread_h
if test x${enable_threads} = x; then
@@ -3134,7 +3290,7 @@ sparclite-*-aout*)
;;
sparclite-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h gofast.h sparc/liteelf.h"
- tmake_file=sparc/t-sparclite
+ tmake_file="sparc/t-sparclite sparc/t-crtfm"
extra_parts="crtbegin.o crtend.o"
;;
sparc86x-*-aout*)
@@ -3143,7 +3299,7 @@ sparc86x-*-aout*)
;;
sparc86x-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h gofast.h sparc/sp86x-elf.h"
- tmake_file=sparc/t-sp86x
+ tmake_file="sparc/t-sp86x sparc/t-crtfm"
extra_parts="crtbegin.o crtend.o"
;;
sparc64-*-aout*)
@@ -3151,18 +3307,21 @@ sparc64-*-aout*)
;;
sparc64-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sp64-elf.h"
+ tmake_file="${tmake_file} sparc/t-crtfm"
extra_parts="crtbegin.o crtend.o"
;;
sparc64-*-freebsd*|ultrasparc-*-freebsd*)
tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
+ tmake_file="${tmake_file} sparc/t-crtfm"
xmake_file=none
case "x$with_cpu" in
+ xultrasparc) ;;
x) with_cpu=ultrasparc ;;
*) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
esac
;;
sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
- tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64"
+ tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64 sparc/t-crtfm"
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux64.h"
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
gnu_ld=yes
@@ -3171,6 +3330,12 @@ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
fi
float_format=sparc
;;
+sparc64-*-netbsd*)
+ tmake_file="${tmake_file} sparc/t-netbsd64"
+ tm_file="sparc/biarch64.h ${tm_file}"
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
+ float_format=sparc
+ ;;
strongarm-*-elf*)
tm_file="arm/strongarm-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
tmake_file=arm/t-strongarm-elf
@@ -3197,7 +3362,8 @@ thumb*-*-*)
*** when the -mthumb switch is given to the compiler." 1>&2; exit 1; }
;;
v850-*-rtems*)
- tm_file="dbxelf.h elfos.h svr4.h ${tm_file} v850/rtems.h"
+ xm_defines=POSIX
+ tm_file="dbxelf.h elfos.h svr4.h ${tm_file} v850/v850.h v850/rtems.h rtems.h"
tmake_file="v850/t-v850 t-rtems"
if test x$stabs = xyes
then
@@ -3228,6 +3394,9 @@ vax-*-sysv*) # VAXen running system V
xm_defines=POSIX
float_format=vax
;;
+vax-*-netbsdelf*)
+ echo "GCC does not yet support the ${machine} target"; exit 1
+ ;;
vax-*-netbsd*)
tm_file="${tm_file} netbsd.h netbsd-aout.h vax/netbsd.h"
tmake_file=t-netbsd
OpenPOWER on IntegriCloud