Le 25/10/2019 à 13:39, Richard Henderson a écrit :
> This fixes a naming bug wherein we used "UREG_FP" to access the
> stack pointer. OTOH, the "UREG_FP" constant was also defined
> incorrectly such that it *did* reference the stack pointer.
>
> Note that the kernel legitimately uses the name "FP", because it
> utilizes the rolled stack window in processing the system call.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> linux-user/sparc/target_cpu.h | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/linux-user/sparc/target_cpu.h b/linux-user/sparc/target_cpu.h
> index 1ffc0ae9f2..b30fbc72c4 100644
> --- a/linux-user/sparc/target_cpu.h
> +++ b/linux-user/sparc/target_cpu.h
> @@ -41,15 +41,9 @@ static inline void cpu_set_tls(CPUSPARCState *env, target_ulong newtls)
> env->gregs[7] = newtls;
> }
>
> -#ifndef UREG_I6
> -#define UREG_I6 6
> -#endif
> -#ifndef UREG_FP
> -#define UREG_FP UREG_I6
> -#endif
> -
> static inline abi_ulong get_sp_from_cpustate(CPUSPARCState *state)
> {
> - return state->regwptr[UREG_FP];
> + return state->regwptr[WREG_SP];
> }
> +
> #endif
>
Applied to my linux-user branch.
Thanks,
Laurent