Tile: Define TLS_DEFINE_INIT_TP

This commit is contained in:
Roland McGrath 2014-06-09 13:45:09 -07:00
parent d3996c7905
commit c9cab3d2f9
3 changed files with 7 additions and 24 deletions

View File

@ -1,5 +1,8 @@
2014-06-11 Roland McGrath <roland@hack.frob.com>
* sysdeps/tile/nptl/tls.h (TLS_DEFINE_INIT_TP): New macro.
* sysdeps/unix/sysv/linux/tile/createthread.c: File removed.
* nptl/sysdeps/s390/tls.h (TLS_DEFINE_INIT_TP): New macro.
* sysdeps/alpha/nptl/tls.h (TLS_DEFINE_INIT_TP): New macro.

View File

@ -109,6 +109,10 @@ register void *__thread_pointer asm ("tp");
# define TLS_INIT_TP(tcbp) \
(__thread_pointer = (char *)(tcbp) + TLS_TCB_OFFSET, NULL)
/* Value passed to 'clone' for initialization of the thread register. */
# define TLS_DEFINE_INIT_TP(tp, pd) \
void *tp = (void *) (pd) + TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE
/* Return the address of the dtv for the current thread. */
# define THREAD_DTV() \
(((tcbhead_t *) (__thread_pointer - TLS_TCB_OFFSET))[-1].dtv)

View File

@ -1,24 +0,0 @@
/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
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 ((void *) (pd) \
+ TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE)
/* Get the real implementation. */
#include <sysdeps/pthread/createthread.c>