diff options
Diffstat (limited to 'libssp/configure')
-rwxr-xr-x | libssp/configure | 85 |
1 files changed, 72 insertions, 13 deletions
diff --git a/libssp/configure b/libssp/configure index d5e83844f01..7722c954148 100755 --- a/libssp/configure +++ b/libssp/configure @@ -625,6 +625,10 @@ LIBTOOL ssp_have_usable_vsnprintf EGREP GREP +LIBSSP_USE_SYMVER_SUN_FALSE +LIBSSP_USE_SYMVER_SUN_TRUE +LIBSSP_USE_SYMVER_GNU_FALSE +LIBSSP_USE_SYMVER_GNU_TRUE LIBSSP_USE_SYMVER_FALSE LIBSSP_USE_SYMVER_TRUE CPP @@ -4093,18 +4097,18 @@ 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; } -cat > conftest.map <<EOF -FOO_1.0 { - global: *foo*; bar; local: *; -}; -EOF -save_LDFLAGS="$LDFLAGS" -LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" 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 as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 fi @@ -4120,17 +4124,48 @@ main () } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ssp_use_symver=yes + ssp_use_symver=gnu else ssp_use_symver=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext + if test x$ssp_use_symver = xno; then + 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 + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 +fi +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ssp_use_symver=sun +else + ssp_use_symver=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + LDFLAGS="$save_LDFLAGS" fi -LDFLAGS="$save_LDFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssp_use_symver" >&5 $as_echo "$ssp_use_symver" >&6; } - if test "x$ssp_use_symver" = xyes; then + if test "x$ssp_use_symver" != xno; then LIBSSP_USE_SYMVER_TRUE= LIBSSP_USE_SYMVER_FALSE='#' else @@ -4138,6 +4173,22 @@ else LIBSSP_USE_SYMVER_FALSE= fi + if test "x$ssp_use_symver" = xgnu; then + LIBSSP_USE_SYMVER_GNU_TRUE= + LIBSSP_USE_SYMVER_GNU_FALSE='#' +else + LIBSSP_USE_SYMVER_GNU_TRUE='#' + LIBSSP_USE_SYMVER_GNU_FALSE= +fi + + if test "x$ssp_use_symver" = xsun; then + LIBSSP_USE_SYMVER_SUN_TRUE= + LIBSSP_USE_SYMVER_SUN_FALSE='#' +else + LIBSSP_USE_SYMVER_SUN_TRUE='#' + LIBSSP_USE_SYMVER_SUN_FALSE= +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 @@ -4423,7 +4474,7 @@ if test x$gcc_no_link = xyes; then $as_echo "#define HAVE_STRNCAT 1" >>confdefs.h else - for ac_func in mempcpy strncpy strncat + for ac_func in memmove mempcpy strncpy strncat do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -10591,7 +10642,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10594 "configure" +#line 10645 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10697,7 +10748,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10700 "configure" +#line 10751 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11096,6 +11147,14 @@ if test -z "${LIBSSP_USE_SYMVER_TRUE}" && test -z "${LIBSSP_USE_SYMVER_FALSE}"; as_fn_error "conditional \"LIBSSP_USE_SYMVER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${LIBSSP_USE_SYMVER_GNU_TRUE}" && test -z "${LIBSSP_USE_SYMVER_GNU_FALSE}"; then + as_fn_error "conditional \"LIBSSP_USE_SYMVER_GNU\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBSSP_USE_SYMVER_SUN_TRUE}" && test -z "${LIBSSP_USE_SYMVER_SUN_FALSE}"; then + as_fn_error "conditional \"LIBSSP_USE_SYMVER_SUN\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 |