about summary refs log tree commit diff
diff options
context:
space:
mode:
authorwanghongliang <wanghongliang@loongson.cn>2024-02-26 02:12:28 +0800
committerRich Felker <dalias@aerifal.cx>2024-02-26 15:23:01 -0500
commit80e3b09823a1d718664bc13704f3f7c19038a19e (patch)
tree247a57485e6bec30196226bf3e7313fa9300b958
parentec325b3828772b5b75ea90f8544f5548c80ff087 (diff)
downloadmusl-80e3b09823a1d718664bc13704f3f7c19038a19e.tar.gz
musl-80e3b09823a1d718664bc13704f3f7c19038a19e.tar.xz
musl-80e3b09823a1d718664bc13704f3f7c19038a19e.zip
loongarch64 __clone: align stack pointer mod 16
According to LoongArch ABI Specs, stack need to be 16 align to improve
performance and compiler layout of stack frames.
-rw-r--r--src/thread/loongarch64/clone.s1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/thread/loongarch64/clone.s b/src/thread/loongarch64/clone.s
index e971ab4b..a165b365 100644
--- a/src/thread/loongarch64/clone.s
+++ b/src/thread/loongarch64/clone.s
@@ -7,6 +7,7 @@
 .hidden __clone
 .type __clone,@function
 __clone:
+	bstrins.d $a1, $zero, 3, 0   #stack to 16 align
 	# Save function pointer and argument pointer on new thread stack
 	addi.d  $a1, $a1, -16
 	st.d    $a0, $a1, 0     # save function pointer