diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2019-11-06 12:33:12 +0100 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2019-11-06 13:38:42 +0100 |
commit | 8d9c72a2e2f21fb61e615478ea802799e3ef98f0 (patch) | |
tree | 613ed1699d0111a79a685c19403107886cdfb562 /linux-user/sparc/signal.c | |
parent | 80180eb2ca586aae1e8ac8e3b50ff3780dcd8839 (diff) | |
download | qemu-8d9c72a2e2f21fb61e615478ea802799e3ef98f0.zip |
linux-user/sparc: Use WREG_SP constant in sparc/signal.c
s/UREG_FP/WREG_SP/g
This is non-obvious because the UREG_FP constant is fact wrong.
However, the previous search-and-replace patch made it clear that
UREG_FP expands to WREG_O6, and we can see from the enumeration in
target/sparc/cpu.h that WREG_O6 is in fact WREG_SP, the stack pointer.
The UREG_SP define is unused; remove it.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20191106113318.10226-7-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user/sparc/signal.c')
-rw-r--r-- | linux-user/sparc/signal.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c index aac37da239..e05693f204 100644 --- a/linux-user/sparc/signal.c +++ b/linux-user/sparc/signal.c @@ -104,9 +104,6 @@ struct target_rt_signal_frame { qemu_siginfo_fpu_t fpu_state; }; -#define UREG_FP WREG_O6 -#define UREG_SP WREG_I6 - static inline abi_ulong get_sigframe(struct target_sigaction *sa, CPUSPARCState *env, unsigned long framesize) @@ -201,7 +198,7 @@ void setup_frame(int sig, struct target_sigaction *ka, goto sigsegv; /* 3. signal handler back-trampoline and parameters */ - env->regwptr[UREG_FP] = sf_addr; + env->regwptr[WREG_SP] = sf_addr; env->regwptr[WREG_O0] = sig; env->regwptr[WREG_O1] = sf_addr + offsetof(struct target_signal_frame, info); @@ -255,7 +252,7 @@ long do_sigreturn(CPUSPARCState *env) sigset_t host_set; int i; - sf_addr = env->regwptr[UREG_FP]; + sf_addr = env->regwptr[WREG_SP]; trace_user_do_sigreturn(env, sf_addr); if (!lock_user_struct(VERIFY_READ, sf, sf_addr, 1)) { goto segv_and_exit; |