*** config.rpath.ORIG Tue Feb 19 23:52:55 2008
--- config.rpath Mon Jan 28 15:22:19 2008
***************
*** 125,131 ****
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
case "$host_os" in
! aix3* | aix4* | aix5*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
--- 125,131 ----
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
case "$host_os" in
! aix3* | aix4* | aix5* | aix6*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
***************
*** 198,204 ****
hardcode_direct=unsupported
fi
;;
! aix4* | aix5*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
--- 198,204 ----
hardcode_direct=unsupported
fi
;;
! aix4* | aix5* | aix6*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
***************
*** 208,214 ****
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
! case $host_os in aix4.[23]|aix4.[23].*|aix5*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
--- 208,214 ----
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
! case $host_os in aix4.[23]|aix4.[23].*|aix5*|aix6*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
***************
*** 432,438 ****
case "$host_os" in
aix3*)
;;
! aix4* | aix5*)
;;
amigaos*)
;;
--- 432,438 ----
case "$host_os" in
aix3*)
;;
! aix4* | aix5* | aix6*)
;;
amigaos*)
;;
*** ltcf-c.sh.ORIG Tue Feb 19 23:53:04 2008
--- ltcf-c.sh Mon Jan 28 15:22:19 2008
***************
*** 57,63 ****
# See if GNU ld supports shared libraries.
case $host_os in
! aix3* | aix4* | aix5*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
--- 57,63 ----
# See if GNU ld supports shared libraries.
case $host_os in
! aix3* | aix4* | aix5* | aix6*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
***************
*** 263,269 ****
fi
;;
! aix4* | aix5*)
hardcode_direct=yes
hardcode_libdir_separator=':'
link_all_deplibs=yes
--- 263,269 ----
fi
;;
! aix4* | aix5* | aix6*)
hardcode_direct=yes
hardcode_libdir_separator=':'
link_all_deplibs=yes
*** ltcf-cxx.sh.ORIG Tue Feb 19 23:53:11 2008
--- ltcf-cxx.sh Mon Jan 28 15:22:19 2008
***************
*** 123,129 ****
# FIXME: insert proper C++ library support
ld_shlibs=no
;;
! aix4* | aix5*)
archive_cmds=''
hardcode_direct=yes
hardcode_libdir_separator=':'
--- 123,129 ----
# FIXME: insert proper C++ library support
ld_shlibs=no
;;
! aix4* | aix5* | aix6*)
archive_cmds=''
hardcode_direct=yes
hardcode_libdir_separator=':'
***************
*** 778,784 ****
esac
else
case $host_os in
! aix4* | aix5*)
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
--- 778,784 ----
esac
else
case $host_os in
! aix4* | aix5* | aix6*)
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
*** ltcf-gcj.sh.ORIG Tue Feb 19 23:53:20 2008
--- ltcf-gcj.sh Mon Jan 28 15:22:19 2008
***************
*** 60,66 ****
# See if GNU ld supports shared libraries.
case $host_os in
! aix3* | aix4* | aix5*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
--- 60,66 ----
# See if GNU ld supports shared libraries.
case $host_os in
! aix3* | aix4* | aix5* | aix6*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
***************
*** 262,268 ****
fi
;;
! aix4* | aix5*)
hardcode_direct=yes
hardcode_libdir_separator=':'
link_all_deplibs=yes
--- 262,268 ----
fi
;;
! aix4* | aix5* | aix6*)
hardcode_direct=yes
hardcode_libdir_separator=':'
link_all_deplibs=yes
*** ltconfig.ORIG Tue Feb 19 23:53:28 2008
--- ltconfig Mon Jan 28 15:22:19 2008
***************
*** 989,995 ****
soname_spec='${libname}${release}.so$major'
;;
! aix4* | aix5*)
version_type=linux
if test "$host_cpu" = ia64; then
# AIX 5 supports IA64
--- 989,995 ----
soname_spec='${libname}${release}.so$major'
;;
! aix4* | aix5* | aix6*)
version_type=linux
if test "$host_cpu" = ia64; then
# AIX 5 supports IA64
***************
*** 1616,1622 ****
fi
;;
! aix4* | aix5*)
test "$enable_shared" = yes && enable_static=no
;;
esac
--- 1616,1622 ----
fi
;;
! aix4* | aix5* | aix6*)
test "$enable_shared" = yes && enable_static=no
;;
esac
*** gcc/config.gcc.ORIG Tue Feb 19 23:52:04 2008
--- gcc/config.gcc Mon Jan 28 23:27:37 2008
***************
*** 1,6 ****
# GCC target-specific configuration file.
! # Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
! # Free Software Foundation, Inc.
#This file is part of GCC.
--- 1,6 ----
# GCC target-specific configuration file.
! # Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
! # 2008 Free Software Foundation, Inc.
#This file is part of GCC.
***************
*** 24,29 ****
--- 24,32 ----
# configure script. Putting it in a separate shell file lets us skip
# running autoconf when modifying target-specific information.
+ # When you change the cases in the OS or target switches, consider
+ # updating ../libgcc/config.host also.
+
# This file switches on the shell variable ${target}, and also uses the
# following shell variables:
#
***************
*** 94,99 ****
--- 97,105 ----
# extra_headers List of used header files from the directory
# config/${cpu_type}.
#
+ # use_gcc_tgmath If set, add tgmath.h to the list of used header
+ # files.
+ #
# extra_passes List of extra executables compiled for this target
# machine, used for compiling from source to object.
#
***************
*** 152,157 ****
--- 158,164 ----
out_file=
tmake_file=
extra_headers=
+ use_gcc_tgmath=yes
extra_passes=
extra_parts=
extra_programs=
***************
*** 188,195 ****
# Obsolete configurations.
case ${target} in
! c4x-* \
! | tic4x-* \
)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration ${target} is obsolete." >&2
--- 195,202 ----
# Obsolete configurations.
case ${target} in
! crx-* \
! | mt-* \
)
if test "x$enable_obsolete" != xyes; then
echo "*** Configuration ${target} is obsolete." >&2
***************
*** 251,266 ****
;;
arm*-*-*)
cpu_type=arm
! extra_headers="mmintrin.h"
;;
bfin*-*)
cpu_type=bfin
;;
ep9312*-*-*)
cpu_type=arm
;;
frv*) cpu_type=frv
;;
xscale-*-*)
cpu_type=arm
extra_headers="mmintrin.h"
--- 258,282 ----
;;
arm*-*-*)
cpu_type=arm
! extra_headers="mmintrin.h arm_neon.h"
! c_target_objs="arm-c.o"
! cxx_target_objs="arm-c.o"
;;
bfin*-*)
cpu_type=bfin
;;
+ crisv32-*)
+ cpu_type=cris
+ ;;
ep9312*-*-*)
cpu_type=arm
;;
frv*) cpu_type=frv
;;
+ fido-*-*)
+ cpu_type=m68k
+ extra_headers=math-68881.h
+ ;;
xscale-*-*)
cpu_type=arm
extra_headers="mmintrin.h"
***************
*** 267,277 ****
;;
i[34567]86-*-*)
cpu_type=i386
! extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h"
;;
x86_64-*-*)
cpu_type=i386
! extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h"
need_64bit_hwint=yes
;;
ia64-*-*)
--- 283,297 ----
;;
i[34567]86-*-*)
cpu_type=i386
! extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
! pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
! nmmintrin.h bmmintrin.h mmintrin-common.h"
;;
x86_64-*-*)
cpu_type=i386
! extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
! pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
! nmmintrin.h bmmintrin.h mmintrin-common.h"
need_64bit_hwint=yes
;;
ia64-*-*)
***************
*** 297,306 ****
;;
powerpc*-*-*)
cpu_type=rs6000
! extra_headers="ppc-asm.h altivec.h spe.h"
need_64bit_hwint=yes
case x$with_cpu in
! xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456]|xrs64a)
cpu_is_64bit=yes
;;
esac
--- 317,326 ----
;;
powerpc*-*-*)
cpu_type=rs6000
! extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h"
need_64bit_hwint=yes
case x$with_cpu in
! xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456]|xpower6x|xrs64a|xcell)
cpu_is_64bit=yes
;;
esac
***************
*** 318,323 ****
--- 338,347 ----
sparc*-*-*)
cpu_type=sparc
;;
+ spu*-*-*)
+ cpu_type=spu
+ need_64bit_hwint=yes
+ ;;
s390*-*-*)
cpu_type=s390
need_64bit_hwint=yes
***************
*** 327,335 ****
cpu_type=sh
need_64bit_hwint=yes
;;
- tic4x-*-*)
- cpu_type=c4x
- ;;
esac
tm_file=${cpu_type}/${cpu_type}.h
--- 351,356 ----
***************
*** 377,382 ****
--- 398,404 ----
c_target_objs="darwin-c.o"
cxx_target_objs="darwin-c.o"
extra_objs="darwin.o"
+ extra_gcc_objs="darwin-driver.o"
default_use_cxa_atexit=yes
case ${enable_threads} in
"" | yes | posix) thread_file='posix' ;;
***************
*** 410,439 ****
gas=yes
gnu_ld=yes
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
! case ${target} in
! *-*-freebsd3 | *-*-freebsd[3].*)
! tm_defines="${tm_defines} FBSD_MAJOR=3" ;;
! *-*-freebsd4 | *-*-freebsd[4].*)
! tm_defines="${tm_defines} FBSD_MAJOR=4" ;;
! *-*-freebsd5 | *-*-freebsd[5].*)
! tm_defines="${tm_defines} FBSD_MAJOR=5" ;;
! *-*-freebsd6 | *-*-freebsd[6].*)
! tm_defines="${tm_defines} FBSD_MAJOR=6" ;;
! *-*-freebsd7 | *-*-freebsd[7].*)
! tm_defines="${tm_defines} FBSD_MAJOR=7" ;;
! *-*-freebsd8 | *-*-freebsd[8].*)
! tm_defines="${tm_defines} FBSD_MAJOR=8" ;;
! *-*-freebsd9 | *-*-freebsd[9].*)
! tm_defines="${tm_defines} FBSD_MAJOR=9" ;;
! *-*-freebsd10 | *-*-freebsd10.*)
! tm_defines="${tm_defines} FBSD_MAJOR=10" ;;
! *-*-freebsd11 | *-*-freebsd11.*)
! tm_defines="${tm_defines} FBSD_MAJOR=11" ;;
! *)
! echo 'Please update *-*-freebsd* in gcc/config.gcc'
! exit 1
! ;;
! esac
tmake_file="t-slibgcc-elf-ver t-freebsd"
case ${enable_threads} in
no)
--- 432,439 ----
gas=yes
gnu_ld=yes
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
! fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
! tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
tmake_file="t-slibgcc-elf-ver t-freebsd"
case ${enable_threads} in
no)
***************
*** 480,485 ****
--- 480,486 ----
esac
# Assume that glibc or uClibc are being used and so __cxa_atexit is provided.
default_use_cxa_atexit=yes
+ use_gcc_tgmath=no
;;
*-*-gnu*)
# On the Hurd, the setup is just about the same on
***************
*** 503,508 ****
--- 504,510 ----
esac
# Assume that glibc is being used and so __cxa_atexit is provided.
default_use_cxa_atexit=yes
+ use_gcc_tgmath=no
;;
*-*-netbsd*)
tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd t-libgcc-pic"
***************
*** 563,571 ****
;;
*-*-vxworks*)
tmake_file=t-vxworks
- tm_file="${tm_file} elfos.h svr4.h"
xm_defines=POSIX
extra_options="${extra_options} vxworks.opt"
case ${enable_threads} in
no) ;;
"" | yes | vxworks) thread_file='vxworks' ;;
--- 565,573 ----
;;
*-*-vxworks*)
tmake_file=t-vxworks
xm_defines=POSIX
extra_options="${extra_options} vxworks.opt"
+ extra_objs=vxworks.o
case ${enable_threads} in
no) ;;
"" | yes | vxworks) thread_file='vxworks' ;;
***************
*** 682,693 ****
tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h"
tmake_file="arm/t-arm arm/t-arm-coff"
;;
- arm-semi-aof | armel-semi-aof)
- tm_file="arm/semiaof.h arm/aof.h arm/arm.h"
- tmake_file="arm/t-arm 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-arm arm/t-vxworks"
;;
arm*-*-freebsd*|strongarm*-*-freebsd*)
--- 684,691 ----
tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h"
tmake_file="arm/t-arm arm/t-arm-coff"
;;
arm-wrs-vxworks)
! tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
;;
arm*-*-freebsd*|strongarm*-*-freebsd*)
***************
*** 706,711 ****
--- 704,714 ----
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
+ case $target in
+ arm*b-*)
+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
+ ;;
+ esac
tmake_file="${tmake_file} t-linux arm/t-arm"
case ${target} in
arm*-*-linux-*eabi)
***************
*** 725,732 ****
tm_file="$tm_file arm/aout.h arm/arm.h"
;;
arm*-*-uclinux*) # ARM ucLinux
! 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 arm/uclinux-elf.h"
tmake_file="arm/t-arm arm/t-arm-elf"
;;
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"
--- 728,747 ----
tm_file="$tm_file arm/aout.h arm/arm.h"
;;
arm*-*-uclinux*) # ARM ucLinux
! tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h arm/uclinux-elf.h"
tmake_file="arm/t-arm arm/t-arm-elf"
+ case ${target} in
+ arm*-*-uclinux-*eabi)
+ tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
+ tmake_file="$tmake_file arm/t-bpabi"
+ # The BPABI long long divmod functions return a 128-bit value in
+ # registers r0-r3. Correctly modeling that requires the use of
+ # TImode.
+ need_64bit_hwint=yes
+ # The EABI requires the use of __cxa_atexit.
+ default_use_cxa_atexit=yes
+ esac
+ tm_file="$tm_file arm/aout.h arm/arm.h"
;;
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"
***************
*** 787,820 ****
;;
bfin*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
! tmake_file=bfin/t-bfin-elf
! use_collect2=no
! ;;
bfin*-uclinux*)
! tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/uclinux.h"
! tmake_file=bfin/t-bfin-elf
! use_collect2=no
! ;;
bfin*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h"
tmake_file="bfin/t-bfin t-rtems bfin/t-rtems"
! ;;
bfin*-*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
! tmake_file=bfin/t-bfin
! use_collect2=no
! ;;
! c4x-*-rtems* | tic4x-*-rtems*)
! tmake_file="c4x/t-c4x t-rtems c4x/t-rtems"
! tm_file="c4x/c4x.h c4x/rtems.h rtems.h"
! c_target_objs="c4x-c.o"
! cxx_target_objs="c4x-c.o"
;;
- c4x-* | tic4x-*)
- tmake_file=c4x/t-c4x
- c_target_objs="c4x-c.o"
- cxx_target_objs="c4x-c.o"
- ;;
cris-*-aout)
tm_file="dbxelf.h ${tm_file} cris/aout.h"
gas=yes
--- 802,832 ----
;;
bfin*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
! tmake_file=bfin/t-bfin-elf
! use_collect2=no
! ;;
bfin*-uclinux*)
! tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/uclinux.h"
! tmake_file=bfin/t-bfin-uclinux
! tm_defines="${tm_defines} UCLIBC_DEFAULT=1"
! extra_options="${extra_options} linux.opt"
! use_collect2=no
! ;;
! bfin*-linux-uclibc*)
! tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/linux.h ./linux-sysroot-suffix.h"
! tmake_file="t-slibgcc-elf-ver bfin/t-bfin-linux"
! extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
! use_collect2=no
! ;;
bfin*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h"
tmake_file="bfin/t-bfin t-rtems bfin/t-rtems"
! ;;
bfin*-*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
! tmake_file=bfin/t-bfin
! use_collect2=no
;;
cris-*-aout)
tm_file="dbxelf.h ${tm_file} cris/aout.h"
gas=yes
***************
*** 821,826 ****
--- 833,845 ----
tmake_file="cris/t-cris cris/t-aout"
extra_options="${extra_options} cris/aout.opt"
;;
+ crisv32-*-elf | crisv32-*-none)
+ tm_file="dbxelf.h elfos.h ${tm_file}"
+ tmake_file="cris/t-cris"
+ target_cpu_default=32
+ gas=yes
+ extra_options="${extra_options} cris/elf.opt"
+ ;;
cris-*-elf | cris-*-none)
tm_file="dbxelf.h elfos.h ${tm_file}"
tmake_file="cris/t-cris cris/t-elfmulti"
***************
*** 827,837 ****
gas=yes
extra_options="${extra_options} cris/elf.opt"
;;
! cris-*-linux*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
# We need to avoid using t-linux, so override default tmake_file
tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
extra_options="${extra_options} cris/linux.opt"
;;
crx-*-elf)
tm_file="elfos.h ${tm_file}"
--- 846,864 ----
gas=yes
extra_options="${extra_options} cris/elf.opt"
;;
! crisv32-*-linux* | cris-*-linux*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
# We need to avoid using t-linux, so override default tmake_file
tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
extra_options="${extra_options} cris/linux.opt"
+ case $target in
+ cris-*-*)
+ target_cpu_default=10
+ ;;
+ crisv32-*-*)
+ target_cpu_default=32
+ ;;
+ esac
;;
crx-*-elf)
tm_file="elfos.h ${tm_file}"
***************
*** 854,863 ****
linux.h frv/linux.h frv/frv-abi.h"
tmake_file="${tmake_file} frv/t-frv frv/t-linux"
;;
- h8300-*-rtemscoff*)
- tmake_file="h8300/t-h8300 t-rtems h8300/t-rtems"
- tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h h8300/rtems.h rtems.h"
- ;;
h8300-*-rtems*)
tmake_file="h8300/t-h8300 h8300/t-elf t-rtems h8300/t-rtems"
tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h"
--- 881,886 ----
***************
*** 1023,1035 ****
# config.guess deciding that the configuration is i386-*-darwin* and
# then this file using that to set --with-cpu=i386 which has no -m64
# support.
- with_arch=${with_arch:-nocona}
with_cpu=${with_cpu:-generic}
;;
x86_64-*-darwin*)
- with_arch=${with_arch:-nocona}
with_cpu=${with_cpu:-generic}
! tmake_file="t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin"
tm_file="${tm_file} ${cpu_type}/darwin64.h"
;;
i[34567]86-*-elf*)
--- 1046,1057 ----
# config.guess deciding that the configuration is i386-*-darwin* and
# then this file using that to set --with-cpu=i386 which has no -m64
# support.
with_cpu=${with_cpu:-generic}
+ tmake_file="${tmake_file} i386/t-fprules-softfp64 soft-fp/t-softfp i386/t-crtpc i386/t-crtfm"
;;
x86_64-*-darwin*)
with_cpu=${with_cpu:-generic}
! tmake_file="t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin i386/t-fprules-softfp64 soft-fp/t-softfp i386/t-crtpc i386/t-crtfm"
tm_file="${tm_file} ${cpu_type}/darwin64.h"
;;
i[34567]86-*-elf*)
***************
*** 1037,1042 ****
--- 1059,1069 ----
tmake_file="i386/t-i386elf t-svr4"
use_fixproto=yes
;;
+ x86_64-*-elf*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/x86-64.h"
+ tmake_file="i386/t-i386elf t-svr4"
+ use_fixproto=yes
+ ;;
i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
if test x$gas = xyes
then
***************
*** 1061,1066 ****
--- 1088,1094 ----
;;
x86_64-*-freebsd*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
+ tmake_file="${tmake_file} i386/t-crtstuff"
;;
i[34567]86-*-netbsdelf*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
***************
*** 1073,1078 ****
--- 1101,1107 ----
;;
x86_64-*-netbsd*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
+ tmake_file="${tmake_file} i386/t-crtstuff"
;;
i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
***************
*** 1094,1105 ****
i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu)
# Intel 80386's running GNU/*
# with ELF format using glibc 2
! tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
case ${target} in
! i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h i386/knetbsd-gnu.h" ;;
! i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
esac
! tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtfm t-dfprules"
;;
x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
--- 1123,1158 ----
i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu)
# Intel 80386's running GNU/*
# with ELF format using glibc 2
! tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h"
case ${target} in
! i[34567]86-*-linux*)
! if test x$enable_targets = xall; then
! tm_file="${tm_file} i386/x86-64.h i386/linux64.h"
! tm_defines="${tm_defines} TARGET_BI_ARCH=1"
! tmake_file="${tmake_file} i386/t-linux64 i386/t-fprules-softfp64 soft-fp/t-softfp"
! need_64bit_hwint=yes
! # FIXME: -m64 for i[34567]86-*-* should be allowed just
! # like -m32 for x86_64-*-*.
! case X"${with_cpu}" in
! Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
! ;;
! X)
! with_cpu=generic
! ;;
! *)
! echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
! echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
! exit 1
! ;;
! esac
! else
! tm_file="${tm_file} i386/linux.h"
! fi
! ;;
! i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} i386/linux.h knetbsd-gnu.h i386/knetbsd-gnu.h" ;;
! i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} i386/linux.h kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
esac
! tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
;;
x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
***************
*** 1108,1114 ****
x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;;
x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
esac
! tmake_file="${tmake_file} i386/t-linux64 i386/t-crtfm t-dfprules"
;;
i[34567]86-*-gnu*)
;;
--- 1161,1167 ----
x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;;
x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
esac
! tmake_file="${tmake_file} i386/t-linux64 i386/t-crtstuff i386/t-crtpc i386/t-crtfm i386/t-fprules-softfp64 soft-fp/t-softfp t-dfprules"
;;
i[34567]86-*-gnu*)
;;
***************
*** 1205,1216 ****
*-*-solaris2.1[0-9]*)
tm_file="${tm_file} i386/x86-64.h i386/sol2-10.h"
tm_defines="${tm_defines} TARGET_BI_ARCH=1"
! tmake_file="$tmake_file i386/t-sol2-10"
need_64bit_hwint=yes
# FIXME: -m64 for i[34567]86-*-* should be allowed just
# like -m32 for x86_64-*-*.
case X"${with_cpu}" in
! Xgeneric|Xnocona|Xx86-64|Xk8|Xopteron|Xathlon64|Xathlon-fx)
;;
X)
with_cpu=generic
--- 1258,1269 ----
*-*-solaris2.1[0-9]*)
tm_file="${tm_file} i386/x86-64.h i386/sol2-10.h"
tm_defines="${tm_defines} TARGET_BI_ARCH=1"
! tmake_file="$tmake_file i386/t-crtstuff i386/t-sol2-10"
need_64bit_hwint=yes
# FIXME: -m64 for i[34567]86-*-* should be allowed just
# like -m32 for x86_64-*-*.
case X"${with_cpu}" in
! Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
;;
X)
with_cpu=generic
***************
*** 1217,1223 ****
;;
*)
echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
! echo "generic nocona x86-64 k8 opteron athlon64 athlon-fx" 1>&2
exit 1
;;
esac
--- 1270,1276 ----
;;
*)
echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
! echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
exit 1
;;
esac
***************
*** 1269,1282 ****
use_fixproto=yes
;;
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
! tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/att.h vx-common.h"
case ${target} in
*-vxworksae*)
! tm_file="${tm_file} vxworksae.h i386/vxworksae.h"
tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
;;
*)
! tm_file="${tm_file} vxworks.h i386/vxworks.h"
tmake_file="${tmake_file} i386/t-vxworks"
;;
esac
--- 1322,1335 ----
use_fixproto=yes
;;
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
! tm_file="${tm_file} i386/unix.h i386/att.h elfos.h svr4.h vx-common.h"
case ${target} in
*-vxworksae*)
! tm_file="${tm_file} vxworksae.h i386/vx-common.h i386/vxworksae.h"
tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
;;
*)
! tm_file="${tm_file} vxworks.h i386/vx-common.h i386/vxworks.h"
tmake_file="${tmake_file} i386/t-vxworks"
;;
esac
***************
*** 1295,1301 ****
thread_file='posix'
fi
;;
! i[34567]86-*-mingw32*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h"
xm_file=i386/xm-mingw32.h
tmake_file="i386/t-cygming i386/t-mingw32"
--- 1348,1354 ----
thread_file='posix'
fi
;;
! i[34567]86-*-mingw32* | x86_64-*-mingw32*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h"
xm_file=i386/xm-mingw32.h
tmake_file="i386/t-cygming i386/t-mingw32"
***************
*** 1303,1308 ****
--- 1356,1362 ----
extra_options="${extra_options} i386/cygming.opt"
extra_objs="winnt.o winnt-stubs.o"
cxx_target_objs=winnt-cxx.o
+ default_use_cxa_atexit=yes
case ${enable_threads} in
"" | yes | win32)
thread_file='win32'
***************
*** 1379,1385 ****
tmake_file="ia64/t-ia64 ia64/t-hpux"
target_cpu_default="MASK_GNU_AS"
case x$enable_threads in
! xyes | xposix )
thread_file=posix
;;
esac
--- 1433,1439 ----
tmake_file="ia64/t-ia64 ia64/t-hpux"
target_cpu_default="MASK_GNU_AS"
case x$enable_threads in
! x | xyes | xposix )
thread_file=posix
;;
esac
***************
*** 1447,1499 ****
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"
;;
m68k-*-coff*)
! tmake_file=m68k/t-m68kbare
! tm_defines="${tm_defines} MOTOROLA USE_GAS"
! tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
use_fixproto=yes
;;
! 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="${tm_defines} MOTOROLA USE_GAS"
! tmake_file=m68k/t-m68kelf
! extra_parts="crtbegin.o crtend.o"
! ;;
! m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
! tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
! tm_defines="${tm_defines} MOTOROLA USE_GAS"
case ${target} in
! m68010*)
! target_cpu_default="0"
;;
*)
! target_cpu_default="MASK_68020|MASK_68881|MASK_BITFIELD"
;;
esac
;;
m68k*-*-openbsd*)
# needed to unconfuse gdb
! tm_defines="${tm_defines} OBSD_OLD_GAS TARGET_DEFAULT=(MASK_68020|MASK_68881|MASK_BITFIELD)"
! tm_file="m68k/m68k.h openbsd.h m68k/openbsd.h"
tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
# we need collect2 until our bug is fixed...
use_collect2=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="${tm_defines} MOTOROLA USE_GAS"
! tmake_file=m68k/t-uclinux
use_fixproto=no
;;
m68k-*-linux*) # Motorola m68k's running GNU/Linux
# with ELF format using glibc 2
# aka the GNU/Linux C library 6.
! tm_file="m68k/m68k.h dbxelf.h elfos.h svr4.h linux.h m68k/linux.h"
extra_options="${extra_options} m68k/ieee.opt"
! tm_defines="${tm_defines} MOTOROLA USE_GAS"
# if not configured with --enable-sjlj-exceptions, bump the
# libgcc version number
if test x$sjlj != x1; then
--- 1501,1596 ----
use_fixproto=yes
;;
m68k-*-aout*)
! default_m68k_cpu=68020
! default_cf_cpu=5206
! tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs"
! tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h m68k/m68k-aout.h libgloss.h"
;;
m68k-*-coff*)
! default_m68k_cpu=68020
! default_cf_cpu=5206
! tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs"
! tm_defines="${tm_defines} MOTOROLA=1"
! tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
use_fixproto=yes
;;
! m68020-*-elf* | m68k-*-elf* | fido-*-elf*)
case ${target} in
! fido-*-elf*)
! # Check that $with_cpu makes sense.
! case $with_cpu in
! "" | "fidoa")
! ;;
! *)
! echo "Cannot accept --with-cpu=$with_cpu"
! exit 1
! ;;
! esac
! with_cpu=fidoa
;;
*)
! default_m68k_cpu=68020
! default_cf_cpu=5206
;;
esac
+ tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
+ tm_defines="${tm_defines} MOTOROLA=1"
+ tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
+ # Add multilibs for targets other than fido.
+ case ${target} in
+ fido-*-elf*)
+ ;;
+ *)
+ tmake_file="$tmake_file m68k/t-mlibs"
+ ;;
+ esac
+ extra_parts="crtbegin.o crtend.o"
;;
+ m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
+ default_m68k_cpu=68020
+ default_cf_cpu=5475
+ tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
+ tm_defines="${tm_defines} MOTOROLA=1"
+ ;;
m68k*-*-openbsd*)
+ default_m68k_cpu=68020
+ default_cf_cpu=5475
# needed to unconfuse gdb
! tm_defines="${tm_defines} OBSD_OLD_GAS"
! tm_file="${tm_file} openbsd.h m68k/openbsd.h"
tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
# we need collect2 until our bug is fixed...
use_collect2=yes
;;
! m68k-*-uclinuxoldabi*) # Motorola m68k/ColdFire running uClinux
! # with uClibc, using the original
! # m68k-elf-based ABI
! default_m68k_cpu=68020
! default_cf_cpu=5206
! tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/uclinux-oldabi.h"
! tm_defines="${tm_defines} MOTOROLA=1"
! tmake_file="m68k/t-floatlib m68k/t-uclinux"
use_fixproto=no
;;
+ m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
+ # with uClibc, using the new GNU/Linux-style
+ # ABI.
+ default_m68k_cpu=68020
+ default_cf_cpu=5206
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h"
+ tm_defines="${tm_defines} MOTOROLA=1 UCLIBC_DEFAULT=1"
+ extra_options="${extra_options} linux.opt"
+ tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
+ use_fixproto=no
+ ;;
m68k-*-linux*) # Motorola m68k's running GNU/Linux
# with ELF format using glibc 2
# aka the GNU/Linux C library 6.
! default_m68k_cpu=68020
! default_cf_cpu=5475
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h m68k/linux.h"
extra_options="${extra_options} m68k/ieee.opt"
! tm_defines="${tm_defines} MOTOROLA=1"
# if not configured with --enable-sjlj-exceptions, bump the
# libgcc version number
if test x$sjlj != x1; then
***************
*** 1501,1509 ****
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="${tm_defines} MOTOROLA USE_GAS"
extra_parts="crtbegin.o crtend.o"
;;
mcore-*-elf)
--- 1598,1608 ----
fi
;;
m68k-*-rtems*)
! default_m68k_cpu=68020
! default_cf_cpu=5206
! tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems m68k/t-mlibs"
! tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h"
! tm_defines="${tm_defines} MOTOROLA=1"
extra_parts="crtbegin.o crtend.o"
;;
mcore-*-elf)
***************
*** 1539,1547 ****
then
tm_defines="${tm_defines} IRIX_USING_GNU_LD"
fi
! # if test x$enable_threads = xyes; then
! # thread_file='irix'
! # fi
use_fixproto=yes
;;
mips*-*-netbsd*) # NetBSD/mips, either endian.
--- 1638,1646 ----
then
tm_defines="${tm_defines} IRIX_USING_GNU_LD"
fi
! case ${enable_threads}:${have_pthread_h} in
! "":yes | yes:yes ) thread_file=posix ;;
! esac
use_fixproto=yes
;;
mips*-*-netbsd*) # NetBSD/mips, either endian.
***************
*** 1554,1568 ****
tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
gnu_ld=yes
gas=yes
;;
mips*-*-linux*) # Linux MIPS, either endian.
tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
case ${target} in
! mipsisa32*-*)
! target_cpu_default="MASK_SOFT_FLOAT"
! tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
;;
esac
;;
mips*-*-openbsd*)
tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS"
--- 1653,1670 ----
tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
gnu_ld=yes
gas=yes
+ test x$with_llsc != x || with_llsc=yes
;;
mips*-*-linux*) # Linux MIPS, either endian.
tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
case ${target} in
! mipsisa32r2*)
! tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
;;
+ mipsisa32*)
+ tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
esac
+ test x$with_llsc != x || with_llsc=yes
;;
mips*-*-openbsd*)
tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS"
***************
*** 1574,1597 ****
*) tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_ENDIAN";;
esac
;;
! mipsisa32-*-elf* | mipsisa32el-*-elf*)
! tm_file="elfos.h ${tm_file} mips/elf.h"
! tmake_file=mips/t-isa3264
! tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_EABI"
! use_fixproto=yes
;;
! mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*)
! tm_file="elfos.h ${tm_file} mips/elf.h"
! tmake_file=mips/t-isa3264
! tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_EABI"
! use_fixproto=yes
! ;;
mipsisa64-*-elf* | mipsisa64el-*-elf*)
tm_file="elfos.h ${tm_file} mips/elf.h"
! tmake_file=mips/t-isa3264
! target_cpu_default="MASK_64BIT|MASK_FLOAT64"
! tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_EABI"
! use_fixproto=yes
;;
mipsisa64sr71k-*-elf*)
tm_file="elfos.h ${tm_file} mips/elf.h"
--- 1676,1741 ----
*) tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_ENDIAN";;
esac
;;
! mips*-sde-elf*)
! tm_file="elfos.h ${tm_file} mips/elf.h mips/sde.h"
! tmake_file="mips/t-sde mips/t-libgcc-mips16"
! case "${with_newlib}" in
! yes)
! # newlib / libgloss.
! ;;
! *)
! # MIPS toolkit libraries.
! tm_file="$tm_file mips/sdemtk.h"
! tmake_file="$tmake_file mips/t-sdemtk"
! extra_options="$extra_options mips/sdemtk.opt"
! case ${enable_threads} in
! "" | yes | mipssde)
! thread_file='mipssde'
! ;;
! esac
! ;;
! esac
! case ${target} in
! mipsisa32r2*)
! tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
! ;;
! mipsisa32*)
! tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
! ;;
! mipsisa64*)
! tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
! ;;
! esac
;;
! mipsisa32-*-elf* | mipsisa32el-*-elf* | \
! mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
mipsisa64-*-elf* | mipsisa64el-*-elf*)
tm_file="elfos.h ${tm_file} mips/elf.h"
! tmake_file="mips/t-isa3264 mips/t-libgcc-mips16"
! case ${target} in
! mipsisa32r2*)
! tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
! ;;
! mipsisa32*)
! tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
! ;;
! mipsisa64*)
! tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
! ;;
! esac
! case ${target} in
! mipsisa32*-*-elfoabi*)
! tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
! tm_file="${tm_file} mips/elfoabi.h"
! ;;
! mipsisa64*-*-elfoabi*)
! tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
! tm_file="${tm_file} mips/elfoabi.h"
! ;;
! *-*-elf*)
! tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
! ;;
! esac
;;
mipsisa64sr71k-*-elf*)
tm_file="elfos.h ${tm_file} mips/elf.h"
***************
*** 1602,1608 ****
;;
mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
tm_file="elfos.h ${tm_file} mips/elf.h"
! tmake_file="mips/t-elf mips/t-sb1"
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
use_fixproto=yes
--- 1746,1752 ----
;;
mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
tm_file="elfos.h ${tm_file} mips/elf.h"
! tmake_file="mips/t-elf mips/t-libgcc-mips16 mips/t-sb1"
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
use_fixproto=yes
***************
*** 1609,1620 ****
;;
mips-*-elf* | mipsel-*-elf*)
tm_file="elfos.h ${tm_file} mips/elf.h"
! tmake_file=mips/t-elf
use_fixproto=yes
;;
mips64-*-elf* | mips64el-*-elf*)
tm_file="elfos.h ${tm_file} mips/elf.h"
! tmake_file=mips/t-elf
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
use_fixproto=yes
--- 1753,1764 ----
;;
mips-*-elf* | mipsel-*-elf*)
tm_file="elfos.h ${tm_file} mips/elf.h"
! tmake_file="mips/t-elf mips/t-libgcc-mips16"
use_fixproto=yes
;;
mips64-*-elf* | mips64el-*-elf*)
tm_file="elfos.h ${tm_file} mips/elf.h"
! tmake_file="mips/t-elf mips/t-libgcc-mips16"
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
use_fixproto=yes
***************
*** 1626,1632 ****
;;
mips64orion-*-elf* | mips64orionel-*-elf*)
tm_file="elfos.h ${tm_file} mips/elforion.h mips/elf.h"
! tmake_file=mips/t-elf
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
use_fixproto=yes
--- 1770,1776 ----
;;
mips64orion-*-elf* | mips64orionel-*-elf*)
tm_file="elfos.h ${tm_file} mips/elforion.h mips/elf.h"
! tmake_file="mips/t-elf mips/t-libgcc-mips16"
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
use_fixproto=yes
***************
*** 1633,1655 ****
;;
mips*-*-rtems*)
tm_file="elfos.h ${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"
;;
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"
thread_file=
;;
mipstx39-*-elf* | mipstx39el-*-elf*)
tm_file="elfos.h ${tm_file} mips/r3900.h mips/elf.h"
! tmake_file=mips/t-r3900
use_fixproto=yes
;;
mmix-knuth-mmixware)
--- 1777,1797 ----
;;
mips*-*-rtems*)
tm_file="elfos.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
! tmake_file="mips/t-elf mips/t-libgcc-mips16 t-rtems mips/t-rtems"
;;
mips-wrs-vxworks)
! tm_file="elfos.h ${tm_file} svr4.h mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
tmake_file="${tmake_file} mips/t-vxworks"
;;
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 mips/t-libgcc-mips16"
thread_file=
;;
mipstx39-*-elf* | mipstx39el-*-elf*)
tm_file="elfos.h ${tm_file} mips/r3900.h mips/elf.h"
! tmake_file="mips/t-r3900 mips/t-libgcc-mips16"
use_fixproto=yes
;;
mmix-knuth-mmixware)
***************
*** 1668,1683 ****
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
tmake_file="${tmake_file} mt/t-mt"
;;
- ns32k-*-netbsdelf*)
- echo "GCC does not yet support the ${target} target"; exit 1
- ;;
- ns32k-*-netbsd*)
- tm_file="${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
- # On NetBSD, the headers are already okay, except for math.h.
- tmake_file="t-netbsd ns32k/t-ns32k"
- extra_parts=""
- use_collect2=yes
- ;;
pdp11-*-bsd)
tm_file="${tm_file} pdp11/2bsd.h"
use_fixproto=yes
--- 1810,1815 ----
***************
*** 1756,1772 ****
use_fixproto=yes
;;
powerpc-*-eabispe*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabispe.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-spe rs6000/t-ppccomm"
;;
powerpc-*-eabisimaltivec*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h rs6000/eabialtivec.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
;;
powerpc-*-eabisim*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
;;
--- 1888,1904 ----
use_fixproto=yes
;;
powerpc-*-eabispe*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-spe rs6000/t-ppccomm"
;;
powerpc-*-eabisimaltivec*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h rs6000/eabialtivec.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
;;
powerpc-*-eabisim*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
;;
***************
*** 1777,1793 ****
use_fixproto=yes
;;
powerpc-*-eabialtivec*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
;;
powerpc-*-eabi*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
;;
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"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-rtems t-rtems rs6000/t-ppccomm"
;;
--- 1909,1925 ----
use_fixproto=yes
;;
powerpc-*-eabialtivec*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabialtivec.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
;;
powerpc-*-eabi*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
;;
powerpc-*-rtems*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h rtems.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-rtems t-rtems rs6000/t-ppccomm"
;;
***************
*** 1797,1806 ****
tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp 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"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp 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"
extra_options="${extra_options} rs6000/sysv4.opt"
--- 1929,1943 ----
tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp 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 rs6000/e500.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
;;
+ powerpc-*-linux*paired*)
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/750cl.h"
+ extra_options="${extra_options} rs6000/sysv4.opt"
+ tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp 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"
extra_options="${extra_options} rs6000/sysv4.opt"
***************
*** 1839,1857 ****
fi
;;
powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
! # We want vxworks.h after rs6000/sysv4.h, which unfortunately
! # means we have to redo the tm_file list from scratch.
! tm_file="rs6000/rs6000.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppccomm rs6000/t-vxworks"
extra_options="${extra_options} rs6000/sysv4.opt"
extra_headers=ppc-asm.h
case ${target} in
*-vxworksae*)
! tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksae.h"
tmake_file="${tmake_file} rs6000/t-vxworksae"
;;
*-vxworks*)
! tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h"
;;
esac
;;
--- 1976,1992 ----
fi
;;
powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
! tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppccomm rs6000/t-vxworks"
extra_options="${extra_options} rs6000/sysv4.opt"
extra_headers=ppc-asm.h
case ${target} in
*-vxworksae*)
! tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
tmake_file="${tmake_file} rs6000/t-vxworksae"
;;
*-vxworks*)
! tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
;;
esac
;;
***************
*** 1886,1897 ****
use_fixproto=yes
;;
powerpcle-*-eabisim*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
extra_options="${extra_options} rs6000/sysv4.opt"
;;
powerpcle-*-eabi*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
extra_options="${extra_options} rs6000/sysv4.opt"
;;
--- 2021,2032 ----
use_fixproto=yes
;;
powerpcle-*-eabisim*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
extra_options="${extra_options} rs6000/sysv4.opt"
;;
powerpcle-*-eabi*)
! tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h"
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
extra_options="${extra_options} rs6000/sysv4.opt"
;;
***************
*** 1929,1935 ****
thread_file='aix'
extra_headers=
;;
! rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h"
tmake_file=rs6000/t-aix52
extra_options="${extra_options} rs6000/aix64.opt"
--- 2064,2070 ----
thread_file='aix'
extra_headers=
;;
! rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h"
tmake_file=rs6000/t-aix52
extra_options="${extra_options} rs6000/aix64.opt"
***************
*** 1937,1942 ****
--- 2072,2093 ----
thread_file='aix'
extra_headers=
;;
+ rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
+ tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h"
+ tmake_file=rs6000/t-aix52
+ extra_options="${extra_options} rs6000/aix64.opt"
+ use_collect2=yes
+ thread_file='aix'
+ extra_headers=altivec.h
+ ;;
+ rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
+ tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h"
+ tmake_file=rs6000/t-aix52
+ extra_options="${extra_options} rs6000/aix64.opt"
+ use_collect2=yes
+ thread_file='aix'
+ extra_headers=altivec.h
+ ;;
s390-*-linux*)
tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux"
***************
*** 2006,2012 ****
with_libgloss=yes
tm_file="${tm_file} sh/newlib.h"
fi
! tm_file="${tm_file} sh/embed-elf.h"
extra_options="${extra_options} sh/superh.opt" ;;
*) if test x$with_newlib = xyes \
&& test x$with_libgloss = xyes; then
--- 2157,2164 ----
with_libgloss=yes
tm_file="${tm_file} sh/newlib.h"
fi
! tm_file="${tm_file} sh/embed-elf.h sh/superh.h"
! tmake_file="${tmake_file} sh/t-superh"
extra_options="${extra_options} sh/superh.opt" ;;
*) if test x$with_newlib = xyes \
&& test x$with_libgloss = xyes; then
***************
*** 2086,2092 ****
sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
! sh4-single-only | sh4-single | sh4-nofpu | sh4 | \
sh3e | sh3 | sh2e | sh2 | sh1) ;;
"") sh_cpu_default=${sh_cpu_target} ;;
*) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
--- 2238,2244 ----
sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
! sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
sh3e | sh3 | sh2e | sh2 | sh1) ;;
"") sh_cpu_default=${sh_cpu_target} ;;
*) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
***************
*** 2112,2118 ****
for sh_multilib in ${sh_multilibs}; do
case ${sh_multilib} in
sh1 | sh2 | sh2e | sh3 | sh3e | \
! sh4 | sh4-single | sh4-single-only | sh4-nofpu | \
sh4a | sh4a-single | sh4a-single-only | sh4a-nofpu | sh4al | \
sh2a | sh2a-single | sh2a-single-only | sh2a-nofpu | \
sh5-64media | sh5-64media-nofpu | \
--- 2264,2270 ----
for sh_multilib in ${sh_multilibs}; do
case ${sh_multilib} in
sh1 | sh2 | sh2e | sh3 | sh3e | \
! sh4 | sh4-single | sh4-single-only | sh4-nofpu | sh4-300 |\
sh4a | sh4a-single | sh4a-single-only | sh4a-nofpu | sh4al | \
sh2a | sh2a-single | sh2a-single-only | sh2a-nofpu | \
sh5-64media | sh5-64media-nofpu | \
***************
*** 2132,2141 ****
fi
use_fixproto=yes
;;
- sh-*-rtemscoff*)
- tmake_file="sh/t-sh t-rtems sh/t-rtems"
- tm_file="${tm_file} dbxcoff.h sh/coff.h sh/rtems.h rtems.h"
- ;;
sh-*-rtems*)
tmake_file="sh/t-sh sh/t-elf t-rtems sh/t-rtems"
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h"
--- 2284,2289 ----
***************
*** 2142,2148 ****
;;
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"
--- 2290,2296 ----
;;
sh-wrs-vxworks)
tmake_file="$tmake_file sh/t-sh sh/t-elf sh/t-vxworks"
! tm_file="${tm_file} elfos.h svr4.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
;;
sh-*-*)
tm_file="${tm_file} dbxcoff.h sh/coff.h"
***************
*** 2276,2281 ****
--- 2424,2433 ----
extra_parts="crtbegin.o crtend.o"
use_fixproto=yes
;;
+ sparc-wrs-vxworks)
+ tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
+ tmake_file="${tmake_file} sparc/t-vxworks"
+ ;;
sparc64-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h"
extra_options="${extra_options} sparc/little-endian.opt"
***************
*** 2305,2310 ****
--- 2457,2470 ----
extra_options="${extra_options} sparc/long-double-switch.opt"
tmake_file="${tmake_file} sparc/t-netbsd64"
;;
+ spu-*-elf*)
+ tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h"
+ tmake_file="spu/t-spu-elf"
+ extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h"
+ extra_modes=spu/spu-modes.def
+ c_target_objs="${c_target_objs} spu-c.o"
+ cxx_target_objs="${cxx_target_objs} spu-c.o"
+ ;;
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-arm arm/t-strongarm-elf"
***************
*** 2516,2521 ****
--- 2676,2684 ----
;;
i686-*-* | i786-*-*)
case ${target_noncanonical} in
+ amdfam10-*|barcelona-*)
+ with_cpu=amdfam10
+ ;;
k8-*|opteron-*|athlon_64-*)
with_cpu=k8
;;
***************
*** 2525,2530 ****
--- 2688,2696 ----
athlon_tbird-*|athlon-*)
with_cpu=athlon
;;
+ geode-*)
+ with_cpu=geode
+ ;;
pentium2-*)
with_cpu=pentium2
;;
***************
*** 2540,2545 ****
--- 2706,2714 ----
nocona-*)
with_cpu=nocona
;;
+ core2-*)
+ with_cpu=core2
+ ;;
pentium_m-*)
with_cpu=pentium-m
;;
***************
*** 2553,2558 ****
--- 2722,2730 ----
;;
x86_64-*-*)
case ${target_noncanonical} in
+ amdfam10-*|barcelona-*)
+ with_cpu=amdfam10
+ ;;
k8-*|opteron-*|athlon_64-*)
with_cpu=k8
;;
***************
*** 2559,2564 ****
--- 2731,2739 ----
nocona-*)
with_cpu=nocona
;;
+ core2-*)
+ with_cpu=core2
+ ;;
*)
with_cpu=generic
;;
***************
*** 2585,2590 ****
--- 2760,2781 ----
frv550-*-*linux*)
with_cpu=fr550
;;
+ m680[012]0-*-*)
+ with_cpu=`echo ${target} | sed 's/-.*$//'`
+ ;;
+ m68k*-*-*)
+ case "$with_arch" in
+ "cf")
+ with_cpu=${default_cf_cpu}
+ ;;
+ "" | "m68k")
+ with_cpu=m${default_m68k_cpu}
+ ;;
+ esac
+ ;;
+ mips*-*-vxworks)
+ with_arch=mips2
+ ;;
sparc*-*-*)
with_cpu="`echo ${target} | sed 's/-.*$//'`"
;;
***************
*** 2685,2691 ****
case "$with_fpu" in
"" \
! | fpa | fpe2 | fpe3 | maverick | vfp )
# OK
;;
*)
--- 2876,2882 ----
case "$with_fpu" in
"" \
! | fpa | fpe2 | fpe3 | maverick | vfp | vfp3 | neon )
# OK
;;
*)
***************
*** 2733,2750 ****
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*-*-*)
--- 2924,2967 ----
esac
;;
! fido-*-* | m680[012]0-*-* | m68k*-*-*)
! supported_defaults="arch cpu"
! case "$with_arch" in
! "" | "m68k"| "cf")
! m68k_arch_family="$with_arch"
;;
*)
! echo "Invalid --with-arch=$with_arch" 1>&2
exit 1
;;
esac
+
+ # We always have a $with_cpu setting here.
+ case "$with_cpu" in
+ "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
+ m68k_cpu_ident=$with_cpu
+ ;;
+ "m68020-40")
+ m68k_cpu_ident=m68020
+ tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
+ ;;
+ "m68020-60")
+ m68k_cpu_ident=m68020
+ tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
+ ;;
+ *)
+ # We need the C identifier rather than the string.
+ m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
+ 'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
+ $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
+ ${srcdir}/config/m68k/m68k-devices.def`
+ if [ x"$m68k_cpu_ident" = x ] ; then
+ echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
+ exit 1
+ fi
+ with_cpu="mcpu=$with_cpu"
+ ;;
+ esac
;;
hppa*-*-* | parisc*-*-*)
***************
*** 2780,2786 ****
| 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 \
| prescott | pentium-m | pentium4m | pentium3m)
case "${target}" in
x86_64-*-*)
--- 2997,3003 ----
| 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 | geode \
| prescott | pentium-m | pentium4m | pentium3m)
case "${target}" in
x86_64-*-*)
***************
*** 2790,2796 ****
esac
# OK
;;
! "" | k8 | opteron | athlon64 | athlon-fx | nocona | generic)
# OK
;;
*)
--- 3007,3013 ----
esac
# OK
;;
! "" | amdfam10 | barcelona | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | generic)
# OK
;;
*)
***************
*** 2802,2808 ****
;;
mips*-*-*)
! supported_defaults="abi arch float tune divide"
case ${with_float} in
"" | soft | hard)
--- 3019,3025 ----
;;
mips*-*-*)
! supported_defaults="abi arch float tune divide llsc"
case ${with_float} in
"" | soft | hard)
***************
*** 2831,2837 ****
--- 3048,3071 ----
*)
echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
exit 1
+ ;;
esac
+
+ case ${with_llsc} in
+ yes)
+ with_llsc=llsc
+ ;;
+ no)
+ with_llsc="no-llsc"
+ ;;
+ "")
+ # OK
+ ;;
+ *)
+ echo "Unknown llsc type used in --with-llsc" 1>&2
+ exit 1
+ ;;
+ esac
;;
mt-*-*)
***************
*** 2868,2879 ****
eval "with_$which=405"
;;
"" | common \
! | power | power[23456] | 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 \
! | 854[08] | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5)
# OK
;;
*)
--- 3102,3113 ----
eval "with_$which=405"
;;
"" | common \
! | power | power[23456] | power6x | 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 \
! | 854[08] | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
# OK
;;
*)
***************
*** 2890,2896 ****
for which in arch tune; do
eval "val=\$with_$which"
case ${val} in
! "" | g5 | g6 | z900 | z990 | z9-109)
# OK
;;
*)
--- 3124,3130 ----
for which in arch tune; do
eval "val=\$with_$which"
case ${val} in
! "" | g5 | g6 | z900 | z990 | z9-109 | z9-ec)
# OK
;;
*)
***************
*** 2939,2945 ****
"" | sparc | sparcv9 | sparc64 | sparc86x \
| v7 | cypress | v8 | supersparc | sparclite | f930 \
| f934 | hypersparc | sparclite86x | sparclet | tsc701 \
! | v9 | ultrasparc | ultrasparc3 | niagara)
# OK
;;
*)
--- 3173,3179 ----
"" | sparc | sparcv9 | sparc64 | sparc86x \
| v7 | cypress | v8 | supersparc | sparclite | f930 \
| f934 | hypersparc | sparclite86x | sparclet | tsc701 \
! | v9 | ultrasparc | ultrasparc3 | niagara | niagara2)
# OK
;;
*)
***************
*** 2960,2965 ****
--- 3194,3216 ----
esac
;;
+ spu-*-*)
+ supported_defaults="arch tune"
+
+ for which in arch tune; do
+ eval "val=\$with_$which"
+ case ${val} in
+ "" | cell | celledp)
+ # OK
+ ;;
+ *)
+ echo "Unknown cpu used in --with-$which=$val." 1>&2
+ exit 1
+ ;;
+ esac
+ done
+ ;;
+
v850*-*-*)
supported_defaults=cpu
case ${with_cpu} in
***************
*** 2993,3029 ****
fi
;;
- 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*-*-*)
target_cpu_default2="MASK_BIG_SWITCH"
if test x$gas = xyes
--- 3244,3249 ----
***************
*** 3032,3037 ****
--- 3252,3264 ----
fi
;;
+ fido*-*-* | m680[012]0-*-* | m68k*-*-*)
+ target_cpu_default2=$m68k_cpu_ident
+ if [ x"$m68k_arch_family" != x ]; then
+ tmake_file="m68k/t-$m68k_arch_family $tmake_file"
+ fi
+ ;;
+
mips*-*-*)
if test x$gnu_ld = xyes
then
***************
*** 3102,3108 ****
esac
t=
! all_defaults="abi cpu arch tune schedule float mode fpu divide"
for option in $all_defaults
do
eval "val=\$with_$option"
--- 3329,3335 ----
esac
t=
! all_defaults="abi cpu arch tune schedule float mode fpu divide llsc"
for option in $all_defaults
do
eval "val=\$with_$option"
*** gcc/config/rs6000/aix53.h.ORIG Tue Jan 29 09:34:54 2008
--- gcc/config/rs6000/aix53.h Tue Jan 29 09:41:33 2008
***************
*** 0 ****
--- 1,194 ----
+ /* Definitions of target machine for GNU compiler,
+ for IBM RS/6000 POWER running AIX V5.3.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
+ Free Software Foundation, Inc.
+ Contributed by David Edelsohn (edelsohn@gnu.org).
+
+ This file is part of GCC.
+
+ 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 3, or (at your
+ option) any later version.
+
+ 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 GCC; see the file COPYING3. If not see
+ . */
+
+ /* Sometimes certain combinations of command options do not make sense
+ on a particular target machine. You can define a macro
+ `OVERRIDE_OPTIONS' to take account of this. This macro, if
+ defined, is executed once just after all the command options have
+ been parsed.
+
+ The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+ get control. */
+
+ #define NON_POWERPC_MASKS (MASK_POWER | MASK_POWER2)
+ #define SUBTARGET_OVERRIDE_OPTIONS \
+ do { \
+ if (TARGET_64BIT && (target_flags & NON_POWERPC_MASKS)) \
+ { \
+ target_flags &= ~NON_POWERPC_MASKS; \
+ warning (0, "-maix64 and POWER architecture are incompatible"); \
+ } \
+ if (TARGET_64BIT && ! TARGET_POWERPC64) \
+ { \
+ target_flags |= MASK_POWERPC64; \
+ warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
+ } \
+ if (TARGET_SOFT_FLOAT && TARGET_LONG_DOUBLE_128) \
+ { \
+ rs6000_long_double_type_size = 64; \
+ if (rs6000_explicit_options.long_double) \
+ warning (0, "soft-float and long-double-128 are incompatible"); \
+ } \
+ if (TARGET_POWERPC64 && ! TARGET_64BIT) \
+ { \
+ error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \
+ } \
+ } while (0);
+
+ #undef ASM_SPEC
+ #define ASM_SPEC "-u %{maix64:-a64 %{!mcpu*:-mppc64}} %(asm_cpu)"
+
+ /* Common ASM definitions used by ASM_SPEC amongst the various targets
+ for handling -mcpu=xxx switches. */
+ #undef ASM_CPU_SPEC
+ #define ASM_CPU_SPEC \
+ "%{!mcpu*: %{!maix64: \
+ %{mpowerpc64: -mppc64} \
+ %{maltivec: -m970} \
+ %{!maltivec: %{!mpower64: %(asm_default)}}}} \
+ %{mcpu=power3: -m620} \
+ %{mcpu=power4: -mpwr4} \
+ %{mcpu=power5: -mpwr5} \
+ %{mcpu=power5+: -mpwr5x} \
+ %{mcpu=power6: -mpwr6} \
+ %{mcpu=power6x: -mpwr6} \
+ %{mcpu=powerpc: -mppc} \
+ %{mcpu=rs64a: -mppc} \
+ %{mcpu=603: -m603} \
+ %{mcpu=603e: -m603} \
+ %{mcpu=604: -m604} \
+ %{mcpu=604e: -m604} \
+ %{mcpu=620: -m620} \
+ %{mcpu=630: -m620} \
+ %{mcpu=970: -m970} \
+ %{mcpu=G5: -m970}"
+
+ #undef ASM_DEFAULT_SPEC
+ #define ASM_DEFAULT_SPEC "-mppc"
+
+ #undef TARGET_OS_CPP_BUILTINS
+ #define TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ builtin_define ("_AIX43"); \
+ builtin_define ("_AIX51"); \
+ builtin_define ("_AIX52"); \
+ builtin_define ("_AIX53"); \
+ TARGET_OS_AIX_CPP_BUILTINS (); \
+ } \
+ while (0)
+
+ #undef CPP_SPEC
+ #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \
+ %{ansi: -D_ANSI_C_SOURCE} \
+ %{maix64: -D__64BIT__} \
+ %{mpe: -I/usr/lpp/ppe.poe/include} \
+ %{pthread: -D_THREAD_SAFE}"
+
+ /* The GNU C++ standard library requires that these macros be
+ defined. Synchronize with libstdc++ os_defines.h. */
+ #undef CPLUSPLUS_CPP_SPEC
+ #define CPLUSPLUS_CPP_SPEC \
+ "-D_ALL_SOURCE \
+ %{maix64: -D__64BIT__} \
+ %{mpe: -I/usr/lpp/ppe.poe/include} \
+ %{pthread: -D_THREAD_SAFE}"
+
+ #undef TARGET_DEFAULT
+ #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS)
+
+ #undef PROCESSOR_DEFAULT
+ #define PROCESSOR_DEFAULT PROCESSOR_POWER5
+ #undef PROCESSOR_DEFAULT64
+ #define PROCESSOR_DEFAULT64 PROCESSOR_POWER5
+
+ #undef TARGET_POWER
+ #define TARGET_POWER 0
+
+ /* Define this macro as a C expression for the initializer of an
+ array of string to tell the driver program which options are
+ defaults for this target and thus do not need to be handled
+ specially when using `MULTILIB_OPTIONS'.
+
+ Do not define this macro if `MULTILIB_OPTIONS' is not defined in
+ the target makefile fragment or if none of the options listed in
+ `MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
+
+ #undef MULTILIB_DEFAULTS
+
+ #undef LIB_SPEC
+ #define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\
+ %{p:-L/lib/profiled -L/usr/lib/profiled}\
+ %{!maix64:%{!shared:%{g*:-lg}}}\
+ %{mpe:-L/usr/lpp/ppe.poe/lib -lmpi -lvtd}\
+ %{pthread:-lpthreads} -lc"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "-bpT:0x10000000 -bpD:0x20000000 %{!r:-btextro} -bnodelcsect\
+ %{static:-bnso %(link_syscalls) } %{shared:-bM:SRE %{!e:-bnoentry}}\
+ %{!maix64:%{!shared:%{g*: %(link_libg) }}} %{maix64:-b64}\
+ %{mpe:-binitfini:poe_remote_main}"
+
+ #undef STARTFILE_SPEC
+ #define STARTFILE_SPEC "%{!shared:\
+ %{maix64:%{pg:gcrt0_64%O%s}%{!pg:%{p:mcrt0_64%O%s}%{!p:crt0_64%O%s}}}\
+ %{!maix64:\
+ %{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
+ %{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}"
+
+ /* AIX V5 typedefs ptrdiff_t as "long" while earlier releases used "int". */
+
+ #undef PTRDIFF_TYPE
+ #define PTRDIFF_TYPE "long int"
+
+ /* Type used for wchar_t, as a string used in a declaration. */
+ #undef WCHAR_TYPE
+ #define WCHAR_TYPE (!TARGET_64BIT ? "short unsigned int" : "unsigned int")
+
+ /* Width of wchar_t in bits. */
+ #undef WCHAR_TYPE_SIZE
+ #define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32)
+
+ /* AIX V5 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
+ and "cror 31,31,31" for POWER architecture. */
+
+ #undef RS6000_CALL_GLUE
+ #define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
+
+ /* AIX 4.2 and above provides initialization and finalization function
+ support from linker command line. */
+ #undef HAS_INIT_SECTION
+ #define HAS_INIT_SECTION
+
+ #undef LD_INIT_SWITCH
+ #define LD_INIT_SWITCH "-binitfini"
+
+ /* AIX 5.2 has the float and long double forms of math functions. */
+ #undef TARGET_C99_FUNCTIONS
+ #define TARGET_C99_FUNCTIONS 1
+
+ #ifndef _AIX52
+ extern long long int atoll(const char *);
+ #endif
+
+ /* This target uses the aix64.opt file. */
+ #define TARGET_USES_AIX64_OPT 1
*** gcc/config/rs6000/aix61.h.ORIG Tue Jan 29 09:31:55 2008
--- gcc/config/rs6000/aix61.h Mon Jan 28 23:27:34 2008
***************
*** 0 ****
--- 1,197 ----
+ /* Definitions of target machine for GNU compiler,
+ for IBM RS/6000 POWER running AIX V5.3.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ Free Software Foundation, Inc.
+ Contributed by David Edelsohn (edelsohn@gnu.org).
+
+ This file is part of GCC.
+
+ 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 3, or (at your
+ option) any later version.
+
+ 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 GCC; see the file COPYING3. If not see
+ . */
+
+ /* Sometimes certain combinations of command options do not make sense
+ on a particular target machine. You can define a macro
+ `OVERRIDE_OPTIONS' to take account of this. This macro, if
+ defined, is executed once just after all the command options have
+ been parsed.
+
+ The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+ get control. */
+
+ #define NON_POWERPC_MASKS (MASK_POWER | MASK_POWER2)
+ #define SUBTARGET_OVERRIDE_OPTIONS \
+ do { \
+ if (TARGET_64BIT && (target_flags & NON_POWERPC_MASKS)) \
+ { \
+ target_flags &= ~NON_POWERPC_MASKS; \
+ warning (0, "-maix64 and POWER architecture are incompatible"); \
+ } \
+ if (TARGET_64BIT && ! TARGET_POWERPC64) \
+ { \
+ target_flags |= MASK_POWERPC64; \
+ warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
+ } \
+ if (TARGET_SOFT_FLOAT && TARGET_LONG_DOUBLE_128) \
+ { \
+ rs6000_long_double_type_size = 64; \
+ if (rs6000_explicit_options.long_double) \
+ warning (0, "soft-float and long-double-128 are incompatible"); \
+ } \
+ if (TARGET_POWERPC64 && ! TARGET_64BIT) \
+ { \
+ error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \
+ } \
+ } while (0);
+
+ #undef ASM_SPEC
+ #define ASM_SPEC "-u %{maix64:-a64 %{!mcpu*:-mppc64}} %(asm_cpu)"
+
+ /* Common ASM definitions used by ASM_SPEC amongst the various targets
+ for handling -mcpu=xxx switches. */
+ #undef ASM_CPU_SPEC
+ #define ASM_CPU_SPEC \
+ "%{!mcpu*: %{!maix64: \
+ %{mpowerpc64: -mppc64} \
+ %{maltivec: -m970} \
+ %{!maltivec: %{!mpower64: %(asm_default)}}}} \
+ %{mcpu=power3: -m620} \
+ %{mcpu=power4: -mpwr4} \
+ %{mcpu=power5: -mpwr5} \
+ %{mcpu=power5+: -mpwr5x} \
+ %{mcpu=power6: -mpwr6} \
+ %{mcpu=power6x: -mpwr6} \
+ %{mcpu=powerpc: -mppc} \
+ %{mcpu=rs64a: -mppc} \
+ %{mcpu=603: -m603} \
+ %{mcpu=603e: -m603} \
+ %{mcpu=604: -m604} \
+ %{mcpu=604e: -m604} \
+ %{mcpu=620: -m620} \
+ %{mcpu=630: -m620} \
+ %{mcpu=970: -m970} \
+ %{mcpu=G5: -m970}"
+
+ #undef ASM_DEFAULT_SPEC
+ #define ASM_DEFAULT_SPEC "-mppc"
+
+ #undef TARGET_OS_CPP_BUILTINS
+ #define TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ builtin_define ("_AIX43"); \
+ builtin_define ("_AIX51"); \
+ builtin_define ("_AIX52"); \
+ builtin_define ("_AIX53"); \
+ builtin_define ("_AIX61"); \
+ TARGET_OS_AIX_CPP_BUILTINS (); \
+ } \
+ while (0)
+
+ #undef CPP_SPEC
+ #define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \
+ %{ansi: -D_ANSI_C_SOURCE} \
+ %{maix64: -D__64BIT__} \
+ %{mpe: -I/usr/lpp/ppe.poe/include} \
+ %{pthread: -D_THREAD_SAFE}"
+
+ /* The GNU C++ standard library requires that these macros be
+ defined. Synchronize with libstdc++ os_defines.h. */
+ #undef CPLUSPLUS_CPP_SPEC
+ #define CPLUSPLUS_CPP_SPEC \
+ "-D_ALL_SOURCE -D__COMPATMATH__ \
+ %{maix64: -D__64BIT__} \
+ %{mpe: -I/usr/lpp/ppe.poe/include} \
+ %{pthread: -D_THREAD_SAFE}"
+
+ #undef TARGET_DEFAULT
+ #define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS)
+
+ #undef PROCESSOR_DEFAULT
+ #define PROCESSOR_DEFAULT PROCESSOR_POWER5
+ #undef PROCESSOR_DEFAULT64
+ #define PROCESSOR_DEFAULT64 PROCESSOR_POWER5
+
+ #undef TARGET_POWER
+ #define TARGET_POWER 0
+
+ /* Define this macro as a C expression for the initializer of an
+ array of string to tell the driver program which options are
+ defaults for this target and thus do not need to be handled
+ specially when using `MULTILIB_OPTIONS'.
+
+ Do not define this macro if `MULTILIB_OPTIONS' is not defined in
+ the target makefile fragment or if none of the options listed in
+ `MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
+
+ #undef MULTILIB_DEFAULTS
+
+ #undef LIB_SPEC
+ #define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\
+ %{p:-L/lib/profiled -L/usr/lib/profiled}\
+ %{!maix64:%{!shared:%{g*:-lg}}}\
+ %{mpe:-L/usr/lpp/ppe.poe/lib -lmpi -lvtd}\
+ %{pthread:-lpthreads} -lc"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "-bpT:0x10000000 -bpD:0x20000000 %{!r:-btextro} -bnodelcsect\
+ %{static:-bnso %(link_syscalls) } %{shared:-bM:SRE %{!e:-bnoentry}}\
+ %{!maix64:%{!shared:%{g*: %(link_libg) }}} %{maix64:-b64}\
+ %{mpe:-binitfini:poe_remote_main}"
+
+ #undef STARTFILE_SPEC
+ #define STARTFILE_SPEC "%{!shared:\
+ %{maix64:%{pg:gcrt0_64%O%s}%{!pg:%{p:mcrt0_64%O%s}%{!p:crt0_64%O%s}}}\
+ %{!maix64:\
+ %{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
+ %{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}"
+
+ /* AIX V5 typedefs ptrdiff_t as "long" while earlier releases used "int". */
+
+ #undef PTRDIFF_TYPE
+ #define PTRDIFF_TYPE "long int"
+
+ /* Type used for wchar_t, as a string used in a declaration. */
+ #undef WCHAR_TYPE
+ #define WCHAR_TYPE (!TARGET_64BIT ? "short unsigned int" : "unsigned int")
+
+ /* Width of wchar_t in bits. */
+ #undef WCHAR_TYPE_SIZE
+ #define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32)
+
+ /* AIX V5 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
+ and "cror 31,31,31" for POWER architecture. */
+
+ #undef RS6000_CALL_GLUE
+ #define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
+
+ /* AIX 4.2 and above provides initialization and finalization function
+ support from linker command line. */
+ #undef HAS_INIT_SECTION
+ #define HAS_INIT_SECTION
+
+ #undef LD_INIT_SWITCH
+ #define LD_INIT_SWITCH "-binitfini"
+
+ /* AIX 5.2 has the float and long double forms of math functions. */
+ #undef TARGET_C99_FUNCTIONS
+ #define TARGET_C99_FUNCTIONS 1
+
+ #ifndef _AIX52
+ extern long long int atoll(const char *);
+ #endif
+
+ /* This target uses the aix64.opt file. */
+ #define TARGET_USES_AIX64_OPT 1
+
+ #define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128
*** gcc/config/rs6000/rs6000-c.c.ORIG Tue Feb 19 23:52:38 2008
--- gcc/config/rs6000/rs6000-c.c Tue Jan 29 15:59:30 2008
***************
*** 131,137 ****
RS6000_CPU_CPP_ENDIAN_BUILTINS();
if (TARGET_LONG_DOUBLE_128)
! builtin_define ("__LONG_DOUBLE_128__");
switch (rs6000_current_abi)
{
--- 131,140 ----
RS6000_CPU_CPP_ENDIAN_BUILTINS();
if (TARGET_LONG_DOUBLE_128)
! {
! builtin_define ("__LONG_DOUBLE_128__");
! builtin_define ("__LONGDOUBLE128");
! }
switch (rs6000_current_abi)
{
*** libstdc++-v3/config/os/aix/os_defines.h.ORIG Tue Feb 19 23:53:59 2008
--- libstdc++-v3/config/os/aix/os_defines.h Tue Jan 29 14:23:29 2008
***************
*** 1,6 ****
// Specific definitions for AIX -*- C++ -*-
! // Copyright (C) 2000, 2002, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
--- 1,6 ----
// Specific definitions for AIX -*- C++ -*-
! // Copyright (C) 2000, 2002, 2005, 2008 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
***************
*** 46,51 ****
--- 46,56 ----
// atomic types
#ifndef _ALL_SOURCE
#define _ALL_SOURCE
+ #endif
+
+ // C99 math
+ #ifndef __COMPATMATH__
+ #define __COMPATMATH__
#endif
#endif