[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] linux-user: provide frame information in x86-64
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH] linux-user: provide frame information in x86-64 safe_syscall |
Date: |
Fri, 27 May 2016 17:34:55 +0100 |
On 27 May 2016 at 17:21, Richard Henderson <address@hidden> wrote:
> On 05/27/2016 08:06 AM, Peter Maydell wrote:
>>
>> @@ -31,6 +32,8 @@ safe_syscall_base:
>> * does not list any ABI differences regarding stack alignment.)
>> */
>> push %rbp
>> + .cfi_def_cfa_offset 16
>> + .cfi_offset rbp,-16
>
>
> While this is correct, there are two other directives that make it easier to
> describe changes without having to compute globally correct constants. Here
> they would be:
>
> .cfi_adjust_cfa_offset 8
>
> Add 8 to the offset, i.e. decrement the SP by 8.
Presumably .cfi_startproc sets the initial offset to 8?
(It's not documented that it does so, which is I think partly why
I preferred to use a directive that definitely set the offset
to the right thing.)
> .cfi_rel_offset rbp, 0
>
> Save rbp at the current top-of-stack.
>
> The assembler will compute the absolute values from these relative values.
> Using them makes it easy to see from a narrow window of code that the
> annotations are correct.
>
> Otherwise,
>
> Reviewed-by: Richard Henderson <address@hidden>
Thanks. I'll spin a v2 with your changes in it next week.
-- PMM