3 asm ("movl %%gs:0,%0\n\t" \
4 "subl $" #x "@tpoff,%0" \
11 asm ("movl %%gs:0,%0\n\t" \
12 "subl " #x "@gottpoff(%%ebx),%0" \
20 "1:\tmovl (%%esp), %%ebx\n\t" \
23 "addl $_GLOBAL_OFFSET_TABLE_, %%ebx\n\t" \
24 "movl %%gs:0,%0\n\t" \
25 "subl " #x "@gottpoff(%%ebx),%0" \
26 : "=r" (__l), "=&b" (__b)); \
32 ({ int *__l, __c, __d; \
33 asm ("leal " #x "@tlsldm(%%ebx),%%eax\n\t" \
34 "call ___tls_get_addr@plt\n\t" \
35 "leal " #x "@dtpoff(%%eax), %%eax" \
36 : "=a" (__l), "=&c" (__c), "=&d" (__d)); \
40 ({ int *__l, __b, __c, __d; \
43 "1:\tmovl (%%esp), %%ebx\n\t" \
46 "addl $_GLOBAL_OFFSET_TABLE_, %%ebx\n\t" \
47 "leal " #x "@tlsldm(%%ebx),%%eax\n\t" \
48 "call ___tls_get_addr@plt\n\t" \
49 "leal " #x "@dtpoff(%%eax), %%eax" \
50 : "=a" (__l), "=&b" (__b), "=&c" (__c), "=&d" (__d)); \
56 ({ int *__l, __c, __d; \
57 asm ("leal " #x "@tlsgd(%%ebx),%%eax\n\t" \
58 "call ___tls_get_addr@plt\n\t" \
60 : "=a" (__l), "=&c" (__c), "=&d" (__d)); \
64 ({ int *__l, __b, __c, __d; \
67 "1:\tmovl (%%esp), %%ebx\n\t" \
70 "addl $_GLOBAL_OFFSET_TABLE_, %%ebx\n\t" \
71 "leal " #x "@tlsgd(%%ebx),%%eax\n\t" \
72 "call ___tls_get_addr@plt\n\t" \
74 : "=a" (__l), "=&b" (__b), "=&c" (__c), "=&d" (__d)); \