diff options
author | Alex Rønne Petersen <alex@alexrp.com> | 2025-02-08 05:39:59 +0100 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2025-02-21 19:56:28 -0500 |
commit | 5e03c03fcde3534b37a0b995a438cd176d6882d3 (patch) | |
tree | d518e50885df2ac31337fec4fbe9589c04460f37 | |
parent | 06c5e4e832f4796be02c743270fb554f978de02c (diff) | |
download | musl-5e03c03fcde3534b37a0b995a438cd176d6882d3.tar.gz |
clone: align the given stack pointer on or1k and riscv
This was an oversight specific to these archs; others have always
aligned the new stack pointer correctly.
-rw-r--r-- | src/thread/or1k/clone.s | 2 | ||||
-rw-r--r-- | src/thread/riscv32/clone.s | 1 | ||||
-rw-r--r-- | src/thread/riscv64/clone.s | 1 |
3 files changed, 4 insertions, 0 deletions
diff --git a/src/thread/or1k/clone.s b/src/thread/or1k/clone.s index 2473ac20..9a84aeba 100644 --- a/src/thread/or1k/clone.s +++ b/src/thread/or1k/clone.s @@ -6,6 +6,8 @@ .hidden __clone .type __clone,@function __clone: + l.xori r11, r0, -4 + l.and r4, r4, r11 l.addi r4, r4, -8 l.sw 0(r4), r3 l.sw 4(r4), r6 diff --git a/src/thread/riscv32/clone.s b/src/thread/riscv32/clone.s index 3102239d..e2116e33 100644 --- a/src/thread/riscv32/clone.s +++ b/src/thread/riscv32/clone.s @@ -8,6 +8,7 @@ .type __clone, %function __clone: # Save func and arg to stack + andi a1, a1, -16 addi a1, a1, -16 sw a0, 0(a1) sw a3, 4(a1) diff --git a/src/thread/riscv64/clone.s b/src/thread/riscv64/clone.s index db908248..0e6f41a8 100644 --- a/src/thread/riscv64/clone.s +++ b/src/thread/riscv64/clone.s @@ -8,6 +8,7 @@ .type __clone, %function __clone: # Save func and arg to stack + andi a1, a1, -16 addi a1, a1, -16 sd a0, 0(a1) sd a3, 8(a1) |