X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fconfig.gcc;h=e9d46c1a027da44c8241b6c0731032af221df456;hb=300b0e0817a85c8c855f265eeb6e7bdea3160645;hp=9aea7ced157fc88767017d907807125b268eb709;hpb=7a1e3d60ec9bc3c379a6e4d89c86c8ff927f1e37;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/config.gcc b/gcc/config.gcc index 9aea7ced157..e9d46c1a027 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -34,9 +34,14 @@ # threads support was requested. # # default_use_cxa_atexit -# "no" by default, can be set to "yes" if a target -# wishes to use __cxa_atexit() by default if the -# $enable___cxa_atexit variable is not set. +# The default value for the $enable___cxa_atexit +# variable. enable___cxa_atexit needs to be set to +# "yes" for the correct operation of C++ destructors +# but it relies upon the presence of a non-standard C +# library function called __cxa_atexit. +# Since not all C libraries provide __cxa_atexit the +# default value of $default_use_cxa_atexit is set to +# "no" except for targets which are known to be OK. # # gas_flag Either yes or no depending on whether GNU as was # requested. @@ -461,6 +466,8 @@ case ${target} in tm_defines="${tm_defines} UCLIBC_DEFAULT=0" ;; esac + # Assume that glibc or uClibc are being used and so __cxa_atexit is provided. + default_use_cxa_atexit=yes ;; *-*-gnu*) # On the Hurd, the setup is just about the same on @@ -482,6 +489,8 @@ case ${target} in tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}" ;; esac + # Assume that glibc is being used and so __cxa_atexit is provided. + default_use_cxa_atexit=yes ;; *-*-netbsd*) tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd t-libgcc-pic" @@ -551,6 +560,10 @@ case ${target} in *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;; esac ;; +*-*-elf) + # Assume that newlib is being used and so __cxa_atexit is provided. + default_use_cxa_atexit=yes + ;; esac case ${target} in @@ -1060,7 +1073,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu) 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" + 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 \ @@ -1069,7 +1082,7 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) 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" + tmake_file="${tmake_file} i386/t-linux64 i386/t-crtfm t-dfprules" ;; i[34567]86-*-gnu*) ;; @@ -2817,7 +2830,7 @@ case "${target}" in "" | sparc | sparcv9 | sparc64 | sparc86x \ | v7 | cypress | v8 | supersparc | sparclite | f930 \ | f934 | hypersparc | sparclite86x | sparclet | tsc701 \ - | v9 | ultrasparc | ultrasparc3) + | v9 | ultrasparc | ultrasparc3 | niagara) # OK ;; *)