[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Current changes for NPTL on PPC

On Tue, Mar 11, 2003 at 10:28:21PM +1100, Paul Mackerras wrote:
> Here is the patch with all the extra files needed for NPTL on PPC32.
> This together with the other patches I have just posted to phil-list
> is running on my powermac and passing a lot of the tests.  I am using
> current cvs binutils and current cvs gcc from the gcc-3_3-branch with
> a patch from Alan Modra and Janis Johnson.  I am using a 2.5.64 kernel
> (actually BK from a day or two ago) with some patches that I will send
> to Linus shortly.

I made several TLS_DTV_AT_TP changes very similar to yours as part of IA-64
port. I hope Ulrich will do a new NPTL tarball today so that you can
sync up.

> +/* XXX Until we have a better place keep the definitions here.  */
> +
> +/* While there is no such syscall.  */
> +#define __exit_thread_inline(val) \
> +  INLINE_SYSCALL (exit, 0)

This should be in fact INLINE_SYSCALL (exit, 1, (val)), otherwise you're
exiting with whatever happened to be in corresponding register.

> +-- This could go into powerpc32/ instead and conditionalize #include of it.
> +#ifndef __powerpc64__
> +
> +-- Abuse tls.h macros to derive offsets relative to the thread register.
> +# undef __thread_register
> +# define __thread_register	((void *) 0)
> +# define thread_offsetof(mem)	((void *) &THREAD_SELF->mem - (void *) 0)
> +
> +MULTIPLE_THREADS_OFFSET		thread_offsetof (header.data.multiple_threads)

Current NPTL doesn't have header.data any more, so this will need to
be thread_offsetof (multiple_threads).

> +#ifndef __ASSEMBLER__
> +
> +/* Get system call information.  */
> +# include <sysdep.h>
> +
> +/* Get the thread descriptor definition.  */
> +# include <nptl/descr.h>

This will need to be included after #define TLS_DTV_AT_TP 1, otherwise
you get tcbhead_t in struct pthread.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]