about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>1998-04-23 22:46:39 +0000
committerRichard Henderson <rth@redhat.com>1998-04-23 22:46:39 +0000
commita55e5526e2a32237bc2afc9c1fa45c376c522895 (patch)
tree034b3f0c3f37f054995f592ad322b1cfdc1537a2
parentaf3878dff0963da299b6b54d3a76f9c1a68aac27 (diff)
downloadglibc-a55e5526e2a32237bc2afc9c1fa45c376c522895.tar.gz
glibc-a55e5526e2a32237bc2afc9c1fa45c376c522895.tar.xz
glibc-a55e5526e2a32237bc2afc9c1fa45c376c522895.zip
(_JMPBUF_UNWINDS): Added.
1998-04-24  5:45  Richard Henderson  <rth@cygnus.com>

	* sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Added.
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/alpha/bits/setjmp.h6
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d937bdbe04..d8c3631b91 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+1998-04-24  5:45  Richard Henderson  <rth@cygnus.com>
+
+	* sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Added.
+
 Wed Apr 22 11:06:09 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
 	* sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Added.
diff --git a/sysdeps/alpha/bits/setjmp.h b/sysdeps/alpha/bits/setjmp.h
index de37019218..af0b5ae577 100644
--- a/sysdeps/alpha/bits/setjmp.h
+++ b/sysdeps/alpha/bits/setjmp.h
@@ -74,4 +74,10 @@
 
 #ifndef __ASSEMBLY__
 typedef long int __jmp_buf[17];
+
+/* Test if longjmp to JMPBUF would unwind the frame containing a local
+   variable at ADDRESS.  */
+#define _JMPBUF_UNWINDS(_jmpbuf, _address)				\
+  ({ register void *_sp __asm__("$30"); void *_addr = (_address);	\
+     _sp <= _addr && _addr < (void *)((_jmpbuf)[JB_SP]); })
 #endif