summaryrefslogtreecommitdiff
path: root/libpthread/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'libpthread/nptl')
-rw-r--r--libpthread/nptl/pthread_create.c4
-rw-r--r--libpthread/nptl/sysdeps/i386/tls.h16
-rw-r--r--libpthread/nptl/sysdeps/x86_64/tls.h12
3 files changed, 0 insertions, 32 deletions
diff --git a/libpthread/nptl/pthread_create.c b/libpthread/nptl/pthread_create.c
index b11265f7c..3064b40dd 100644
--- a/libpthread/nptl/pthread_create.c
+++ b/libpthread/nptl/pthread_create.c
@@ -282,11 +282,7 @@ start_thread (void *arg)
}
/* Run the code the user provided. */
-#ifdef CALL_THREAD_FCT
- THREAD_SETMEM (pd, result, CALL_THREAD_FCT (pd));
-#else
THREAD_SETMEM (pd, result, pd->start_routine (pd->arg));
-#endif
}
/* Run the destructor for the thread-local data. */
diff --git a/libpthread/nptl/sysdeps/i386/tls.h b/libpthread/nptl/sysdeps/i386/tls.h
index f283a40f0..17c80e5fc 100644
--- a/libpthread/nptl/sysdeps/i386/tls.h
+++ b/libpthread/nptl/sysdeps/i386/tls.h
@@ -422,22 +422,6 @@ union user_desc_init
abort (); })
-/* Call the user-provided thread function. */
-#define CALL_THREAD_FCT(descr) \
- ({ void *__res; \
- int __ignore1, __ignore2; \
- __asm__ __volatile__ ("pushl %%eax\n\t" \
- "pushl %%eax\n\t" \
- "pushl %%eax\n\t" \
- "pushl %%gs:%P4\n\t" \
- "call *%%gs:%P3\n\t" \
- "addl $16, %%esp" \
- : "=a" (__res), "=c" (__ignore1), "=d" (__ignore2) \
- : "i" (offsetof (struct pthread, start_routine)), \
- "i" (offsetof (struct pthread, arg))); \
- __res; })
-
-
/* Set the stack guard field in TCB head. */
#define THREAD_SET_STACK_GUARD(value) \
THREAD_SETMEM (THREAD_SELF, header.stack_guard, value)
diff --git a/libpthread/nptl/sysdeps/x86_64/tls.h b/libpthread/nptl/sysdeps/x86_64/tls.h
index b450c1745..d8b82ede9 100644
--- a/libpthread/nptl/sysdeps/x86_64/tls.h
+++ b/libpthread/nptl/sysdeps/x86_64/tls.h
@@ -349,18 +349,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)