[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: |
Laurent Vivier |
Subject: |
Re: [PATCH v2 08/12] linux-user/sparc64: Fix target_signal_frame |
Date: |
Fri, 25 Oct 2019 15:43:15 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 |
Le 25/10/2019 à 15:38, Richard Henderson a écrit :
> 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.
ok
Reviewed-by: Laurent Vivier <address@hidden>
- [PATCH v2 01/12] scripts/qemu-binfmt-conf: Update for sparc64, (continued)
- [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