diff options
author | Elliott Hughes <enh@google.com> | 2014-06-05 12:28:14 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2014-06-05 16:36:06 -0700 |
commit | aeb3016f8132689d1b49d30056005b667e3d2d0e (patch) | |
tree | 0a5a182750784aac6412b09a99cce3dd82875a83 /libc/arch-x86 | |
parent | e120cba31df5249b720579312e799bd1c65f8e3d (diff) | |
download | bionic-aeb3016f8132689d1b49d30056005b667e3d2d0e.zip bionic-aeb3016f8132689d1b49d30056005b667e3d2d0e.tar.gz bionic-aeb3016f8132689d1b49d30056005b667e3d2d0e.tar.bz2 |
Fix unwinding through x86-64 __bionic_clone.
x86-64 needs these CFI directives to stop unwinding here.
I've also cleaned up the assembler a little, and made x86 and x86-64
a little more alike.
Bug: 15195760
Change-Id: I40f92c007843c29c933bb6876fe2b4611e1b946b
Diffstat (limited to 'libc/arch-x86')
-rw-r--r-- | libc/arch-x86/bionic/__bionic_clone.S | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libc/arch-x86/bionic/__bionic_clone.S b/libc/arch-x86/bionic/__bionic_clone.S index 7c972de..672512c 100644 --- a/libc/arch-x86/bionic/__bionic_clone.S +++ b/libc/arch-x86/bionic/__bionic_clone.S @@ -25,8 +25,8 @@ ENTRY(__bionic_clone) int $0x80 # Check result. - cmpl $0, %eax - je .L_bc_child + testl %eax, %eax + jz .L_bc_child jg .L_bc_parent # An error occurred, so set errno and return -1. @@ -44,7 +44,7 @@ ENTRY(__bionic_clone) hlt .L_bc_parent: - # we're the parent; nothing to do. + # We're the parent; nothing to do. .L_bc_return: popl %edi popl %esi |