summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/avr32/bits/setjmp.h
diff options
context:
space:
mode:
authorCarmelo Amoroso <carmelo.amoroso@st.com>2008-03-16 09:11:31 +0000
committerCarmelo Amoroso <carmelo.amoroso@st.com>2008-03-16 09:11:31 +0000
commit1cd785fe106389b7cc708d1c413eb8bfbc95ff43 (patch)
tree01a20f24c6cac36568a0c96ce76578fe8b8f47f8 /libc/sysdeps/linux/avr32/bits/setjmp.h
parentb892d0f9caca5d891d7ce615e3df518b3870b36b (diff)
downloaduClibc-alpine-1cd785fe106389b7cc708d1c413eb8bfbc95ff43.tar.bz2
uClibc-alpine-1cd785fe106389b7cc708d1c413eb8bfbc95ff43.tar.xz
Merge nptl branch tree with trunk.
Step 8: add xtensa, cris and avr32 architecture dependent files, as is. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Diffstat (limited to 'libc/sysdeps/linux/avr32/bits/setjmp.h')
-rw-r--r--libc/sysdeps/linux/avr32/bits/setjmp.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/avr32/bits/setjmp.h b/libc/sysdeps/linux/avr32/bits/setjmp.h
new file mode 100644
index 000000000..733a473d1
--- /dev/null
+++ b/libc/sysdeps/linux/avr32/bits/setjmp.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2004-2005 Atmel Corporation
+ *
+ * This file is subject to the terms and conditions of the GNU Lesser General
+ * Public License. See the file "COPYING.LIB" in the main directory of this
+ * archive for more details.
+ */
+#ifndef _BITS_SETJMP_H
+#define _BITS_SETJMP_H 1
+
+#if !defined _SETJMP_H && !defined _PTHREAD_H
+# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
+#endif
+
+#ifndef _ASM
+/*
+ * The jump buffer contains r0-r7, sr, sp and lr. Other registers are
+ * not saved.
+ */
+typedef int __jmp_buf[11];
+#endif
+
+#define __JMP_BUF_SP 4
+
+/* Test if longjmp to JMPBUF would unwind the frame containing a local
+ variable at ADDRESS. */
+#define _JMPBUF_UNWINDS(jmpbuf, address) \
+ ((void *)(address) < (void *)(jmpbuf[__JMP_BUF_SP]))
+
+#endif /* _BITS_SETJMP_H */