From 2d5c74c21e0483128624c43d4399ef49e057e264 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sat, 2 May 2015 11:53:45 -0400 Subject: 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. --- src/thread/x32/__set_thread_area.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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)*/ -- cgit v1.2.1