On 27 May 2016 at 17:21, Richard Henderson <r...@twiddle.net> 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 <r...@twiddle.net> Thanks. I'll spin a v2 with your changes in it next week. -- PMM