diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-05-11 11:13:27 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-05-11 11:13:27 +0000 |
commit | c41143fb1d63596ff2a0f6da741b4bae73b8be16 (patch) | |
tree | d70c0763693cfef7bc877f21e079986944261a5f /gcc/configure | |
parent | eb0badc13724022c8828a55e516d0eecdc487cc3 (diff) | |
download | gcc-c41143fb1d63596ff2a0f6da741b4bae73b8be16.tar.gz |
2011-05-11 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 173647 using svnmerge
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@173652 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/configure')
-rwxr-xr-x | gcc/configure | 109 |
1 files changed, 78 insertions, 31 deletions
diff --git a/gcc/configure b/gcc/configure index a4549469816..fe21f86fe32 100755 --- a/gcc/configure +++ b/gcc/configure @@ -618,6 +618,8 @@ xm_include_list xm_file_list tm_p_include_list tm_p_file_list +libgcc_tm_include_list +libgcc_tm_file_list tm_defines tm_include_list tm_file_list @@ -10790,7 +10792,7 @@ case ${enable_threads} in target_thread_file='single' ;; aix | dce | gnat | irix | posix | posix95 | rtems | \ - single | solaris | vxworks | win32 | mipssde) + single | vxworks | win32 | mipssde) target_thread_file=${enable_threads} ;; *) @@ -11233,6 +11235,13 @@ for f in $tm_file; do esac done +libgcc_tm_file_list= +libgcc_tm_include_list= +for f in $libgcc_tm_file; do + libgcc_tm_file_list="${libgcc_tm_file_list} \$(srcdir)/../libgcc/config/$f" + libgcc_tm_include_list="${libgcc_tm_include_list} ../libgcc/config/$f" +done + tm_p_file_list= tm_p_include_list= for f in $tm_p_file; do @@ -17505,7 +17514,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 17508 "configure" +#line 17517 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -17611,7 +17620,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 17614 "configure" +#line 17623 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -21096,7 +21105,8 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking what linker to use" >&5 $as_echo_n "checking what linker to use... " >&6; } -if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext; then +if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext \ + || test "$gcc_cv_ld" = ../gold/ld-new$build_exeext; then # Single tree build which includes ld. We want to prefer it # over whatever linker top-level may have detected, since # we'll use what we're building after installation anyway. @@ -21108,6 +21118,8 @@ $as_echo "newly built ld" >&6; } || grep 'EMUL = .*linux' ../ld/Makefile \ || grep 'EMUL = .*lynx' ../ld/Makefile) > /dev/null; then in_tree_ld_is_elf=yes + elif test "$ld_is_gold" = yes; then + in_tree_ld_is_elf=yes fi for f in $gcc_cv_ld_bfd_srcdir/configure $gcc_cv_ld_gld_srcdir/configure $gcc_cv_ld_gld_srcdir/configure.in $gcc_cv_ld_gld_srcdir/Makefile.in do @@ -21716,11 +21728,23 @@ fi if test $in_tree_ld != yes ; then ld_ver=`$gcc_cv_ld --version 2>/dev/null | sed 1q` - if test x"$ld_is_gold" = xyes; then - gcc_cv_ld_hidden=yes - elif echo "$ld_ver" | grep GNU > /dev/null; then - ld_vers=`echo $ld_ver | sed -n \ - -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'` + if echo "$ld_ver" | grep GNU > /dev/null; then + if test x"$ld_is_gold" = xyes; then + # GNU gold --version looks like this: + # + # GNU gold (GNU Binutils 2.21.51.20110225) 1.11 + # + # We extract the binutils version which is more familiar and specific + # than the gold version. + ld_vers=`echo $ld_ver | sed -n \ + -e 's,^[^)]*[ ]\([0-9][0-9]*\.[0-9][0-9]*[^)]*\)) .*$,\1,p'` + else + # GNU ld --version looks like this: + # + # GNU ld (GNU Binutils) 2.21.51.20110225 + ld_vers=`echo $ld_ver | sed -n \ + -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*.*\)$,\1,p'` + fi ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'` ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` @@ -21762,7 +21786,9 @@ else fi else gcc_cv_ld_hidden=yes - if echo "$ld_ver" | grep GNU > /dev/null; then + if test x"$ld_is_gold" = xyes; then + : + elif echo "$ld_ver" | grep GNU > /dev/null; then if test 0"$ld_date" -lt 20020404; then if test -n "$ld_date"; then # If there was date string, but was earlier than 2002-04-04, fail @@ -23115,24 +23141,34 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker plugin support" >&5 $as_echo_n "checking linker plugin support... " >&6; } -gcc_cv_lto_plugin=no +gcc_cv_lto_plugin=0 if test -f liblto_plugin.la; then - if test $in_tree_ld = yes -a x"$ORIGINAL_PLUGIN_LD_FOR_TARGET=" = x"$gcc_cv_ld"; then - if test x"$ld_is_gold" = xyes; then - gcc_cv_lto_plugin=yes - elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 21 -o "$gcc_cv_gld_major_version" -gt 2; then \ - gcc_cv_lto_plugin=yes + if test $in_tree_ld = yes -a x"$ORIGINAL_PLUGIN_LD_FOR_TARGET" = x"$gcc_cv_ld"; then + if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 21 -o "$gcc_cv_gld_major_version" -gt 2; then + gcc_cv_lto_plugin=2 + elif test "$ld_is_gold" = yes -a "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -eq 20; then + gcc_cv_lto_plugin=1 + + fi + elif test x"$ORIGINAL_PLUGIN_LD_FOR_TARGET" = x"$gcc_cv_ld" && echo "$ld_ver" | grep GNU > /dev/null; then + # Require GNU ld or gold 2.21+ for plugin support by default. + if test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -ge 21; then + gcc_cv_lto_plugin=2 + # Allow -fuse-linker-plugin to enable plugin support in GNU gold 2.20. + elif test "$ld_is_gold" = yes -a "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -eq 20; then + gcc_cv_lto_plugin=1 fi - # Check if the linker supports --plugin-opt option - elif $ORIGINAL_PLUGIN_LD_FOR_TARGET --help 2>/dev/null | grep plugin-opt > /dev/null; then - gcc_cv_lto_plugin=yes + elif test x"$ORIGINAL_PLUGIN_LD_FOR_TARGET" != x"$gcc_cv_ld"; then + # Allow -fuse-linker-plugin if plugin linker differs from + # default/specified linker. + gcc_cv_lto_plugin=1 fi fi -if test x"$gcc_cv_lto_plugin" = xyes; then -$as_echo "#define HAVE_LTO_PLUGIN 1" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define HAVE_LTO_PLUGIN $gcc_cv_lto_plugin +_ACEOF -fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_lto_plugin" >&5 $as_echo "$gcc_cv_lto_plugin" >&6; } @@ -23332,6 +23368,7 @@ else gcc_cv_as_sparc_gotdata_op=no if test x$gcc_cv_as != x; then echo '.text +.align 4 foo: nop bar: @@ -23347,17 +23384,13 @@ bar: then if test x$gcc_cv_ld != x \ && $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1; then - if $gcc_cv_ld -v | grep GNU >/dev/null 2>&1; then - if test x$gcc_cv_objdump != x; then - if $gcc_cv_objdump -s -j .text conftest 2> /dev/null \ - | grep ' 03000004 82186004 c405c001'> /dev/null 2>&1; then + if test x$gcc_cv_objdump != x; then + if $gcc_cv_objdump -s -j .text conftest 2> /dev/null \ + | grep ' 03000004 82186004 c405c001'> /dev/null 2>&1; then gcc_cv_as_sparc_gotdata_op=no - else + else gcc_cv_as_sparc_gotdata_op=yes - fi fi - else - gcc_cv_as_sparc_gotdata_op=yes fi fi rm -f conftest @@ -25792,12 +25825,24 @@ $as_echo "#define TARGET_LIBC_PROVIDES_SSP 1" >>confdefs.h fi +# Test for <sys/sdt.h> on the target. + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5 +$as_echo_n "checking sys/sdt.h in the target C library... " >&6; } +have_sys_sdt_h=no +if test -f $target_header_dir/sys/sdt.h; then + +$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5 +$as_echo "$have_sys_sdt_h" >&6; } + # Check if TFmode long double should be used by default or not. # Some glibc targets used DFmode long double, but with glibc 2.4 # and later they can use TFmode. case "$target" in powerpc*-*-linux* | \ - powerpc*-*-gnu* | \ sparc*-*-linux* | \ s390*-*-linux* | \ alpha*-*-linux*) @@ -26187,6 +26232,8 @@ fi + + # Echo link setup. if test x${build} = x${host} ; then if test x${host} = x${target} ; then |