summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/x86_64/setjmp.S
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2003-08-20 07:37:27 +0000
committerMystery Man <unknown@mandriva.org>2003-08-20 07:37:27 +0000
commit7f2ac73888b8ef372ea597049981b27e7d810ac2 (patch)
tree354132889b63bbe5f446cb82869b3c3367135a80 /mdk-stage1/dietlibc/x86_64/setjmp.S
parent327bd24f8e4291bd1882de1990dd7339f781a9cb (diff)
downloaddrakx-topic/MDKC_1_0.tar
drakx-topic/MDKC_1_0.tar.gz
drakx-topic/MDKC_1_0.tar.bz2
drakx-topic/MDKC_1_0.tar.xz
drakx-topic/MDKC_1_0.zip
This commit was manufactured by cvs2svn to create branch 'MDKC_1_0'.topic/MDKC_1_0
Diffstat (limited to 'mdk-stage1/dietlibc/x86_64/setjmp.S')
-rw-r--r--mdk-stage1/dietlibc/x86_64/setjmp.S37
1 files changed, 37 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/x86_64/setjmp.S b/mdk-stage1/dietlibc/x86_64/setjmp.S
new file mode 100644
index 000000000..3d1ec11f0
--- /dev/null
+++ b/mdk-stage1/dietlibc/x86_64/setjmp.S
@@ -0,0 +1,37 @@
+#include <setjmp.h>
+#include "dietwarning.h"
+
+.text
+.weak setjmp
+.type setjmp,@function
+setjmp:
+.globl __setjmp
+.type __setjmp,@function
+__setjmp:
+ xorq %rsi,%rsi
+
+.globl __sigsetjmp
+.type __sigsetjmp,@function
+__sigsetjmp:
+ movq %rbx,(JB_RBX*8)(%rdi)
+ movq %rbp,(JB_RBP*8)(%rdi)
+ movq %r12,(JB_R12*8)(%rdi)
+ movq %r13,(JB_R13*8)(%rdi)
+ movq %r14,(JB_R14*8)(%rdi)
+ movq %r15,(JB_R15*8)(%rdi)
+ leaq 8(%rsp),%rdx
+ movq %rdx,(JB_RSP*8)(%rdi)
+ movq (%rsp),%rdx
+ movq %rdx,(JB_PC*8)(%rdi)
+#ifdef PIC
+ jmp __sigjmp_save@PLT
+#else
+ jmp __sigjmp_save
+#endif
+.size __sigsetjmp,.-__sigsetjmp;
+
+link_warning("setjmp","setjmp() not yet tested")
+link_warning("__sigsetjmp","setjmp() not yet tested")
+//link_warning("setjmp","error: setjmp() not yet implemented")
+//link_warning("__sigsetjmp","error: setjmp() not yet implemented")
+