aboutsummaryrefslogtreecommitdiff
path: root/libssp/configure
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-02 10:15:09 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-02 10:15:09 +0000
commitf28c8d0d31eba663fa44eadff55559b95a56ea61 (patch)
tree68173ee2d5bd4b1b5fc1a277f153743209eb7dda /libssp/configure
parentfbb7f7a8b40767af09d7ab0e745aa160595a7f0c (diff)
* configure.ac: Check for Sun symbol versioning.
Check for memmove. * configure: Regenerate. * config.h.in: Regenerate. * Makefile.am [LIBSSP_USE_SYMVER]: Protect version_arg, version_dep with LIBSSP_USE_SYMVER_GNU. [LIBSSP_USE_SYMVER_SUN]: Handle Sun symbol versioning. * Makefile.in: Regenerate. * ssp.map: Reformat. * memmove-chk.c: Change guard to HAVE_MEMMOVE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161699 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libssp/configure')
-rwxr-xr-xlibssp/configure85
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