This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


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: new syscall stub for ia64 linux


-----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-----


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