mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
* elf/tls-macros.h (__TLS_GET_ADDR): Define according to the ABI
in use. (TLS_LD): Use __TLS_GET_ADDR instead of .__tls_get_addr. (TLS_GD): Likewise.
This commit is contained in:
@ -813,12 +813,17 @@ register void *__gp __asm__("$29");
|
||||
: "=b" (__result) ); \
|
||||
__result; \
|
||||
})
|
||||
# ifdef HAVE_ASM_GLOBAL_DOT_NAME
|
||||
# define __TLS_GET_ADDR ".__tls_get_addr"
|
||||
# else
|
||||
# define __TLS_GET_ADDR "__tls_get_addr"
|
||||
# endif
|
||||
/* PowerPC64 Local Dynamic TLS access. */
|
||||
# define TLS_LD(x) \
|
||||
({ int * __result; \
|
||||
asm ( \
|
||||
" addi 3,2," #x "@got@tlsld\n" \
|
||||
" bl .__tls_get_addr\n" \
|
||||
" bl " __TLS_GET_ADDR "\n" \
|
||||
" nop \n" \
|
||||
" addis %0,3," #x "@dtprel@ha\n" \
|
||||
" addi %0,%0," #x "@dtprel@l\n" \
|
||||
@ -834,7 +839,7 @@ register void *__gp __asm__("$29");
|
||||
({ int * __result; \
|
||||
asm ( \
|
||||
" addi 3,2," #x "@got@tlsgd\n" \
|
||||
" bl .__tls_get_addr\n" \
|
||||
" bl " __TLS_GET_ADDR "\n" \
|
||||
" nop \n" \
|
||||
" mr %0,3\n" \
|
||||
: "=b" (__result) : \
|
||||
|
Reference in New Issue
Block a user