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]

Glibc broken for ia64


Current CVS is broken on ia64.  It is crashing after __errno_location has
handed out a bogus pointer, which is due to the thread register not
properly initialized.  I tried with the patch below, but then
linuxthreads does not work at all.  I also tried --without-__thread, but
that did not help.

Andreas.

--- linuxthreads/sysdeps/ia64/tls.h.~1.3.~	2003-01-13 10:10:10.000000000 +0100
+++ linuxthreads/sysdeps/ia64/tls.h	2003-01-14 12:15:22.000000000 +0100
@@ -116,6 +116,14 @@ typedef struct
     __thread_self = ((__typeof (__thread_self)) &nontls_init_tp) + 1;	\
   } while (0)
 
+/* Return the thread descriptor for the current thread.  */
+#  undef THREAD_SELF
+#  define THREAD_SELF (__thread_self - 1)
+
+#  undef INIT_THREAD_SELF
+#  define INIT_THREAD_SELF(descr, nr) \
+  (__thread_self = (struct _pthread_descr_struct *)(descr) + 1)
+
 #endif
 
 #endif /* USE_TLS */

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


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