Merge "riscv64: use `tail` for tail calls." am: 6cb7db2b03
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2477975
Change-Id: I7a2a5a4f275ae5f769c1c2bd066376b67e31dac5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/libc/arch-riscv64/bionic/__bionic_clone.S b/libc/arch-riscv64/bionic/__bionic_clone.S
index d535095..2827857 100644
--- a/libc/arch-riscv64/bionic/__bionic_clone.S
+++ b/libc/arch-riscv64/bionic/__bionic_clone.S
@@ -51,7 +51,7 @@
.L_bc_failure:
# Set errno if something went wrong.
neg a0, a0
- j __set_errno_internal
+ tail __set_errno_internal
.L_bc_child:
# We're in the child now. Set the end of the frame record chain.
@@ -62,5 +62,5 @@
ld a0, 0(sp)
ld a1, 8(sp)
addi sp, sp, 16
- j __start_thread
+ tail __start_thread
END(__bionic_clone)
diff --git a/libc/arch-riscv64/bionic/syscall.S b/libc/arch-riscv64/bionic/syscall.S
index 7b9d3ca..1a6e60a 100644
--- a/libc/arch-riscv64/bionic/syscall.S
+++ b/libc/arch-riscv64/bionic/syscall.S
@@ -49,5 +49,5 @@
ret
1:
neg a0, a0
- j __set_errno_internal
+ tail __set_errno_internal
END(syscall)