提交 2d5c74c2 编写于 作者: R Rich Felker

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.
上级 4f695946
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
.global __set_thread_area .global __set_thread_area
.type __set_thread_area,@function .type __set_thread_area,@function
__set_thread_area: __set_thread_area:
mov %rdi,%rsi /* shift for syscall */ mov %edi,%esi /* shift for syscall */
movl $0x1002,%edi /* SET_FS register */ movl $0x1002,%edi /* SET_FS register */
movl $0x4000009e,%eax /* set fs segment to */ movl $0x4000009e,%eax /* set fs segment to */
syscall /* arch_prctl(SET_FS, arg)*/ syscall /* arch_prctl(SET_FS, arg)*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册