From: Rich Felker Date: Sat, 2 May 2015 15:53:45 +0000 (-0400) Subject: fix x32 __set_thread_area failure due to junk in upper bits X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=2d5c74c21e0483128624c43d4399ef49e057e264;hp=4f69594689992d76088f2b0af79cd91c40579f64;p=musl 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. --- 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)*/