Upstream-Status: Inappropriate [Backport] From d70e14fe2c9c3fc20d9bc1dca7cfcc3d6bb1301e Mon Sep 17 00:00:00 2001 From: ro Date: Mon, 28 Mar 2011 17:09:27 +0000 Subject: [PATCH 017/200] libgfortran: backport from mainline: 2011-03-21 Rainer Orth PR bootstrap/48135 * configure.ac (gfortran_use_symver): Handle --disable-symvers. * configure: Regenerate. libgomp: backport from mainline: 2011-03-21 Rainer Orth PR bootstrap/48135 * acinclude.m4 (enable_symvers): Handle --disable-symvers. * configure: Regenerate. libjava: backport from mainline: 2011-03-21 Rainer Orth PR bootstrap/48135 * configure.ac (libjava_cv_anon_version_script): Handle --disable-symvers. * configure: Regenerate. libquadmath: backport from mainline: 2011-03-21 Rainer Orth PR bootstrap/48135 * configure.ac (quadmath_use_symver): Handle --disable-symvers. * configure: Regenerate. libssp: backport from mainline: 2011-03-21 Rainer Orth 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 < conftest.map <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 < conftest.map <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 < conftest.map < conftest.map < conftest.map < 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 < conftest.map <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 < conftest.map <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 < conftest.map < conftest.map < conftest.map <&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 < conftest.map <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 < conftest.map <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 < conftest.map < conftest.map < conftest.map <