summaryrefslogtreecommitdiffstats
path: root/lib/libc/amd64/gen/sigsetjmp.S
diff options
context:
space:
mode:
authorjasone <jasone@FreeBSD.org>1999-12-14 20:17:52 +0000
committerjasone <jasone@FreeBSD.org>1999-12-14 20:17:52 +0000
commit2edcbc2e0b115cf2b9357f0b246717209c7b6cbf (patch)
tree80c5c2d91cc7d04964aa286ee3cc765f1a031017 /lib/libc/amd64/gen/sigsetjmp.S
parent3968ced3f8a2f899bd9f39b2b067f2236d485ce5 (diff)
downloadFreeBSD-src-2edcbc2e0b115cf2b9357f0b246717209c7b6cbf.zip
FreeBSD-src-2edcbc2e0b115cf2b9357f0b246717209c7b6cbf.tar.gz
Make setjmp, longjmp, sigsetjmp, and siglongjmp weak aliases for
__setjmp, __longjmp, __sigsetjmp, and __siglongjmp, respectively. This supports cancellation in the linuxthreads port. In the long run, a much more comprehensive solution will necessitate more dramatic changes to libc symbol naming, and these aliases will probably need modification at that time.
Diffstat (limited to 'lib/libc/amd64/gen/sigsetjmp.S')
-rw-r--r--lib/libc/amd64/gen/sigsetjmp.S8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/libc/amd64/gen/sigsetjmp.S b/lib/libc/amd64/gen/sigsetjmp.S
index 9aa32f4..22cf790 100644
--- a/lib/libc/amd64/gen/sigsetjmp.S
+++ b/lib/libc/amd64/gen/sigsetjmp.S
@@ -59,7 +59,9 @@
* use sigreturn() if sigreturn() works.
*/
-ENTRY(sigsetjmp)
+ENTRY(__sigsetjmp)
+.weak sigsetjmp;
+.set sigsetjmp, __sigsetjmp;
movl 8(%esp),%eax
movl 4(%esp),%ecx
movl %eax,44(%ecx)
@@ -89,7 +91,9 @@ ENTRY(sigsetjmp)
xorl %eax,%eax
ret
-ENTRY(siglongjmp)
+ENTRY(__siglongjmp)
+.weak siglongjmp;
+.set siglongjmp, __siglongjmp;
movl 4(%esp),%edx
cmpl $0,44(%edx)
jz 2f
OpenPOWER on IntegriCloud