summaryrefslogtreecommitdiff
path: root/src/thread/microblaze/clone.s
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2024-12-12 17:56:04 +0100
committerRich Felker <dalias@aerifal.cx>2025-02-21 20:53:41 -0500
commitb6b81f697b38ef915a5dbf1311baba164822e917 (patch)
treee43a8a1710aaca8f276034bfa4fc048e94113aca /src/thread/microblaze/clone.s
parent5e03c03fcde3534b37a0b995a438cd176d6882d3 (diff)
downloadmusl-b6b81f697b38ef915a5dbf1311baba164822e917.tar.gz
clone: clear the frame pointer in the child process on relevant ports
This just mirrors what is done in the start code for the affected ports, as well as what is already done for the three x86 ports. Clearing the frame pointer helps protect FP-based unwinders from wrongly attempting to traverse into the parent thread's call frame stack.
Diffstat (limited to 'src/thread/microblaze/clone.s')
-rw-r--r--src/thread/microblaze/clone.s3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/thread/microblaze/clone.s b/src/thread/microblaze/clone.s
index b68cc5fc..64e3f074 100644
--- a/src/thread/microblaze/clone.s
+++ b/src/thread/microblaze/clone.s
@@ -22,7 +22,8 @@ __clone:
rtsd r15, 8
nop
-1: lwi r3, r1, 0
+1: add r19, r0, r0
+ lwi r3, r1, 0
lwi r5, r1, 4
brald r15, r3
nop