about summary refs log tree commit diff
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
musl-2d5c74c21e0483128624c43d4399ef49e057e264.tar.xz
musl-2d5c74c21e0483128624c43d4399ef49e057e264.zip
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)*/