linux-user: define TARGET_ARCH_HAS_KA_RESTORER

Sparc as an extended sigaction structure containing
the field ka_restorer used in place of sa_restorer.

Define TARGET_ARCH_HAS_KA_RESTORER and use it
with sparc.

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20180402102453.9883-2-laurent@vivier.eu>
This commit is contained in:
Laurent Vivier 2018-04-02 12:24:52 +02:00
parent 95a29a4e3e
commit 5de154e82f
3 changed files with 11 additions and 4 deletions

View file

@ -2920,8 +2920,8 @@ static void setup_frame(int sig, struct target_sigaction *ka,
env->pc = ka->_sa_handler;
env->npc = (env->pc + 4);
/* 5. return to kernel instructions */
if (ka->sa_restorer) {
env->regwptr[UREG_I7] = ka->sa_restorer;
if (ka->ka_restorer) {
env->regwptr[UREG_I7] = ka->ka_restorer;
} else {
uint32_t val32;