summaryrefslogtreecommitdiffstats
path: root/lib/libc/i386
diff options
context:
space:
mode:
authorjasone <jasone@FreeBSD.org>2000-05-04 04:36:26 +0000
committerjasone <jasone@FreeBSD.org>2000-05-04 04:36:26 +0000
commitbb0124f71cad89a8bd3dc54f125dd2f0e621f313 (patch)
treed601cafcb57cb998e2f62649db0ff5710d0b3525 /lib/libc/i386
parent1230d2ba141a8b83885b72632397579e6295f36e (diff)
downloadFreeBSD-src-bb0124f71cad89a8bd3dc54f125dd2f0e621f313.zip
FreeBSD-src-bb0124f71cad89a8bd3dc54f125dd2f0e621f313.tar.gz
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.
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 39e9c21..738407a 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 13c0dc7..40aebb6 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
OpenPOWER on IntegriCloud