Make setjmp, longjmp, sigsetjmp, and siglongjmp weak aliases for
__setjmp, __longjmp, __sigsetjmp, and __siglongjmp, respectively. This supports cancellation in the linuxthreads port. In the long run, a much more comprehensive solution will necessitate more dramatic changes to libc symbol naming, and these aliases will probably need modification at that time.
This commit is contained in:
parent
3968ced3f8
commit
2edcbc2e0b
@ -54,7 +54,9 @@
|
||||
#include "DEFS.h"
|
||||
#include "SYS.h"
|
||||
|
||||
ENTRY(setjmp)
|
||||
ENTRY(__setjmp)
|
||||
.weak setjmp;
|
||||
.set setjmp, __setjmp;
|
||||
movl 4(%esp),%ecx
|
||||
PIC_PROLOGUE
|
||||
leal 28(%ecx), %eax
|
||||
@ -80,7 +82,9 @@ ENTRY(setjmp)
|
||||
xorl %eax,%eax
|
||||
ret
|
||||
|
||||
ENTRY(longjmp)
|
||||
ENTRY(__longjmp)
|
||||
.weak longjmp;
|
||||
.set longjmp, __longjmp;
|
||||
movl 4(%esp),%edx
|
||||
PIC_PROLOGUE
|
||||
pushl $0 /* (sigset_t*)oset */
|
||||
|
@ -59,7 +59,9 @@
|
||||
* use sigreturn() if sigreturn() works.
|
||||
*/
|
||||
|
||||
ENTRY(sigsetjmp)
|
||||
ENTRY(__sigsetjmp)
|
||||
.weak sigsetjmp;
|
||||
.set sigsetjmp, __sigsetjmp;
|
||||
movl 8(%esp),%eax
|
||||
movl 4(%esp),%ecx
|
||||
movl %eax,44(%ecx)
|
||||
@ -89,7 +91,9 @@ ENTRY(sigsetjmp)
|
||||
xorl %eax,%eax
|
||||
ret
|
||||
|
||||
ENTRY(siglongjmp)
|
||||
ENTRY(__siglongjmp)
|
||||
.weak siglongjmp;
|
||||
.set siglongjmp, __siglongjmp;
|
||||
movl 4(%esp),%edx
|
||||
cmpl $0,44(%edx)
|
||||
jz 2f
|
||||
|
@ -54,7 +54,9 @@
|
||||
#include "DEFS.h"
|
||||
#include "SYS.h"
|
||||
|
||||
ENTRY(setjmp)
|
||||
ENTRY(__setjmp)
|
||||
.weak setjmp;
|
||||
.set setjmp, __setjmp;
|
||||
movl 4(%esp),%ecx
|
||||
PIC_PROLOGUE
|
||||
leal 28(%ecx), %eax
|
||||
@ -80,7 +82,9 @@ ENTRY(setjmp)
|
||||
xorl %eax,%eax
|
||||
ret
|
||||
|
||||
ENTRY(longjmp)
|
||||
ENTRY(__longjmp)
|
||||
.weak longjmp;
|
||||
.set longjmp, __longjmp;
|
||||
movl 4(%esp),%edx
|
||||
PIC_PROLOGUE
|
||||
pushl $0 /* (sigset_t*)oset */
|
||||
|
@ -59,7 +59,9 @@
|
||||
* use sigreturn() if sigreturn() works.
|
||||
*/
|
||||
|
||||
ENTRY(sigsetjmp)
|
||||
ENTRY(__sigsetjmp)
|
||||
.weak sigsetjmp;
|
||||
.set sigsetjmp, __sigsetjmp;
|
||||
movl 8(%esp),%eax
|
||||
movl 4(%esp),%ecx
|
||||
movl %eax,44(%ecx)
|
||||
@ -89,7 +91,9 @@ ENTRY(sigsetjmp)
|
||||
xorl %eax,%eax
|
||||
ret
|
||||
|
||||
ENTRY(siglongjmp)
|
||||
ENTRY(__siglongjmp)
|
||||
.weak siglongjmp;
|
||||
.set siglongjmp, __siglongjmp;
|
||||
movl 4(%esp),%edx
|
||||
cmpl $0,44(%edx)
|
||||
jz 2f
|
||||
|
Loading…
Reference in New Issue
Block a user