diff options
author | Roland McGrath <roland@hack.frob.com> | 2014-07-03 21:46:59 -0700 |
---|---|---|
committer | Roland McGrath <roland@hack.frob.com> | 2014-07-03 21:46:59 -0700 |
commit | 78b984ae2c015997be860b0eedc880691d6620cf (patch) | |
tree | b82690bbedc889f9634499d56464dde0ce2b1b68 /sysdeps/nptl | |
parent | 2d5976a58069dda271d81fdcec36de13345d77ac (diff) | |
download | glibc-78b984ae2c015997be860b0eedc880691d6620cf.zip glibc-78b984ae2c015997be860b0eedc880691d6620cf.tar.gz glibc-78b984ae2c015997be860b0eedc880691d6620cf.tar.bz2 |
Fix unwind.h configure check for bare environment.
Diffstat (limited to 'sysdeps/nptl')
-rw-r--r-- | sysdeps/nptl/configure | 8 | ||||
-rw-r--r-- | sysdeps/nptl/configure.ac | 8 |
2 files changed, 14 insertions, 2 deletions
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 <stdlib.h>, 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 <unwind.h> 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 <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)]) +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. |