diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0017-libgfortran.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0017-libgfortran.patch | 837 |
1 files changed, 837 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0017-libgfortran.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0017-libgfortran.patch new file mode 100644 index 0000000000..a2df0f7e50 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0017-libgfortran.patch @@ -0,0 +1,837 @@ +From d70e14fe2c9c3fc20d9bc1dca7cfcc3d6bb1301e Mon Sep 17 00:00:00 2001 +From: ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Mon, 28 Mar 2011 17:09:27 +0000 +Subject: [PATCH 017/200] libgfortran: + backport from mainline: + 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + PR bootstrap/48135 + * configure.ac (gfortran_use_symver): Handle --disable-symvers. + * configure: Regenerate. + + libgomp: + backport from mainline: + 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + PR bootstrap/48135 + * acinclude.m4 (enable_symvers): Handle --disable-symvers. + * configure: Regenerate. + + libjava: + backport from mainline: + 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + PR bootstrap/48135 + * configure.ac (libjava_cv_anon_version_script): Handle + --disable-symvers. + * configure: Regenerate. + + libquadmath: + backport from mainline: + 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + PR bootstrap/48135 + * configure.ac (quadmath_use_symver): Handle --disable-symvers. + * configure: Regenerate. + + libssp: + backport from mainline: + 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + PR bootstrap/48135 + * configure.ac (ssp_use_symver): Handle --disable-symvers. + * configure: Regenerate. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171617 138bc75d-0d04-0410-961f-82ee72b054a4 + +index 13a079f..5a81735 100755 +--- a/libgfortran/configure ++++ b/libgfortran/configure +@@ -757,6 +757,7 @@ enable_intermodule + enable_maintainer_mode + enable_multilib + enable_dependency_tracking ++enable_symvers + enable_shared + enable_static + with_pic +@@ -1406,6 +1407,7 @@ Optional Features: + --enable-multilib build many library versions (default) + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors ++ --disable-symvers disable symbol versioning for libgfortran + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] +@@ -5564,14 +5566,22 @@ fi + # Check for symbol versioning (copied from libssp). + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symbol versioning is supported" >&5 + $as_echo_n "checking whether symbol versioning is supported... " >&6; } +-save_LDFLAGS="$LDFLAGS" +-LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" +-cat > conftest.map <<EOF ++# Check whether --enable-symvers was given. ++if test "${enable_symvers+set}" = set; then : ++ enableval=$enable_symvers; gfortran_use_symver=$enableval ++else ++ gfortran_use_symver=yes ++fi ++ ++if test "x$gfortran_use_symver" = xyes; then ++ save_LDFLAGS="$LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" ++ cat > conftest.map <<EOF + FOO_1.0 { + global: *foo*; bar; local: *; + }; + EOF +-if test x$gcc_no_link = xyes; then ++ if test x$gcc_no_link = xyes; then + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 + fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5592,18 +5602,18 @@ else + fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +-if test x$gfortran_use_symver = xno; then +- case "$target_os" in +- solaris2*) +- LDFLAGS="$save_LDFLAGS" +- LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" +- # Sun ld cannot handle wildcards and treats all entries as undefined. +- cat > conftest.map <<EOF ++ if test x$gfortran_use_symver = xno; then ++ case "$target_os" in ++ solaris2*) ++ LDFLAGS="$save_LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" ++ # Sun ld cannot handle wildcards and treats all entries as undefined. ++ cat > conftest.map <<EOF + FOO_1.0 { + global: foo; local: *; + }; + EOF +- if test x$gcc_no_link = xyes; then ++ if test x$gcc_no_link = xyes; then + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 + fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5624,10 +5634,11 @@ else + fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +- ;; +- esac ++ ;; ++ esac ++ fi ++ LDFLAGS="$save_LDFLAGS" + fi +-LDFLAGS="$save_LDFLAGS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gfortran_use_symver" >&5 + $as_echo "$gfortran_use_symver" >&6; } + if test "x$gfortran_use_symver" != xno; then +@@ -12101,7 +12112,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12104 "configure" ++#line 12115 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -12207,7 +12218,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12210 "configure" ++#line 12221 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac +index 66468db..e265ccd 100644 +--- a/libgfortran/configure.ac ++++ b/libgfortran/configure.ac +@@ -144,30 +144,37 @@ AC_SUBST(CFLAGS) + + # Check for symbol versioning (copied from libssp). + AC_MSG_CHECKING([whether symbol versioning is supported]) +-save_LDFLAGS="$LDFLAGS" +-LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" +-cat > conftest.map <<EOF ++AC_ARG_ENABLE(symvers, ++AS_HELP_STRING([--disable-symvers], ++ [disable symbol versioning for libgfortran]), ++gfortran_use_symver=$enableval, ++gfortran_use_symver=yes) ++if test "x$gfortran_use_symver" = xyes; then ++ save_LDFLAGS="$LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" ++ cat > conftest.map <<EOF + FOO_1.0 { + global: *foo*; bar; local: *; + }; + EOF +-AC_TRY_LINK([int foo;],[],[gfortran_use_symver=gnu],[gfortran_use_symver=no]) +-if test x$gfortran_use_symver = xno; then +- case "$target_os" in +- solaris2*) +- LDFLAGS="$save_LDFLAGS" +- LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" +- # Sun ld cannot handle wildcards and treats all entries as undefined. +- cat > conftest.map <<EOF ++ AC_TRY_LINK([int foo;],[],[gfortran_use_symver=gnu],[gfortran_use_symver=no]) ++ if test x$gfortran_use_symver = xno; then ++ case "$target_os" in ++ solaris2*) ++ LDFLAGS="$save_LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" ++ # Sun ld cannot handle wildcards and treats all entries as undefined. ++ cat > conftest.map <<EOF + FOO_1.0 { + global: foo; local: *; + }; + EOF +- AC_TRY_LINK([int foo;],[],[gfortran_use_symver=sun],[gfortran_use_symver=no]) +- ;; +- esac ++ AC_TRY_LINK([int foo;],[],[gfortran_use_symver=sun],[gfortran_use_symver=no]) ++ ;; ++ esac ++ fi ++ LDFLAGS="$save_LDFLAGS" + fi +-LDFLAGS="$save_LDFLAGS" + AC_MSG_RESULT($gfortran_use_symver) + AM_CONDITIONAL(LIBGFOR_USE_SYMVER, [test "x$gfortran_use_symver" != xno]) + AM_CONDITIONAL(LIBGFOR_USE_SYMVER_GNU, [test "x$gfortran_use_symver" = xgnu]) +index eb876b9..4a4b62f 100644 +--- a/libgomp/acinclude.m4 ++++ b/libgomp/acinclude.m4 +@@ -228,20 +228,24 @@ LIBGOMP_ENABLE(symvers,yes,[=STYLE], + # If we never went through the LIBGOMP_CHECK_LINKER_FEATURES macro, then we + # don't know enough about $LD to do tricks... + AC_REQUIRE([LIBGOMP_CHECK_LINKER_FEATURES]) +-# FIXME The following test is too strict, in theory. +-if test $enable_shared = no || test "x$LD" = x; then +- enable_symvers=no +-else +- if test $with_gnu_ld = yes ; then +- enable_symvers=gnu ++ ++# Turn a 'yes' into a suitable default. ++if test x$enable_symvers = xyes ; then ++ # FIXME The following test is too strict, in theory. ++ if test $enable_shared = no || test "x$LD" = x; then ++ enable_symvers=no + else +- case ${target_os} in +- # Sun symbol versioning exists since Solaris 2.5. +- solaris2.[[5-9]]* | solaris2.1[[0-9]]*) +- enable_symvers=sun ;; +- *) +- enable_symvers=no ;; +- esac ++ if test $with_gnu_ld = yes ; then ++ enable_symvers=gnu ++ else ++ case ${target_os} in ++ # Sun symbol versioning exists since Solaris 2.5. ++ solaris2.[[5-9]]* | solaris2.1[[0-9]]*) ++ enable_symvers=sun ;; ++ *) ++ enable_symvers=no ;; ++ esac ++ fi + fi + fi + +diff --git a/libgomp/configure b/libgomp/configure +index 3368c0e..50dc29a 100755 +--- a/libgomp/configure ++++ b/libgomp/configure +@@ -15780,20 +15780,24 @@ fi + # If we never went through the LIBGOMP_CHECK_LINKER_FEATURES macro, then we + # don't know enough about $LD to do tricks... + +-# FIXME The following test is too strict, in theory. +-if test $enable_shared = no || test "x$LD" = x; then +- enable_symvers=no +-else +- if test $with_gnu_ld = yes ; then +- enable_symvers=gnu ++ ++# Turn a 'yes' into a suitable default. ++if test x$enable_symvers = xyes ; then ++ # FIXME The following test is too strict, in theory. ++ if test $enable_shared = no || test "x$LD" = x; then ++ enable_symvers=no + else +- case ${target_os} in +- # Sun symbol versioning exists since Solaris 2.5. +- solaris2.[5-9]* | solaris2.1[0-9]*) +- enable_symvers=sun ;; +- *) +- enable_symvers=no ;; +- esac ++ if test $with_gnu_ld = yes ; then ++ enable_symvers=gnu ++ else ++ case ${target_os} in ++ # Sun symbol versioning exists since Solaris 2.5. ++ solaris2.[5-9]* | solaris2.1[0-9]*) ++ enable_symvers=sun ;; ++ *) ++ enable_symvers=no ;; ++ esac ++ fi + fi + fi + +index f79e53b..2a57e13 100755 +--- a/libjava/configure ++++ b/libjava/configure +@@ -959,6 +959,7 @@ enable_rpath + with_libiconv_prefix + enable_tls + with_system_libunwind ++enable_symvers + with_python_dir + enable_aot_compile_rpm + enable_java_home +@@ -1648,6 +1649,7 @@ Optional Features: + --enable-java-gc=TYPE choose garbage collector (default is boehm) + --disable-rpath do not hardcode runtime library paths + --enable-tls Use thread-local storage [default=yes] ++ --disable-symvers disable symbol versioning for libjava + --enable-aot-compile-rpm + enable installation of aot-compile-rpm [default=no] + --enable-java-home create a standard JDK-style directory layout in the +@@ -13344,7 +13346,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 13347 "configure" ++#line 13349 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -13450,7 +13452,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 13453 "configure" ++#line 13455 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -19443,7 +19445,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then : + enableval=$enable_sjlj_exceptions; : + else + cat > conftest.$ac_ext << EOF +-#line 19446 "configure" ++#line 19448 "configure" + struct S { ~S(); }; + void bar(); + void foo() +@@ -24530,12 +24532,24 @@ $as_echo_n "checking whether ld supports anonymous version scripts... " >&6; } + if test "${libjava_cv_anon_version_script+set}" = set; then : + $as_echo_n "(cached) " >&6 + else +- save_CFLAGS="$CFLAGS"; save_LDFLAGS="$LDFLAGS" +- libjava_cv_anon_version_script=no +- CFLAGS="$CFLAGS -fPIC"; +- LDFLAGS="$LDFLAGS -shared -Wl,--version-script,conftest.map" +- echo '{ global: globalsymb*; local: *; };' > conftest.map +- if test x$gcc_no_link = xyes; then ++ # Check whether --enable-symvers was given. ++if test "${enable_symvers+set}" = set; then : ++ enableval=$enable_symvers; case "$enableval" in ++ yes) libjava_cv_anon_version_script=yes ;; ++ no) libjava_cv_anon_version_script=no ;; ++ *) as_fn_error "Unknown argument to enable/disable symvers" "$LINENO" 5;; ++ esac ++else ++ libjava_cv_anon_version_script=yes ++ ++fi ++ ++ if test x$libjava_cv_anon_version_script = xyes; then ++ save_CFLAGS="$CFLAGS"; save_LDFLAGS="$LDFLAGS" ++ CFLAGS="$CFLAGS -fPIC"; ++ LDFLAGS="$LDFLAGS -shared -Wl,--version-script,conftest.map" ++ echo '{ global: globalsymb*; local: *; };' > conftest.map ++ if test x$gcc_no_link = xyes; then + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 + fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -24551,17 +24565,19 @@ main () + _ACEOF + if ac_fn_c_try_link "$LINENO"; then : + libjava_cv_anon_version_script=gnu ++else ++ libjava_cv_anon_version_script=no + fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +- if test x$libjava_cv_anon_version_script = xno; then +- case "$target_os" in +- solaris2*) +- LDFLAGS="$save_LDFLAGS" +- LDFLAGS="$LDFLAGS -shared -Wl,-M,conftest.map" +- # Sun ld doesn't understand wildcards here. +- echo '{ global: globalsymbol; local: *; };' > conftest.map +- if test x$gcc_no_link = xyes; then ++ if test x$libjava_cv_anon_version_script = xno; then ++ case "$target_os" in ++ solaris2*) ++ LDFLAGS="$save_LDFLAGS" ++ LDFLAGS="$LDFLAGS -shared -Wl,-M,conftest.map" ++ # Sun ld doesn't understand wildcards here. ++ echo '{ global: globalsymbol; local: *; };' > conftest.map ++ if test x$gcc_no_link = xyes; then + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 + fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -24580,10 +24596,11 @@ if ac_fn_c_try_link "$LINENO"; then : + fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +- ;; +- esac ++ ;; ++ esac ++ fi ++ CFLAGS="$save_CFLAGS"; LDFLAGS="$save_LDFLAGS" + fi +- CFLAGS="$save_CFLAGS"; LDFLAGS="$save_LDFLAGS" + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libjava_cv_anon_version_script" >&5 +diff --git a/libjava/configure.ac b/libjava/configure.ac +index 8187eec..c5bb1a0 100644 +--- a/libjava/configure.ac ++++ b/libjava/configure.ac +@@ -1800,26 +1800,38 @@ GCC_CHECK_UNWIND_GETIPINFO + # See if linker supports anonymous version scripts. + AC_CACHE_CHECK([whether ld supports anonymous version scripts], + [libjava_cv_anon_version_script], +- [save_CFLAGS="$CFLAGS"; save_LDFLAGS="$LDFLAGS" +- libjava_cv_anon_version_script=no +- CFLAGS="$CFLAGS -fPIC"; +- LDFLAGS="$LDFLAGS -shared -Wl,--version-script,conftest.map" +- echo '{ global: globalsymb*; local: *; };' > conftest.map +- AC_TRY_LINK(void globalsymbol (void) {} void localsymbol (void) {},, +- [libjava_cv_anon_version_script=gnu], []) +- if test x$libjava_cv_anon_version_script = xno; then +- case "$target_os" in +- solaris2*) +- LDFLAGS="$save_LDFLAGS" +- LDFLAGS="$LDFLAGS -shared -Wl,-M,conftest.map" +- # Sun ld doesn't understand wildcards here. +- echo '{ global: globalsymbol; local: *; };' > conftest.map +- AC_TRY_LINK(void globalsymbol (void) {} void localsymbol (void) {},, +- [libjava_cv_anon_version_script=sun], []) +- ;; +- esac ++ [AC_ARG_ENABLE(symvers, ++ AS_HELP_STRING([--disable-symvers], ++ [disable symbol versioning for libjava]), ++ [case "$enableval" in ++ yes) libjava_cv_anon_version_script=yes ;; ++ no) libjava_cv_anon_version_script=no ;; ++ *) AC_MSG_ERROR([Unknown argument to enable/disable symvers]);; ++ esac], ++ [libjava_cv_anon_version_script=yes] ++ ) ++ if test x$libjava_cv_anon_version_script = xyes; then ++ save_CFLAGS="$CFLAGS"; save_LDFLAGS="$LDFLAGS" ++ CFLAGS="$CFLAGS -fPIC"; ++ LDFLAGS="$LDFLAGS -shared -Wl,--version-script,conftest.map" ++ echo '{ global: globalsymb*; local: *; };' > conftest.map ++ AC_TRY_LINK(void globalsymbol (void) {} void localsymbol (void) {},, ++ [libjava_cv_anon_version_script=gnu], ++ [libjava_cv_anon_version_script=no]) ++ if test x$libjava_cv_anon_version_script = xno; then ++ case "$target_os" in ++ solaris2*) ++ LDFLAGS="$save_LDFLAGS" ++ LDFLAGS="$LDFLAGS -shared -Wl,-M,conftest.map" ++ # Sun ld doesn't understand wildcards here. ++ echo '{ global: globalsymbol; local: *; };' > conftest.map ++ AC_TRY_LINK(void globalsymbol (void) {} void localsymbol (void) {},, ++ [libjava_cv_anon_version_script=sun], []) ++ ;; ++ esac ++ fi ++ CFLAGS="$save_CFLAGS"; LDFLAGS="$save_LDFLAGS" + fi +- CFLAGS="$save_CFLAGS"; LDFLAGS="$save_LDFLAGS" + ]) + AM_CONDITIONAL(ANONVERSCRIPT, test "$libjava_cv_anon_version_script" != no) + AM_CONDITIONAL(ANONVERSCRIPT_GNU, test "$libjava_cv_anon_version_script" = gnu) +index 8735ac5..7f78ea1 100755 +--- a/libquadmath/configure ++++ b/libquadmath/configure +@@ -747,6 +747,7 @@ with_gnu_ld + enable_libtool_lock + enable_maintainer_mode + enable_multilib ++enable_symvers + enable_generated_files_in_srcdir + ' + ac_precious_vars='build_alias +@@ -1391,6 +1392,7 @@ Optional Features: + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --enable-multilib build many library versions (default) ++ --disable-symvers disable symbol versioning for libquadmath + --enable-generated-files-in-srcdir + put copies of generated files in source dir intended + for creating source tarballs for users without +@@ -10511,7 +10513,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10514 "configure" ++#line 10516 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -10617,7 +10619,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10620 "configure" ++#line 10622 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -12339,19 +12341,27 @@ CFLAGS="$saved_CFLAGS" + # Check for symbol versioning (copied from libssp). + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symbol versioning is supported" >&5 + $as_echo_n "checking whether symbol versioning is supported... " >&6; } +-if test x$gcc_no_link = xyes; then +- # If we cannot link, we cannot build shared libraries, so do not use +- # symbol versioning. +- quadmath_use_symver=no ++# Check whether --enable-symvers was given. ++if test "${enable_symvers+set}" = set; then : ++ enableval=$enable_symvers; quadmath_use_symver=$enableval + else +- save_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" +- cat > conftest.map <<EOF ++ quadmath_use_symver=yes ++fi ++ ++if test "x$quadmath_use_symver" = xyes; then ++ if test x$gcc_no_link = xyes; then ++ # If we cannot link, we cannot build shared libraries, so do not use ++ # symbol versioning. ++ quadmath_use_symver=no ++ else ++ save_LDFLAGS="$LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" ++ cat > conftest.map <<EOF + FOO_1.0 { + global: *foo*; bar; local: *; + }; + EOF +- if test x$gcc_no_link = xyes; then ++ if test x$gcc_no_link = xyes; then + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 + fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -12372,18 +12382,18 @@ else + fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +- if test x$quadmath_use_symver = xno; then +- case "$target_os" in +- solaris2*) +- LDFLAGS="$save_LDFLAGS" +- LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" +- # Sun ld cannot handle wildcards and treats all entries as undefined. +- cat > conftest.map <<EOF ++ if test x$quadmath_use_symver = xno; then ++ case "$target_os" in ++ solaris2*) ++ LDFLAGS="$save_LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" ++ # Sun ld cannot handle wildcards and treats all entries as undefined. ++ cat > conftest.map <<EOF + FOO_1.0 { + global: foo; local: *; + }; + EOF +- if test x$gcc_no_link = xyes; then ++ if test x$gcc_no_link = xyes; then + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 + fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -12404,10 +12414,11 @@ else + fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +- ;; +- esac ++ ;; ++ esac ++ fi ++ LDFLAGS="$save_LDFLAGS" + fi +- LDFLAGS="$save_LDFLAGS" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $quadmath_use_symver" >&5 + $as_echo "$quadmath_use_symver" >&6; } +diff --git a/libquadmath/configure.ac b/libquadmath/configure.ac +index 8559c1d..512b9f8 100644 +--- a/libquadmath/configure.ac ++++ b/libquadmath/configure.ac +@@ -164,35 +164,42 @@ CFLAGS="$saved_CFLAGS" + + # Check for symbol versioning (copied from libssp). + AC_MSG_CHECKING([whether symbol versioning is supported]) +-if test x$gcc_no_link = xyes; then +- # If we cannot link, we cannot build shared libraries, so do not use +- # symbol versioning. +- quadmath_use_symver=no +-else +- save_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" +- cat > conftest.map <<EOF ++AC_ARG_ENABLE(symvers, ++AS_HELP_STRING([--disable-symvers], ++ [disable symbol versioning for libquadmath]), ++quadmath_use_symver=$enableval, ++quadmath_use_symver=yes) ++if test "x$quadmath_use_symver" = xyes; then ++ if test x$gcc_no_link = xyes; then ++ # If we cannot link, we cannot build shared libraries, so do not use ++ # symbol versioning. ++ quadmath_use_symver=no ++ else ++ save_LDFLAGS="$LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" ++ cat > conftest.map <<EOF + FOO_1.0 { + global: *foo*; bar; local: *; + }; + EOF +- AC_TRY_LINK([int foo;],[],[quadmath_use_symver=gnu],[quadmath_use_symver=no]) +- if test x$quadmath_use_symver = xno; then +- case "$target_os" in +- solaris2*) +- LDFLAGS="$save_LDFLAGS" +- LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" +- # Sun ld cannot handle wildcards and treats all entries as undefined. +- cat > conftest.map <<EOF ++ AC_TRY_LINK([int foo;],[],[quadmath_use_symver=gnu],[quadmath_use_symver=no]) ++ if test x$quadmath_use_symver = xno; then ++ case "$target_os" in ++ solaris2*) ++ LDFLAGS="$save_LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" ++ # Sun ld cannot handle wildcards and treats all entries as undefined. ++ cat > conftest.map <<EOF + FOO_1.0 { + global: foo; local: *; + }; + EOF +- AC_TRY_LINK([int foo;],[],[quadmath_use_symver=sun],[quadmath_use_symver=no]) +- ;; +- esac ++ AC_TRY_LINK([int foo;],[],[quadmath_use_symver=sun],[quadmath_use_symver=no]) ++ ;; ++ esac ++ fi ++ LDFLAGS="$save_LDFLAGS" + fi +- LDFLAGS="$save_LDFLAGS" + fi + AC_MSG_RESULT($quadmath_use_symver) + AM_CONDITIONAL(LIBQUAD_USE_SYMVER, [test "x$quadmath_use_symver" != xno]) +index 85a6a0a..b1edcb4 100755 +--- a/libssp/configure ++++ b/libssp/configure +@@ -734,6 +734,7 @@ enable_version_specific_runtime_libs + enable_maintainer_mode + enable_multilib + enable_dependency_tracking ++enable_symvers + enable_shared + enable_static + with_pic +@@ -1372,6 +1373,7 @@ Optional Features: + --enable-multilib build many library versions (default) + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors ++ --disable-symvers disable symbol versioning for libssp + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] +@@ -4098,19 +4100,27 @@ fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symbol versioning is supported" >&5 + $as_echo_n "checking whether symbol versioning is supported... " >&6; } +-if test x$gcc_no_link = xyes; then +- # If we cannot link, we cannot build shared libraries, so do not use +- # symbol versioning. +- ssp_use_symver=no ++# Check whether --enable-symvers was given. ++if test "${enable_symvers+set}" = set; then : ++ enableval=$enable_symvers; ssp_use_symver=$enableval + else +- save_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" +- cat > conftest.map <<EOF ++ ssp_use_symver=yes ++fi ++ ++if test "x$ssp_use_symver" = xyes; then ++ if test x$gcc_no_link = xyes; then ++ # If we cannot link, we cannot build shared libraries, so do not use ++ # symbol versioning. ++ ssp_use_symver=no ++ else ++ save_LDFLAGS="$LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" ++ cat > conftest.map <<EOF + FOO_1.0 { + global: *foo*; bar; local: *; + }; + EOF +- if test x$gcc_no_link = xyes; then ++ if test x$gcc_no_link = xyes; then + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 + fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -4131,18 +4141,18 @@ else + fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +- if test x$ssp_use_symver = xno; then +- case "$target_os" in +- solaris2*) +- LDFLAGS="$save_LDFLAGS" +- LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" +- # Sun ld cannot handle wildcards and treats all entries as undefined. +- cat > conftest.map <<EOF ++ if test x$ssp_use_symver = xno; then ++ case "$target_os" in ++ solaris2*) ++ LDFLAGS="$save_LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" ++ # Sun ld cannot handle wildcards and treats all entries as undefined. ++ cat > conftest.map <<EOF + FOO_1.0 { + global: foo; local: *; + }; + EOF +- if test x$gcc_no_link = xyes; then ++ if test x$gcc_no_link = xyes; then + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 + fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -4163,10 +4173,11 @@ else + fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +- ;; +- esac ++ ;; ++ esac ++ fi ++ LDFLAGS="$save_LDFLAGS" + fi +- LDFLAGS="$save_LDFLAGS" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssp_use_symver" >&5 + $as_echo "$ssp_use_symver" >&6; } +@@ -10639,7 +10650,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10642 "configure" ++#line 10653 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -10745,7 +10756,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10748 "configure" ++#line 10759 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +diff --git a/libssp/configure.ac b/libssp/configure.ac +index ee48f4d..0eee36c 100644 +--- a/libssp/configure.ac ++++ b/libssp/configure.ac +@@ -72,35 +72,42 @@ if test x$ssp_hidden = xyes; then + fi + + AC_MSG_CHECKING([whether symbol versioning is supported]) +-if test x$gcc_no_link = xyes; then +- # If we cannot link, we cannot build shared libraries, so do not use +- # symbol versioning. +- ssp_use_symver=no +-else +- save_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" +- cat > conftest.map <<EOF ++AC_ARG_ENABLE(symvers, ++AS_HELP_STRING([--disable-symvers], ++ [disable symbol versioning for libssp]), ++ssp_use_symver=$enableval, ++ssp_use_symver=yes) ++if test "x$ssp_use_symver" = xyes; then ++ if test x$gcc_no_link = xyes; then ++ # If we cannot link, we cannot build shared libraries, so do not use ++ # symbol versioning. ++ ssp_use_symver=no ++ else ++ save_LDFLAGS="$LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" ++ cat > conftest.map <<EOF + FOO_1.0 { + global: *foo*; bar; local: *; + }; + EOF +- AC_TRY_LINK([int foo;],[],[ssp_use_symver=gnu],[ssp_use_symver=no]) +- if test x$ssp_use_symver = xno; then +- case "$target_os" in +- solaris2*) +- LDFLAGS="$save_LDFLAGS" +- LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" +- # Sun ld cannot handle wildcards and treats all entries as undefined. +- cat > conftest.map <<EOF ++ AC_TRY_LINK([int foo;],[],[ssp_use_symver=gnu],[ssp_use_symver=no]) ++ if test x$ssp_use_symver = xno; then ++ case "$target_os" in ++ solaris2*) ++ LDFLAGS="$save_LDFLAGS" ++ LDFLAGS="$LDFLAGS -fPIC -shared -Wl,-M,./conftest.map" ++ # Sun ld cannot handle wildcards and treats all entries as undefined. ++ cat > conftest.map <<EOF + FOO_1.0 { + global: foo; local: *; + }; + EOF +- AC_TRY_LINK([int foo;],[],[ssp_use_symver=sun],[ssp_use_symver=no]) +- ;; +- esac ++ AC_TRY_LINK([int foo;],[],[ssp_use_symver=sun],[ssp_use_symver=no]) ++ ;; ++ esac ++ fi ++ LDFLAGS="$save_LDFLAGS" + fi +- LDFLAGS="$save_LDFLAGS" + fi + AC_MSG_RESULT($ssp_use_symver) + AM_CONDITIONAL(LIBSSP_USE_SYMVER, [test "x$ssp_use_symver" != xno]) +-- +1.7.0.4 + |