about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2014-07-03 21:51:01 -0700
committerMike Frysinger <vapier@gentoo.org>2014-08-04 09:53:49 -0400
commitca08746f9f9eec5b641e49263877a12348bd8b74 (patch)
tree7b3b9c9c3b458800c536dfd7db25e78ceff8e422
parent9c925ff964bf221207dd6727d468ee964e2725fd (diff)
downloadglibc-ca08746f9f9eec5b641e49263877a12348bd8b74.tar.gz
glibc-ca08746f9f9eec5b641e49263877a12348bd8b74.tar.xz
glibc-ca08746f9f9eec5b641e49263877a12348bd8b74.zip
IA64: Define TLS_DEFINE_INIT_TP
-rw-r--r--ChangeLog7
-rw-r--r--nptl/createthread.c2
-rw-r--r--sysdeps/ia64/nptl/tls.h4
-rw-r--r--sysdeps/unix/sysv/linux/ia64/arch-fork.h2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/nptl/createthread.c25
5 files changed, 15 insertions, 25 deletions
diff --git a/ChangeLog b/ChangeLog
index 5cf57462a7..4d2ef18c4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2014-08-04  Roland McGrath  <roland@hack.frob.com>
 
+	* 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.
+
+2014-08-04  Roland McGrath  <roland@hack.frob.com>
+
 	* sysdeps/unix/sysv/linux/ia64/nptl/vfork.S: Moved ...
 	* sysdeps/unix/sysv/linux/ia64/vfork.S: ... here.
 	(__libc_vfork): Define function under this name.
diff --git a/nptl/createthread.c b/nptl/createthread.c
index d71467f0d4..e718e35a11 100644
--- a/nptl/createthread.c
+++ b/nptl/createthread.c
@@ -25,6 +25,8 @@
 #include <tls.h>
 #include <stdint.h>
 
+#include <arch-fork.h>
+
 
 #define CLONE_SIGNAL		(CLONE_SIGHAND | CLONE_THREAD)
 
diff --git a/sysdeps/ia64/nptl/tls.h b/sysdeps/ia64/nptl/tls.h
index 3eca4e68be..e38352a973 100644
--- a/sysdeps/ia64/nptl/tls.h
+++ b/sysdeps/ia64/nptl/tls.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)
diff --git a/sysdeps/unix/sysv/linux/ia64/arch-fork.h b/sysdeps/unix/sysv/linux/ia64/arch-fork.h
index 0562d933ca..ab2ffd176f 100644
--- a/sysdeps/unix/sysv/linux/ia64/arch-fork.h
+++ b/sysdeps/unix/sysv/linux/ia64/arch-fork.h
@@ -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
diff --git a/sysdeps/unix/sysv/linux/ia64/nptl/createthread.c b/sysdeps/unix/sysv/linux/ia64/nptl/createthread.c
deleted file mode 100644
index a2d5dec040..0000000000
--- a/sysdeps/unix/sysv/linux/ia64/nptl/createthread.c
+++ /dev/null
@@ -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>