From 15b91e92a0bb4a15b4f2258bea332f4a67fa94d7 Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Thu, 29 May 2014 18:17:09 -0700 Subject: Fix x86 cfi directives for syscalls. The syscall generation always used 4 bytes for each push cfi directive. However, the first push should always use an offset of 8 bytes, each subsequent push after that is only 4 bytes though. Change-Id: Ibaabd107f399ef67010b9a08213783957c2f74a9 --- libc/arch-x86/syscalls/readv.S | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'libc/arch-x86/syscalls/readv.S') diff --git a/libc/arch-x86/syscalls/readv.S b/libc/arch-x86/syscalls/readv.S index 05445c0..8cb01a0 100644 --- a/libc/arch-x86/syscalls/readv.S +++ b/libc/arch-x86/syscalls/readv.S @@ -4,12 +4,14 @@ ENTRY(readv) pushl %ebx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 pushl %edx - .cfi_def_cfa_offset 12 - .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx -- cgit v1.1