From 3d2872efe317fa3185b45a35d1c76669585f89a8 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 3 Jul 2017 12:41:41 +0200 Subject: aarch64: finetuning, sync with glibc --- libc/sysdeps/linux/aarch64/clone.S | 3 ++- libc/sysdeps/linux/aarch64/vfork.S | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'libc/sysdeps') 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) -- cgit v1.2.3