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.

        .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>


r~

Reply via email to