aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-09-30 10:26:59 +0000
committerRoland McGrath <roland@gnu.org>2002-09-30 10:26:59 +0000
commitfe27057d1765c1cc42023bff4fdd71ce190fe35d (patch)
tree47c1bbef63f27eed1335f6744414d6a2af2b8a2b /elf
parent7de490c6863aa4bb81d3a1cb4a0a35028aeee260 (diff)
downloadglibc-fe27057d1765c1cc42023bff4fdd71ce190fe35d.zip
glibc-fe27057d1765c1cc42023bff4fdd71ce190fe35d.tar.gz
glibc-fe27057d1765c1cc42023bff4fdd71ce190fe35d.tar.bz2
* elf/tls-macros.h (TLS_LD, TLS_GD): Use call insn, not callq.
* sysdeps/unix/x86_64/sysdep.S [USE_TLS && HAVE___THREAD] [! PIC]: Use direct-%fs form of TLS access for errno. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: File removed, since the i386 version has all the same asm now. * sysdeps/i386/elf/configure.in: Add @GOTNTPOFF and @NTPOFF uses to the TLS support check. * sysdeps/i386/elf/configure: Regenerated. * sysdeps/unix/sysv/linux/i386/sysdep.h [USE_TLS && HAVE___THREAD] (SYSCALL_ERROR_HANDLER): Use direct-%gs form of TLS access for errno. * sysdeps/unix/i386/sysdep.S (syscall_error) [USE_TLS && HAVE___THREAD]: Use TLS access for errno.
Diffstat (limited to 'elf')
-rw-r--r--elf/tls-macros.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/elf/tls-macros.h b/elf/tls-macros.h
index 2e3635d..6497903 100644
--- a/elf/tls-macros.h
+++ b/elf/tls-macros.h
@@ -114,7 +114,7 @@
# define TLS_LD(x) \
({ int *__l, __c, __d; \
asm ("leaq " #x "@tlsld(%%rip),%%rdi\n\t" \
- "callq __tls_get_addr@plt\n\t" \
+ "call __tls_get_addr@plt\n\t" \
"leaq " #x "@dtpoff(%%rax), %%rax" \
: "=a" (__l), "=&c" (__c), "=&d" (__d) \
: : "rdi", "rsi", "r8", "r9", "r10", "r11"); \
@@ -124,7 +124,7 @@
({ int *__l, __c, __d; \
asm (".long 0x66666666\n\t" \
"leaq " #x "@tlsgd(%%rip),%%rdi\n\t" \
- "callq __tls_get_addr@plt" \
+ "call __tls_get_addr@plt" \
: "=a" (__l), "=&c" (__c), "=&d" (__d) \
: : "rdi", "rsi", "r8", "r9", "r10", "r11"); \
__l; })