add __sigsetjmp ABI-compat alias for sigsetjmp
This commit is contained in:
parent
141d3b5c2a
commit
b9b2db2f37
9 changed files with 28 additions and 1 deletions
|
|
@ -1,6 +1,9 @@
|
||||||
.global sigsetjmp
|
.global sigsetjmp
|
||||||
|
.global __sigsetjmp
|
||||||
.type sigsetjmp,%function
|
.type sigsetjmp,%function
|
||||||
|
.type __sigsetjmp,%function
|
||||||
sigsetjmp:
|
sigsetjmp:
|
||||||
|
__sigsetjmp:
|
||||||
str a2,[a1,#256]
|
str a2,[a1,#256]
|
||||||
tst a2,a2
|
tst a2,a2
|
||||||
beq setjmp
|
beq setjmp
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
.global sigsetjmp
|
.global sigsetjmp
|
||||||
|
.global __sigsetjmp
|
||||||
.type sigsetjmp,@function
|
.type sigsetjmp,@function
|
||||||
|
.type __sigsetjmp,@function
|
||||||
sigsetjmp:
|
sigsetjmp:
|
||||||
|
__sigsetjmp:
|
||||||
mov 4(%esp),%eax
|
mov 4(%esp),%eax
|
||||||
mov 8(%esp),%ecx
|
mov 8(%esp),%ecx
|
||||||
mov %ecx,24(%eax)
|
mov %ecx,24(%eax)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
.global sigsetjmp
|
.global sigsetjmp
|
||||||
|
.global __sigsetjmp
|
||||||
.type sigsetjmp,@function
|
.type sigsetjmp,@function
|
||||||
|
.type __sigsetjmp,@function
|
||||||
sigsetjmp:
|
sigsetjmp:
|
||||||
|
__sigsetjmp:
|
||||||
swi r6, r5, 72
|
swi r6, r5, 72
|
||||||
beqi r6, setjmp@PLT
|
beqi r6, setjmp@PLT
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
.set noreorder
|
.set noreorder
|
||||||
|
|
||||||
.global sigsetjmp
|
.global sigsetjmp
|
||||||
|
.global __sigsetjmp
|
||||||
.type sigsetjmp,@function
|
.type sigsetjmp,@function
|
||||||
|
.type __sigsetjmp,@function
|
||||||
sigsetjmp:
|
sigsetjmp:
|
||||||
|
__sigsetjmp:
|
||||||
lui $gp, %hi(_gp_disp)
|
lui $gp, %hi(_gp_disp)
|
||||||
addiu $gp, %lo(_gp_disp)
|
addiu $gp, %lo(_gp_disp)
|
||||||
beq $5, $0, 1f
|
beq $5, $0, 1f
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
.global sigsetjmp
|
.global sigsetjmp
|
||||||
|
.global __sigsetjmp
|
||||||
.type sigsetjmp,%function
|
.type sigsetjmp,%function
|
||||||
|
.type __sigsetjmp,%function
|
||||||
sigsetjmp:
|
sigsetjmp:
|
||||||
|
__sigsetjmp:
|
||||||
#int sigsetjmp(sigjmp_buf buf, int save)
|
#int sigsetjmp(sigjmp_buf buf, int save)
|
||||||
# r3 r4
|
# r3 r4
|
||||||
#0) store save into buf->__fl
|
#0) store save into buf->__fl
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
.global sigsetjmp
|
.global sigsetjmp
|
||||||
|
.global __sigsetjmp
|
||||||
.type sigsetjmp,@function
|
.type sigsetjmp,@function
|
||||||
|
.type __sigsetjmp,@function
|
||||||
sigsetjmp:
|
sigsetjmp:
|
||||||
|
__sigsetjmp:
|
||||||
mov.l r5, @(36,r4)
|
mov.l r5, @(36,r4)
|
||||||
tst r5, r5
|
tst r5, r5
|
||||||
bf 2f
|
bf 2f
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
#include "libc.h"
|
||||||
|
|
||||||
/* !!! This function will not work unless the compiler performs
|
/* !!! This function will not work unless the compiler performs
|
||||||
* tail call optimization. Machine-specific asm versions should
|
* tail call optimization. Machine-specific asm versions should
|
||||||
|
|
@ -12,3 +13,5 @@ int sigsetjmp(sigjmp_buf buf, int save)
|
||||||
pthread_sigmask(SIG_SETMASK, 0, (sigset_t *)buf->__ss);
|
pthread_sigmask(SIG_SETMASK, 0, (sigset_t *)buf->__ss);
|
||||||
return setjmp(buf);
|
return setjmp(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
weak_alias(sigsetjmp, __sigsetjmp);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,10 @@
|
||||||
/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
|
/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
|
||||||
.global sigsetjmp
|
.global sigsetjmp
|
||||||
|
.global __sigsetjmp
|
||||||
.type sigsetjmp,@function
|
.type sigsetjmp,@function
|
||||||
|
.type __sigsetjmp,@function
|
||||||
sigsetjmp:
|
sigsetjmp:
|
||||||
|
__sigsetjmp:
|
||||||
andl %esi,%esi
|
andl %esi,%esi
|
||||||
movq %rsi,64(%rdi)
|
movq %rsi,64(%rdi)
|
||||||
jz 1f
|
jz 1f
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,10 @@
|
||||||
/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
|
/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
|
||||||
.global sigsetjmp
|
.global sigsetjmp
|
||||||
|
.global __sigsetjmp
|
||||||
.type sigsetjmp,@function
|
.type sigsetjmp,@function
|
||||||
|
.type __sigsetjmp,@function
|
||||||
sigsetjmp:
|
sigsetjmp:
|
||||||
|
__sigsetjmp:
|
||||||
andl %esi,%esi
|
andl %esi,%esi
|
||||||
movq %rsi,64(%rdi)
|
movq %rsi,64(%rdi)
|
||||||
jz 1f
|
jz 1f
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue