[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH for-2.12] linux-user/signal.c: Put AArch64 frame r
From: |
Peter Maydell |
Subject: |
Re: [Qemu-arm] [PATCH for-2.12] linux-user/signal.c: Put AArch64 frame record in the right place |
Date: |
Fri, 13 Apr 2018 15:20:08 +0100 |
On 13 April 2018 at 15:18, Laurent Vivier <address@hidden> wrote:
> Le 12/04/2018 à 16:02, Peter Maydell a écrit :
>> @@ -1850,12 +1856,6 @@ static void target_setup_frame(int usig, struct
>> target_sigaction *ka,
>> fr_ofs = layout.total_size;
>> layout.total_size += sizeof(struct target_rt_frame_record);
>>
>> - /* We must always provide at least the standard 4K reserved space,
>> - * even if we don't use all of it (this is part of the ABI)
>> - */
>> - layout.total_size = MAX(layout.total_size,
>> - sizeof(struct target_rt_sigframe));
>> -
>> frame_addr = get_sigframe(ka, env, layout.total_size);
>> trace_user_setup_frame(env, frame_addr);
>> if (!lock_user_struct(VERIFY_WRITE, frame, frame_addr, 0)) {
>>
>
> It's hard to compare this code with the one in kernel, but if I compare
> the offset of "fr" in QEMU and the one of "next_frame" they seem identical.
Mmm. We're not quite the same as the kernel, because we keep 64 bits
of trampoline code in our target_rt_frame_record, which don't exist
on the stack in the kernel. So we'll never be exactly like the
kernel's layout (until/unless we implement a VDSO).
> Reviewed-by: Laurent Vivier <address@hidden>
Thanks.
-- PMM