提交 ce3688ec 编写于 作者: R Rich Felker

work around mips detached thread exit breakage due to kernel regression

linux kernel commit 46e12c07b3b9603c60fc1d421ff18618241cb081 caused
the mips syscall mechanism to fail with EFAULT when the userspace
stack pointer is invalid, breaking __unmapself used for detached
thread exit. the workaround is to set $sp to a known-valid, readable
address, and the simplest one to obtain is the address of the current
function, which is available (per o32 calling convention) in $25.
上级 75eceb3a
......@@ -2,6 +2,7 @@
.global __unmapself
.type __unmapself,@function
__unmapself:
move $sp, $25
li $2, 4091
syscall
li $4, 0
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册