summaryrefslogtreecommitdiffhomepage
path: root/src/setjmp
diff options
context:
space:
mode:
Diffstat (limited to 'src/setjmp')
-rw-r--r--src/setjmp/nt32/longjmp.s6
-rw-r--r--src/setjmp/nt32/setjmp.s11
2 files changed, 12 insertions, 5 deletions
diff --git a/src/setjmp/nt32/longjmp.s b/src/setjmp/nt32/longjmp.s
index 46713f2..73b2e61 100644
--- a/src/setjmp/nt32/longjmp.s
+++ b/src/setjmp/nt32/longjmp.s
@@ -11,3 +11,9 @@ ___longjmp:
__longjmp:
_longjmp:
test %edx, %edx # is val zero?
+
+ .section .got$longjmp
+ .global __imp__longjmp
+__imp__longjmp:
+ .long _longjmp
+ .linkonce discard
diff --git a/src/setjmp/nt32/setjmp.s b/src/setjmp/nt32/setjmp.s
index d4e8db3..7ef6485 100644
--- a/src/setjmp/nt32/setjmp.s
+++ b/src/setjmp/nt32/setjmp.s
@@ -10,9 +10,10 @@
___setjmp:
__setjmp:
_setjmp:
- pop (%ecx) # return address
- mov %esp, 0x04(%ecx) # caller's stack pointer
- push (%ecx) # restore own stack pointer
-
- xor %eax, %eax
ret
+
+ .section .got$setjmp,"r"
+ .global __imp__setjmp
+__imp__setjmp:
+ .long _setjmp
+ .linkonce discard