Port musl to x86-64. One giant commit!
[musl] / src / thread / x86_64 / __set_thread_area.s
1 /* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
2 .text
3 .global __set_thread_area
4 .type   __set_thread_area,%function
5 __set_thread_area:
6         push %rbx               /* save x86_64 abi clobbered registers */
7         push %r11
8         mov %rdi,%rsi           /* shift for syscall */
9         movl $0x1002,%edi       /* SET_FS register */
10         movl $158,%eax          /* set fs segment to */
11         syscall                 /* arch_prctl(SET_FS, arg)*/
12         pop %r11                /* restore clobbered registers */
13         pop %rbx
14         ret
15 .size __set_thread_area,.-__set_thread_area