# GCC build-, host- and target-specific configuration file.
# Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-#This file is part of GNU CC.
+#This file is part of GCC.
-#GNU CC is free software; you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation; either version 2, or (at your option)
-#any later version.
+#GCC is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free
+#Software Foundation; either version 2, or (at your option) any later
+#version.
-#GNU CC is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+#GCC is distributed in the hope that it will be useful, but WITHOUT
+#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+#for more details.
#You should have received a copy of the GNU General Public License
-#along with GNU CC; see the file COPYING. If not, write to
-#the Free Software Foundation, 59 Temple Place - Suite 330,
-#Boston, MA 02111-1307, USA.
+#along with GCC; see the file COPYING. If not, write to the Free
+#Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+#02111-1307, USA.
# This is the GCC build-, host- and target-specific configuration file
# where a configuration type, as recognized and generated by config.bfd,
#
# c_target_objs List of extra target-dependant objects that be
# linked into the C compiler only.
-#
+#
# cxx_target_objs List of extra target-dependant objects that be
# linked into the C++ compiler only.
-#
+#
# build_xm_defines List of macros to define when compiling for the
# build machine.
#
i[34567]86-*-*)
cpu_type=i386
;;
+x86_64-*-*)
+ cpu_type=i386
+ ;;
hppa*-*-* | parisc*-*-*)
cpu_type=pa
;;
*-*-*aout*)
use_collect2=yes
;;
-esac
+esac
# Common parts for GNU/Linux, GNU/Hurd, OpenBSD and FreeBSD systems.
case $machine in
i[34567]86-*-*)
tm_file="${cpu_type}/${cpu_type}.h i386/att.h linux.h i386/linux.h gnu.h ${tm_file}"
;;
- mips*-*-*)
- tm_file="svr4.h ${cpu_type}/${cpu_type}.h ${tm_file}"
- ;;
esac
;;
*-*-openbsd*)
tm_file=${cpu_type}/openbsd.h
- tmake_file="t-libc-ok t-openbsd"
+ tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
xm_defines=POSIX
if test x$enable_threads = xyes; then
thread_file='posix'
use_collect2=yes
;;
a29k-*-udi | a29k-*-coff)
- tm_file="${tm_file} dbxcoff.h a29k/udi.h"
+ tm_file="${tm_file} dbxcoff.h"
tmake_file=a29k/t-a29kbare
;;
a29k*-*-rtems*)
fi
;;
a29k-wrs-vxworks*)
- tm_file="${tm_file} dbxcoff.h a29k/udi.h a29k/vx29k.h"
+ tm_file="${tm_file} dbxcoff.h a29k/vx29k.h"
tmake_file=a29k/t-vx29k
extra_parts="crtbegin.o crtend.o"
thread_file='vxworks'
a29k-*-*) # Default a29k environment.
use_collect2=yes
;;
+alpha*-*-unicosmk*)
+ use_collect2=yes
+ tm_file="${tm_file} alpha/unicosmk.h"
+
+ # Don't include t-ieee for now because we don't support that yet
+ # tmake_file="alpha/t-ieee"
+ tmake_file="alpha/t-unicosmk"
+ ;;
alpha-*-interix)
tm_file="${tm_file} alpha/alpha32.h interix.h alpha/alpha-interix.h"
target_cpu_default="MASK_GAS"
tmake_file="alpha/t-alpha alpha/t-ieee"
;;
-
+
alpha*-dec-osf*)
xm_defines=POSIX
if test x$stabs = xyes
xm_file=alpha/xm-vms.h
tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
;;
+arc-*-elf*)
+ extra_parts="crtinit.o crtfini.o"
+ ;;
arm*-*-rtems*)
- tm_file=arm/rtems-elf.h
+ tm_file="elfos.h arm/unknown-elf.h arm/elf.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
- extra_parts="crtinit.o crtfini.o"
- ;;
-arc-*-elf*)
- extra_parts="crtinit.o crtfini.o"
;;
arm-*-coff* | armel-*-coff*)
tm_file=arm/coff.h
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
xmake_file=x-linux
- tm_file="arm/linux-elf.h"
+ tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
gnu_ld=yes
esac
;;
arm*-*-uclinux*) # ARM ucLinux
- tm_file=arm/uclinux-elf.h
+ tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/uclinux-elf.h"
tmake_file=arm/t-arm-elf
;;
arm*-*-aout)
tmake_file=arm/t-arm-aout
;;
arm*-*-ecos-elf)
- tm_file=arm/ecos-elf.h
+ tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/ecos-elf.h"
tmake_file=arm/t-arm-elf
- ;;
+ ;;
arm*-*-elf)
- tm_file=arm/unknown-elf.h
+ tm_file="elfos.h arm/unknown-elf.h arm/elf.h"
tmake_file=arm/t-arm-elf
;;
arm*-*-conix*)
- tm_file=arm/conix-elf.h
+ tm_file="elfos.h arm/unknown-elf.h arm/elf.h arm/conix-elf.h"
tmake_file=arm/t-arm-elf
;;
arm*-*-oabi)
- tm_file=arm/unknown-elf-oabi.h
+ tm_file="arm/unknown-elf-oabi.h elfos.h arm/unknown-elf.h arm/elf.h"
tmake_file=arm/t-arm-elf
;;
arm-*-pe*)
use_collect2=yes
;;
c38-convex-*)
- target_cpu_default=16
+ target_cpu_default=16
use_collect2=yes
;;
c4x-*-rtems*)
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
+ c_target_objs="c4x-c.o"
+ cxx_target_objs="c4x-c.o"
;;
c4x-*)
cpu_type=c4x
float_format=c4x
tmake_file=c4x/t-c4x
+ c_target_objs="c4x-c.o"
+ cxx_target_objs="c4x-c.o"
;;
clipper-intergraph-clix*)
tm_file="${tm_file} svr3.h clipper/clix.h"
extra_parts="crtbegin.o crtend.o"
install_headers_dir=install-headers-cpio
;;
+cris-*-aout)
+ tm_file="dbxelf.h cris/cris.h cris/aout.h"
+ gas=yes
+ tmake_file="cris/t-cris cris/t-aout"
+ ;;
+cris-*-elf | cris-*-none)
+ tm_file="elfos.h cris/cris.h"
+ tmake_file="cris/t-cris cris/t-elfmulti"
+ gas=yes
+ ;;
+cris-*-linux*)
+ tm_file="linux.h cris/cris.h cris/linux.h"
+ tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ case x${enable_threads} in
+ x | xyes | xpthreads | xposix)
+ thread_file=posix
+ ;;
+ esac
+ gas=yes
+ ;;
d30v-*)
float_format=i64
;;
fi
float_format=i32
;;
+h8300-*-elf*)
+ tmake_file="h8300/t-h8300 h8300/t-elf"
+ tm_file="h8300/h8300.h h8300/elf.h"
+ float_format=i32
+ ;;
h8300-*-*)
float_format=i32
;;
;;
hppa*-*-mpeix*)
tm_file="${tm_file} pa/pa32-regs.h pa/long_double.h pa/som.h pa/pa-mpeix.h"
- xmake_file=pa/x-pa-mpeix
- echo "You must use gas. Assuming it is already installed."
+ xmake_file=pa/x-pa-mpeix
+ echo "You must use gas. Assuming it is already installed."
gas=yes
install_headers_dir=install-headers-tar
- use_collect2=yes
- ;;
+ use_collect2=yes
+ ;;
i370-*-opened*) # IBM 360/370/390 Architecture
xm_defines='POSIX FATAL_EXIT_CODE=12'
tm_file=i370/oe.h
+ tmake_file="i370/t-i370"
xmake_file=i370/x-oe
+ c_target_objs="i370-c.o"
+ cxx_target_objs="i370-c.o"
;;
i370-*-mvs*)
xm_defines='POSIX FATAL_EXIT_CODE=12'
tm_file=i370/mvs.h
+ tmake_file="i370/t-i370"
+ c_target_objs="i370-c.o"
+ cxx_target_objs="i370-c.o"
;;
i370-*-linux*)
xmake_file=x-linux
;;
i[34567]86-*-chorusos*)
xm_defines=POSIX
- tm_file="i386/i386.h i386/att.h elfos.h i386/i386elf.h i386/chorus.h"
+ tm_file="i386/i386.h i386/att.h elfos.h i386/i386elf.h chorus.h"
tmake_file=i386/t-i386elf
xmake_file=x-svr4
case x${enable_threads} in
i[34567]86-*-freebsd*)
tm_file="${tm_file} i386/att.h svr4.h ${fbsd_tm_file} i386/freebsd.h"
;;
+i[34567]86-*-netbsdelf*)
+ xm_defines=POSIX
+ tm_file="${tm_file} i386/att.h svr4.h i386/netbsd-elf.h"
+ tmake_file=t-netbsd
+ gnu_ld=yes
+ float_format=i386
+ ;;
i[34567]86-*-netbsd*)
tm_file=i386/netbsd.h
tmake_file=t-netbsd
use_collect2=yes
;;
i[34567]86-*-openbsd*)
+ # needed to unconfuse gdb
+ tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
# we need collect2 until our bug is fixed...
use_collect2=yes
;;
i[34567]86-*-linux*libc1) # Intel 80386's running GNU/Linux
# with ELF format using the
# GNU/Linux C library 5
- xmake_file=x-linux
+ xmake_file=x-linux
tm_file="i386/i386.h i386/att.h linux.h i386/linux.h"
tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 i386/t-crtstuff"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
thread_file='posix'
fi
;;
+x86_64-*-linux*)
+ xmake_file=x-linux
+ tm_file="i386/biarch64.h i386/i386.h i386/att.h linux.h i386/x86-64.h \
+ i386/linux64.h"
+ tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
+ extra_parts="crtbegin.o crtbeginS.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
;;
fi
exeext=.exe
case $machine in
- *mingw32msv*)
- ;;
- *minwg32crt* | *mingw32*)
+ *mingw32crt*)
tm_file="${tm_file} i386/crtdll.h"
;;
+ *minwg32msv* | *mingw32*)
+ ;;
esac
;;
i[34567]86-*-uwin*)
i960-*-coff*)
tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
tmake_file=i960/t-960bare
- use_collect2=yes
c_target_objs="i960-c.o"
cxx_target_objs="i960-c.o"
;;
i960-*-rtems)
tmake_file="i960/t-960bare t-rtems"
tm_file="${tm_file} dbxcoff.h i960/rtems.h"
- use_collect2=yes
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
xm_defines=POSIX
tmake_file=m68k/t-m68kelf
header_files=math-68881.h
+ extra_parts="crtbegin.o crtend.o"
;;
m68k-*-lynxos*)
if test x$gas = xyes
use_collect2=yes
;;
m68k*-*-openbsd*)
+ # needed to unconfuse gdb
+ tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
float_format=m68k
# we need collect2 until our bug is fixed...
use_collect2=yes
tm_file=m68k/rtemself.h
extra_headers=math-68881.h
float_format=m68k
+ extra_parts="crtbegin.o crtend.o"
if test x$enable_threads = xyes; then
thread_file='rtems'
fi
mips*-*-linux*) # Linux MIPS, either endian.
xmake_file=x-linux
case $machine in
- mips*el-*) tm_file="elfos.h mips/elfl.h mips/linux.h" ;;
- *) tm_file="elfos.h mips/elf.h mips/linux.h" ;;
+ mipsisa32el-*)
+ tm_file="elfos.h mips/elfl.h mips/linux.h mips/isa32-linux.h"
+ target_cpu_default="MASK_SOFT_FLOAT"
+ ;;
+ mipsisa32-*)
+ tm_file="elfos.h mips/elf.h mips/linux.h mips/isa32-linux.h"
+ target_cpu_default="MASK_SOFT_FLOAT"
+ ;;
+ mips*el-*) tm_file="elfos.h mips/elfl.h mips/linux.h" ;;
+ *) tm_file="elfos.h mips/elf.h mips/linux.h"
esac
tmake_file="t-slibgcc-elf-ver t-linux"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
use_collect2=yes
fi
;;
-mips-*-gnu*)
- ;;
mipsel-*-ecoff*)
tm_file=mips/ecoffl.h
if test x$stabs = xyes; then
fi
tmake_file=mips/t-ecoff
;;
+mipsisa32-*-elf*)
+ tm_file="mips/isa3264.h mips/abi64.h"
+ tmake_file=mips/t-isa3264
+ target_cpu_default="MASK_SOFT_FLOAT"
+ ;;
mipsel-*-elf*)
tm_file="mips/elfl.h"
tmake_file=mips/t-elf
mipstx39el-*-elf*)
tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
tmake_file=mips/t-r3900
+ target_cpu_default="MASK_SOFT_FLOAT"
;;
mipstx39-*-elf*)
tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
powerpc-*-openbsd*)
tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
;;
+powerpc64-*-linux*)
+ tm_file="${tm_file} svr4.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"
+ xmake_file=x-linux
+ extra_headers=ppc-asm.h
+ ;;
powerpc-*-beos*)
cpu_type=rs6000
- tm_file="${tm_file} rs6000/aix.h rs6000/beos.h"
+ tm_file="${tm_file} rs6000/aix.h rs6000/beos.h rs6000/xcoff.h"
xm_defines=POSIX
xm_file=rs6000/xm-beos.h
tmake_file=rs6000/t-beos
extra_headers=ppc-asm.h
tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
;;
+powerpc-*-netbsd*)
+ xm_defines=POSIX
+ tm_file="${tm_file} svr4.h rs6000/sysv4.h rs6000/netbsd.h"
+ tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
powerpc-*-chorusos*)
xm_defines=POSIX
- tm_file="${tm_file} svr4.h rs6000/sysv4.h rs6000/chorus.h"
+ tm_file="${tm_file} svr4.h rs6000/sysv4.h chorus.h"
tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
extra_headers=ppc-asm.h
case x${enable_threads} in
;;
rs6000-ibm-aix3.[01]*)
xm_defines=POSIX
- tm_file="${tm_file} rs6000/aix.h rs6000/aix31.h"
+ tm_file="${tm_file} rs6000/aix.h rs6000/aix31.h rs6000/xcoff.h"
float_format=none
use_collect2=yes
;;
rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
xm_defines=POSIX
- tm_file="${tm_file} rs6000/aix.h rs6000/aix3newas.h"
+ tm_file="${tm_file} rs6000/aix.h rs6000/aix3newas.h rs6000/xcoff.h"
tmake_file=rs6000/t-newas
float_format=none
use_collect2=yes
;;
rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
xm_defines=POSIX
- tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h"
+ tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
tmake_file=rs6000/t-newas
float_format=none
use_collect2=yes
;;
rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
xm_defines=POSIX
- tm_file="${tm_file} rs6000/aix.h rs6000/aix43.h"
+ tm_file="${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h"
tmake_file=rs6000/t-aix43
float_format=none
use_collect2=yes
;;
rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
xm_defines=POSIX
- tm_file="${tm_file} rs6000/aix.h rs6000/aix51.h"
+ tm_file="${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h"
tmake_file=rs6000/t-aix43
float_format=none
use_collect2=yes
;;
rs6000-ibm-aix*)
xm_defines=POSIX
- tm_file="${tm_file} rs6000/aix.h"
+ tm_file="${tm_file} rs6000/aix.h rs6000/xcoff.h"
float_format=none
use_collect2=yes
;;
rs6000-bull-bosx)
xm_defines=POSIX
- tm_file="${tm_file} rs6000/aix.h"
+ tm_file="${tm_file} rs6000/aix.h rs6000/xcoff.h"
float_format=none
use_collect2=yes
;;
tmake_file=rs6000/t-rs6000
use_collect2=yes
;;
+s390-*-linux*)
+ xmake_file=x-linux
+ tm_file="s390/s390.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"
+ if test x$enable_threads = xyes; then
+ thread_file='posix'
+ fi
+ ;;
+s390x-*-linux*)
+ xmake_file=x-linux
+ tm_file="s390/s390.h linux.h s390/linux.h s390/linux64.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"
+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
+ if test x$enable_threads = xyes; then
+ thread_file='posix'
+ fi
+ ;;
sh-*-elf*)
tmake_file="sh/t-sh sh/t-elf"
tm_file="sh/sh.h sh/elf.h"
use_collect2=yes
;;
sparc-*-openbsd*)
+ # needed to unconfuse gdb
+ tmake_file="t-libc-ok t-openbsd sparc/t-openbsd"
# we need collect2 until our bug is fixed...
use_collect2=yes
;;
tm_file="${tm_file} sparc/bsd.h"
;;
sparc-*-chorusos*)
- tm_file="sparc/sol2.h sparc/elf.h sparc/chorus.h"
+ tm_file="sparc/sol2.h sparc/elf.h chorus.h"
tmake_file=sparc/t-chorus-elf
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
float_format=i64
thread_file='rtems'
fi
;;
-sparcv9-*-solaris2*)
+sparcv9-*-solaris2* | sparc64-*-solaris2*)
if test x$gnu_ld = xyes
then
tm_file=sparc/sol2-64.h
tm_file="sparc/sp86x-aout.h aoutos.h libgloss.h"
tmake_file=sparc/t-sp86x
;;
-sparc86x-*-elf*)
+sparc86x-*-elf*)
tm_file="sparc/sol2.h sparc./elf.h sparc/sp86x-elf.h"
tmake_file=sparc/t-sp86x
extra_parts="crtbegin.o crtend.o"
fi
float_format=sparc
;;
+stormy16-*-elf)
+ tmake_file="stormy16/t-stormy16"
+ extra_parts="crtbegin.o crtend.o"
+ ;;
strongarm-*-elf*)
- tm_file=arm/strongarm-elf.h
+ tm_file="arm/strongarm-elf.h elfos.h arm/unknown-elf.h arm/elf.h"
tmake_file=arm/t-strongarm-elf
out_file=arm/arm.c
md_file=arm/arm.md
c_target_objs="v850-c.o"
cxx_target_objs="v850-c.o"
;;
-vax-*-bsd*) # vaxen running BSD
+vax-*-bsd*) # VAXen running BSD
use_collect2=yes
float_format=vax
;;
-vax-*-sysv*) # vaxen running system V
+vax-*-sysv*) # VAXen running system V
tm_file="${tm_file} vax/vaxv.h"
xm_defines=POSIX
float_format=vax
float_format=vax
use_collect2=yes
;;
-vax-*-ultrix*) # vaxen running ultrix
+vax-*-ultrix*) # VAXen running ultrix
tm_file="${tm_file} vax/ultrix.h"
float_format=vax
;;
-vax-*-vms*) # vaxen running VMS
+vax-*-vms*) # VAXen running VMS
xm_file=vax/xm-vms.h
tm_file=vax/vms.h
float_format=vax
;;
-vax-*-*) # vax default entry
+vax-*-*) # VAX default entry
float_format=vax
;;
we32k-att-sysv*)
use_collect2=yes
;;
xscale-*-elf)
- tm_file=arm/xscale-elf.h
+ tm_file="arm/xscale-elf.h elfos.h arm/unknown-elf.h arm/elf.h"
tmake_file=arm/t-xscale-elf
out_file=arm/arm.c
md_file=arm/arm.md
target_cpu_default2="MASK_CPU_EV5"
;;
esac
-
+
if test x$gas = xyes
then
if test "$target_cpu_default2" = ""
| x601 | x602 | x603 | x603e | x604 | x604e | x620 \
| xec603e | x740 | x750 | x401 \
| x403 | x505 | x801 | x821 | x823 | x860)
- target_cpu_default2="\"$with_cpu\""
+ target_cpu_default2="\\\"$with_cpu\\\""
;;
xyes | xno)
fi
fi
-# No need for collect2 if we have the GNU linker.
-# Actually, there is now; GNU ld doesn't handle the EH info or
-# collecting for shared libraries.
-#case x$gnu_ld in
-#xyes)
-# use_collect2=
-# ;;
-#esac
-
# Save data on machine being used to compile GCC in build_xm_file.
# Save data on host machine in vars host_xm_file and host_xmake_file.
if test x$pass1done = x