about summary refs log tree commit diff
path: root/sysdeps/x86_64/nptl
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-04-04 16:00:27 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-04-04 18:03:35 -0300
commita358c805300e358e30d4788a6f19c69988623a5c (patch)
tree2912f769cfa07fd499d70d28f5ffc220407a303f /sysdeps/x86_64/nptl
parent2e4cf778972573221e9b87fd992844ea9b67b9bf (diff)
downloadglibc-a358c805300e358e30d4788a6f19c69988623a5c.tar.gz
glibc-a358c805300e358e30d4788a6f19c69988623a5c.tar.xz
glibc-a358c805300e358e30d4788a6f19c69988623a5c.zip
Remove CALL_THREAD_FCT macro
This patch removes CALL_THREAD_FCT macro usage and its defition for
x86.  For 32 bits it usage is only for force 16 stack alignment,
however stack is already explicit aligned in clone syscall.  For
64 bits and x32 it just a function call and there is no need to
code it with inline assembly.

Checked on i686-linux-gnu, x86_64-linux-gnu, and x86_64-linux-gnu-x32.

	* nptl/pthread_create.c (START_THREAD_DEFN): Remove
	CALL_THREAD_FCT macro usage.
	* sysdeps/i386/nptl/tls.h (CALL_THREAD_FCT): Remove definition.
	* sysdeps/x86_64/nptl/tls.h (CALL_THREAD_FCT): Likewise.
	* sysdeps/x86_64/32/nptl/tls.h: Remove file.
Diffstat (limited to 'sysdeps/x86_64/nptl')
-rw-r--r--sysdeps/x86_64/nptl/tls.h12
1 files changed, 0 insertions, 12 deletions
diff --git a/sysdeps/x86_64/nptl/tls.h b/sysdeps/x86_64/nptl/tls.h
index 53b41bc84f..9b8ad82550 100644
--- a/sysdeps/x86_64/nptl/tls.h
+++ b/sysdeps/x86_64/nptl/tls.h
@@ -326,18 +326,6 @@ typedef struct
 	      abort (); })
 
 
-# define CALL_THREAD_FCT(descr) \
-  ({ void *__res;							      \
-     asm volatile ("movq %%fs:%P2, %%rdi\n\t"				      \
-		   "callq *%%fs:%P1"					      \
-		   : "=a" (__res)					      \
-		   : "i" (offsetof (struct pthread, start_routine)),	      \
-		     "i" (offsetof (struct pthread, arg))		      \
-		   : "di", "si", "cx", "dx", "r8", "r9", "r10", "r11",	      \
-		     "memory", "cc");					      \
-     __res; })
-
-
 /* Set the stack guard field in TCB head.  */
 # define THREAD_SET_STACK_GUARD(value) \
     THREAD_SETMEM (THREAD_SELF, header.stack_guard, value)