aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/bits/setjmp.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc/bits/setjmp.h')
-rw-r--r--sysdeps/powerpc/bits/setjmp.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/sysdeps/powerpc/bits/setjmp.h b/sysdeps/powerpc/bits/setjmp.h
new file mode 100644
index 0000000000..a9cab03fc6
--- /dev/null
+++ b/sysdeps/powerpc/bits/setjmp.h
@@ -0,0 +1,19 @@
+/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
+
+/* The previous bits/setjmp.h had __jmp_buf defined as a structure.
+ We use an array of 'long int' instead, to make writing the
+ assembler easier. Naturally, user code should not depend on
+ either representation. */
+
+#if defined (__USE_MISC) || defined (_ASM)
+#define JB_GPR1 0 /* also known as the stack pointer */
+#define JB_GPR2 1
+#define JB_LR 2
+#define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */
+#define JB_UNUSED 21 /* it's sometimes faster to store doubles word-aligned */
+#define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */
+#endif
+
+#ifndef _ASM
+typedef long int __jmp_buf[58];
+#endif