Back to index

glibc  2.9
Defines
tls-macros.h File Reference

Go to the source code of this file.

Defines

#define TLS_LE(x)
#define TLS_IE(x)
#define TLS_LD(x)
#define TLS_GD(x)

Define Documentation

#define TLS_GD (   x)
Value:
({ int *__result;                                \
     extern void *__tls_get_addr (void *);              \
     asm ("ldr %0, 2f; "                         \
         "1: add %0, pc, %0; "                          \
         "b 3f; "                                \
         "2: .word " #x "(tlsgd) + (. - 1b - 8); "      \
         "3: "                                          \
         : "=r" (__result));                            \
     (int *)__tls_get_addr (__result); })

Definition at line 42 of file tls-macros.h.

#define TLS_IE (   x)
Value:
({ int *__result;                                \
     void *tp = __builtin_thread_pointer ();            \
     asm ("ldr %0, 1f; "                         \
         "3: ldr %0, [pc, %0];"                  \
         "add %0, %1, %0; "                      \
         "b 2f; "                                \
         "1: .word " #x "(gottpoff) + (. - 3b - 8); "   \
         "2: "                                          \
         : "=&r" (__result) : "r" (tp));         \
     __result; })

Definition at line 12 of file tls-macros.h.

#define TLS_LD (   x)
Value:
({ char *__result;                               \
     int __offset;                               \
     extern void *__tls_get_addr (void *);              \
     asm ("ldr %0, 2f; "                         \
         "1: add %0, pc, %0; "                          \
         "b 3f; "                                \
         "2: .word " #x "(tlsldm) + (. - 1b - 8); "     \
         "3: "                                          \
         : "=r" (__result));                            \
     __result = (char *)__tls_get_addr (__result);      \
     asm ("ldr %0, 1f; "                         \
         "b 2f; "                                \
         "1: .word " #x "(tlsldo); "                    \
         "2: "                                          \
         : "=r" (__offset));                            \
     (int *) (__result + __offset); })

Definition at line 24 of file tls-macros.h.

#define TLS_LE (   x)
Value:
({ int *__result;                                \
     void *tp = __builtin_thread_pointer ();            \
     asm ("ldr %0, 1f; "                         \
         "add %0, %1, %0; "                      \
         "b 2f; "                                \
         "1: .word " #x "(tpoff); "                     \
         "2: "                                          \
         : "=&r" (__result) : "r" (tp));         \
     __result; })

Definition at line 1 of file tls-macros.h.