mirror of git://gcc.gnu.org/git/gcc.git
configure.ac: Check for Sun symbol versioning.
* 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. From-SVN: r161699
This commit is contained in:
parent
baf7c318bb
commit
ca6d1176f7
|
@ -1,3 +1,19 @@
|
||||||
|
2010-07-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||||
|
|
||||||
PR other/43620
|
PR other/43620
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
## Makefile for the toplevel directory of the libssp library.
|
## Makefile for the toplevel directory of the libssp library.
|
||||||
##
|
##
|
||||||
## Copyright (C) 2005
|
## Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
|
||||||
## Free Software Foundation, Inc.
|
## Free Software Foundation, Inc.
|
||||||
##
|
##
|
||||||
|
|
||||||
|
@ -12,8 +12,23 @@ MAINT_CHARSET = latin1
|
||||||
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
|
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
|
||||||
|
|
||||||
if LIBSSP_USE_SYMVER
|
if LIBSSP_USE_SYMVER
|
||||||
|
if LIBSSP_USE_SYMVER_GNU
|
||||||
version_arg = -Wl,--version-script=$(srcdir)/ssp.map
|
version_arg = -Wl,--version-script=$(srcdir)/ssp.map
|
||||||
version_dep = $(srcdir)/ssp.map
|
version_dep = $(srcdir)/ssp.map
|
||||||
|
endif
|
||||||
|
if LIBSSP_USE_SYMVER_SUN
|
||||||
|
version_arg = -Wl,-M,ssp.map-sun
|
||||||
|
version_dep = ssp.map-sun
|
||||||
|
ssp.map-sun : $(srcdir)/ssp.map \
|
||||||
|
$(top_srcdir)/../contrib/make_sunver.pl \
|
||||||
|
$(libssp_la_OBJECTS) $(libssp_la_LIBADD)
|
||||||
|
perl $(top_srcdir)/../contrib/make_sunver.pl \
|
||||||
|
$(srcdir)/ssp.map \
|
||||||
|
$(libssp_la_OBJECTS:%.lo=.libs/%.o) \
|
||||||
|
`echo $(libssp_la_LIBADD) | \
|
||||||
|
sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
|
||||||
|
> $@ || (rm -f $@ ; exit 1)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
version_arg =
|
version_arg =
|
||||||
version_dep =
|
version_dep =
|
||||||
|
|
|
@ -250,9 +250,11 @@ MAINT_CHARSET = latin1
|
||||||
# May be used by various substitution variables.
|
# May be used by various substitution variables.
|
||||||
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
|
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
|
||||||
@LIBSSP_USE_SYMVER_FALSE@version_arg =
|
@LIBSSP_USE_SYMVER_FALSE@version_arg =
|
||||||
@LIBSSP_USE_SYMVER_TRUE@version_arg = -Wl,--version-script=$(srcdir)/ssp.map
|
@LIBSSP_USE_SYMVER_GNU_TRUE@@LIBSSP_USE_SYMVER_TRUE@version_arg = -Wl,--version-script=$(srcdir)/ssp.map
|
||||||
|
@LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@version_arg = -Wl,-M,ssp.map-sun
|
||||||
@LIBSSP_USE_SYMVER_FALSE@version_dep =
|
@LIBSSP_USE_SYMVER_FALSE@version_dep =
|
||||||
@LIBSSP_USE_SYMVER_TRUE@version_dep = $(srcdir)/ssp.map
|
@LIBSSP_USE_SYMVER_GNU_TRUE@@LIBSSP_USE_SYMVER_TRUE@version_dep = $(srcdir)/ssp.map
|
||||||
|
@LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@version_dep = ssp.map-sun
|
||||||
AM_CFLAGS = -Wall
|
AM_CFLAGS = -Wall
|
||||||
toolexeclib_LTLIBRARIES = libssp.la libssp_nonshared.la
|
toolexeclib_LTLIBRARIES = libssp.la libssp_nonshared.la
|
||||||
libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include
|
libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include
|
||||||
|
@ -694,6 +696,15 @@ uninstall-am: uninstall-nobase_libsubincludeHEADERS \
|
||||||
uninstall-am uninstall-nobase_libsubincludeHEADERS \
|
uninstall-am uninstall-nobase_libsubincludeHEADERS \
|
||||||
uninstall-toolexeclibLTLIBRARIES
|
uninstall-toolexeclibLTLIBRARIES
|
||||||
|
|
||||||
|
@LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@ssp.map-sun : $(srcdir)/ssp.map \
|
||||||
|
@LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@ $(top_srcdir)/../contrib/make_sunver.pl \
|
||||||
|
@LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@ $(libssp_la_OBJECTS) $(libssp_la_LIBADD)
|
||||||
|
@LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@ perl $(top_srcdir)/../contrib/make_sunver.pl \
|
||||||
|
@LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@ $(srcdir)/ssp.map \
|
||||||
|
@LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@ $(libssp_la_OBJECTS:%.lo=.libs/%.o) \
|
||||||
|
@LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@ `echo $(libssp_la_LIBADD) | \
|
||||||
|
@LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
|
||||||
|
@LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@ > $@ || (rm -f $@ ; exit 1)
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
/* Define to 1 if you have the <malloc.h> header file. */
|
/* Define to 1 if you have the <malloc.h> header file. */
|
||||||
#undef HAVE_MALLOC_H
|
#undef HAVE_MALLOC_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memmove' function. */
|
||||||
|
#undef HAVE_MEMMOVE
|
||||||
|
|
||||||
/* Define to 1 if you have the <memory.h> header file. */
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
#undef HAVE_MEMORY_H
|
#undef HAVE_MEMORY_H
|
||||||
|
|
||||||
|
|
|
@ -625,6 +625,10 @@ LIBTOOL
|
||||||
ssp_have_usable_vsnprintf
|
ssp_have_usable_vsnprintf
|
||||||
EGREP
|
EGREP
|
||||||
GREP
|
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_FALSE
|
||||||
LIBSSP_USE_SYMVER_TRUE
|
LIBSSP_USE_SYMVER_TRUE
|
||||||
CPP
|
CPP
|
||||||
|
@ -4093,18 +4097,18 @@ fi
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symbol versioning is supported" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symbol versioning is supported" >&5
|
||||||
$as_echo_n "checking whether symbol versioning is supported... " >&6; }
|
$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 test x$gcc_no_link = xyes; then
|
||||||
# If we cannot link, we cannot build shared libraries, so do not use
|
# If we cannot link, we cannot build shared libraries, so do not use
|
||||||
# symbol versioning.
|
# symbol versioning.
|
||||||
ssp_use_symver=no
|
ssp_use_symver=no
|
||||||
else
|
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
|
as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
|
@ -4120,17 +4124,48 @@ main ()
|
||||||
}
|
}
|
||||||
_ACEOF
|
_ACEOF
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
ssp_use_symver=yes
|
ssp_use_symver=gnu
|
||||||
else
|
else
|
||||||
ssp_use_symver=no
|
ssp_use_symver=no
|
||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext conftest.$ac_ext
|
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
|
fi
|
||||||
LDFLAGS="$save_LDFLAGS"
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssp_use_symver" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssp_use_symver" >&5
|
||||||
$as_echo "$ssp_use_symver" >&6; }
|
$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_TRUE=
|
||||||
LIBSSP_USE_SYMVER_FALSE='#'
|
LIBSSP_USE_SYMVER_FALSE='#'
|
||||||
else
|
else
|
||||||
|
@ -4138,6 +4173,22 @@ else
|
||||||
LIBSSP_USE_SYMVER_FALSE=
|
LIBSSP_USE_SYMVER_FALSE=
|
||||||
fi
|
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
|
{ $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
|
$as_echo "#define HAVE_STRNCAT 1" >>confdefs.h
|
||||||
|
|
||||||
else
|
else
|
||||||
for ac_func in mempcpy strncpy strncat
|
for ac_func in memmove mempcpy strncpy strncat
|
||||||
do :
|
do :
|
||||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
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_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||||
lt_status=$lt_dlunknown
|
lt_status=$lt_dlunknown
|
||||||
cat > conftest.$ac_ext <<_LT_EOF
|
cat > conftest.$ac_ext <<_LT_EOF
|
||||||
#line 10594 "configure"
|
#line 10645 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
#if HAVE_DLFCN_H
|
#if HAVE_DLFCN_H
|
||||||
|
@ -10697,7 +10748,7 @@ else
|
||||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||||
lt_status=$lt_dlunknown
|
lt_status=$lt_dlunknown
|
||||||
cat > conftest.$ac_ext <<_LT_EOF
|
cat > conftest.$ac_ext <<_LT_EOF
|
||||||
#line 10700 "configure"
|
#line 10751 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
#if HAVE_DLFCN_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.
|
as_fn_error "conditional \"LIBSSP_USE_SYMVER\" was never defined.
|
||||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
fi
|
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}
|
: ${CONFIG_STATUS=./config.status}
|
||||||
ac_write_fail=0
|
ac_write_fail=0
|
||||||
|
|
|
@ -72,23 +72,36 @@ if test x$ssp_hidden = xyes; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether symbol versioning is supported])
|
AC_MSG_CHECKING([whether symbol versioning is supported])
|
||||||
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 test x$gcc_no_link = xyes; then
|
||||||
# If we cannot link, we cannot build shared libraries, so do not use
|
# If we cannot link, we cannot build shared libraries, so do not use
|
||||||
# symbol versioning.
|
# symbol versioning.
|
||||||
ssp_use_symver=no
|
ssp_use_symver=no
|
||||||
else
|
else
|
||||||
AC_TRY_LINK([int foo;],[],[ssp_use_symver=yes],[ssp_use_symver=no])
|
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
|
||||||
|
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])
|
||||||
|
fi
|
||||||
|
LDFLAGS="$save_LDFLAGS"
|
||||||
fi
|
fi
|
||||||
LDFLAGS="$save_LDFLAGS"
|
|
||||||
AC_MSG_RESULT($ssp_use_symver)
|
AC_MSG_RESULT($ssp_use_symver)
|
||||||
AM_CONDITIONAL(LIBSSP_USE_SYMVER, [test "x$ssp_use_symver" = xyes])
|
AM_CONDITIONAL(LIBSSP_USE_SYMVER, [test "x$ssp_use_symver" != xno])
|
||||||
|
AM_CONDITIONAL(LIBSSP_USE_SYMVER_GNU, [test "x$ssp_use_symver" = xgnu])
|
||||||
|
AM_CONDITIONAL(LIBSSP_USE_SYMVER_SUN, [test "x$ssp_use_symver" = xsun])
|
||||||
|
|
||||||
AC_CHECK_HEADERS(alloca.h malloc.h paths.h syslog.h string.h unistd.h fcntl.h stdio.h limits.h)
|
AC_CHECK_HEADERS(alloca.h malloc.h paths.h syslog.h string.h unistd.h fcntl.h stdio.h limits.h)
|
||||||
|
|
||||||
|
@ -98,7 +111,7 @@ if test x$gcc_no_link = xyes; then
|
||||||
AC_DEFINE(HAVE_STRNCPY)
|
AC_DEFINE(HAVE_STRNCPY)
|
||||||
AC_DEFINE(HAVE_STRNCAT)
|
AC_DEFINE(HAVE_STRNCAT)
|
||||||
else
|
else
|
||||||
AC_CHECK_FUNCS(mempcpy strncpy strncat)
|
AC_CHECK_FUNCS(memmove mempcpy strncpy strncat)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether vsnprintf is usable])
|
AC_MSG_CHECKING([whether vsnprintf is usable])
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Checking memmove.
|
/* Checking memmove.
|
||||||
Copyright (C) 2005, 2009 Free Software Foundation, Inc.
|
Copyright (C) 2005, 2009, 2010 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GCC.
|
This file is part of GCC.
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
|
||||||
extern void __chk_fail (void) __attribute__((__noreturn__));
|
extern void __chk_fail (void) __attribute__((__noreturn__));
|
||||||
|
|
||||||
#ifdef HAVE_MEMPCPY
|
#ifdef HAVE_MEMMOVE
|
||||||
void *
|
void *
|
||||||
__memmove_chk (void *dest, const void *src, size_t len, size_t slen)
|
__memmove_chk (void *dest, const void *src, size_t len, size_t slen)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,9 +1,22 @@
|
||||||
LIBSSP_1.0 {
|
LIBSSP_1.0 {
|
||||||
global:
|
global:
|
||||||
__stack_chk_fail; __stack_chk_guard; __chk_fail;
|
__stack_chk_fail;
|
||||||
__gets_chk; __memcpy_chk; __memmove_chk; __mempcpy_chk; __memset_chk;
|
__stack_chk_guard;
|
||||||
__snprintf_chk; __sprintf_chk; __stpcpy_chk; __strcat_chk; __strcpy_chk;
|
__chk_fail;
|
||||||
__strncat_chk; __strncpy_chk; __vsnprintf_chk; __vsprintf_chk;
|
__gets_chk;
|
||||||
|
__memcpy_chk;
|
||||||
|
__memmove_chk;
|
||||||
|
__mempcpy_chk;
|
||||||
|
__memset_chk;
|
||||||
|
__snprintf_chk;
|
||||||
|
__sprintf_chk;
|
||||||
|
__stpcpy_chk;
|
||||||
|
__strcat_chk;
|
||||||
|
__strcpy_chk;
|
||||||
|
__strncat_chk;
|
||||||
|
__strncpy_chk;
|
||||||
|
__vsnprintf_chk;
|
||||||
|
__vsprintf_chk;
|
||||||
local:
|
local:
|
||||||
*;
|
*;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue