diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-05-02 11:53:45 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-05-02 11:53:45 -0400 |
commit | 2d5c74c21e0483128624c43d4399ef49e057e264 (patch) | |
tree | 705a4187697b5df87e58ca34c3b477b5255e2d79 | |
parent | 4f69594689992d76088f2b0af79cd91c40579f64 (diff) | |
download | musl-2d5c74c21e0483128624c43d4399ef49e057e264.tar.gz musl-2d5c74c21e0483128624c43d4399ef49e057e264.tar.bz2 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.s | 2 |
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)*/ |