aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/i386
diff options
context:
space:
mode:
authorJason Evans <jasone@FreeBSD.org>2000-05-04 04:36:26 +0000
committerJason Evans <jasone@FreeBSD.org>2000-05-04 04:36:26 +0000
commit9976e59211502022168944cbed4949cbd94fc650 (patch)
tree9a31dc79cea2b9523201a1e703f37cea3d8e138b /lib/libc/i386
parent2ae2d6ba88a5a2ca8d8bfaae0e89787c08bfec48 (diff)
downloadsrc-9976e59211502022168944cbed4949cbd94fc650.tar.gz
src-9976e59211502022168944cbed4949cbd94fc650.zip
Use assembler directives rather than ALTENTRY() so that longjmp() and
siglongjmp() are weak symbols. This is necessary to allow static linking with the linuxthreads library port.
Notes
Notes: svn path=/head/; revision=59933
Diffstat (limited to 'lib/libc/i386')
-rw-r--r--lib/libc/i386/gen/setjmp.S9
-rw-r--r--lib/libc/i386/gen/sigsetjmp.S9
2 files changed, 8 insertions, 10 deletions
diff --git a/lib/libc/i386/gen/setjmp.S b/lib/libc/i386/gen/setjmp.S
index 39e9c2165ec1..738407a1a8f2 100644
--- a/lib/libc/i386/gen/setjmp.S
+++ b/lib/libc/i386/gen/setjmp.S
@@ -80,12 +80,11 @@ ENTRY(setjmp)
xorl %eax,%eax
ret
-#ifdef _THREAD_SAFE
-ENTRY(__longjmp)
-#else
-ALTENTRY(__longjmp)
-ENTRY(longjmp)
+#ifndef _THREAD_SAFE
+.weak CNAME(longjmp);
+.set CNAME(longjmp),CNAME(__longjmp);
#endif
+ENTRY(__longjmp)
movl 4(%esp),%edx
PIC_PROLOGUE
pushl $0 /* (sigset_t*)oset */
diff --git a/lib/libc/i386/gen/sigsetjmp.S b/lib/libc/i386/gen/sigsetjmp.S
index 13c0dc7246c1..40aebb65e53f 100644
--- a/lib/libc/i386/gen/sigsetjmp.S
+++ b/lib/libc/i386/gen/sigsetjmp.S
@@ -89,12 +89,11 @@ ENTRY(sigsetjmp)
xorl %eax,%eax
ret
-#ifdef _THREAD_SAFE
-ENTRY(__siglongjmp)
-#else
-ALTENTRY(__siglongjmp)
-ENTRY(siglongjmp)
+#ifndef _THREAD_SAFE
+.weak CNAME(siglongjmp);
+.set CNAME(siglongjmp),CNAME(__siglongjmp);
#endif
+ENTRY(__siglongjmp);
movl 4(%esp),%edx
cmpl $0,44(%edx)
jz 2f