[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 08/12] linux-user/sparc64: Fix target_signal_frame
From: |
Richard Henderson |
Subject: |
Re: [PATCH v2 08/12] linux-user/sparc64: Fix target_signal_frame |
Date: |
Fri, 25 Oct 2019 09:38:35 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 |
On 10/25/19 8:47 AM, Laurent Vivier wrote:
> Le 25/10/2019 à 13:39, Richard Henderson a écrit :
>> Instructions are always 4 bytes; use uint32_t not abi_ulong.
>>
>> Signed-off-by: Richard Henderson <address@hidden>
>> ---
>> linux-user/sparc/signal.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
>> index efb0df7e2b..ecfdf937e4 100644
>> --- a/linux-user/sparc/signal.c
>> +++ b/linux-user/sparc/signal.c
>> @@ -87,7 +87,7 @@ struct target_signal_frame {
>> struct sparc_stackf ss;
>> __siginfo_t info;
>> abi_ulong fpu_save;
>> - abi_ulong insns[2] __attribute__ ((aligned (8)));
>> + uint32_t insns[2] __attribute__ ((aligned (8)));
>> abi_ulong extramask[TARGET_NSIG_WORDS - 1];
>> abi_ulong extra_size; /* Should be 0 */
>> qemu_siginfo_fpu_t fpu_state;
>> @@ -98,7 +98,7 @@ struct target_rt_signal_frame {
>> abi_ulong regs[20];
>> sigset_t mask;
>> abi_ulong fpu_save;
>> - unsigned int insns[2];
>> + uint32_t insns[2];
>> stack_t stack;
>> unsigned int extra_size; /* Should be 0 */
>> qemu_siginfo_fpu_t fpu_state;
>>
>
> This definition is used by sparc and sparc64 (sparc64/signal.c includes
> sparc/signal.c), so the definition was valid before your changes for
> sparc and not good for sparc64. Moreover rt_signal_frame for sparc64
> doesn't look like this one (and signal_frame doesn't exist).
You're right that target_rt_signal_frame isn't correct for sparc64. But we
also don't implement setup_rt_frame yet, so it's also currently unused.
What's here is just good enough to make setup_frame work, and that is correct
for both sparc and sparc64.
r~
- [PATCH v2 00/12] linux-user sparc fixes, Richard Henderson, 2019/10/25
- [PATCH v2 01/12] scripts/qemu-binfmt-conf: Update for sparc64, Richard Henderson, 2019/10/25
- [PATCH v2 02/12] tests/tcg/multiarch/linux-test: Fix error check for shmat, Richard Henderson, 2019/10/25
- [PATCH v2 07/12] linux-user/sparc: Fix WREG usage in setup_frame, Richard Henderson, 2019/10/25
- [PATCH v2 04/12] linux-user/sparc: Use WREG constants in sparc/target_cpu.h, Richard Henderson, 2019/10/25
- [PATCH v2 08/12] linux-user/sparc64: Fix target_signal_frame, Richard Henderson, 2019/10/25
- [PATCH v2 03/12] target/sparc: Define an enumeration for accessing env->regwptr, Richard Henderson, 2019/10/25
- [PATCH v2 05/12] linux-user/sparc: Begin using WREG constants in sparc/signal.c, Richard Henderson, 2019/10/25
- [PATCH v2 06/12] linux-user/sparc: Use WREG_SP constant in sparc/signal.c, Richard Henderson, 2019/10/25
- [PATCH v2 12/12] linux-user/alpha: Set r20 secondary return value, Richard Henderson, 2019/10/25
- [PATCH v2 11/12] linux-user/sparc: Fix cpu_clone_regs_*, Richard Henderson, 2019/10/25
- [PATCH v2 09/12] linux-user: Rename cpu_clone_regs to cpu_clone_regs_child, Richard Henderson, 2019/10/25