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]

Fix tls build in linuxthreads_db


I just got this failure when building glibc from CVS on i686 with
--with-tls --enable-kernel=2.4.16:

gcc td_thr_tls_get_addr.c -c -O -Wall -Winline -Wstrict-prototypes -Wwrite-strings -g   -fPIC    -I../include -I. -I/builds/glibc/main-with-tls/linuxthreads_db -I.. -I../libio  -I/builds/glibc/main-with-tls -I../sysdeps/i386/elf -I../linuxthreads/sysdeps/unix/sysv/linux/i386 -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/i386/i686 -I../linuxthreads/sysdeps/i386 -I../sysdeps/unix/sysv/linux/i386/i686 -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic  -I /lib/modules/2.4.19-64GB-SMP/build/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h  -DPIC -DSHARED   -DNOT_IN_libc -DIS_IN_libthread_db -o /builds/glibc/main-with-tls/linuxthreads_db/td_thr_tls_get_addr.os
td_thr_tls_get_addr.c: In function `td_thr_tls_get_addr':
td_thr_tls_get_addr.c:43: structure has no member named `dtv'
make[2]: *** [/builds/glibc/main-with-tls/linuxthreads_db/td_thr_tls_get_addr.os] Error 1
make[2]: Leaving directory `/cvs/libc/linuxthreads_db'

I'm surprised that nobody noticed this - seems that this combination
has not been tested really.

Ok to commit the appended patch?
Andreas

2002-09-28  Andreas Jaeger  <aj@suse.de>

	* td_thr_tls_get_addr.c (td_thr_tls_get_addr): Fix reference to
	dtv.

============================================================
Index: linuxthreads_db/td_thr_tls_get_addr.c
--- linuxthreads_db/td_thr_tls_get_addr.c	25 Sep 2002 02:43:10 -0000	1.5
+++ linuxthreads_db/td_thr_tls_get_addr.c	28 Sep 2002 16:54:54 -0000
@@ -40,7 +40,7 @@ td_thr_tls_get_addr (const td_thrhandle_
 
   /* Get the DTV pointer from the thread descriptor.  */
   if (ps_pdread (th->th_ta_p->ph,
-		 &((struct _pthread_descr_struct *) th->th_unique)->dtv,
+		 &((struct _pthread_descr_struct *) th->th_unique)->p_header.data.dtvp,
 		 &dtvp, sizeof dtvp) != PS_OK)
     return TD_ERR;	/* XXX Other error value?  */
 

-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj


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