From aacd348637e38795dd7ae3c7c8c908d8c0cd24fd Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 27 Feb 2014 22:03:25 -0500 Subject: rename superh port to "sh" for consistency linux, gcc, etc. all use "sh" as the name for the superh arch. there was already some inconsistency internally in musl: the dynamic linker was searching for "ld-musl-sh.path" as its path file despite its own name being "ld-musl-superh.so.1". there was some sentiment in both directions as to how to resolve the inconsistency, but overall "sh" was favored. --- src/signal/sh/restore.s | 24 ++++++++++++++++++++++++ src/signal/sh/sigsetjmp.s | 27 +++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 src/signal/sh/restore.s create mode 100644 src/signal/sh/sigsetjmp.s (limited to 'src/signal/sh') diff --git a/src/signal/sh/restore.s b/src/signal/sh/restore.s new file mode 100644 index 00000000..ab26034b --- /dev/null +++ b/src/signal/sh/restore.s @@ -0,0 +1,24 @@ +.global __restore +.type __restore, @function +__restore: + mov #119, r3 !__NR_sigreturn + trapa #16 + + or r0, r0 + or r0, r0 + or r0, r0 + or r0, r0 + or r0, r0 + +.global __restore_rt +.type __restore_rt, @function +__restore_rt: + mov #100, r3 !__NR_rt_sigreturn + add #73, r3 + trapa #16 + + or r0, r0 + or r0, r0 + or r0, r0 + or r0, r0 + or r0, r0 diff --git a/src/signal/sh/sigsetjmp.s b/src/signal/sh/sigsetjmp.s new file mode 100644 index 00000000..f6cae801 --- /dev/null +++ b/src/signal/sh/sigsetjmp.s @@ -0,0 +1,27 @@ +.global sigsetjmp +.type sigsetjmp, @function +sigsetjmp: + mov.l r5, @(36,r4) + tst r5, r5 + bf 2f + + sts.l pr, @-r15 + mov.l r4, @-r15 + mov r4, r6 + add #40, r6 + mov #0, r5 + mov #2, r4 + mov.l L1, r0 + bsrf r0 + nop +1: mov.l @r15+, r4 + lds.l @r15+, pr + +2: mov.l L2, r0 + braf r0 + nop +3: + +.align 2 +L1: .long pthread_sigmask@PLT-(1b-.) +L2: .long setjmp@PLT-(3b-.) -- cgit v1.2.1