diff options
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 258 |
1 files changed, 157 insertions, 101 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index a7a9922905e..73441e87bb9 100644 --- a/gcc/config.gcc +++ b/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. @@ -291,6 +365,16 @@ esac case $machine in *-*-linux*) xm_defines=POSIX + case $machine in + *-*-linux*ecoff* | *-*-linux*libc1* | *-*-linux*oldld* | *-*-linux*aout*) + ;; + *) + case x${enable_threads} in + x | xyes | xposix) thread_file='posix' + ;; + esac + ;; + esac ;; *-*-gnu*) # On the Hurd, the setup is just about the same on @@ -323,7 +407,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 @@ -363,7 +447,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 @@ -371,6 +455,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 @@ -478,9 +568,6 @@ alpha*-*-linux*) tmake_file="t-slibgcc-elf-ver t-linux alpha/t-crtfm alpha/t-alpha alpha/t-ieee" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o" gas=yes gnu_ld=yes - if test x$enable_threads = xyes; then - thread_file='posix' - fi ;; alpha*-*-freebsd*) tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h" @@ -492,7 +579,6 @@ alpha*-*-netbsd*) tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h" target_cpu_default="MASK_GAS" tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee" - extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o" ;; alpha*-*-openbsd*) @@ -792,9 +878,6 @@ hppa*-*-linux* | parisc*-*-linux*) tmake_file="t-slibgcc-elf-ver t-linux pa/t-linux" extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" gas=yes gnu_ld=yes - if test x$enable_threads = xyes; then - thread_file='posix' - fi ;; hppa*-*-openbsd*) target_cpu_default="MASK_PA_11" @@ -804,11 +887,13 @@ 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*) @@ -816,21 +901,25 @@ hppa1.1-*-rtems*) 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 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*) @@ -884,6 +973,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 @@ -900,6 +990,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 @@ -916,6 +1007,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 @@ -934,6 +1026,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 @@ -949,6 +1042,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 @@ -993,6 +1087,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*) @@ -1026,9 +1121,6 @@ i370-*-linux*) gnu_ld=yes gas=yes elf=yes - if test x$enable_threads = xyes; then - thread_file='posix' - fi ;; i[34567]86-*-chorusos*) xm_defines=POSIX @@ -1225,9 +1317,6 @@ i[34567]86-*-linux*) # Intel 80386's running GNU/Linux extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" gnu_ld=yes float_format=i386 - if test x$enable_threads = xyes; then - thread_file='posix' - fi ;; x86_64-*-linux*) tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h linux.h \ @@ -1236,9 +1325,6 @@ x86_64-*-linux*) extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" gnu_ld=yes float_format=i386 - if test x$enable_threads = xyes; then - thread_file='posix' - fi ;; i[34567]86-*-gnu*) float_format=i386 @@ -1319,7 +1405,7 @@ i[34567]86-*-rtems*|i[34567]86-*-rtemself*) i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5 xm_defines=POSIX install_headers_dir=install-headers-cpio - tm_file=i386/sco5.h + tm_file="${tm_file} i386/att.h i386/sco5.h" if test x$gas = xyes then tm_file="usegas.h ${tm_file}" @@ -1333,7 +1419,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" @@ -1606,7 +1691,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 @@ -1615,9 +1700,6 @@ ia64*-*-linux*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h" tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc" target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" - if test x$enable_threads = xyes; then - thread_file='posix' - fi float_format=i386 ;; ia64*-*-hpux*) @@ -2008,9 +2090,6 @@ m68k-*-linux*) # Motorola m68k's running GNU/Linux extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" float_format=m68k gnu_ld=yes - if test x$enable_threads = xyes; then - thread_file='posix' - fi ;; m68k-*-psos*) tmake_file=m68k/t-m68kbare @@ -2288,6 +2367,7 @@ mips*-*-netbsd*) # NetBSD/mips, either endian. tm_file="mips/little.h $tm_file" ;; esac + tmake_file="${tmake_file} mips/t-netbsd" ;; mips*-*-linux*) # Linux MIPS, either endian. tm_file="dbxelf.h elfos.h svr4.h linux.h mips/linux.h" @@ -2306,9 +2386,6 @@ mips*-*-linux*) # Linux MIPS, either endian. extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" gnu_ld=yes gas=yes - if test x$enable_threads = xyes; then - thread_file='posix' - fi ;; mips*el-*-openbsd*) # mips little endian target_cpu_default="MASK_GAS|MASK_ABICALLS" @@ -2677,7 +2754,7 @@ 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" @@ -2776,17 +2853,11 @@ powerpc-*-linux-gnualtivec*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h" out_file=rs6000/rs6000.c tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm" - if test x$enable_threads = xyes; then - thread_file='posix' - fi ;; powerpc-*-linux*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h" out_file=rs6000/rs6000.c tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm" - if test x$enable_threads = xyes; then - 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" @@ -2902,9 +2973,6 @@ s390-*-linux*) tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h" tmake_file="t-slibgcc-elf-ver t-linux s390/t-linux" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o" - if test x$enable_threads = xyes; then - thread_file='posix' - fi ;; s390x-*-linux*) tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h" @@ -2913,9 +2981,6 @@ s390x-*-linux*) out_file=s390/s390.c 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' - fi ;; sh-*-elf*) tmake_file="sh/t-sh sh/t-elf" @@ -2954,9 +3019,6 @@ sh-*-linux*) tm_file="${tm_file} sh/elf.h sh/linux.h" tmake_file="sh/t-sh sh/t-elf sh/t-linux" gas=yes gnu_ld=yes - if test x$enable_threads = xyes; then - thread_file='posix' - fi float_format=sh ;; sh-*-*) @@ -2968,7 +3030,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*) @@ -2996,12 +3058,19 @@ sparc-*-openbsd*) # we need collect2 until our bug is fixed... use_collect2=yes ;; +sparc64-*-openbsd*) + tm_file="sparc/openbsd1-64.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h" + xm_file=sparc/xm-sp64.h + gas=yes gnu_ld=yes + with_cpu=ultrasparc + float_format=i128 + ;; sparc-*-bsd*) tm_file="${tm_file} sparc/bsd.h" ;; 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 @@ -3012,7 +3081,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 @@ -3023,19 +3092,16 @@ 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 - thread_file='posix' - fi float_format=sparc ;; sparc-*-lynxos*) @@ -3058,7 +3124,7 @@ sparc-*-rtemsaout*) 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 @@ -3066,22 +3132,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 @@ -3099,58 +3166,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 @@ -3206,7 +3265,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*) @@ -3215,7 +3274,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*) @@ -3223,24 +3282,24 @@ 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 - if test x$enable_threads = xyes; then - thread_file='posix' - fi float_format=sparc ;; sparc64-*-netbsd*) @@ -3370,9 +3429,6 @@ xtensa-*-linux*) tmake_file="t-linux xtensa/t-xtensa" extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" gas=yes gnu_ld=yes - if test x$enable_threads = xyes; then - thread_file='posix' - fi ;; *) echo "Configuration $machine not supported" 1>&2 |