summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0017-libgfortran.patch
diff options
context:
space:
mode:
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.patch837
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 0000000..a2df0f7
--- /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
+
OpenPOWER on IntegriCloud