X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fconfig.gcc;h=67efab57f15a4d0948d7d5746236fdc21158743d;hb=911eca6f674f32320415982ed992ae6ab191d08a;hp=3a51b08d25ad76c1a98d0d64a83c500c78f06bea;hpb=13285ddeb03fdab9cde00c73a051230e2108d336;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/config.gcc b/gcc/config.gcc index 3a51b08d25a..67efab57f15 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1,5 +1,5 @@ # GCC target-specific configuration file. -# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 # Free Software Foundation, Inc. #This file is part of GCC. @@ -30,7 +30,7 @@ # # with_* Various variables as set by configure. # -# enable_threads_flag Either the name, yes or no depending on whether +# enable_threads Either the name, yes or no depending on whether # threads support was requested. # # default_use_cxa_atexit @@ -58,7 +58,7 @@ # tm_file="${tm_file} dbxelf.h elfos.h svr4.h ${cpu_type.h}/elf.h" # Note that the preferred order is: # - specific target header "${cpu_type}/${cpu_type.h}" -# - generic headers like dbxelf.h elfos.h, netware.h, etc. +# - generic headers like dbxelf.h elfos.h, etc. # - specializing target headers like ${cpu_type.h}/elf.h # This helps to keep OS specific stuff out of the CPU # defining header ${cpu_type}/${cpu_type.h}. @@ -84,6 +84,9 @@ # the compiler proper (cc1, cc1obj, cc1plus) # depending on target. # +# extra_gcc_objs List of extra objects that should be linked into +# the compiler driver (gcc) depending on target. +# # extra_headers List of used header files from the directory # config/${cpu_type}. # @@ -124,11 +127,8 @@ # system normally uses GNU as. # # need_64bit_hwint Set to yes if HOST_WIDE_INT must be 64 bits wide -# for this target. This is true iff -# MAX_LONG_TYPE_SIZE is 64. (The code which -# determines the underlying integral type for -# HOST_WIDE_INT cannot see the definition of -# MAX_LONG_TYPE_SIZE.) +# for this target. This is true iff this target +# supports "long" or "wchar_t" wider than 32 bits. # # configure_default_options # Set to an initializer for configure_default_options @@ -167,7 +167,6 @@ thread_file= # configure entries modify them. gas="$gas_flag" gnu_ld="$gnu_ld_flag" -enable_threads=$enable_threads_flag default_use_cxa_atexit=no target_gtfiles= need_64bit_hwint= @@ -182,7 +181,7 @@ md_file= # Obsolete configurations. case ${target} in - dummy) + dummy*) if test "x$enable_obsolete" != xyes; then echo "*** Configuration ${target} is obsolete." >&2 echo "*** Specify --enable-obsolete to build it anyway." >&2 @@ -263,6 +262,9 @@ ia64-*-*) hppa*-*-* | parisc*-*-*) cpu_type=pa ;; +m32r*-*-*) + cpu_type=m32r + ;; m680[012]0-*-*) cpu_type=m68k extra_headers=math-68881.h @@ -329,9 +331,13 @@ esac # Common parts for widely ported systems. case ${target} in *-*-darwin*) + case ${target} in + *-darwin[0-6]*) ;; + *) tm_file="${tm_file} darwin7.h" ;; + esac tm_file="${tm_file} darwin.h" tm_p_file="${tm_p_file} darwin-protos.h" - tmake_file="t-darwin" + tmake_file="t-darwin t-slibgcc-darwin" target_gtfiles="\$(srcdir)/config/darwin.c" c_target_objs="darwin-c.o" cxx_target_objs="darwin-c.o" @@ -370,11 +376,18 @@ case ${target} in gnu_ld=yes extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" case ${target} in - *-*-freebsd3 | *-*-freebsd[3].*) fbsd_tm_file="freebsd3.h";; - *-*-freebsd4 | *-*-freebsd[4].*) fbsd_tm_file="freebsd4.h";; - *-*-freebsd5 | *-*-freebsd[5].*) fbsd_tm_file="freebsd5.h";; - *-*-freebsd6 | *-*-freebsd[6].*) fbsd_tm_file="freebsd6.h";; - *) echo 'Please update *-*-freebsd* in gcc/config.gcc'; exit 1;; + *-*-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" ;; + *) + echo 'Please update *-*-freebsd* in gcc/config.gcc' + exit 1 + ;; esac tmake_file="t-slibgcc-elf-ver t-freebsd" case ${enable_threads} in @@ -399,10 +412,21 @@ case ${target} in esac fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h" ;; +*-*-kfreebsd*-gnu) + # Must come before *-*-gnu* + xm_defines=POSIX # needed for cross-compiling from FreeBSD? + extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" + # GNU tools are the only tools. + gas=yes + gnu_ld=yes + case ${enable_threads} in + "" | yes | posix) thread_file='posix' ;; + esac + ;; *-*-linux*libc1* | *-*-linux*aout*) # Avoid the generic linux case. ;; -*-*-linux*) +*-*-linux* | frv-*-*linux*) # Must come before *-*-gnu* (because of *-*-linux-gnu* systems). extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" gas=yes @@ -410,6 +434,7 @@ case ${target} in case ${enable_threads} in "" | yes | posix) thread_file='posix' ;; esac + tmake_file="t-slibgcc-elf-ver t-linux" ;; *-*-gnu*) # On the Hurd, the setup is just about the same on @@ -488,8 +513,13 @@ case ${target} in *-*-vxworks*) tmake_file=t-vxworks tm_file="${tm_file} elfos.h svr4.h vxworks.h" - thread_file='vxworks' + case ${enable_threads} in + no) ;; + "" | yes | vxworks) thread_file='vxworks' ;; + *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;; + esac use_collect2=yes + xm_defines=POSIX ;; esac @@ -517,7 +547,7 @@ alpha*-*-unicosmk*) alpha*-*-linux*) tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h" target_cpu_default="MASK_GAS" - tmake_file="t-slibgcc-elf-ver t-linux alpha/t-crtfm alpha/t-alpha alpha/t-ieee" + tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee" ;; alpha*-*-gnu*) target_cpu_default="MASK_GAS" @@ -601,6 +631,10 @@ arm-semi-aof | armel-semi-aof) tm_file="arm/semiaof.h arm/aof.h arm/arm.h" tmake_file=arm/t-semi ;; +arm-wrs-vxworks) + tm_file="dbxelf.h elfos.h svr4.h vxworks.h arm/elf.h arm/aout.h arm/arm.h arm/vxworks.h" + tmake_file="${tmake_file} arm/t-vxworks" + ;; 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" @@ -616,8 +650,8 @@ arm*-*-netbsd*) use_collect2=yes ;; arm*-*-linux*) # ARM GNU/Linux with ELF - tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h" - tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux" + tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h" + tmake_file="${tmake_file} arm/t-linux" extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" gnu_ld=yes ;; @@ -678,14 +712,9 @@ cris-*-elf | cris-*-none) ;; 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" ;; -d30v-*) - tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" - ;; -dsp16xx-*) - use_fixproto=yes - ;; fr30-*-elf) tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" tmake_file=fr30/t-fr30 @@ -697,6 +726,11 @@ frv-*-elf) tmake_file=frv/t-frv use_fixproto=yes ;; +frv-*-*linux*) + tm_file="dbxelf.h elfos.h svr4.h ${tm_file} \ + linux.h frv/linux.h frv/frv-abi.h" + tmake_file="${tmake_file} frv/t-frv frv/t-linux" + ;; h8300-*-rtems*) tmake_file="h8300/t-h8300 t-rtems" tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h h8300/rtems.h rtems.h" @@ -711,56 +745,63 @@ h8300-*-*) use_fixproto=yes ;; hppa*64*-*-linux* | parisc*64*-*-linux*) - target_cpu_default="(MASK_PA_11 | MASK_PA_20)" + target_cpu_default="(MASK_PA_11 | MASK_PA_20 | MASK_BIG_SWITCH)" tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \ pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h" - tmake_file="t-slibgcc-elf-ver t-linux pa/t-linux64" + tmake_file="${tmake_file} pa/t-linux64" gas=yes gnu_ld=yes need_64bit_hwint=yes ;; hppa*-*-linux* | parisc*-*-linux*) - target_cpu_default="MASK_PA_11 | MASK_NO_SPACE_REGS" + target_cpu_default="(MASK_PA_11 | MASK_NO_SPACE_REGS | MASK_BIG_SWITCH)" tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h pa/pa-linux.h \ pa/pa32-regs.h pa/pa32-linux.h" - tmake_file="t-slibgcc-elf-ver t-linux pa/t-linux" + tmake_file="${tmake_file} pa/t-linux" + # if not configured with --enable-sjlj-exceptions, bump the + # libgcc version number + if test x$sjlj != x1; then + tmake_file="$tmake_file pa/t-slibgcc-elf-ver" + fi ;; # port not yet contributed. #hppa*-*-openbsd*) -# target_cpu_default="MASK_PA_11" +# target_cpu_default="(MASK_PA_11 | MASK_BIG_SWITCH)" # ;; hppa1.1-*-pro*) - target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)" + target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT | MASK_BIG_SWITCH)" 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-pro" ;; hppa1.1-*-osf*) - target_cpu_default="MASK_PA_11" + target_cpu_default="(MASK_PA_11 | MASK_BIG_SWITCH)" tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-osf.h" tmake_file="pa/t-pa" use_collect2=yes ;; hppa1.1-*-rtems*) - target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)" + target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT | MASK_BIG_SWITCH)" 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-pro t-rtems" ;; hppa1.1-*-bsd*) + target_cpu_default="(MASK_PA_11 | MASK_BIG_SWITCH)" tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h" - target_cpu_default="MASK_PA_11" tmake_file="pa/t-pa" use_collect2=yes ;; hppa1.1-*-hpux10* | hppa2*-*-hpux10*) - target_cpu_default="MASK_PA_11" + target_cpu_default="(MASK_PA_11 | MASK_BIG_SWITCH)" tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h" tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" - if test x$enable_threads = x; then - enable_threads=$have_pthread_h - fi - case x${enable_threads} in - xyes | xdce) - tmake_file="${tmake_file} pa/t-dce-thr" - ;; + case ${enable_threads} in + "") + if test x$have_pthread_h = xyes ; then + tmake_file="${tmake_file} pa/t-dce-thr" + fi + ;; + yes | dce) + tmake_file="${tmake_file} pa/t-dce-thr" + ;; esac use_collect2=yes use_fixproto=yes @@ -768,18 +809,26 @@ hppa1.1-*-hpux10* | hppa2*-*-hpux10*) hppa1.0-*-hpux10*) tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-hpux.h pa/pa-hpux10.h" tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" - if test x$enable_threads = x; then - enable_threads=$have_pthread_h - fi - case x${enable_threads} in - xyes | xdce) - tmake_file="${tmake_file} pa/t-dce-thr" - ;; + case ${enable_threads} in + "") + if test x$have_pthread_h = xyes ; then + tmake_file="${tmake_file} pa/t-dce-thr" + fi + ;; + yes | dce) + tmake_file="${tmake_file} pa/t-dce-thr" + ;; esac use_collect2=yes use_fixproto=yes ;; hppa*64*-*-hpux11*) + if test x$gnu_ld = xyes + then + target_cpu_default="(MASK_PA_11 | MASK_PA_20 | MASK_GAS | MASK_GNU_LD | MASK_BIG_SWITCH)" + else + target_cpu_default="(MASK_PA_11 | MASK_PA_20 | MASK_GAS | MASK_BIG_SWITCH)" + fi if test x$gas = xyes then tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \ @@ -792,12 +841,7 @@ hppa*64*-*-hpux11*) fi need_64bit_hwint=yes tmake_file="pa/t-pa64 pa/t-pa-hpux" - target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o" - if test x$gnu_ld = xyes - then - target_cpu_default="${target_cpu_default}|MASK_GNU_LD" - fi case x${enable_threads} in xyes | xposix ) thread_file=posix @@ -805,7 +849,7 @@ hppa*64*-*-hpux11*) esac ;; hppa1.1-*-hpux11* | hppa2*-*-hpux11*) - target_cpu_default="MASK_PA_11" + target_cpu_default="(MASK_PA_11 | MASK_BIG_SWITCH)" tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-hpux.h pa/pa-hpux11.h" tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" case x${enable_threads} in @@ -825,46 +869,14 @@ hppa1.0-*-hpux11*) esac use_collect2=yes ;; -i370-*-opened*) # IBM 360/370/390 Architecture - xm_defines='FATAL_EXIT_CODE=12' - tm_file="i370/oe.h i370/i370.h" - tmake_file="i370/t-i370" - c_target_objs="i370-c.o" - cxx_target_objs="i370-c.o" - # Don't bother fixing up header files; they're weird. - ;; -i370-*-mvs*) - xm_defines='FATAL_EXIT_CODE=12' - tm_file="i370/mvs.h i370/i370.h" - tmake_file="i370/t-i370" - c_target_objs="i370-c.o" - cxx_target_objs="i370-c.o" - use_fixproto=yes - ;; -i370-*-linux*) - tm_file="dbxelf.h elfos.h svr4.h linux.h i370/linux.h i370/i370.h" - tmake_file="t-slibgcc-elf-ver t-linux" - # broken_install=yes - ;; i[34567]86-*-darwin*) tm_file="${tm_file} i386/darwin.h" - use_fixproto=yes ;; i[34567]86-*-elf*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h" tmake_file="i386/t-i386elf t-svr4" use_fixproto=yes ;; -i[34567]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4 - xm_defines="SMALL_ARG_MAX" - tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h" - extra_parts="crtbegin.o crtend.o" - tmake_file=i386/t-crtpic - use_fixproto=yes - ;; -i[34567]86-*-netware) # Intel 80386's running netware - tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h netware.h i386/netware.h" - ;; i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*) if test x$gas = xyes then @@ -885,10 +897,6 @@ i[34567]86-*-beoself* | i[34567]86-*-beos*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/beos-elf.h" extra_parts='crtbegin.o crtend.o' ;; -i[34567]86-*-freebsd2 | i[34567]86-*-freebsd2.* | i[34567]86-*-freebsd*aout*) - tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/freebsd-aout.h" - tmake_file=t-freebsd - ;; i[34567]86-*-freebsd*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h" ;; @@ -918,33 +926,22 @@ i[34567]86-*-coff*) tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h" use_fixproto=yes ;; -i[34567]86-*-linux*aout*) # Intel 80386's running GNU/Linux - # with a.out format - tmake_file="i386/t-crtstuff" - tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h linux-aout.h i386/linux-aout.h" - gnu_ld=yes - ;; -i[34567]86-*-linux*libc1) # Intel 80386's running GNU/Linux - # with ELF format using the - # GNU/Linux C library 5 - tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.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" - gnu_ld=yes - if test x$enable_threads = xyes; then - thread_file='single' - fi - ;; i[34567]86-*-linux*) # Intel 80386's running GNU/Linux # with ELF format using glibc 2 # aka GNU/Linux C library 6 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h" - tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff" + tmake_file="${tmake_file} i386/t-crtstuff" ;; x86_64-*-linux*) tm_file="${tm_file} i386/unix.h 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-linux64" + tmake_file="${tmake_file} i386/t-linux64" + ;; +i[34567]86-*-kfreebsd*-gnu) # must be before i[34567]86-*-gnu* + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h kfreebsdgnu.h i386/kfreebsdgnu.h" + tmake_file="t-slibgcc-elf-ver t-kfreebsd-gnu i386/t-crtstuff" + float_format=i386 + use_fixproto=no ;; i[34567]86-*-gnu*) ;; @@ -955,13 +952,6 @@ i[34567]86-pc-msdosdjgpp*) gnu_ld=yes gas=yes ;; -i[34567]86-moss-msdos* | i[34567]86-*-moss*) - tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h i386/moss.h" - tmake_file=t-libc-ok - gnu_ld=yes - gas=yes - use_fixproto=yes - ;; i[34567]86-*-lynxos*) if test x$gas = xyes then @@ -971,12 +961,6 @@ i[34567]86-*-lynxos*) fi use_fixproto=yes ;; -i[34567]86-*-mach*) - tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/mach.h" -# tmake_file=t-libc-ok - use_collect2=yes - use_fixproto=yes - ;; i[34567]86-*-nto-qnx*) tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h svr4.h i386/unix.h i386/nto.h" tmake_file=i386/t-nto @@ -1007,20 +991,17 @@ i[34567]86-*-solaris2*) else tmake_file="$tmake_file t-slibgcc-sld" fi + case ${target} in + *-*-solaris2.[789] | *-*-solaris2.1[0-9]) + tm_file="$tm_file tm-dwarf2.h" + ;; + esac extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o" - if test x${enable_threads} = x; then - enable_threads=$have_pthread_h - if test x${enable_threads} = x; then - enable_threads=$have_thread_h - fi - fi - if test x${enable_threads} = xyes; then - if test x${have_pthread_h} = xyes; then - thread_file='posix' - else - thread_file='solaris' - fi - fi + case ${enable_threads}:${have_pthread_h}:${have_thread_h} in + no:*:*) ;; + *:yes:* ) thread_file=posix ;; + yes:*:* | *:*:yes ) thread_file=solaris ;; + esac ;; i[34567]86-*-sysv5*) # Intel x86 on System V Release 5 tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h" @@ -1046,45 +1027,18 @@ i[34567]86-*-sysv4*) # Intel 80386's running system V.4 extra_parts="crtbegin.o crtend.o" use_fixproto=yes ;; -i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit - tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h i386/udk.h" - tmake_file="i386/t-crtpic i386/t-udk t-svr4" - extra_parts="crtbegin.o crtend.o" - use_fixproto=yes - ;; -i[34567]86-*-sysv*) # Intel 80386's running system V - if test x$gas = xyes - then - if test x$stabs = xyes - then - tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/svr3gas.h i386/svr3dbx.h" - tmake_file=i386/t-svr3dbx - extra_parts="svr3.ifile svr3z.ifile" - else - tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/svr3gas.h" - extra_parts="crtbegin.o crtend.o" - tmake_file=i386/t-crtstuff - fi - else - tm_file="${tm_file} svr3.h i386/unix.h i386/att.h i386/sysv3.h" - extra_parts="crtbegin.o crtend.o" - tmake_file=i386/t-crtstuff - fi - tmake_file="$tmake_file i386/t-crtpic" - use_fixproto=yes - ;; -i386-*-vsta) # Intel 80386's running VSTa kernel - xm_file="i386/xm-vsta.h" - tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/vsta.h" - use_fixproto=yes +i[4567]86-wrs-vxworks) + tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/vxworks.h" + tmake_file="${tmake_file} i386/t-vxworks" ;; i[34567]86-*-pe | i[34567]86-*-cygwin*) tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h" xm_file=i386/xm-cygwin.h - tmake_file="i386/t-cygming i386/t-cygwin" + tmake_file="i386/t-cygwin i386/t-cygming" extra_objs=winnt.o c_target_objs=cygwin2.o cxx_target_objs=cygwin2.o + extra_gcc_objs=cygwin1.o if test x$enable_threads = xyes; then thread_file='posix' fi @@ -1125,17 +1079,6 @@ i[34567]86-*-interix3*) tm_file="${tm_file} dbxcoff.h" fi ;; -i[34567]86-*-interix*) - tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h interix.h" - tmake_file="i386/t-interix" - extra_objs=winnt.o - if test x$enable_threads = xyes ; then - thread_file='posix' - fi - if test x$stabs = xyes ; then - tm_file="${tm_file} dbxcoff.h" - fi - ;; i[34567]86-*-kaos*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h kaos.h i386/kaos-i386.h" tmake_file="i386/t-i386elf t-svr4" @@ -1146,25 +1089,6 @@ i860-*-sysv4*) extra_parts="crtbegin.o crtend.o" use_fixproto=yes ;; -i960-*-coff*) - tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h" - tmake_file=i960/t-960bare - 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/i960-coff.h i960/rtems.h rtems.h" - c_target_objs="i960-c.o" - cxx_target_objs="i960-c.o" - ;; -i960-*-*) # Default i960 environment. - use_collect2=yes - tmake_file=i960/t-960bare - c_target_objs="i960-c.o" - cxx_target_objs="i960-c.o" - use_fixproto=yes - ;; ia64*-*-elf*) tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h" tmake_file="ia64/t-ia64" @@ -1188,7 +1112,7 @@ ia64*-*-freebsd*) ;; 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" + tmake_file="${tmake_file} ia64/t-ia64 ia64/t-glibc" target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" if test x"$use_libunwind_exceptions" = xyes; then @@ -1227,6 +1151,33 @@ m32r-*-elf*) extra_parts="crtinit.o crtfini.o" use_fixproto=yes ;; +m32rle-*-elf*) + tm_file="dbxelf.h elfos.h svr4.h m32r/little.h ${tm_file}" + extra_parts="crtinit.o crtfini.o m32rx/crtinit.o m32rx/crtfini.o" + use_fixproto=yes + ;; +m32r-*-linux*) + tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} m32r/linux.h" + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" + # We override the tmake_file for linux -- why? + tmake_file="m32r/t-linux" + gnu_ld=yes + use_fixproto=yes + if test x$enable_threads = xyes; then + thread_file='posix' + fi + ;; +m32rle-*-linux*) + tm_file="dbxelf.h elfos.h svr4.h linux.h m32r/little.h ${tm_file} m32r/linux.h" + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" + # We override the tmake_file for linux -- why? + tmake_file="m32r/t-linux" + gnu_ld=yes + use_fixproto=yes + if test x$enable_threads = xyes; then + thread_file='posix' + fi + ;; # m68hc11 and m68hc12 share the same machine description. m68hc11-*-*|m6811-*-*) tm_file="dbxelf.h elfos.h m68hc11/m68hc11.h" @@ -1244,37 +1195,6 @@ m68hc12-*-*|m6812-*-*) tmake_file="m68hc11/t-m68hc11-gas" use_fixproto=yes ;; -m68000-hp-hpux*) # HP 9000 series 300 - tm_file="m68k/hp320base.h m68k/m68k.h m68k/hp320.h m68k/hp310.h" - tm_defines="TARGET_DEFAULT=0" # 68000, no 68881, no bitfield ops - if test x$gas = xyes - then - tm_defines="${tm_defines} DBX_DEBUGGING_INFO=1 USE_GAS" - fi - tmake_file=m68k/t-hp320 - use_collect2=yes - use_fixproto=yes - ;; -m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7. - tm_file="m68k/hp320base.h m68k/m68k.h m68k/hp320.h" - if test x$gas = xyes - then - tm_defines="DBX_DEBUGGING_INFO=1 USE_GAS" - else - tm_defines="NO_DOT_IN_LABEL NO_BUGS" - fi - use_collect2=yes - use_fixproto=yes - ;; -m68k-hp-hpux*) # HP 9000 series 300 - tm_file="m68k/hp320base.h m68k/m68k.h m68k/hp320.h" - if test x$gas = xyes - then - tm_defines="DBX_DEBUGGING_INFO=1 USE_GAS" - fi - use_collect2=yes - use_fixproto=yes - ;; m68k-*-aout*) tmake_file=m68k/t-m68kbare tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kemb.h m68k/m68k-aout.h libgloss.h" @@ -1287,12 +1207,14 @@ m68k-*-coff*) ;; m68020-*-elf* | m68k-*-elf*) tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h" + tm_defines="MOTOROLA USE_GAS" tmake_file=m68k/t-m68kelf extra_parts="crtbegin.o crtend.o" use_fixproto=yes ;; m68010-*-netbsdelf* | m68k*-*-netbsdelf*) tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h" + tm_defines="MOTOROLA USE_GAS" case ${target} in m68010*) target_cpu_default="0" @@ -1302,12 +1224,6 @@ m68010-*-netbsdelf* | m68k*-*-netbsdelf*) ;; esac ;; -m68k*-*-netbsd*) - tm_file="m68k/m68k.h netbsd.h netbsd-aout.h m68k/netbsd.h" - tmake_file=t-netbsd - extra_parts="" - use_collect2=yes - ;; m68k*-*-openbsd*) # needed to unconfuse gdb tm_defines="OBSD_OLD_GAS TARGET_DEFAULT=(MASK_68020|MASK_68881|MASK_BITFIELD)" @@ -1316,13 +1232,6 @@ m68k*-*-openbsd*) # we need collect2 until our bug is fixed... use_collect2=yes ;; -m68k-*-sysv4*) # Motorola m68k's running system V.4 - tm_file="m68k/m68k.h m68k/sgs.h dbxelf.h elfos.h svr4.h m68k/m68kv4.h" - tm_defines="MOTOROLA SGS SGS_CMP_ORDER SGS_SWITCH_TABLES" - tmake_file=t-svr4 - extra_parts="crtbegin.o crtend.o" - use_fixproto=yes - ;; m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/uclinux.h" tm_defines="MOTOROLA USE_GAS" @@ -1334,11 +1243,16 @@ m68k-*-linux*) # Motorola m68k's running GNU/Linux # aka the GNU/Linux C library 6. tm_file="m68k/m68k.h dbxelf.h elfos.h svr4.h linux.h m68k/linux.h" tm_defines="MOTOROLA USE_GAS" - tmake_file="t-slibgcc-elf-ver t-linux" + # if not configured with --enable-sjlj-exceptions, bump the + # libgcc version number + if test x$sjlj != x1; then + tmake_file="$tmake_file m68k/t-slibgcc-elf-ver" + fi ;; m68k-*-rtems*) tmake_file="m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems" tm_file="m68k/m68k.h 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="MOTOROLA USE_GAS" extra_parts="crtbegin.o crtend.o" ;; mcore-*-elf) @@ -1351,40 +1265,26 @@ mcore-*-pe*) tmake_file=mcore/t-mcore-pe use_fixproto=yes ;; -mips-sgi-irix6*o32) # SGI System V.4., IRIX 6, O32 ABI - tm_file="${tm_file} mips/iris5.h" +mips-sgi-irix6*) # SGI System V.4., IRIX 6 + tm_file="${tm_file} mips/iris5.h mips/iris6.h" + tmake_file="mips/t-iris mips/t-iris5-6 mips/t-iris6" if test x$gas = xyes then - tm_file="${tm_file} mips/sdb.h mips/iris5gas.h mips/iris6-o32-gas.h" - if test x$stabs = xyes - then - tm_file="${tm_file} dbx.h mips/dbxmdebug.h" - fi - tmake_file=mips/t-iris5-gas - else - tm_file="${tm_file} mips/iris6-o32-as.h" - tmake_file=mips/t-iris5-as + tm_file="${tm_file} mips/iris6gas.h" fi - tm_file="${tm_file} mips/iris6-o32.h" - tmake_file="${tmake_file} mips/t-iris mips/t-iris5-6" - target_cpu_default="MASK_ABICALLS" - # mips-tfile doesn't work yet - # See comment in mips/iris5.h file. - use_collect2=yes -# if test x$enable_threads = xyes; then -# thread_file='irix' -# fi - use_fixproto=yes - ;; -mips-sgi-irix6*) # SGI System V.4., IRIX 6 - tm_file="${tm_file} mips/iris5.h mips/iris6.h" if test "x$gnu_ld" = xyes then tm_file="${tm_file} mips/iris6gld.h" + tmake_file="$tmake_file mips/t-irix-gld" fi - tmake_file="mips/t-iris mips/t-iris5-6 mips/t-iris6" target_cpu_default="MASK_ABICALLS|MASK_FLOAT64|MASK_64BIT" tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32" + # See comment in mips/iris5.h file. Only enabled for O32 ABI + # without GNU as. + if test x$gas = xno + then + use_collect2=yes + fi # if test x$enable_threads = xyes; then # thread_file='irix' # fi @@ -1415,11 +1315,19 @@ mips-sgi-irix5*) # SGI System V.4., IRIX 5 else tmake_file=mips/t-iris5-as fi + if test "x$gnu_ld" = xyes + then + tm_file="${tm_file} mips/iris5gld.h" + tmake_file="$tmake_file mips/t-irix-gld" + fi tmake_file="${tmake_file} mips/t-iris mips/t-iris5-6" target_cpu_default="MASK_ABICALLS" # mips-tfile doesn't work yet # See comment in mips/iris5.h file. - use_collect2=yes + if test x$gas = xno + then + use_collect2=yes + fi # if test x$enable_threads = xyes; then # thread_file='irix' # fi @@ -1431,7 +1339,7 @@ mips*-*-netbsd*) # NetBSD/mips, either endian. ;; mips64*-*-linux*) tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h mips/linux64.h" - tmake_file="t-slibgcc-elf-ver t-linux mips/t-linux64" + tmake_file="${tmake_file} mips/t-linux64" # This default ABI is a partial lie: t-linux64 overrides the # DRIVER_SELF_SPEC that sets the default abi, in the spec file @@ -1452,7 +1360,6 @@ mips*-*-linux*) # Linux MIPS, either endian. tm_defines="MIPS_ISA_DEFAULT=32" ;; esac - tmake_file="t-slibgcc-elf-ver t-linux" ;; mips*-*-openbsd*) tm_defines="OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS" @@ -1511,14 +1418,12 @@ mips64-*-elf* | mips64el-*-elf*) ;; mips64vr-*-elf* | mips64vrel-*-elf*) tm_file="mips/vr.h ${tm_file} mips/elf64.h" - tm_defines="MIPS_ABI_DEFAULT=ABI_O64 MIPS_MARCH_CONTROLS_SOFT_FLOAT=1" tmake_file=mips/t-vr use_fixproto=yes ;; mips64orion-*-elf* | mips64orionel-*-elf*) tm_file="${tm_file} mips/elforion.h mips/elf64.h" tmake_file=mips/t-elf - tmake_file=mips/t-elf target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS" tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" use_fixproto=yes @@ -1527,6 +1432,20 @@ mips*-*-rtems*) tm_file="${tm_file} mips/elf.h mips/rtems.h rtems.h" tmake_file="mips/t-elf t-rtems mips/t-rtems" ;; +mips-wrs-vxworks) + # We want vxworks.h after mips/elf.h, which unfortunately means we + # have to redo the tm_file list from scratch. + tm_file="elfos.h mips/mips.h svr4.h mips/elf.h vxworks.h mips/vxworks.h" + tmake_file="${tmake_file} mips/t-vxworks" + target_cpu_default="MASK_GAS" + ;; +mips-wrs-windiss) # Instruction-level simulator for VxWorks. + xm_defines=POSIX + tm_file="elfos.h mips/mips.h svr4.h mips/elf.h windiss.h mips/windiss.h" + tmake_file="${tmake_file} mips/t-elf" + target_cpu_default="MASK_GAS" + thread_file= + ;; mipstx39-*-elf* | mipstx39el-*-elf*) tm_file="${tm_file} mips/r3900.h mips/elf.h" tmake_file=mips/t-r3900 @@ -1575,7 +1494,7 @@ powerpc64-*-linux*) x|xpowerpc64|xdefault64) tm_file="${tm_file} rs6000/default64.h";; esac tm_file="${tm_file} rs6000/linux64.h" - tmake_file="rs6000/t-fprules t-slibgcc-elf-ver t-linux rs6000/t-ppccomm rs6000/t-linux64" + tmake_file="rs6000/t-fprules ${tmake_file} rs6000/t-ppccomm 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" @@ -1589,11 +1508,8 @@ powerpc-*-beos*) ;; powerpc-*-darwin*) tm_file="${tm_file} rs6000/darwin.h" - tmake_file="t-darwin rs6000/t-darwin" + tmake_file="${tmake_file} rs6000/t-darwin" extra_headers=altivec.h - # override ppc default - need_64bit_hwint= - use_fixproto=yes ;; powerpc*-*-freebsd*) tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h" @@ -1640,19 +1556,19 @@ powerpc-*-eabi*) ;; powerpc-*-rtems*) 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-fprules t-rtems rs6000/t-ppccomm" + tmake_file="rs6000/t-fprules rs6000/t-rtems t-rtems rs6000/t-ppccomm" ;; powerpc-*-linux*altivec*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h" - tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm" + tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" ;; powerpc-*-linux*spe*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h" - tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm" + tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" ;; powerpc-*-linux*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h" - tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm" + tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" ;; 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" @@ -1676,7 +1592,7 @@ powerpc-wrs-vxworks*) tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks" extra_headers=ppc-asm.h ;; -powerpc-wrs-windiss*) +powerpc-wrs-windiss*) # Instruction-level simulator for VxWorks. tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/windiss.h" tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm" thread_file="" @@ -1744,7 +1660,7 @@ rs6000-*-lynxos*) ;; 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-crtstuff" + tmake_file="${tmake_file} s390/t-crtstuff" ;; s390x-*-linux*) tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h" @@ -1752,12 +1668,21 @@ s390x-*-linux*) md_file=s390/s390.md extra_modes=s390/s390-modes.def out_file=s390/s390.c - tmake_file="t-slibgcc-elf-ver t-linux s390/t-crtstuff s390/t-linux64" + tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux64" + ;; +s390x-ibm-tpf*) + tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h s390/tpf.h" + tm_p_file=s390/s390-protos.h + md_file=s390/s390.md + extra_modes=s390/s390-modes.def + extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" + out_file=s390/s390.c + tmake_file="t-slibgcc-elf-ver s390/t-crtstuff s390/t-tpf" ;; sh-*-elf* | sh[2346l]*-*-elf* | sh*-*-kaos*) tmake_file="sh/t-sh sh/t-elf" case ${target} in - shl* | sh64l*) + shl* | sh[234]l* | sh64l*) tm_file="sh/little.h ${tm_file}" tmake_file="${tmake_file} sh/t-le" ;; @@ -1784,16 +1709,16 @@ sh-*-elf* | sh[2346l]*-*-elf* | sh*-*-kaos*) esac use_fixproto=yes ;; -sh-*-rtemself*) - tmake_file="sh/t-sh sh/t-elf t-rtems" - tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h" - ;; -sh-*-rtems*) +sh-*-rtemscoff*) tmake_file="sh/t-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" + tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h" + ;; sh-*-linux* | sh[2346lbe]*-*-linux*) - tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux" + tmake_file="sh/t-sh sh/t-elf ${tmake_file}" case ${target} in sh*be-*-* | sh*eb-*-*) ;; *) @@ -1855,14 +1780,14 @@ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ ;; esac ;; +sh-wrs-vxworks) + tmake_file="$tmake_file sh/t-sh sh/t-elf sh/t-vxworks" + tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/embed-elf.h sh/vxworks.h" + ;; sh-*-*) tm_file="${tm_file} dbxcoff.h sh/coff.h" use_fixproto=yes ;; -sparc-tti-*) - tm_file="${tm_file} sparc/pbd.h" - use_fixproto=yes - ;; sparc-*-netbsdelf*) tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h" ;; @@ -1875,7 +1800,7 @@ sparc-*-openbsd*) 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" + tm_file="sparc/openbsd1-64.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h" gas=yes gnu_ld=yes with_cpu=ultrasparc ;; @@ -1887,7 +1812,7 @@ sparc-*-elf*) ;; 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 sparc/t-crtfm" + tmake_file="${tmake_file} sparc/t-crtfm" ;; sparc-*-rtems*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h sparc/rtemself.h rtems.h" @@ -1895,7 +1820,7 @@ sparc-*-rtems*) extra_parts="crti.o crtn.o crtbegin.o crtend.o" ;; sparc64-*-solaris2* | sparcv9-*-solaris2*) - tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/sol2-64.h sparc/sol2-bi.h" + tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/sol2-64.h sparc/sol2-bi.h tm-dwarf2.h" if test x$gnu_ld = xyes; then tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h" fi @@ -1909,19 +1834,11 @@ sparc64-*-solaris2* | sparcv9-*-solaris2*) tmake_file="$tmake_file t-slibgcc-sld" fi extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o" - if test x${enable_threads} = x ; then - enable_threads=$have_pthread_h - if test x${enable_threads} = x ; then - enable_threads=$have_thread_h - fi - fi - if test x${enable_threads} = xyes ; then - if test x${have_pthread_h} = xyes ; then - thread_file='posix' - else - thread_file='solaris' - fi - fi + case ${enable_threads}:${have_pthread_h}:${have_thread_h} in + no:*:*) ;; + *:yes:* ) thread_file=posix ;; + yes:*:* | *:*:yes ) thread_file=solaris ;; + esac need_64bit_hwint=yes ;; sparc-*-solaris2*) @@ -1942,7 +1859,7 @@ sparc-*-solaris2*) fi ;; *-*-solaris2.[789] | *-*-solaris2.1[0-9]) - tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h" + tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h tm-dwarf2.h" if test x$gnu_ld = xyes; then tm_file="${tm_file} sparc/sol2-gld-bi.h" fi @@ -1954,19 +1871,11 @@ sparc-*-solaris2*) ;; esac extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o" - if test x${enable_threads} = x; then - enable_threads=$have_pthread_h - if test x${enable_threads} = x; then - enable_threads=$have_thread_h - fi - fi - if test x${enable_threads} = xyes; then - if test x${have_pthread_h} = xyes; then - thread_file='posix' - else - thread_file='solaris' - fi - fi + case ${enable_threads}:${have_pthread_h}:${have_thread_h} in + no:*:*) ;; + *:yes:* ) thread_file=posix ;; + yes:*:* | *:*:yes ) thread_file=solaris ;; + esac ;; sparc-*-sysv4*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sysv4-only.h" @@ -2011,7 +1920,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*) need_64bit_hwint=yes ;; sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux - tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64 sparc/t-crtfm" + tmake_file="${tmake_file} 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" ;; sparc64-*-netbsd*) @@ -2114,9 +2023,6 @@ vax-*-ultrix*) # VAXen running ultrix tm_file="${tm_file} vax/ultrix.h" use_fixproto=yes ;; -vax-*-*) # VAX default entry - use_fixproto=yes - ;; xscale-*-elf) tm_file="arm/xscale-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h" tmake_file=arm/t-xscale-elf @@ -2149,11 +2055,11 @@ xtensa-*-elf*) ;; xtensa-*-linux*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h xtensa/linux.h" - tmake_file="t-slibgcc-elf-ver t-linux xtensa/t-xtensa xtensa/t-linux" + tmake_file="${tmake_file} xtensa/t-xtensa xtensa/t-linux" ;; am33_2.0-*-linux*) tm_file="mn10300/mn10300.h dbxelf.h elfos.h linux.h mn10300/linux.h" - tmake_file="t-linux mn10300/t-linux" + tmake_file="${tmake_file} mn10300/t-linux" gas=yes gnu_ld=yes extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" use_collect2=no @@ -2185,7 +2091,7 @@ if test x$with_cpu = x ; then with_cpu=i486 ;; i586-*-*) - case $target_alias in + case ${target_noncanonical} in k6_2-*) with_cpu=k6-2 ;; @@ -2204,8 +2110,8 @@ if test x$with_cpu = x ; then esac ;; i686-*-* | i786-*-*) - case $target_alias in - k8-*) + case ${target_noncanonical} in + k8-*|opteron-*|athlon_64-*) with_cpu=k8 ;; athlon_xp-*|athlon_mp-*|athlon_4-*) @@ -2217,12 +2123,21 @@ if test x$with_cpu = x ; then pentium2-*) with_cpu=pentium2 ;; - pentium3-*) + pentium3-*|pentium3m-*) with_cpu=pentium3 ;; - pentium4-*) + pentium4-*|pentium4m-*) with_cpu=pentium4 ;; + prescott-*) + with_cpu=prescott + ;; + nocona-*) + with_cpu=nocona + ;; + pentium_m-*) + with_cpu=pentium-m + ;; *) with_cpu=pentiumpro ;; @@ -2246,6 +2161,9 @@ if test x$with_cpu = x ; then alphaev5*-*-*) with_cpu=ev5 ;; + frv-*-*linux*) + with_cpu=fr400 + ;; sparc*-*-*) with_cpu="`echo ${target} | sed 's/-.*$//'`" if [ x$with_cpu = xsparc64 ]; then @@ -2255,6 +2173,15 @@ if test x$with_cpu = x ; then esac fi +# Similarly for --with-float +if test x$with_float = x; then + case ${target} in + ep9312-*-*) + with_float=hard + ;; + esac +fi + # Similarly for --with-schedule. if test x$with_schedule = x; then case ${target} in @@ -2292,35 +2219,26 @@ fi ;; arm*-*-*) - supported_defaults="arch cpu float tune" + supported_defaults="arch cpu float tune fpu abi" for which in cpu tune; do + # See if it matches any of the entries in arm-cores.def eval "val=\$with_$which" - case "$val" in - "" \ - | arm[236789] | arm250 | arm[67][01]0 \ - | arm60 | arm620 | arm7d | arm7di \ - | arm7m | arm7dm | arm7dmi | arm[79]tdmi \ - | arm70 | arm700i | arm710t | arm720 \ - | arm720t | arm740t | arm710c | arm920 \ - | arm920t | arm940t | arm9e | arm10tdmi \ - | arm7100 | arm7500 | arm7500fe | arm810 \ - | arm1020t \ - | xscale | iwmmxt \ - | ep9312 \ - | strongarm | strongarm110 | strongarm11[01]0) - # OK - ;; - *) - echo "Unknown CPU used in --with-$which=$val" 1>&2 - exit 1 - ;; - esac + if [ x"$val" = x ] \ + || grep "^ARM_CORE($val," \ + ${srcdir}/config/arm/arm-cores.def \ + > /dev/null; then + # Ok + true + else + echo "Unknown CPU used in --with-$which=$val" 1>&2 + exit 1 + fi done case "$with_arch" in "" \ - | armv[2345] | armv2a | armv3m | armv4t | armv5t \ - | armv5te | ep9312) + | armv[23456] | armv2a | armv3m | armv4t | armv5t \ + | armv5te | armv6j | iwmmxt | ep9312) # OK ;; *) @@ -2331,7 +2249,7 @@ fi case "$with_float" in "" \ - | soft | hard) + | soft | hard | softfp) # OK ;; *) @@ -2340,11 +2258,58 @@ fi ;; esac + case "$with_fpu" in + "" \ + | fpa | fpe2 | fpe3 | maverick | vfp ) + # OK + ;; + *) + echo "Unknown fpu used in --with-fpu=$with_fpu" 2>&1 + exit 1 + ;; + esac + + case "$with_abi" in + "" \ + | apcs-gnu | atpcs | aapcs | iwmmxt ) + #OK + ;; + *) + echo "Unknown ABI used in --with-abi=$with_abi" + exit 1 + ;; + esac + if test "x$with_arch" != x && test "x$with_cpu" != x; then - echo "Warning: --with-arch overrides --with-cpu" 1>&2 + echo "Warning: --with-arch overrides --with-cpu=$with_cpu" 1>&2 fi ;; + fr*-*-*linux*) + supported_defaults=cpu + case "$with_cpu" in + fr400) ;; + *) + echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2 + exit 1 + ;; + esac + ;; + + m68k*-linux*) + supported_defaults="cpu" + case "$with_cpu" in + "" | "m68020" | "m68030" | "m68040" | "m68060" | "m68020-40" | "m68020-60") + # OK + ;; + *) + echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2 + echo "m68020 m68030 m68040 m68060 m68020-40 m68020-60" 1>&2 + exit 1 + ;; + esac + ;; + hppa*-*-* | parisc*-*-*) supported_defaults="arch schedule" @@ -2378,7 +2343,9 @@ fi | i586 | pentium | pentium-mmx | winchip-c6 | winchip2 \ | c3 | c3-2 | i686 | pentiumpro | pentium2 | pentium3 \ | pentium4 | k6 | k6-2 | k6-3 | athlon | athlon-tbird \ - | athlon-4 | athlon-xp | athlon-mp | k8) + | athlon-4 | athlon-xp | athlon-mp | k8 | opteron \ + | athlon64 | athlon-fx | prescott | pentium-m \ + | pentium4m | pentium3m| nocona) # OK ;; *) @@ -2419,14 +2386,18 @@ fi for which in cpu tune; do eval "val=\$with_$which" case ${val} in - "" | default32 | default64 | common \ + default32 | default64) + with_which="with_$which" + eval $with_which= + ;; + "" | common \ | power | power2 | power3 | power4 \ | powerpc | powerpc64 \ | rios | rios1 | rios2 | rsc | rsc1 | rs64a \ | 401 | 403 | 405 | 405fp | 440 | 440fp | 505 \ | 601 | 602 | 603 | 603e | ec603e | 604 \ | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \ - | 8540 | 801 | 821 | 823 | 860 | 970) + | 8540 | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5) # OK ;; *) @@ -2531,6 +2502,37 @@ fi esac ;; + m68k*-linux*) + case "x$with_cpu" in + x) + # The most generic + target_cpu_default2="(MASK_68020|MASK_68881|MASK_BITFIELD)" + ;; + xm68020) + target_cpu_default2="(MASK_68020|MASK_68881|MASK_BITFIELD)" + ;; + xm68030) + target_cpu_default2="(MASK_68030|MASK_68020|MASK_68881|MASK_BITFIELD)" + ;; + xm68040) + target_cpu_default2="(MASK_68040|MASK_68040_ONLY|MASK_68020|MASK_68881|MASK_BITFIELD)" + ;; + xm68060) + target_cpu_default2="(MASK_68060|MASK_68040_ONLY|MASK_68020|MASK_68881|MASK_BITFIELD)" + ;; + xm68020-40) + target_cpu_default2="(MASK_BITFIELD|MASK_68881|MASK_68020|MASK_68040)" + ;; + xm68020-60) + target_cpu_default2="(MASK_BITFIELD|MASK_68881|MASK_68020|MASK_68040|MASK_68060)" + ;; + *) + echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2 + exit 1 + ;; + esac + ;; + hppa*-*-* | parisc*-*-*) if test x$gas = xyes then @@ -2578,10 +2580,6 @@ fi ;; powerpc*-*-* | rs6000-*-*) - if test x$enable_altivec = xyes - then - tm_file="$tm_file rs6000/altivec-defs.h" - fi # FIXME: The PowerPC port uses the value set at compile time, # although it's only cosmetic. if test "x$with_cpu" != x @@ -2625,7 +2623,7 @@ fi esac t= - all_defaults="abi cpu arch tune schedule float mode" + all_defaults="abi cpu arch tune schedule float mode fpu" for option in $all_defaults do eval "val=\$with_$option"