This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH roland/tls-init] PowerPC: Define TLS_DEFINE_INIT_TP


Ok, thanks.

On 09-06-2014 17:33, Roland McGrath wrote:
> Not tested at all, but this should not change anything.
>
> OK?
>
> Thanks,
> Roland
>
>
> 	* nptl/sysdeps/powerpc/tls.h (TLS_DEFINE_INIT_TP): New macro.
> 	* sysdeps/unix/sysv/linux/powerpc/createthread.c: File removed.
>
> --- a/nptl/sysdeps/powerpc/tls.h
> +++ b/nptl/sysdeps/powerpc/tls.h
> @@ -132,6 +132,10 @@ register void *__thread_register __asm__ ("r13");
>  # define TLS_INIT_TP(tcbp) \
>      (__thread_register = (void *) (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_register - TLS_TCB_OFFSET))[-1].dtv)
> --- a/sysdeps/unix/sysv/linux/powerpc/createthread.c
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
> -   This file is part of the GNU C Library.
> -   Contributed by Paul Mackerras <paulus@au.ibm.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 ((void *) (pd) \
> -		   + TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE)
> -
> -/* Get the real implementation.	 */
> -#include <nptl/sysdeps/pthread/createthread.c>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]