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
404ae65205
commit
5a12c18356
@ -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…
Reference in New Issue
Block a user