summaryrefslogtreecommitdiff
path: root/src/thread
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-09-14 19:19:11 -0400
committerRich Felker <dalias@aerifal.cx>2013-09-14 19:19:11 -0400
commitbfba15c9b96c2a42bd02f51ff10596a23a677926 (patch)
tree2d0718933972275fefa3ea1e256c2ad51de08357 /src/thread
parent9b35ed3fefca6817d7334f15a883d068e0034011 (diff)
downloadmusl-bfba15c9b96c2a42bd02f51ff10596a23a677926.tar.gz
musl-bfba15c9b96c2a42bd02f51ff10596a23a677926.tar.bz2
musl-bfba15c9b96c2a42bd02f51ff10596a23a677926.tar.xz
musl-bfba15c9b96c2a42bd02f51ff10596a23a677926.zip
fix child stack alignment on mips clone
unlike other archs, the mips version of clone was not doing anything to align the stack pointer. this seems to have been the cause for some SIGBUS crashes that were observed in posix_spawn.
Diffstat (limited to 'src/thread')
-rw-r--r--src/thread/mips/clone.s1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/thread/mips/clone.s b/src/thread/mips/clone.s
index 826716ab..6c2e7908 100644
--- a/src/thread/mips/clone.s
+++ b/src/thread/mips/clone.s
@@ -3,6 +3,7 @@
.type __clone,@function
__clone:
# Save function pointer and argument pointer on new thread stack
+ and $5, $5, -8
subu $5, $5, 16
sw $4, 0($5)
sw $7, 4($5)