diff options
author | jasone <jasone@FreeBSD.org> | 2000-05-04 04:36:26 +0000 |
---|---|---|
committer | jasone <jasone@FreeBSD.org> | 2000-05-04 04:36:26 +0000 |
commit | bb0124f71cad89a8bd3dc54f125dd2f0e621f313 (patch) | |
tree | d601cafcb57cb998e2f62649db0ff5710d0b3525 /lib/libc/i386 | |
parent | 1230d2ba141a8b83885b72632397579e6295f36e (diff) | |
download | FreeBSD-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.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 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 |