Alpha had two bugs, one with the non-ka_restorer fallback using the wrong offset, and the other with the ka_restorer value getting lost in do_sigaction.
Sparc had another bug, where the ka_restorer field was written to user memory. Version 2 splits patch 2 into 6. r~ Richard Henderson (7): linux-user/alpha: Fix rt sigframe return linux-user/alpha: Rename the sigaction restorer field linux-user: Pass ka_restorer to do_sigaction linux-user: Honor TARGET_ARCH_HAS_SA_RESTORER in do_syscall linux-user/alpha: Define TARGET_ARCH_HAS_KA_RESTORER linux-user/alpha: Share code for TARGET_NR_sigaction linux-user: Tidy TARGET_NR_rt_sigaction linux-user/alpha/target_signal.h | 1 + linux-user/syscall_defs.h | 29 ++------- linux-user/alpha/signal.c | 10 +-- linux-user/signal.c | 5 +- linux-user/syscall.c | 107 ++++++++----------------------- 5 files changed, 43 insertions(+), 109 deletions(-) -- 2.25.1