diff options
Diffstat (limited to '13.0/glibc/glibc.pthread-disable-forced-unwind-check.diff')
-rw-r--r-- | 13.0/glibc/glibc.pthread-disable-forced-unwind-check.diff | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/13.0/glibc/glibc.pthread-disable-forced-unwind-check.diff b/13.0/glibc/glibc.pthread-disable-forced-unwind-check.diff new file mode 100644 index 0000000..f779844 --- /dev/null +++ b/13.0/glibc/glibc.pthread-disable-forced-unwind-check.diff @@ -0,0 +1,207 @@ +diff -Naur glibc-2.7/nptl/sysdeps/pthread/configure glibc-2.7-unwind/nptl/sysdeps/pthread/configure +--- glibc-2.7/nptl/sysdeps/pthread/configure 2007-10-18 11:22:23.000000000 +0000 ++++ glibc-2.7-unwind/nptl/sysdeps/pthread/configure 2008-03-30 16:53:42.000000000 +0000 +@@ -24,130 +24,9 @@ + fi + + +-{ echo "$as_me:$LINENO: checking for forced unwind support" >&5 +-echo $ECHO_N "checking for forced unwind support... $ECHO_C" >&6; } +-if test "${libc_cv_forced_unwind+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include <unwind.h> +-int +-main () +-{ +- +-struct _Unwind_Exception exc; +-struct _Unwind_Context *context; +-_Unwind_GetCFA (context) +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (ac_try="$ac_link" +-case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_link") 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { +- test -z "$ac_c_werror_flag" || +- test ! -s conftest.err +- } && test -s conftest$ac_exeext && +- $as_test_x conftest$ac_exeext; then + libc_cv_forced_unwind=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- libc_cv_forced_unwind=no +-fi +- +-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ +- conftest$ac_exeext conftest.$ac_ext +-fi +-{ echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5 +-echo "${ECHO_T}$libc_cv_forced_unwind" >&6; } +-if test $libc_cv_forced_unwind = yes; then + cat >>confdefs.h <<\_ACEOF + #define HAVE_FORCED_UNWIND 1 + _ACEOF + +- old_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS -Werror -fexceptions" +- { echo "$as_me:$LINENO: checking for C cleanup handling" >&5 +-echo $ECHO_N "checking for C cleanup handling... $ECHO_C" >&6; } +-if test "${libc_cv_c_cleanup+set}" = set; then +- echo $ECHO_N "(cached) $ECHO_C" >&6 +-else +- cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +- +-#include <stdio.h> +-void cl (void *a) { } +-int +-main () +-{ +- +- int a __attribute__ ((cleanup (cl))); +- puts ("test") +- ; +- return 0; +-} +-_ACEOF +-rm -f conftest.$ac_objext conftest$ac_exeext +-if { (ac_try="$ac_link" +-case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +- (eval "$ac_link") 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { +- test -z "$ac_c_werror_flag" || +- test ! -s conftest.err +- } && test -s conftest$ac_exeext && +- $as_test_x conftest$ac_exeext; then + libc_cv_c_cleanup=yes +-else +- echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- libc_cv_c_cleanup=no +-fi +- +-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ +- conftest$ac_exeext conftest.$ac_ext +-fi +-{ echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5 +-echo "${ECHO_T}$libc_cv_c_cleanup" >&6; } +- CFLAGS="$old_CFLAGS" +- if test $libc_cv_c_cleanup = no; then +- { { echo "$as_me:$LINENO: error: the compiler must support C cleanup handling" >&5 +-echo "$as_me: error: the compiler must support C cleanup handling" >&2;} +- { (exit 1); exit 1; }; } +- fi +-else +- { { echo "$as_me:$LINENO: error: forced unwind support is required" >&5 +-echo "$as_me: error: forced unwind support is required" >&2;} +- { (exit 1); exit 1; }; } +-fi +diff -Naur glibc-2.7/nptl/sysdeps/pthread/configure.in glibc-2.7-unwind/nptl/sysdeps/pthread/configure.in +--- glibc-2.7/nptl/sysdeps/pthread/configure.in 2003-12-03 06:50:01.000000000 +0000 ++++ glibc-2.7-unwind/nptl/sysdeps/pthread/configure.in 2008-03-30 16:54:50.000000000 +0000 +@@ -19,31 +19,41 @@ + esac + fi + +-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 +-AC_TRY_LINK([#include <unwind.h>], [ +-struct _Unwind_Exception exc; +-struct _Unwind_Context *context; +-_Unwind_GetCFA (context)], +-libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)]) +-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_LINK([ +-#include <stdio.h> +-void cl (void *a) { }], [ +- int a __attribute__ ((cleanup (cl))); +- puts ("test")], +-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 ++dnl These link tests made bootstrapping EGLIBC difficult (how do you ++dnl link if you haven't built a libc yet?), and this test is only used ++dnl to produce an error message anyway. We've already checked the ++dnl GCC, as, and ld versions in the top-level configure script, and we ++dnl only use the results of these tests to produce an error message, ++dnl so we just disable these tests entirely. ++dnl ++dnl dnl Iff <unwind.h> is available, make sure it is the right one and it ++dnl dnl contains struct _Unwind_Exception. ++dnl AC_CACHE_CHECK(dnl ++dnl for forced unwind support, libc_cv_forced_unwind, [dnl ++dnl AC_TRY_LINK([#include <unwind.h>], [ ++dnl struct _Unwind_Exception exc; ++dnl struct _Unwind_Context *context; ++dnl _Unwind_GetCFA (context)], ++dnl libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)]) ++dnl if test $libc_cv_forced_unwind = yes; then ++dnl AC_DEFINE(HAVE_FORCED_UNWIND) ++dnl dnl Check for C cleanup handling. ++dnl old_CFLAGS="$CFLAGS" ++dnl CFLAGS="$CFLAGS -Werror -fexceptions" ++dnl AC_CACHE_CHECK([for C cleanup handling], libc_cv_c_cleanup, [dnl ++dnl AC_TRY_LINK([ ++dnl #include <stdio.h> ++dnl void cl (void *a) { }], [ ++dnl int a __attribute__ ((cleanup (cl))); ++dnl puts ("test")], ++dnl libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)]) ++dnl CFLAGS="$old_CFLAGS" ++dnl if test $libc_cv_c_cleanup = no; then ++dnl AC_MSG_ERROR([the compiler must support C cleanup handling]) ++dnl fi ++dnl else ++dnl AC_MSG_ERROR(forced unwind support is required) ++dnl fi ++libc_cv_forced_unwind=yes ++AC_DEFINE(HAVE_FORCED_UNWIND) ++libc_cv_c_cleanup=yes |