summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/alpha/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/alpha/setjmp.S
parent9887fe04751edf39e8389f2c3ec3f020b5e1c17d (diff)
downloaddrakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.gz
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.bz2
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.xz
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.zip
integrate dietlibc/stdio per default for cdrom and disk only installs
Diffstat (limited to 'mdk-stage1/dietlibc/alpha/setjmp.S')
-rw-r--r--mdk-stage1/dietlibc/alpha/setjmp.S46
1 files changed, 46 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/alpha/setjmp.S b/mdk-stage1/dietlibc/alpha/setjmp.S
new file mode 100644
index 000000000..3768056be
--- /dev/null
+++ b/mdk-stage1/dietlibc/alpha/setjmp.S
@@ -0,0 +1,46 @@
+#include <setjmp.h>
+
+.text
+.global __sigsetjmp
+__sigsetjmp:
+ ldgp $gp, 0($gp)
+
+ mov $sp, $1
+ lda $sp, -16($sp)
+
+ stq $26, 0($sp) /* save ra */
+
+ stq $9, (JB_S0*8) ($16) /* s0 */
+ stq $10, (JB_S1*8) ($16) /* s1 */
+ stq $11, (JB_S2*8) ($16) /* s2 */
+ stq $12, (JB_S3*8) ($16) /* s3 */
+ stq $13, (JB_S4*8) ($16) /* s4 */
+ stq $14, (JB_S5*8) ($16) /* s5 */
+
+ stq $26, (JB_PC*8) ($16) /* ra */
+ stq $fp, (JB_FP*8) ($16) /* fp */
+ stq $1, (JB_SP*8) ($16) /* sp */
+
+ stt $f2, (JB_F2*8) ($16) /* f2 */
+ stt $f3, (JB_F3*8) ($16) /* f3 */
+ stt $f4, (JB_F4*8) ($16) /* f4 */
+ stt $f5, (JB_F5*8) ($16) /* f5 */
+ stt $f6, (JB_F6*8) ($16) /* f6 */
+ stt $f7, (JB_F7*8) ($16) /* f7 */
+ stt $f8, (JB_F8*8) ($16) /* f8 */
+ stt $f9, (JB_F9*8) ($16) /* f9 */
+
+ br $26, __sigjmp_save /* call __sigjmp_save */
+
+ ldq $26, 0($sp) /* restore ra */
+
+ lda $sp, 16($sp)
+ ret $31, ($26), 1 /* back to caller */
+
+.weak setjmp
+setjmp:
+.weak __setjmp
+__setjmp:
+ ldgp $gp, 0($gp)
+ mov 0, $17
+ br __sigsetjmp