summary refs log tree commit diff
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.tar.gz
glibc-fe27057d1765c1cc42023bff4fdd71ce190fe35d.tar.xz
glibc-fe27057d1765c1cc42023bff4fdd71ce190fe35d.zip
* 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 2e3635d26f..6497903a9b 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; })