summaryrefslogtreecommitdiffstats
path: root/libc/arch-x86
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-06-05 12:28:14 -0700
committerElliott Hughes <enh@google.com>2014-06-05 16:36:06 -0700
commitaeb3016f8132689d1b49d30056005b667e3d2d0e (patch)
tree0a5a182750784aac6412b09a99cce3dd82875a83 /libc/arch-x86
parente120cba31df5249b720579312e799bd1c65f8e3d (diff)
downloadbionic-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.S6
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