diff options
Diffstat (limited to 'src/signal/aarch64/sigsetjmp.s')
-rw-r--r-- | src/signal/aarch64/sigsetjmp.s | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/signal/aarch64/sigsetjmp.s b/src/signal/aarch64/sigsetjmp.s new file mode 100644 index 00000000..e0f83f06 --- /dev/null +++ b/src/signal/aarch64/sigsetjmp.s @@ -0,0 +1,19 @@ +.global sigsetjmp +.global __sigsetjmp +.type sigsetjmp,%function +.type __sigsetjmp,%function +sigsetjmp: +__sigsetjmp: + str x1,[x0,#176] + cbz x1,setjmp + + // TODO errno? + // sigprocmask(SIG_SETMASK, 0, (sigset_t*)buf->__ss); + stp x0,x30,[sp,#-16]! + add x2,x0,#184 + mov x1,#0 + mov x0,#2 + bl sigprocmask + ldp x0,x30,[sp],#16 + + b setjmp |