glibc/sysdeps/nptl/configure.ac
Joseph Myers 15306e3888 Remove NPTL configure errors based on top-level configure tests.
sysdeps/nptl/configure.ac has code to give errors if certain tests in
the top-level configure failed.  However, all those failure conditions
also produce errors in the top-level configure, so the errors in the
NPTL configure are completely redundant; this patch removes them.

(As suggested in
<https://sourceware.org/ml/libc-alpha/2015-10/msg00510.html>, I think
the top-level tests in question can be completely removed as
unnecessary given the version tests.  But even without that there is
clearly no point in duplicating code that gives an error if the test
fails.)

Tested for x86_64 (testsuite, and that installed shared libraries are
unchanged by the patch).

	* sysdeps/nptl/configure.ac: Do not give errors based on the
	results of top-level configure tests.
	* sysdeps/nptl/configure: Regenerated.
2015-10-15 23:59:54 +00:00

38 lines
1.3 KiB
Plaintext

dnl configure fragment for new libpthread implementation.
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
dnl Iff <unwind.h> is available, make sure it is the right one and it
dnl contains struct _Unwind_Exception.
AC_CACHE_CHECK(dnl
for forced unwind support, libc_cv_forced_unwind, [dnl
old_CPPFLAGS="$CPPFLAGS"
# Without inhibit_libc #define'd, GCC's unwind.h (at least for ia64)
# will try to include <stdlib.h>, which doesn't exist yet if we're
# building libc in a bare environment.
CPPFLAGS="$CPPFLAGS -Dinhibit_libc=1"
AC_TRY_COMPILE([#include <unwind.h>], [
struct _Unwind_Exception exc;
struct _Unwind_Context *context;
_Unwind_GetCFA (context)],
libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)
CPPFLAGS="$old_CPPFLAGS"])
if test $libc_cv_forced_unwind = yes; then
AC_DEFINE(HAVE_FORCED_UNWIND)
dnl Check for C cleanup handling.
old_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror -fexceptions"
AC_CACHE_CHECK([for C cleanup handling], libc_cv_c_cleanup, [dnl
AC_TRY_COMPILE([
extern void some_function (void);
void cl (void *a) { }], [
int a __attribute__ ((cleanup (cl)));
some_function ()],
libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)])
CFLAGS="$old_CFLAGS"
if test $libc_cv_c_cleanup = no; then
AC_MSG_ERROR([the compiler must support C cleanup handling])
fi
else
AC_MSG_ERROR(forced unwind support is required)
fi