patch by njk, simplifies thread register initialization for x86_64

It's not necessary to save any registers on the stack across syscall in
x86_64 __set_thread_area.  Don't waste cycles or bytes on it.
This commit is contained in:
Rich Felker 2011-02-16 09:50:57 -05:00
parent 22cd9cae81
commit e3657ba599

View File

@ -3,13 +3,9 @@
.global __set_thread_area
.type __set_thread_area,%function
__set_thread_area:
push %rbx /* save x86_64 abi clobbered registers */
push %r11
mov %rdi,%rsi /* shift for syscall */
movl $0x1002,%edi /* SET_FS register */
movl $158,%eax /* set fs segment to */
syscall /* arch_prctl(SET_FS, arg)*/
pop %r11 /* restore clobbered registers */
pop %rbx
ret
.size __set_thread_area,.-__set_thread_area