This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB 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] |
Andrew Cagney <ac131313@ges.redhat.com> writes:> Doesn't libthread_db read `struct _pthread_descr_struct' from the > linuxthreads library in the inferior, rather than knowing the layout > itself? So it's actually the inferior's linuxthreads library that > describes its own structures' layout.The structure layout will have been compiled into libthread-db.a. It implicitly knows the layout itself.I think you're wrong here. Could you show me the code?
Sorry, you've lost me. http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/linuxthreads/descr.h?rev=1.3&content-type=text/x-cvsweb-markup&cvsroot=glibc
Note the use of ISA/ABI dependant data types such as ``int'', ``void *'', ... As such they are implicitly included in and compiled into libhread-db.astruct _pthread_descr_struct { /* XXX Remove this union for IA-64 style TLS module */ union { struct { void *tcb; /* Pointer to the TCB. This is not always the address of this thread descriptor. */ union dtv *dtvp; pthread_descr self; /* Pointer to this structure */ } data; void *__padding[16]; } p_header; pthread_descr p_nextlive, p_prevlive; /* Double chaining of active threads */ pthread_descr p_nextwaiting; /* Next element in the queue holding the thr */ pthread_descr p_nextlock; /* can be on a queue and waiting on a lock */ pthread_t p_tid; /* Thread identifier */ int p_pid; /* PID of Unix process */
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |