summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/sparc/setjmp.S
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2001-01-04 20:04:45 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2001-01-04 20:04:45 +0000
commit02fec4701cee79f875c1d02b8b4aee09380dbcb8 (patch)
treef4f291aedbb2e60ee58351481858a8cd3ec80b6b /mdk-stage1/dietlibc/sparc/setjmp.S
parent9887fe04751edf39e8389f2c3ec3f020b5e1c17d (diff)
downloaddrakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar
drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.gz
drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.bz2
drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.xz
drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.zip
integrate dietlibc/stdio per default for cdrom and disk only installs
Diffstat (limited to 'mdk-stage1/dietlibc/sparc/setjmp.S')
-rw-r--r--mdk-stage1/dietlibc/sparc/setjmp.S35
1 files changed, 35 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/sparc/setjmp.S b/mdk-stage1/dietlibc/sparc/setjmp.S
new file mode 100644
index 000000000..be77af3c4
--- /dev/null
+++ b/mdk-stage1/dietlibc/sparc/setjmp.S
@@ -0,0 +1,35 @@
+#define _ASM
+#define _SETJMP_H
+#include <bits/setjmp.h>
+
+#define ST_FLUSH_WINDOWS 0x03
+
+.section .rodata
+.text
+.globl __setjmp
+__setjmp:
+ b 1f
+ set 0, %o1
+.size __setjmp,.-__setjmp
+
+.globl setjmp
+setjmp:
+ set 1, %o1
+.size setjmp,.-setjmp
+
+.globl __sigsetjmp
+__sigsetjmp:
+1:
+ /* Save our PC, SP and FP. Save the signal mask if requested with
+ a tail-call for simplicity; it always returns zero. */
+ ta ST_FLUSH_WINDOWS
+
+ st %o7, [%o0 + (JB_PC * 4)]
+ st %sp, [%o0 + (JB_SP * 4)]
+ st %fp, [%o0 + (JB_FP * 4)]
+
+ mov %o7, %g1
+ call __sigjmp_save
+ mov %g1, %o7
+.size __sigsetjmp,.-__sigsetjmp
+