From 78b984ae2c015997be860b0eedc880691d6620cf Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 3 Jul 2014 21:46:59 -0700 Subject: [PATCH] Fix unwind.h configure check for bare environment. --- ChangeLog | 5 +++++ sysdeps/nptl/configure | 8 +++++++- sysdeps/nptl/configure.ac | 8 +++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index d31dcaa..e3a9b4f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2014-07-03 Roland McGrath + * sysdeps/nptl/configure.ac (libc_cv_forced_unwind): + Use -Dinhibit_libc=1 for unwind.h check to prevent false failure + in a bare environment with no installed. + * sysdeps/nptl/configure: Regenerated. + * sysdeps/alpha/fpu/s_nearbyint.c: Include . * sysdeps/unix/sysv/linux/configure.ac: Use AC_TRY_COMPILE rather than diff --git a/sysdeps/nptl/configure b/sysdeps/nptl/configure index 65ed164..cce07b3 100644 --- a/sysdeps/nptl/configure +++ b/sysdeps/nptl/configure @@ -15,7 +15,12 @@ $as_echo_n "checking for forced unwind support... " >&6; } if ${libc_cv_forced_unwind+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + old_CPPFLAGS="$CPPFLAGS" +# Without inhibit_libc #define'd, GCC's unwind.h (at least for ia64) +# will try to include , which doesn't exist yet if we're +# building libc in a bare environment. +CPPFLAGS="$CPPFLAGS -Dinhibit_libc=1" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -35,6 +40,7 @@ else libc_cv_forced_unwind=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +CPPFLAGS="$old_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_forced_unwind" >&5 $as_echo "$libc_cv_forced_unwind" >&6; } diff --git a/sysdeps/nptl/configure.ac b/sysdeps/nptl/configure.ac index ab9d5e6..5803215 100644 --- a/sysdeps/nptl/configure.ac +++ b/sysdeps/nptl/configure.ac @@ -14,11 +14,17 @@ dnl Iff 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 , which doesn't exist yet if we're +# building libc in a bare environment. +CPPFLAGS="$CPPFLAGS -Dinhibit_libc=1" AC_TRY_COMPILE([#include ], [ struct _Unwind_Exception exc; struct _Unwind_Context *context; _Unwind_GetCFA (context)], -libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)]) +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. -- 2.7.4