about summary refs log tree commit diff
path: root/sysdeps/alpha/bits/setjmp.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/alpha/bits/setjmp.h')
-rw-r--r--sysdeps/alpha/bits/setjmp.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/sysdeps/alpha/bits/setjmp.h b/sysdeps/alpha/bits/setjmp.h
index eb0b478fb8..c603a35554 100644
--- a/sysdeps/alpha/bits/setjmp.h
+++ b/sysdeps/alpha/bits/setjmp.h
@@ -1,5 +1,5 @@
 /* Define the machine-dependent type `jmp_buf'.  Alpha version.
-   Copyright (C) 1992,1997,2003,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 1992, 1997, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -55,8 +55,33 @@
  * registers.
  */
 
+#if defined __USE_MISC || defined __ASSEMBLY__
+# define JB_S0  0
+# define JB_S1  1
+# define JB_S2  2
+# define JB_S3  3
+# define JB_S4  4
+# define JB_S5  5
+# define JB_PC  6
+# define JB_FP  7
+# define JB_SP  8
+# define JB_F2  9
+# define JB_F3  10
+# define JB_F4  11
+# define JB_F5  12
+# define JB_F6  13
+# define JB_F7  14
+# define JB_F8  15
+# define JB_F9  16
+#endif
+
 #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)				\
+     ((void *)(_address) < (void *)((_jmpbuf)[JB_SP]))
 #endif
 
 #endif  /* bits/setjmp.h */