[roland/tls-init] IA64: Define TLS_DEFINE_INIT_TP
Commit Message
Not tested at all, but this should not change anything.
OK?
Thanks,
Roland
* nptl/sysdeps/pthread/createthread.c: Include <arch-fork.h>.
* sysdeps/unix/sysv/linux/ia64/arch-fork.h (ARCH_CLONE): New macro.
* sysdeps/ia64/nptl/tls.h (TLS_DEFINE_INIT_TP): New macro.
* sysdeps/unix/sysv/linux/ia64/nptl/createthread.c: File removed.
Comments
On Mon 09 Jun 2014 13:29:55 Roland McGrath wrote:
> Not tested at all, but this should not change anything.
thanks, pushed now
-mike
@@ -25,6 +25,7 @@
#include <tls.h>
#include <stdint.h>
+#include <arch-fork.h>
#include "kernel-features.h"
@@ -121,6 +121,10 @@ register struct pthread *__thread_self __asm__("r13");
# define TLS_INIT_TP(thrdescr) \
(__thread_self = (thrdescr), INIT_SYSINFO, NULL)
+/* Value passed to 'clone2' for initialization of the thread register. */
+# define TLS_DEFINE_INIT_TP(tp, pd) \
+ void *tp = (char *) (pd) + TLS_PRE_TCB_SIZE
+
/* Return the address of the dtv for the current thread. */
# define THREAD_DTV() \
(((tcbhead_t *)__thread_self)->dtv)
@@ -27,3 +27,5 @@
INLINE_SYSCALL (clone2, 6, \
CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, \
NULL, 0, NULL, &THREAD_SELF->tid, NULL)
+
+#define ARCH_CLONE __clone2
@@ -1,25 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Value passed to 'clone' for initialization of the thread register. */
-#define TLS_VALUE ((char *) pd + TLS_PRE_TCB_SIZE)
-
-#define ARCH_CLONE __clone2
-
-/* Get the real implementation. */
-#include <nptl/sysdeps/pthread/createthread.c>