summaryrefslogtreecommitdiff
path: root/libc/sysdeps
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@uclibc-ng.org>2017-07-03 12:41:41 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2017-07-28 19:08:46 +0200
commit3d2872efe317fa3185b45a35d1c76669585f89a8 (patch)
tree73b0de03a43e1673d4f68d77a3c4dc031d67fae0 /libc/sysdeps
parentb98192b80ee5654aa7c5590bcc266c5eec2c67a5 (diff)
aarch64: finetuning, sync with glibc
Diffstat (limited to 'libc/sysdeps')
-rw-r--r--libc/sysdeps/linux/aarch64/clone.S3
-rw-r--r--libc/sysdeps/linux/aarch64/vfork.S8
2 files changed, 7 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/aarch64/clone.S b/libc/sysdeps/linux/aarch64/clone.S
index 74984aabb..e3311d184 100644
--- a/libc/sysdeps/linux/aarch64/clone.S
+++ b/libc/sysdeps/linux/aarch64/clone.S
@@ -69,7 +69,8 @@ thread_start:
blr x10
/* We are done, pass the return value through x0. */
- b HIDDEN_JUMPTARGET(_exit)
+ mov x8, #SYS_ify(exit)
+ svc 0x0
cfi_endproc
.size thread_start, .-thread_start
diff --git a/libc/sysdeps/linux/aarch64/vfork.S b/libc/sysdeps/linux/aarch64/vfork.S
index 9a8fd469a..7a4ff2b53 100644
--- a/libc/sysdeps/linux/aarch64/vfork.S
+++ b/libc/sysdeps/linux/aarch64/vfork.S
@@ -23,7 +23,7 @@
replaced by a call to `execve'. Return -1 for errors, 0 to the new process,
and the process ID of the new process to the old process. */
-ENTRY (vfork)
+ENTRY (__vfork)
mov x0, #0x4111 /* CLONE_VM | CLONE_VFORK | SIGCHLD */
mov x1, sp
@@ -33,5 +33,7 @@ ENTRY (vfork)
b.cs .Lsyscall_error
RET
-PSEUDO_END (vfork)
-libc_hidden_def (vfork)
+PSEUDO_END (__vfork)
+libc_hidden_def(vfork)
+
+weak_alias (__vfork, vfork)