diff options
author | Jason Evans <jasone@FreeBSD.org> | 2000-05-04 04:36:26 +0000 |
---|---|---|
committer | Jason Evans <jasone@FreeBSD.org> | 2000-05-04 04:36:26 +0000 |
commit | 9976e59211502022168944cbed4949cbd94fc650 (patch) | |
tree | 9a31dc79cea2b9523201a1e703f37cea3d8e138b /lib/libc/i386 | |
parent | 2ae2d6ba88a5a2ca8d8bfaae0e89787c08bfec48 (diff) | |
download | src-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.S | 9 | ||||
-rw-r--r-- | lib/libc/i386/gen/sigsetjmp.S | 9 |
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 |