Browse Source

add __sigsetjmp ABI-compat alias for sigsetjmp

master
Rich Felker 12 years ago
parent
commit
b9b2db2f37
  1. 3
      src/signal/arm/sigsetjmp.s
  2. 3
      src/signal/i386/sigsetjmp.s
  3. 3
      src/signal/microblaze/sigsetjmp.s
  4. 3
      src/signal/mips/sigsetjmp.s
  5. 3
      src/signal/powerpc/sigsetjmp.s
  6. 5
      src/signal/sh/sigsetjmp.s
  7. 3
      src/signal/sigsetjmp.c
  8. 3
      src/signal/x32/sigsetjmp.s
  9. 3
      src/signal/x86_64/sigsetjmp.s

3
src/signal/arm/sigsetjmp.s

@ -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

3
src/signal/i386/sigsetjmp.s

@ -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)

3
src/signal/microblaze/sigsetjmp.s

@ -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

3
src/signal/mips/sigsetjmp.s

@ -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

3
src/signal/powerpc/sigsetjmp.s

@ -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

5
src/signal/sh/sigsetjmp.s

@ -1,6 +1,9 @@
.global sigsetjmp .global sigsetjmp
.type sigsetjmp, @function .global __sigsetjmp
.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

3
src/signal/sigsetjmp.c

@ -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);

3
src/signal/x32/sigsetjmp.s

@ -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

3
src/signal/x86_64/sigsetjmp.s

@ -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…
Cancel
Save