summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2015-05-02 11:53:45 -0400
committerRich Felker <dalias@aerifal.cx>2015-05-02 11:53:45 -0400
commit2d5c74c21e0483128624c43d4399ef49e057e264 (patch)
tree705a4187697b5df87e58ca34c3b477b5255e2d79
parent4f69594689992d76088f2b0af79cd91c40579f64 (diff)
downloadmusl-2d5c74c21e0483128624c43d4399ef49e057e264.tar.gz
fix x32 __set_thread_area failure due to junk in upper bits
the kernel does not properly clear the upper bits of the syscall argument, so we have to do it before the syscall.
-rw-r--r--src/thread/x32/__set_thread_area.s2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/thread/x32/__set_thread_area.s b/src/thread/x32/__set_thread_area.s
index 94bc3630..e0daf72f 100644
--- a/src/thread/x32/__set_thread_area.s
+++ b/src/thread/x32/__set_thread_area.s
@@ -3,7 +3,7 @@
.global __set_thread_area
.type __set_thread_area,@function
__set_thread_area:
- mov %rdi,%rsi /* shift for syscall */
+ mov %edi,%esi /* shift for syscall */
movl $0x1002,%edi /* SET_FS register */
movl $0x4000009e,%eax /* set fs segment to */
syscall /* arch_prctl(SET_FS, arg)*/