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.
This commit is contained in:
parent
2ae2d6ba88
commit
9976e59211
@ -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 */
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user