qemu-devel
[Top][All Lists]
Advanced

[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~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]