summaryrefslogtreecommitdiff
path: root/src/signal/s390x/sigsetjmp.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/signal/s390x/sigsetjmp.s')
-rw-r--r--src/signal/s390x/sigsetjmp.s23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/signal/s390x/sigsetjmp.s b/src/signal/s390x/sigsetjmp.s
new file mode 100644
index 00000000..72dfc25d
--- /dev/null
+++ b/src/signal/s390x/sigsetjmp.s
@@ -0,0 +1,23 @@
+ .global sigsetjmp
+ .global __sigsetjmp
+ .type sigsetjmp,%function
+ .type __sigsetjmp,%function
+ .hidden ___setjmp
+sigsetjmp:
+__sigsetjmp:
+ ltgr %r3, %r3
+ bz ___setjmp
+
+ stg %r14, 18*8(%r2)
+ stg %r6, 20*8(%r2)
+ lgr %r6, %r2
+
+ brasl %r14, ___setjmp
+
+ lgr %r3, %r2
+ lgr %r2, %r6
+ lg %r14, 18*8(%r2)
+ lg %r6, 20*8(%r2)
+
+.hidden __sigsetjmp_tail
+ jg __sigsetjmp_tail