aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rwxr-xr-xconfigure55
-rw-r--r--sysdeps/powerpc/bits/setjmp.h5
3 files changed, 56 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 1776d88..be527ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+1998-05-07 Ulrich Drepper <drepper@cygnus.com>
+
+ * sysdeps/powerpc/bits/setjmp.h (_JMPBUF_UNWINDS): Define.
+ Patch by Matt McLean <keys@brio.yikes.com>.
+
1997-05-07 13:26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (lib): Put back dependency on lib-noranlib.
diff --git a/configure b/configure
index df9fef8..3ef6e6b 100755
--- a/configure
+++ b/configure
@@ -2578,13 +2578,50 @@ EOF
fi
fi
+if test "$host_cpu" = powerpc ; then
+# Check for a bug present in at least versions 2.8.x of GCC
+# and versions 1.0.x of EGCS.
+echo $ac_n "checking whether clobbering cr0 causes problems""... $ac_c" 1>&6
+echo "configure:2586: checking whether clobbering cr0 causes problems" >&5
+if eval "test \"`echo '$''{'libc_cv_c_asmcr0_bug'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2591 "configure"
+#include "confdefs.h"
+int tester(int x) { asm ("" : : : "cc"); return x & 123; }
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:2598: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ libc_cv_c_asmcr0_bug='no'
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ libc_cv_c_asmcr0_bug='yes'
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$libc_cv_c_asmcr0_bug" 1>&6
+if test "$libc_cv_c_asmcr0_bug" != 'no'; then
+ cat >> confdefs.h <<\EOF
+#define BROKEN_PPC_ASM_CR0 1
+EOF
+
+fi
+fi
+
echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6
-echo "configure:2583: checking for DWARF2 unwind info support" >&5
+echo "configure:2620: checking for DWARF2 unwind info support" >&5
if eval "test \"`echo '$''{'libc_cv_gcc_dwarf2_unwind_info'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.c <<EOF
-#line 2588 "configure"
+#line 2625 "configure"
static char __EH_FRAME_BEGIN__;
_start ()
{
@@ -2611,7 +2648,7 @@ __bzero () {}
EOF
if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame_info
-nostdlib -nostartfiles
- -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2615: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2652: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_gcc_dwarf2_unwind_info=static
else
libc_cv_gcc_dwarf2_unwind_info=no
@@ -2619,7 +2656,7 @@ fi
if test $libc_cv_gcc_dwarf2_unwind_info = no; then
if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame
-nostdlib -nostartfiles
- -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2623: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2660: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_gcc_dwarf2_unwind_info=yes
else
libc_cv_gcc_dwarf2_unwind_info=no
@@ -2693,7 +2730,7 @@ if test "$uname" = "sysdeps/generic"; then
fi
echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
-echo "configure:2697: checking OS release for uname" >&5
+echo "configure:2734: checking OS release for uname" >&5
if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2715,7 +2752,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6
uname_release="$libc_cv_uname_release"
echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
-echo "configure:2719: checking OS version for uname" >&5
+echo "configure:2756: checking OS version for uname" >&5
if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2737,7 +2774,7 @@ else
fi
echo $ac_n "checking stdio selection""... $ac_c" 1>&6
-echo "configure:2741: checking stdio selection" >&5
+echo "configure:2778: checking stdio selection" >&5
case $stdio in
libio) cat >> confdefs.h <<\EOF
@@ -2749,7 +2786,7 @@ esac
echo "$ac_t""$stdio" 1>&6
echo $ac_n "checking ldap selection""... $ac_c" 1>&6
-echo "configure:2753: checking ldap selection" >&5
+echo "configure:2790: checking ldap selection" >&5
case $add_ons in
*ldap*)
@@ -2800,7 +2837,7 @@ if test $shared = default; then
fi
echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6
-echo "configure:2804: checking whether -fPIC is default" >&5
+echo "configure:2841: checking whether -fPIC is default" >&5
if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
diff --git a/sysdeps/powerpc/bits/setjmp.h b/sysdeps/powerpc/bits/setjmp.h
index 65db364..100f1d1 100644
--- a/sysdeps/powerpc/bits/setjmp.h
+++ b/sysdeps/powerpc/bits/setjmp.h
@@ -39,3 +39,8 @@
#ifndef _ASM
typedef long int __jmp_buf[58];
#endif
+
+/* Test if longjmp to JMPBUF would unwind the frame
+ containing a local variable at ADDRESS. */
+#define _JMPBUF_UNWINDS(jmpbuf, address) \
+ ((void *) (address) < (void *) (jmpbuf)[JB_GPR1])