1 --- glibc-20041208T1024/linuxthreads/ChangeLog 5 Dec 2004 09:39:04 -0000 1.831
2 +++ glibc-20041208T1024-fedora/linuxthreads/ChangeLog 7 Dec 2004 14:00:53 -0000 1.817.2.12
4 (pthread_barrierattr_setpshared): Return EINVAL if pshared
5 is neither PTHREAD_PROCESS_PRIVATE nor PTHREAD_PROCESS_SHARED.
7 +2003-09-02 Jakub Jelinek <jakub@redhat.com>
9 + * sysdeps/sparc/tls.h (TLS_TCB_SIZE): If in ld.so and NPTL struct
10 + pthread is bigger than struct _pthread_descr_struct, use NPTL struct
13 2003-09-02 Ulrich Drepper <drepper@redhat.com>
15 * sysdeps/unix/sysv/linux/i386/dl-sysdep.h
18 2003-07-22 Jakub Jelinek <jakub@redhat.com>
20 + * sysdeps/alpha/tls.h (TLS_INIT_TCB_SIZE, TLS_TCB_SIZE): Change to 0.
21 + (TLS_INIT_TCB_ALIGN, TLS_TCB_ALIGN): Alignment of struct
22 + _pthread_descr_struct.
23 + (TLS_PRE_TCB_SIZE): Add sizeof (tcbhead_t) and pad to align.
24 + If in ld.so and NPTL struct pthread is bigger than struct
25 + _pthread_descr_struct, use NPTL struct pthread size.
26 + (TLS_TCB_OFFSET): Define.
27 + (INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV, TLS_INIT_TP, THREAD_DTV,
28 + THREAD_SELF, INIT_THREAD_SELF): Changed to match NPTL tls.h
30 + * sysdeps/i386/tls.h (TLS_TCB_SIZE): If in ld.so and NPTL struct
31 + pthread is bigger than struct _pthread_descr_struct, use NPTL struct
33 + * sysdeps/ia64/tls.h (TLS_PRE_TCB_SIZE): Likewise.
34 + * sysdeps/powerpc/tls.h (TLS_PRE_TCB_SIZE): Likewise.
35 + * sysdeps/s390/tls.h (TLS_TCB_SIZE): Likewise.
36 + * sysdeps/sh/tls.h (TLS_PRE_TCB_SIZE): Likewise.
37 + * sysdeps/x86_64/tls.h (TLS_TCB_SIZE): Likewise.
38 + * sysdeps/pthread/Makefile (gen-as-const-headers): Add
39 + nptl-struct-pthread.sym if nptl tree is present.
40 + (before-compile): Add $(common-objpfx)nptl-struct-pthread.h
41 + if nptl tree is not present.
42 + (common-generated): Add nptl-struct-pthread.h.
43 + ($(common-objpfx)nptl-struct-pthread.h): New rule.
44 + * sysdeps/pthread/nptl-struct-pthread.sym: New file.
46 +2003-07-22 Jakub Jelinek <jakub@redhat.com>
48 * descr.h (struct _pthread_descr_struct): Provide p_res member
49 even if USE_TLS && HAVE___THREAD.
50 * sysdeps/pthread/res-state.c (__res_state): Return __resp
51 --- glibc-20041208T1024/nptl/ChangeLog 7 Dec 2004 20:32:24 -0000 1.747
52 +++ glibc-20041208T1024-fedora/nptl/ChangeLog 8 Dec 2004 10:52:11 -0000 1.706.2.25
53 @@ -2470,6 +2491,11 @@
55 * Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules).
57 +2003-07-22 Jakub Jelinek <jakub@redhat.com>
59 + * descr.h: Don't include lowlevellock.h, pthreaddef.h and dl-sysdep.h
60 + if __need_struct_pthread_size, instead define lll_lock_t.
62 2003-07-25 Jakub Jelinek <jakub@redhat.com>
64 * tst-cancel17.c (do_test): Check if aio_cancel failed.
65 --- glibc-2.3.5/linuxthreads/sysdeps/alpha/tls.h.orig 2003-01-30 22:03:40.000000000 +0100
66 +++ glibc-2.3.5/linuxthreads/sysdeps/alpha/tls.h 2005-04-15 20:48:27.000000000 +0200
67 @@ -56,16 +56,23 @@ typedef struct
68 # define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
70 /* Alignment requirements for the initial TCB. */
71 -# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
72 +# define TLS_INIT_TCB_ALIGN 16
74 /* This is the size of the TCB. */
75 # define TLS_TCB_SIZE sizeof (tcbhead_t)
77 /* Alignment requirements for the TCB. */
78 -# define TLS_TCB_ALIGN __alignof__ (tcbhead_t)
79 +# define TLS_TCB_ALIGN 16
81 /* This is the size we need before TCB. */
83 # define TLS_PRE_TCB_SIZE sizeof (struct _pthread_descr_struct)
85 +# include <nptl-struct-pthread.h>
86 +# define TLS_PRE_TCB_SIZE \
87 + (sizeof (struct _pthread_descr_struct) > NPTL_STRUCT_PTHREAD_SIZE \
88 + ? sizeof (struct _pthread_descr_struct) : NPTL_STRUCT_PTHREAD_SIZE)
91 /* The DTV is allocated at the TP; the TCB is placed elsewhere. */
92 # define TLS_DTV_AT_TP 1
93 @@ -87,7 +94,7 @@ typedef struct
94 special attention since 'errno' is not yet available and if the
95 operation can cause a failure 'errno' must not be touched. */
96 # define TLS_INIT_TP(TCBP, SECONDCALL) \
97 - (__builtin_set_thread_pointer (TCBP), 0)
98 + (__builtin_set_thread_pointer ((void*)(TCBP)), NULL)
100 /* Return the address of the dtv for the current thread. */
101 # define THREAD_DTV() \
102 --- glibc-20041208T1024/linuxthreads/sysdeps/i386/tls.h 19 Oct 2004 05:12:58 -0000 1.37
103 +++ glibc-20041208T1024-fedora/linuxthreads/sysdeps/i386/tls.h 20 Oct 2004 10:47:17 -0000 1.35.2.4
104 @@ -81,7 +81,14 @@ typedef struct
105 # define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
107 /* This is the size of the TCB. */
108 -# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
110 +# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
112 +# include <nptl-struct-pthread.h>
113 +# define TLS_TCB_SIZE \
114 + (sizeof (struct _pthread_descr_struct) > NPTL_STRUCT_PTHREAD_SIZE \
115 + ? sizeof (struct _pthread_descr_struct) : NPTL_STRUCT_PTHREAD_SIZE)
118 /* Alignment requirements for the TCB. */
119 # define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct)
120 --- glibc-20041208T1024/linuxthreads/sysdeps/ia64/tls.h 8 Jul 2004 21:20:57 -0000 1.9
121 +++ glibc-20041208T1024-fedora/linuxthreads/sysdeps/ia64/tls.h 22 Sep 2004 21:20:55 -0000 1.9.2.1
122 @@ -60,7 +60,14 @@ typedef struct
123 # define TLS_TCB_SIZE sizeof (tcbhead_t)
125 /* This is the size we need before TCB. */
126 -# define TLS_PRE_TCB_SIZE sizeof (struct _pthread_descr_struct)
128 +# define TLS_PRE_TCB_SIZE sizeof (struct _pthread_descr_struct)
130 +# include <nptl-struct-pthread.h>
131 +# define TLS_PRE_TCB_SIZE \
132 + (sizeof (struct _pthread_descr_struct) > NPTL_STRUCT_PTHREAD_SIZE \
133 + ? sizeof (struct _pthread_descr_struct) : NPTL_STRUCT_PTHREAD_SIZE)
136 /* Alignment requirements for the TCB. */
137 # define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct)
138 --- glibc-20041208T1024/linuxthreads/sysdeps/powerpc/tls.h 9 Apr 2004 19:09:42 -0000 1.8
139 +++ glibc-20041208T1024-fedora/linuxthreads/sysdeps/powerpc/tls.h 22 Sep 2004 21:20:55 -0000 1.8.2.1
140 @@ -64,11 +64,19 @@ typedef struct
141 # define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct)
143 /* This is the size we need before TCB. */
144 -# define TLS_PRE_TCB_SIZE \
146 +# define TLS_PRE_TCB_SIZE \
147 (sizeof (struct _pthread_descr_struct) \
148 + ((sizeof (tcbhead_t) + TLS_TCB_ALIGN - 1) & ~(TLS_TCB_ALIGN - 1)))
150 +# include <nptl-struct-pthread.h>
151 +# define TLS_PRE_TCB_SIZE \
152 + ((sizeof (struct _pthread_descr_struct) > NPTL_STRUCT_PTHREAD_SIZE \
153 + ? sizeof (struct _pthread_descr_struct) : NPTL_STRUCT_PTHREAD_SIZE) \
154 + + ((sizeof (tcbhead_t) + TLS_TCB_ALIGN - 1) & ~(TLS_TCB_ALIGN - 1)))
157 -/* The following assumes that TP (R2 or R13) is points to the end of the
158 +/* The following assumes that TP (R2 or R13) points to the end of the
159 TCB + 0x7000 (per the ABI). This implies that TCB address is
160 TP - 0x7000. As we define TLS_DTV_AT_TP we can
161 assume that the pthread_descr is allocated immediately ahead of the
162 --- glibc-20041208T1024/linuxthreads/sysdeps/pthread/Makefile 14 Aug 2003 00:14:22 -0000 1.7
163 +++ glibc-20041208T1024-fedora/linuxthreads/sysdeps/pthread/Makefile 22 Sep 2004 21:20:56 -0000 1.7.2.1
164 @@ -12,3 +12,15 @@ endif
165 ifeq ($(subdir),posix)
166 CFLAGS-confstr.c += -DLIBPTHREAD_VERSION="\"$(shell sed 's/\(.*\) by .*/\1/' ../linuxthreads/Banner)\""
169 +ifeq ($(subdir),csu)
170 +# Find out the size of NPTL struct pthread
171 +ifneq (,$(wildcard $(..)nptl/descr.h))
172 +gen-as-const-headers += nptl-struct-pthread.sym
174 +before-compile += $(common-objpfx)nptl-struct-pthread.h
175 +common-generated += nptl-struct-pthread.h
176 +$(common-objpfx)nptl-struct-pthread.h:
177 + @echo '#define NPTL_STRUCT_PTHREAD_SIZE 0' > $@
180 --- glibc-20041208T1024/linuxthreads/sysdeps/pthread/nptl-struct-pthread.sym 1 Jan 1970 00:00:00 -0000
181 +++ glibc-20041208T1024-fedora/linuxthreads/sysdeps/pthread/nptl-struct-pthread.sym 22 Sep 2004 21:20:56 -0000 1.1.2.1
183 +#ifdef HAVE_TLS_SUPPORT
184 +# ifndef HAVE_FORCED_UNWIND
185 +# define HAVE_FORCED_UNWIND 1
187 +# define __need_struct_pthread_size
188 +# include <nptl/descr.h>
193 +#ifdef HAVE_TLS_SUPPORT
194 +NPTL_STRUCT_PTHREAD_SIZE sizeof (struct pthread)
196 --- glibc-20041208T1024/linuxthreads/sysdeps/s390/tls.h 30 Jan 2003 18:34:11 -0000 1.3
197 +++ glibc-20041208T1024-fedora/linuxthreads/sysdeps/s390/tls.h 22 Sep 2004 21:20:56 -0000 1.3.2.1
198 @@ -72,7 +72,14 @@ typedef struct
199 # define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
201 /* This is the size of the TCB. */
202 -# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
204 +# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
206 +# include <nptl-struct-pthread.h>
207 +# define TLS_TCB_SIZE \
208 + (sizeof (struct _pthread_descr_struct) > NPTL_STRUCT_PTHREAD_SIZE \
209 + ? sizeof (struct _pthread_descr_struct) : NPTL_STRUCT_PTHREAD_SIZE)
212 /* Alignment requirements for the TCB. */
213 # define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct)
214 --- glibc-20041208T1024/linuxthreads/sysdeps/sh/tls.h 2 Mar 2003 11:44:20 -0000 1.9
215 +++ glibc-20041208T1024-fedora/linuxthreads/sysdeps/sh/tls.h 22 Sep 2004 21:20:57 -0000 1.9.2.1
216 @@ -64,7 +64,14 @@ typedef struct
217 # define TLS_TCB_SIZE sizeof (tcbhead_t)
219 /* This is the size we need before TCB. */
220 -# define TLS_PRE_TCB_SIZE sizeof (struct _pthread_descr_struct)
222 +# define TLS_PRE_TCB_SIZE sizeof (struct _pthread_descr_struct)
224 +# include <nptl-struct-pthread.h>
225 +# define TLS_PRE_TCB_SIZE \
226 + (sizeof (struct _pthread_descr_struct) > NPTL_STRUCT_PTHREAD_SIZE \
227 + ? sizeof (struct _pthread_descr_struct) : NPTL_STRUCT_PTHREAD_SIZE)
230 /* Alignment requirements for the TCB. */
231 # define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct)
232 --- glibc-20041208T1024/linuxthreads/sysdeps/sparc/tls.h 4 Feb 2003 20:41:02 -0000 1.3
233 +++ glibc-20041208T1024-fedora/linuxthreads/sysdeps/sparc/tls.h 22 Sep 2004 21:20:57 -0000 1.3.2.1
234 @@ -64,7 +64,14 @@ typedef struct
235 # define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
237 /* This is the size of the TCB. */
238 -# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
240 +# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
242 +# include <nptl-struct-pthread.h>
243 +# define TLS_TCB_SIZE \
244 + (sizeof (struct _pthread_descr_struct) > NPTL_STRUCT_PTHREAD_SIZE \
245 + ? sizeof (struct _pthread_descr_struct) : NPTL_STRUCT_PTHREAD_SIZE)
248 /* Alignment requirements for the TCB. */
249 # define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct)
250 --- glibc-20041208T1024/linuxthreads/sysdeps/x86_64/tls.h 18 Apr 2004 02:32:25 -0000 1.6
251 +++ glibc-20041208T1024-fedora/linuxthreads/sysdeps/x86_64/tls.h 22 Sep 2004 21:20:57 -0000 1.6.2.1
252 @@ -66,7 +66,14 @@ typedef struct
253 # define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
255 /* This is the size of the TCB. */
256 -# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
258 +# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
260 +# include <nptl-struct-pthread.h>
261 +# define TLS_TCB_SIZE \
262 + (sizeof (struct _pthread_descr_struct) > NPTL_STRUCT_PTHREAD_SIZE \
263 + ? sizeof (struct _pthread_descr_struct) : NPTL_STRUCT_PTHREAD_SIZE)
266 /* Alignment requirements for the TCB. */
267 # define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct)
268 --- glibc-20041208T1024/nptl/descr.h 12 Nov 2004 01:24:24 -0000 1.25
269 +++ glibc-20041208T1024-fedora/nptl/descr.h 12 Nov 2004 16:56:12 -0000 1.23.2.3
271 #include <sys/types.h>
272 #include <hp-timing.h>
274 +#ifdef __need_struct_pthread_size
275 +#define lll_lock_t int
277 #include <lowlevellock.h>
278 #include <pthreaddef.h>
279 #include <dl-sysdep.h>
281 #include "../nptl_db/thread_db.h"
283 #ifdef HAVE_FORCED_UNWIND