new syscall stub for ia64 linux
Ulrich Drepper
drepper@redhat.com
Tue Jan 14 08:15:00 GMT 2003
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
David Mosberger wrote:
> --- linuxthreads/descr.h 28 Dec 2002 10:14:16 -0000 1.8
> +++ linuxthreads/descr.h 14 Jan 2003 07:09:56 -0000
> @@ -109,6 +109,7 @@
>
> struct _pthread_descr_struct {
> /* XXX Remove this union for IA-64 style TLS module */
> +#if TLS_TCB_AT_TP
> union {
> struct {
> void *tcb; /* Pointer to the TCB. This is not always
> @@ -122,6 +123,9 @@
> } data;
> void *__padding[16];
> } p_header;
> +#else
> + /* New elements must be added at the beginning. */
> +#endif
> pthread_descr p_nextlive, p_prevlive;
> /* Double chaining of active threads */
> pthread_descr p_nextwaiting; /* Next element in the queue holding the thr */
> @@ -180,7 +184,23 @@
> #endif
> size_t p_alloca_cutoff; /* Maximum size which should be allocated
> using alloca() instead of malloc(). */
> +#if TLS_TCB_AT_TP
> /* New elements must be added at the end. */
> +#else
> + union {
> + struct {
> + void *reserved[11]; /* reserve for future use */
> + void *tcb; /* XXX do we really need this? */
> + union dtv *dtvp; /* XXX do we really need this? */
> + pthread_descr self; /* XXX do we really need this? */
> + int multiple_threads;
> +#ifdef NEED_DL_SYSINFO
> + uintptr_t sysinfo;
> +#endif
> + } data;
> + void *__padding[16];
> + } p_header __attribute__ ((aligned(32)));
> +#endif
> } __attribute__ ((aligned(32))); /* We need to align the structure so that
This change makes no sense. The initial comment about removing the
union on ia64 is there because of the requirement that tp points a
location containing the DTV pointer, followed by some other 8 bytes.
I.e., the dtv pointer in the union is not necessary.
How and where the thread descriptor (not TCB in ia64 speak) is stored
remains to be seen. I haven't looked closely enough to see what Jakub did.
- --
- --------------. ,-. 444 Castro Street
Ulrich Drepper \ ,-----------------' \ Mountain View, CA 94041 USA
Red Hat `--' drepper at redhat.com `---------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+I8cG2ijCOnn/RHQRAhodAJ9s8zd0QmsxpetaU7nHJpIm4K+ojACgmAMV
gwWE1ChHecZwiyoSasdsNUg=
=BmXx
-----END PGP SIGNATURE-----
More information about the Libc-hacker
mailing list