Commit be14fe72 by Joseph Myers Committed by Joseph Myers

re PR other/25035 (libssp causes a failure with cross compilers with unified trees)

	PR other/25035
	* configure.ac (AC_EXEEXT): Remove.
	(GCC_NO_EXECUTABLES): Call.
	(ssp_use_symver): Default to no if unable to link.
	(AC_CHECK_FUNCS): Hardwire results if unable to link.
	* aclocal.m4, configure, Makefile.in: Regenerate.

From-SVN: r117318
parent 4a44c1a2
2006-09-29 Joseph S. Myers <joseph@codesourcery.com>
PR other/25035
* configure.ac (AC_EXEEXT): Remove.
(GCC_NO_EXECUTABLES): Call.
(ssp_use_symver): Default to no if unable to link.
(AC_CHECK_FUNCS): Hardwire results if unable to link.
* aclocal.m4, configure, Makefile.in: Regenerate.
2006-05-23 Carlos O'Donell <carlos@codesourcery.com> 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
* Makefile.am: Add install-html target. Add install-html to .PHONY * Makefile.am: Add install-html target. Add install-html to .PHONY
......
...@@ -53,6 +53,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ...@@ -53,6 +53,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../config/depstand.m4 \ $(top_srcdir)/../config/depstand.m4 \
$(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/lead-dot.m4 \
$(top_srcdir)/../config/no-executables.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac $(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
......
...@@ -917,4 +917,5 @@ AC_SUBST([am__untar]) ...@@ -917,4 +917,5 @@ AC_SUBST([am__untar])
m4_include([../config/acx.m4]) m4_include([../config/acx.m4])
m4_include([../config/depstand.m4]) m4_include([../config/depstand.m4])
m4_include([../config/lead-dot.m4]) m4_include([../config/lead-dot.m4])
m4_include([../config/no-executables.m4])
m4_include([../libtool.m4]) m4_include([../libtool.m4])
...@@ -1897,6 +1897,7 @@ fi ...@@ -1897,6 +1897,7 @@ fi
# Default to --enable-multilib # Default to --enable-multilib
# Check whether --enable-multilib or --disable-multilib was given. # Check whether --enable-multilib or --disable-multilib was given.
if test "${enable_multilib+set}" = set; then if test "${enable_multilib+set}" = set; then
...@@ -2299,6 +2300,39 @@ main () ...@@ -2299,6 +2300,39 @@ main ()
return 0; return 0;
} }
_ACEOF _ACEOF
# FIXME: Cleanup?
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
gcc_no_link=no
else
gcc_no_link=yes
fi
if test x$gcc_no_link = xyes; then
# Setting cross_compile will disable run tests; it will
# also disable AC_CHECK_FILE but that's generally
# correct if we can't link.
cross_compiling=yes
EXEEXT=
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
ac_clean_files_save=$ac_clean_files ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.exe b.out" ac_clean_files="$ac_clean_files a.out a.exe b.out"
# Try to create an executable without -o first, disregard a.out. # Try to create an executable without -o first, disregard a.out.
...@@ -2435,6 +2469,7 @@ echo "${ECHO_T}$ac_cv_exeext" >&6 ...@@ -2435,6 +2469,7 @@ echo "${ECHO_T}$ac_cv_exeext" >&6
rm -f conftest.$ac_ext rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT ac_exeext=$EXEEXT
fi
echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo "$as_me:$LINENO: checking for suffix of object files" >&5
echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
if test "${ac_cv_objext+set}" = set; then if test "${ac_cv_objext+set}" = set; then
...@@ -3422,6 +3457,16 @@ FOO_1.0 { ...@@ -3422,6 +3457,16 @@ FOO_1.0 {
EOF EOF
save_LDFLAGS="$LDFLAGS" save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" 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
if test x$gcc_no_link = xyes; then
{ { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */ /* confdefs.h. */
_ACEOF _ACEOF
...@@ -3468,6 +3513,7 @@ ssp_use_symver=no ...@@ -3468,6 +3513,7 @@ ssp_use_symver=no
fi fi
rm -f conftest.err conftest.$ac_objext \ rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext conftest$ac_exeext conftest.$ac_ext
fi
LDFLAGS="$save_LDFLAGS" LDFLAGS="$save_LDFLAGS"
echo "$as_me:$LINENO: result: $ssp_use_symver" >&5 echo "$as_me:$LINENO: result: $ssp_use_symver" >&5
echo "${ECHO_T}$ssp_use_symver" >&6 echo "${ECHO_T}$ssp_use_symver" >&6
...@@ -3894,6 +3940,18 @@ fi ...@@ -3894,6 +3940,18 @@ fi
done done
if test x$gcc_no_link = xyes; then
# Presume the ISO C functions are available; add target-specific
# configuration here if required.
cat >>confdefs.h <<\_ACEOF
#define HAVE_STRNCPY 1
_ACEOF
cat >>confdefs.h <<\_ACEOF
#define HAVE_STRNCAT 1
_ACEOF
else
...@@ -3905,7 +3963,12 @@ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ...@@ -3905,7 +3963,12 @@ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
if eval "test \"\${$as_ac_var+set}\" = set"; then if eval "test \"\${$as_ac_var+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6 echo $ECHO_N "(cached) $ECHO_C" >&6
else else
cat >conftest.$ac_ext <<_ACEOF if test x$gcc_no_link = xyes; then
{ { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */ /* confdefs.h. */
_ACEOF _ACEOF
cat confdefs.h >>conftest.$ac_ext cat confdefs.h >>conftest.$ac_ext
...@@ -3998,6 +4061,7 @@ _ACEOF ...@@ -3998,6 +4061,7 @@ _ACEOF
fi fi
done done
fi
echo "$as_me:$LINENO: checking whether vsnprintf is usable" >&5 echo "$as_me:$LINENO: checking whether vsnprintf is usable" >&5
echo $ECHO_N "checking whether vsnprintf is usable... $ECHO_C" >&6 echo $ECHO_N "checking whether vsnprintf is usable... $ECHO_C" >&6
...@@ -4468,6 +4532,7 @@ deplibs_check_method=$lt_cv_deplibs_check_method ...@@ -4468,6 +4532,7 @@ deplibs_check_method=$lt_cv_deplibs_check_method
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
# find the maximum length of command line arguments # find the maximum length of command line arguments
...@@ -4864,7 +4929,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" ...@@ -4864,7 +4929,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in case $host in
*-*-irix6*) *-*-irix6*)
# Find out which ABI we are using. # Find out which ABI we are using.
echo '#line 4867 "configure"' > conftest.$ac_ext echo '#line 4932 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5 (eval $ac_compile) 2>&5
ac_status=$? ac_status=$?
...@@ -4982,7 +5047,12 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ...@@ -4982,7 +5047,12 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_compiler_gnu=$ac_cv_c_compiler_gnu
cat >conftest.$ac_ext <<_ACEOF if test x$gcc_no_link = xyes; then
{ { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */ /* confdefs.h. */
_ACEOF _ACEOF
cat confdefs.h >>conftest.$ac_ext cat confdefs.h >>conftest.$ac_ext
......
...@@ -22,7 +22,8 @@ AC_ARG_ENABLE(version-specific-runtime-libs, ...@@ -22,7 +22,8 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
AC_MSG_RESULT($version_specific_libs) AC_MSG_RESULT($version_specific_libs)
AM_MAINTAINER_MODE AM_MAINTAINER_MODE
AC_EXEEXT
GCC_NO_EXECUTABLES
AM_ENABLE_MULTILIB(, ..) AM_ENABLE_MULTILIB(, ..)
...@@ -78,14 +79,27 @@ FOO_1.0 { ...@@ -78,14 +79,27 @@ FOO_1.0 {
EOF EOF
save_LDFLAGS="$LDFLAGS" save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map" LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map"
AC_TRY_LINK([int foo;],[],[ssp_use_symver=yes],[ssp_use_symver=no]) 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
AC_TRY_LINK([int foo;],[],[ssp_use_symver=yes],[ssp_use_symver=no])
fi
LDFLAGS="$save_LDFLAGS" 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" = xyes])
AC_CHECK_HEADERS(alloca.h paths.h syslog.h string.h unistd.h fcntl.h stdio.h limits.h) AC_CHECK_HEADERS(alloca.h paths.h syslog.h string.h unistd.h fcntl.h stdio.h limits.h)
AC_CHECK_FUNCS(mempcpy strncpy strncat) if test x$gcc_no_link = xyes; then
# Presume the ISO C functions are available; add target-specific
# configuration here if required.
AC_DEFINE(HAVE_STRNCPY)
AC_DEFINE(HAVE_STRNCAT)
else
AC_CHECK_FUNCS(mempcpy strncpy strncat)
fi
AC_MSG_CHECKING([whether vsnprintf is usable]) AC_MSG_CHECKING([whether vsnprintf is usable])
AC_RUN_IFELSE(AC_LANG_PROGRAM([ AC_RUN_IFELSE(AC_LANG_PROGRAM([
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment