diff options
author | Alex Rønne Petersen <alex@alexrp.com> | 2024-12-12 17:56:04 +0100 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2025-02-21 20:53:41 -0500 |
commit | b6b81f697b38ef915a5dbf1311baba164822e917 (patch) | |
tree | e43a8a1710aaca8f276034bfa4fc048e94113aca /src/thread/or1k | |
parent | 5e03c03fcde3534b37a0b995a438cd176d6882d3 (diff) | |
download | musl-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/or1k')
-rw-r--r-- | src/thread/or1k/clone.s | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/thread/or1k/clone.s b/src/thread/or1k/clone.s index 9a84aeba..b41488a2 100644 --- a/src/thread/or1k/clone.s +++ b/src/thread/or1k/clone.s @@ -25,7 +25,8 @@ __clone: l.jr r9 l.nop -1: l.lwz r11, 0(r1) +1: l.ori r2, r0, 0 + l.lwz r11, 0(r1) l.jalr r11 l.lwz r3, 4(r1) |