aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/arm/tls-macros.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/arm/tls-macros.h')
-rw-r--r--sysdeps/arm/tls-macros.h72
1 files changed, 0 insertions, 72 deletions
diff --git a/sysdeps/arm/tls-macros.h b/sysdeps/arm/tls-macros.h
deleted file mode 100644
index 25cd84931b..0000000000
--- a/sysdeps/arm/tls-macros.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <sysdep.h> /* For ARCH_HAS_T2. */
-
-#ifdef __thumb2__
-# define ARM_PC_OFFSET "4"
-#else
-# define ARM_PC_OFFSET "8"
-#endif
-
-/* Returns the address of data containing ".word SYMBOL(RELOC)". */
-#if defined (ARCH_HAS_T2) && !defined (PIC)
-# define GET_SPECIAL_RELOC(symbol, reloc) \
- ({ \
- int *__##symbol##_rodata; \
- asm ("movw %0, #:lower16:1f\n" \
- "movt %0, #:upper16:1f\n" \
- ".pushsection .rodata.cst4, \"aM\", %%progbits, 4\n" \
- ".balign 4\n" \
- "1: .word " #symbol "(" #reloc ")\n" \
- ".popsection" \
- : "=r" (__##symbol##_rodata)); \
- __##symbol##_rodata; \
- })
-#elif defined (ARCH_HAS_T2) && defined (PIC) && ARM_PCREL_MOVW_OK
-# define GET_SPECIAL_RELOC(symbol, reloc) \
- ({ \
- int *__##symbol##_rodata; \
- asm ("movw %0, #:lower16:1f - 2f - " ARM_PC_OFFSET "\n" \
- "movt %0, #:upper16:1f - 2f - " ARM_PC_OFFSET "\n" \
- ".pushsection .rodata.cst4, \"aM\", %%progbits, 4\n" \
- ".balign 4\n" \
- "1: .word " #symbol "(" #reloc ")\n" \
- ".popsection\n" \
- "2: add %0, %0, pc" \
- : "=r" (__##symbol##_rodata)); \
- __##symbol##_rodata; \
- })
-#else
-# define GET_SPECIAL_RELOC(symbol, reloc) \
- ({ \
- int *__##symbol##_rodata; \
- asm ("adr %0, 1f\n" \
- "b 2f\n" \
- ".balign 4\n" \
- "1: .word " #symbol "(" #reloc ")\n" \
- "2:" \
- : "=r" (__##symbol##_rodata)); \
- __##symbol##_rodata; \
- })
-#endif
-
-/* Returns the pointer value (SYMBOL(RELOC) + pc - PC_OFS). */
-#define GET_SPECIAL_PCREL(symbol, reloc) \
- ({ \
- int *__##symbol##_rodata = GET_SPECIAL_RELOC (symbol, reloc); \
- (void *) ((int) __##symbol##_rodata + *__##symbol##_rodata); \
- })
-
-#define TLS_LE(x) \
- (__builtin_thread_pointer () + *GET_SPECIAL_RELOC (x, tpoff))
-
-#define TLS_IE(x) \
- ((int *) (__builtin_thread_pointer () \
- + *(int *) GET_SPECIAL_PCREL (x, gottpoff)))
-
-extern void *__tls_get_addr (void *);
-
-#define TLS_LD(x) \
- ((int *) (__tls_get_addr (GET_SPECIAL_PCREL (x, tlsldm)) \
- + *GET_SPECIAL_RELOC (x, tlsldo)))
-
-#define TLS_GD(x) \
- ((int *) __tls_get_addr (GET_SPECIAL_PCREL (x, tlsgd)))