summaryrefslogtreecommitdiffstats
path: root/libc/arch-x86/bionic/__bionic_clone.S
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2015-04-13 14:20:11 -0700
committerChristopher Ferris <cferris@google.com>2015-04-14 16:42:10 -0700
commit605ee81b0660760dd191f2e2de4c4c92dca5192f (patch)
tree74eaa050e8de122e4615f326f27f458367337718 /libc/arch-x86/bionic/__bionic_clone.S
parent447cd19681cfd0a71282c87d1b32a7757bbaba81 (diff)
downloadbionic-605ee81b0660760dd191f2e2de4c4c92dca5192f.zip
bionic-605ee81b0660760dd191f2e2de4c4c92dca5192f.tar.gz
bionic-605ee81b0660760dd191f2e2de4c4c92dca5192f.tar.bz2
Add missing cfi directives for x86 assembler.
Change-Id: I80d3e33a71bbaeab5f39b667ebe61e865fd54b80
Diffstat (limited to 'libc/arch-x86/bionic/__bionic_clone.S')
-rw-r--r--libc/arch-x86/bionic/__bionic_clone.S12
1 files changed, 12 insertions, 0 deletions
diff --git a/libc/arch-x86/bionic/__bionic_clone.S b/libc/arch-x86/bionic/__bionic_clone.S
index ef78aee..1a6f642 100644
--- a/libc/arch-x86/bionic/__bionic_clone.S
+++ b/libc/arch-x86/bionic/__bionic_clone.S
@@ -3,8 +3,14 @@
// pid_t __bionic_clone(int flags, void* child_stack, pid_t* parent_tid, void* tls, pid_t* child_tid, int (*fn)(void*), void* arg);
ENTRY(__bionic_clone)
pushl %ebx
+ .cfi_adjust_cfa_offset 4
+ .cfi_rel_offset ebx, 0
pushl %esi
+ .cfi_adjust_cfa_offset 4
+ .cfi_rel_offset esi, 0
pushl %edi
+ .cfi_adjust_cfa_offset 4
+ .cfi_rel_offset edi, 0
# Load system call arguments into registers.
movl 16(%esp), %ebx # flags
@@ -46,8 +52,14 @@ ENTRY(__bionic_clone)
# We're the parent; nothing to do.
.L_bc_return:
popl %edi
+ .cfi_adjust_cfa_offset -4
+ .cfi_restore edi
popl %esi
+ .cfi_adjust_cfa_offset -4
+ .cfi_restore esi
popl %ebx
+ .cfi_adjust_cfa_offset -4
+ .cfi_restore ebx
ret
END(__bionic_clone)
.hidden __bionic_clone