Update.
[kopensolaris-gnu/glibc.git] / linuxthreads / ChangeLog
1 2004-03-12  Ulrich Drepper  <drepper@redhat.com>
2
3         * sysdeps/unix/sysv/linux/bits/local_lim.h: Add HOST_NAME_MAX.
4         * sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: Likewise.
5         * sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: Likewise.
6         * sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: Likewise.
7
8 2004-03-08  Andreas Jaeger  <aj@suse.de>
9
10         * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT_KERNEL_CHECK):
11         dl_osversion is readonly.
12
13 2004-03-07  Ulrich Drepper  <drepper@redhat.com>
14
15         * sysdeps/i386/tls.h (INIT_SYSINFO): _dl_sysinfo is now in
16         _rtlf_global_ro.
17         * sysdeps/ia64/tls.h (INIT_SYSINFO): Likewise.
18
19 2004-02-20  Steven Munroe  <sjmunroe@us.ibm.com>
20
21         * sysdeps/unix/sysv/linux/powerpc/ptlongjmp.c [SHARED]: Code only
22         valid for SHARED case.  Correct spelling of __vmx_longjmp.
23
24         * sysdeps/powerpc/pspinlock.c: Move from here.
25         * sysdeps/powerpc/powerpc32/pspinlock.c: To here.
26         * sysdeps/powerpc/powerpc64/pspinlock.c: New file.
27         * sysdeps/powerpc/powerpc64/pt-machine.h: Define __compare_and_swap32
28         and __compare_and_swap32_with_release_semantics.
29
30 2004-02-20  Jakub Jelinek  <jakub@redhat.com>
31
32         * Makefile (generated): Remove tst-stack1.mtrace and tst-stack1-mem.
33         (tests): Remove $(objpfx)tst-stack1-mem.
34         (tst-stack1-ENV): Remove.
35         ($(objpfx)tst-stack1-mem): Remove.
36
37         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
38         (__syscall_error_handler2): Call CDISABLE.
39         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
40         (__syscall_error_handler2): Call CDISABLE.
41
42         * sysdeps/unix/sysv/linux/ia64/dl-sysdep.h (DL_ARGV_NOT_RELRO): Define.
43
44 2004-02-10  Steven Munroe  <sjmunroe@us.ibm.com>
45
46         * Makefile (libpthread-routines): Add ptcleanup.
47         * ptlongjmp.c: Removed.
48         * ptcleanup.c: Copied __pthread_cleanup_upto to here. New file.
49         * sysdeps/pthread/ptlongjmp.c: Copied longjmp to here. New file.
50         * sysdeps/unix/sysv/linux/powerpc/Versions: New file.
51         Version longjmp, siglongjmp for GLIBC_2.3.4.
52         * sysdeps/unix/sysv/linux/powerpc/ptlongjmp.c: New File.
53
54 2004-01-22  Andreas Jaeger  <aj@suse.de>
55
56         * spinlock.c (__pthread_lock): Fix contraint to avoid warning.
57         (__pthread_release): Likewise.
58
59 2004-01-16  Richard Henderson  <rth@redhat.com>
60
61         * attr.c: Include ldsodefs.h.
62         (pthread_getattr_np): Don't declare __libc_stack_end.
63
64 2004-01-09  Steven Munroe  <sjmunroe@us.ibm.com>
65
66         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
67         [!HAVE_TLS_SUPPORT]: Define SINGLE_THREAD_P using static
68         __lib*_multiple_threads.
69         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
70         [!HAVE_TLS_SUPPORT]: Likewise.
71
72 2004-01-13  Roland McGrath  <roland@redhat.com>
73
74         * sysdeps/powerpc/tcb-offsets.sym: Put -- separator line before any
75         conditionals.
76
77 2004-01-10  Andreas Jaeger  <aj@suse.de>
78
79         * sysdeps/unix/sysv/linux/x86_64/vfork.S: Add cfi directives.
80
81 2004-01-01  Andreas Jaeger  <aj@suse.de>
82
83         * Makefile (generated): Add missing files.
84
85 2003-12-31  Ulrich Drepper  <drepper@redhat.com>
86
87         * attr.c (pthread_getattr_np): Make sure stack info returned for
88         main thread does not overlap with any other VMA.
89         Patch by Jakub Jelinek.
90
91 2003-12-29  Jakub Jelinek  <jakub@redhat.com>
92
93         * sysdeps/ia64/tls.h: Include dl-sysdep.h.
94         (INIT_SYSINFO): Define.
95         (TLS_INIT_TP): Use it.
96
97 2003-12-28  Carlos O'Donell  <carlos@baldric.uwo.ca>
98
99         * attr.c (pthread_getattr_np): Add _STACK_GROWS_UP case.
100
101 2003-12-26  Jakub Jelinek  <jakub@redhat.com>
102
103         * sysdeps/pthread/pthread.h (pthread_setcancelstate,
104         pthread_setcanceltype, pthread_cancel, pthread_testcancel): Remove
105         __THROW.
106         * semaphore.h (sem_wait, sem_timedwait): Likewise.
107
108 2003-12-17  Jakub Jelinek  <jakub@redhat.com>
109
110         * manager.c (pthread_free): Call _dl_deallocate_tls even for
111         p_userstack threads.
112         * pthread.c (__pthread_initialize_manager): Call _dl_deallocate_tls
113         on error.
114         (pthread_onexit_process): Update comment.
115         * Makefile (tests): Add tst-stack1.  Depend on $(objpfx)tst-stack1-mem.
116         (generated): Add tst-stack1.mtrace and tst-stack1-mem.
117         (tst-stack1-ENV): Set.
118         ($(objpfx)tst-stack1-mem): New.
119         * tst-stack1.c: New test.
120
121 2003-12-16  Steven Munroe  <sjmunroe@us.ibm.com>
122
123         * sysdeps/powerpc/tcb-offsets.sym [!__powerpc64__]: Remove
124         conditional so MULTIPLE_THREADS_OFFSET is generated for both.
125         * sysdeps/powerpc/tls.h [!__powerpc64__]: Remove conditional
126         so TLS_MULTIPLE_THREADS_IN_TCB is generated for both.
127         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h:
128         Include tls.h.
129
130 2003-12-04  Steven Munroe  <sjmunroe@us.ibm.com>
131
132         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
133         (SINGLE_THREAD_P): Test using thread local p_multiple_threads field.
134
135 2003-12-10  David Mosberger  <davidm@hpl.hp.com>
136
137         * sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Update copyright
138         message.  Add include of <stddef.h>.
139         (INIT_NEW_WAY): New macro.
140         (INIT_OLD_WAY): Likewise.
141         (_init): Add unwind directives.  Invoke
142         __pthread_initialize_minimal() via INIT_NEW_WAY or INIT_OLD_WAY,
143         respectively.
144         (_init_EPILOG_BEGINS): Add unwind-directives.  Drop unused .regstk
145         directive.
146         (_fini): Add unwind directives.  Drop unnecessary .align 16
147         directive (bundles are always 16-byte aligned).
148         (_fini_EPILOG_BEGINS): Add unwind-directives.
149
150 2003-11-19  David Mosberger  <davidm@hpl.hp.com>
151
152         * sysdeps/unix/sysv/linux/ia64/dl-sysdep.h: New file.
153
154 2003-12-10  Andreas Jaeger  <aj@suse.de>
155             Ruediger Oertel  <ro@suse.de>
156
157         * sysdeps/alpha/elf/pt-initfini.c (__asm__): Remove extra .prologue.
158
159 2003-11-30  Andreas Jaeger  <aj@suse.de>
160
161         * Makefile (CFLAGS-pt-initfini.s): Add $(fno_unit_at_a_time).
162         * sysdeps/unix/sysv/linux/x86_64/Makefile (CFLAGS-pt-initfini.s):
163         Likewise.
164
165 2003-11-04  Jakub Jelinek  <jakub@redhat.com>
166
167         * signals.c (__pthread_sigaction): Set __sighandler[sig].old before
168         __libc_sigaction if it has been one of the special values before.
169
170 2003-10-06  Carlos O'Donell <carlos@baldric.uwo.ca>
171
172         * pthread.c (__pthread_self_stack): _STACK_GROWS_UP case added.
173         (__pthread_find_self): Likewise.
174         * manager.c (thread_segment): _STACK_GROWS_UP case added.
175
176 2003-10-10  Carlos O'Donell  <carlos@baldric.uwo.ca>
177
178         * linuxthreads/sysdeps/unix/sysv/linux/hppa/malloc-machine.h: New file.
179
180 2003-10-10  Carlos O'Donell  <carlos@baldric.uwo.ca>
181
182         * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h: New file.
183
184 2003-10-07  Jakub Jelinek  <jakub@redhat.com>
185
186         * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Backout 2003-10-02
187         changes.
188         (SAVE_OLDTYPE_0): Fix a typo.
189
190 2003-10-02  Ulrich Drepper  <drepper@redhat.com>
191
192         * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (DOCARGS_1): Use
193         correct offset.
194
195 2003-10-02  Jakub Jelinek  <jakub@redhat.com>
196
197         * Makefile (tests): Add tst-cancel8.
198         * tst-cancel8.c: New test.
199
200 2003-10-02  Ulrich Drepper  <drepper@redhat.com>
201
202         * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Fix saving and
203         restoring of the old cancellation type.
204
205 2003-09-10  Chris Demetriou  <cgd@broadcom.com>
206
207         * sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h: New file.
208
209 2003-09-30  Jakub Jelinek  <jakub@redhat.com>
210
211         * sysdeps/pthread/malloc-machine.h [!__libc_maybe_call2] (mutex_init,
212         mutex_lock, mutex_trylock, mutex_unlock): Remove.
213
214 2003-09-27  Wolfram Gloger  <wg@malloc.de>
215
216         * sysdeps/pthread/malloc-machine.h: New file.
217
218 2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
219
220         * attr.c (__pthread_attr_init_2_1): Double __guardsize size
221         if NEED_SEPARATE_REGISTER_STACK is defined.
222
223 2003-09-22  Philip Blundell  <philb@gnu.org>
224
225         * forward.c: Add _pthread_cleanup_push, _pthread_cleanup_pop.
226         * sysdeps/pthread/pthread-functions.h (struct pthread_functions):
227         Likewise.
228         * pthread.c (__pthread_elements): Initialise these new elements.
229         * sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_push): Use
230         __libc_maybe_call.
231         (__libc_cleanup_pop): Likewise.
232
233 2003-09-22  Jakub Jelinek  <jakub@redhat.com>
234
235         * attr.c: Include stdlib.h.
236
237 2003-09-18  Jakub Jelinek  <jakub@redhat.com>
238
239         * sysdeps/pthread/pthread.h (pthread_getattr_np): Clarify usage.
240
241         * tst-attr1.c: New test.
242         * Makefile (tests): Add tst-attr1.
243
244 2003-09-17  Philip Blundell  <philb@gnu.org>
245
246         * sysdeps/unix/sysv/linux/arm/vfork.S: Branch to fork if
247         libpthread is loaded.  Elide backwards compatibility code when not
248         required.
249
250 2003-09-17  Jakub Jelinek  <jakub@redhat.com>
251
252         * descr.h (manager_thread): Rename to...
253         (__pthread_manager_threadp): ... this.
254         * pthread.c (manager_thread): Define to __pthread_manager_threadp.
255         (__pthread_manager_threadp): New variable.
256         * internals.h (__manager_thread): Define to
257         __pthread_manager_threadp if USE_TLS.
258
259 2003-09-15  Jakub Jelinek  <jakub@redhat.com>
260
261         * sysdeps/i386/Makefile (CFLAGS-cancel.c, CFLAGS-manager.c,
262         CFLAGS-pthread.c, CFLAGS-sighandler.c): Add
263         -mpreferred-stack-boundary=4.
264
265 2003-09-16  Ulrich Drepper  <drepper@redhat.com>
266
267         * attr.c (pthread_getattr_np): Correctly fill in the stack-related
268         values for the initial thread.
269
270 2003-09-17  Jakub Jelinek  <jakub@redhat.com>
271
272         * pthread.c (manager_thread): Remove static, add attribute_hidden.
273         (thread_self_stack): Rename to...
274         (__pthread_self_stack): ... this.  Remove static.
275         (pthread_handle_sigcancel): Use check_thread_self ().
276         (pthread_handle_sigrestart): Likewise.
277         * sighandler.c (__pthread_sighandler, __pthread_sighandler_rt):
278         Likewise.
279         * descr.h (manager_thread): Declare.
280         * internals.h (__pthread_self_stack): New prototype.
281         (__manager_thread): Define.
282         (check_thread_self): New function.
283
284 2003-09-15  Jakub Jelinek  <jakub@redhat.com>
285
286         * Makefile (CFLAGS-mutex.c): Add $(uses-callbacks).
287         (CFLAGS-sighandler.c): Change $(exceptions) into $(uses-callbacks).
288
289 2003-09-12  Jakub Jelinek  <jakub@redhat.com>
290
291         * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: New.
292         (__SSIZE_T_TYPE): Define to __SWORD_TYPE for gcc 2.95.x and
293         __SLONGWORD_TYPE otherwise.
294
295 2003-09-11  Steven Munroe  <sjmunroe@us.ibm.com>
296
297         * sysdeps/powerpc/powerpc64/pt-machine.h [MEMORY_BARRIER]: Use lwsync.
298         [READ_MEMORY_BARRIER]: Define.
299         [WRITE_MEMORY_BARRIER]: Define.
300
301 2003-09-10  Jakub Jelinek  <jakub@redhat.com>
302
303         * sysdeps/pthread/pthread-functions.h (struct pthread_functions): Move
304         ptr___pthread_cond_timedwait to the end of the structure to avoid
305         breaking Wine unnecessarily.
306
307 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
308
309         * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: Remove.
310
311 2003-09-02  Jakub Jelinek  <jakub@redhat.com>
312
313         * sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: New file.
314         * sysdeps/unix/sysv/linux/alpha/Versions: New file.
315         * sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: New file.
316         * sysdeps/unix/sysv/linux/ia64/Versions: New file.
317         * sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: New file.
318         * sysdeps/unix/sysv/linux/sparc/Versions: New file.
319         * attr.c (__old_pthread_attr_setstacksize,
320         __old_pthread_attr_setstack): New functions.
321         (pthread_attr_setstacksize): If PTHREAD_STACK_MIN != 16384, export
322         as @@GLIBC_2.3.2 and also export compatibility @GLIBC_2.1.
323         (pthread_attr_setstack): If PTHREAD_STACK_MIN != 16384, export
324         as @@GLIBC_2.3.2 and also export compatibility @GLIBC_2.2.
325         * tststack.c: Include limits.h and sys/param.h.
326         (main): Set size to MAX (70 * 1024, PTHREAD_STACK_MIN).
327
328         * barrier.c (__pthread_barrierattr_getpshared): Always
329         return PTHREAD_PROCESS_PRIVATE.
330         (pthread_barrierattr_setpshared): Return EINVAL if pshared
331         is neither PTHREAD_PROCESS_PRIVATE nor PTHREAD_PROCESS_SHARED.
332
333 2003-09-02  Ulrich Drepper  <drepper@redhat.com>
334
335         * sysdeps/unix/sysv/linux/i386/dl-sysdep.h
336         (DL_SYSINFO_IMPLEMENTATION): Add CFI and make sure the code ends
337         up in .text.
338
339         * barrier.c (pthread_barrierattr_setpshared): We don't handle
340         inter-process barriers.
341
342 2003-09-01  Jakub Jelinek  <jakub@redhat.com>
343
344         * Makefile (tests): Add tst-tls1.
345         (module-names): Add tst-tls1mod{,a,b,c,d,e,f}.
346         ($(objpfx)tst-tls1mod{,a,b,c,d,e,f}.so-no-z-defs): Set to yes.
347         ($(objpfx)tst-tls1): New.
348         ($(objpfx)tst-tls2.out): Likewise.
349         (tests): Depend on $(objpfx)tst-tls2.out.
350         * tst-tls1.c: New test.
351         * tst-tls1.h: New.
352         * tst-tls1mod.c: New.
353         * tst-tls1moda.c: New.
354         * tst-tls1modb.c: New.
355         * tst-tls1modc.c: New.
356         * tst-tls1modd.c: New.
357         * tst-tls1mode.c: New.
358         * tst-tls1modf.c: New.
359         * tst-tls2.sh: New test.
360
361         * internals.h (__pthread_cond_timedwait): New prototype.
362         * sysdeps/pthread/pthread-functions.h (struct pthread_functions): Add
363         ptr___pthread_cond_timedwait.
364         * pthread.c (__pthread_functions): Initialize them.
365         * forward.c (pthread_cond_timedwait@GLIBC_2.0,
366         pthread_cond_timedwait@@GLIBC_2.3.2): New forwards.
367         * Versions (libc): Export pthread_cond_timedwait@GLIBC_2.0,
368         pthread_cond_timedwait@@GLIBC_2.3.2.
369
370 2003-08-27  Ulrich Drepper  <drepper@redhat.com>
371
372         * sysdeps/pthread/pthread.h: Don't mark pthread_exit,
373         pthread_join, pthread_cond_wait, and pthread_cond_timedwait with
374         __THROW to match NPTL.
375
376 2003-08-13  Ulrich Drepper  <drepper@redhat.com>
377
378         * sysdeps/pthread/Makefile [subdir=rt] (CPPFLAGS): Add
379         -DBROKEN_THREAD_SIGNALS.
380
381 2003-08-11  Steven Munroe  <sjmunroe@us.ibm.com>
382
383         * manager.c (pthread_start_thread) [!(USE_TLS && HAVE___THREAD)]:
384         Correct spelling of per thread resolver state.
385
386 2003-08-07  Jakub Jelinek  <jakub@redhat.com>
387
388         * sysdeps/pthread/bits/libc-lock.h [_LIBC && SHARED]
389         (__rtld_lock_default_lock_recursive,
390         __rtld_lock_default_unlock_recursive): Define.
391         [_LIBC && SHARED] (__rtld_lock_lock_recursive,
392         __rtld_lock_unlock_recursive): Define using
393         GL(_dl_rtld_*lock_recursive).
394         * pthread.c (pthread_initialize): Initialize _dl_rtld_lock_recursive
395         and _dl_rtld_unlock_recursive.  Lock GL(_dl_load_lock) the same
396         number of times as GL(_dl_load_lock) using non-mt implementation was
397         nested.
398
399 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
400
401         * sysdeps/pthread/bits/typesizes.h (__SSIZE_T_TYPE): Define.
402         * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h (__SSIZE_T_TYPE):
403         Likewise.
404         * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (__SSIZE_T_TYPE):
405         Likewise.
406         * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: New file.
407
408         * sysdeps/pthread/pthread.h (pthread_attr_setstackaddr,
409         pthread_attr_setstacksize): Change PTHREAD_STACK_SIZE to
410         PTHREAD_STACK_MIN in comments.
411
412         * sysdeps/alpha/pt-machine.h (PT_EI): Add
413         __attribute__((always_inline)).
414         * sysdeps/arm/pt-machine.h (PT_EI): Likewise.
415         * sysdeps/cris/pt-machine.h (PT_EI): Likewise.
416         * sysdeps/hppa/pt-machine.h (PT_EI): Likewise.
417         * sysdeps/i386/i686/pt-machine.h (PT_EI): Likewise.
418         * sysdeps/i386/pt-machine.h (PT_EI): Likewise.
419         * sysdeps/ia64/pt-machine.h (PT_EI): Likewise.
420         * sysdeps/m68k/pt-machine.h (PT_EI): Likewise.
421         * sysdeps/mips/pt-machine.h (PT_EI): Likewise.
422         * sysdeps/powerpc/powerpc32/pt-machine.h (PT_EI): Likewise.
423         * sysdeps/powerpc/powerpc64/pt-machine.h (PT_EI): Likewise.
424         * sysdeps/s390/s390-32/pt-machine.h (PT_EI): Likewise.
425         * sysdeps/s390/s390-64/pt-machine.h (PT_EI): Likewise.
426         * sysdeps/sh/pt-machine.h (PT_EI): Likewise.
427         * sysdeps/sparc/sparc32/pt-machine.h (PT_EI): Likewise.
428         * sysdeps/sparc/sparc64/pt-machine.h (PT_EI): Likewise.
429         * sysdeps/x86_64/pt-machine.h (PT_EI): Likewise.
430         * spinlock.h (__pthread_set_own_extricate_if): Likewise.
431         * sysdeps/ia64/tls.h (TLS_INIT_TP): Cast tcbp to __typeof
432         (__thread_self).
433         * Examples/ex13.c (main): Change res type to void * to avoid
434         warnings.
435         * tst-cancel.c (cleanup, inner, tf1, tf2, tf3): Comment out.
436
437 2003-07-30  Jakub Jelinek  <jakub@redhat.com>
438
439         * pthread.c (init_one_static_tls, __pthread_init_static_tls): New
440         functions.
441         (pthread_initialize): Initialize GL(dl_init_static_tls).
442
443 2003-06-19  Daniel Jacobowitz  <drow@mvista.com>
444
445         * sysdeps/pthread/timer_create.c (timer_create): Call timer_delref
446         before __timer_dealloc.
447         * sysdeps/pthread/timer_routines.c (__timer_thread_find_matching):
448         Don't call list_unlink.
449
450 2003-07-29  Roland McGrath  <roland@redhat.com>
451
452         * Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules).
453
454 2003-07-25  Roland McGrath  <roland@redhat.com>
455
456         * manager.c (pthread_start_thread): Fix typo in last change.
457
458 2003-07-14  Guido Guenther  <agx@sigxcpu.org>
459
460         * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Add IS_IN_librt,
461         use L() for local labels.
462
463 2003-07-22  Jakub Jelinek  <jakub@redhat.com>
464
465         * descr.h (struct _pthread_descr_struct): Provide p_res member
466         even if USE_TLS && HAVE___THREAD.
467         * sysdeps/pthread/res-state.c (__res_state): Return __resp
468         if USE___THREAD.
469         * manager.c: Include resolv.h.
470         (pthread_start_thread): Initialize __resp.
471         * libc-tls-loc.c (__res_state): Return __resp.
472         * Makefile (tests): Add tst-_res1.
473         (modules-names, extra-objs, test-extras, test-modules): Add support
474         for test modules.
475         ($(objpfx)tst-_res1mod2.so): Depend on $(objpfx)tst-_res1mod1.so.
476         ($(objpfx)tst-_res1): Depend on $(objpfx)tst-_res1mod2.so and
477         -lpthread.
478         * tst-_res1.c: New test.
479         * tst-_res1mod1.c: New test.
480         * tst-_res1mod2.c: New test.
481
482 2003-07-20  Ulrich Drepper  <drepper@redhat.com>
483
484         * sysdeps/pthread/bits/libc-lock.h: Define __libc_cleanup_push and
485         __libc_cleanup_pop.
486
487         * tst-cancel-wrappers.sh: lseek and llseek are no cancellation points.
488
489 2003-07-14  Ulrich Drepper  <drepper@redhat.com>
490
491         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Fix typo
492         in test for compilation in libc.
493
494 2003-07-04  Jakub Jelinek  <jakub@redhat.com>
495
496         * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (PSEUDO): Use
497         different symbol for the cancellation syscall wrapper and
498         non-cancellation syscall wrapper.
499         (PSEUDO_END): Define.
500
501 2003-07-05  Richard Henderson  <rth@redhat.com>
502
503         * sysdeps/alpha/elf/pt-initfini.c: Avoid .ent/.end.
504
505 2003-06-20  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
506
507         * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Support cancellation
508         in librt.
509
510 2003-06-21  Andreas Schwab  <schwab@suse.de>
511
512         * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: Support cancellation
513         in librt.
514
515 2003-06-20  Richard Henderson  <rth@redhat.com>
516
517         * sysdeps/unix/sysv/linux/alpha/Makefile (libpthread-routines):
518         Remove ptw-osf_sigprocmask.
519
520 2003-06-18  Jakub Jelinek  <jakub@redhat.com>
521
522         * internals.h (__librt_multiple_threads, __librt_enable_asynccancel,
523         __librt_disable_asynccancel): Declare.
524         (LIBC_CANCEL_ASYNC, LIBC_CANCEL_RESET, LIBC_CANCEL_HANDLED): Define
525         for IS_IN_librt.
526         * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Support cancellation
527         in librt.
528         * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise.
529         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise.
530         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise.
531         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise.
532         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
533         * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
534         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise.
535         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise.
536         * sysdeps/x86_64/tcb-offsets.sym: New file.
537         * sysdeps/x86_64/Makefile: New file.
538         * sysdeps/x86_64/tls.h (tcbhead_t): Add multiple_threads.
539         * Versions (libc): Export __librt_enable_asynccancel,
540         __librt_disable_asynccancel and __librt_multiple_threads as
541         GLIBC_PRIVATE.
542         * libc-cancellation.c (__librt_multiple_threads,
543         __librt_enable_asynccancel, __librt_disable_asynccancel): New aliases.
544
545 2003-06-12  Steven Munroe  <sjmunroe@us.ibm.com>
546
547         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
548         (SINGLE_THREAD_P): Replace @ got notation with @toc.
549
550 2003-06-11  Ulrich Drepper  <drepper@redhat.com>
551
552         * sysdeps/powerpc/pspinlock.c (__pthread_spin_init): Fix
553         initializer [PR libc/5052].
554
555 2003-06-09  Andreas Schwab  <schwab@suse.de>
556
557         * Makefile: Move inclusion of ../Rules down after extra-objs is
558         fully known.
559
560 2003-06-06  Ulrich Drepper  <drepper@redhat.com>
561
562         * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: New sequences for
563         5+ arg syscalls only needed for PIC.
564         Patch by Ralph Siemsen <ralphs@netwinder.org>.
565
566 2003-06-05  Richard Henderson  <rth@redhat.com>
567
568         * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use
569         and require CFI assembler directives.
570         * sysdeps/unix/sysv/linux/alpha/vfork.S: Likewise.
571
572 2003-05-30  Andreas Jaeger  <aj@suse.de>
573
574         * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h
575         (SAVESTK_0): Add CFI directives.
576         (SAVESTK_3): Likewise.
577         (SAVESTK_5): Likewise.
578         (RESTSTK_0): Likewise.
579         (RESTSTK_3): Likewise.
580         (RESTSTK_5): Likewise.
581
582 2003-05-05  Ulrich Drepper  <drepper@redhat.com>
583
584         * sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Add \n to error
585         messages.
586
587 2003-05-04  Roland McGrath  <roland@redhat.com>
588
589         * Makefile ($(objpfx)../libc.so): New target.
590
591 2003-04-26  Ulrich Drepper  <drepper@redhat.com>
592
593         * pthread.c (__pthread_initialize_manager): Remove one last
594         p_multiple_threads call.
595
596 2003-04-22  Jakub Jelinek  <jakub@redhat.com>
597
598         * pthread.c (__pthread_initialize_manager): Subtract
599         TLS_PRE_TCB_SIZE bytes from tcbp to get to descr.
600         * manager.c (pthread_handle_create): Subtract or add TLS_PRE_TCB_SIZE
601         instead of sizeof (pthread_descr).
602         (pthread_free): Add TLS_PRE_TCB_SIZE instead of sizeof (pthread_descr).
603         * sysdeps/powerpc/tls.h (TLS_INIT_TCB_SIZE, TLS_TCB_SIZE): Define to 0.
604         (TLS_INIT_TCB_ALIGN, TLS_TCB_ALIGN): Define to alignment of
605         pthread_descr.
606         (TLS_PRE_TCB_SIZE): Increase to cover tcbhead_t preceeded by pad
607         to TLS_TCB_ALIGN.
608         (INSTALL_DTV, GET_DTV, THREAD_DTV): tcbhead_t is immediately before
609         tcbp.
610         (TLS_INIT_TP, THREAD_SELF, INIT_THREAD_SELF): Don't add TLS_TCB_SIZE
611         unneccessarily.
612         (NO_TLS_OFFSET): Define.
613
614 2003-04-22  Roland McGrath  <roland@redhat.com>
615
616         * Makeconfig (shared-thread-library): Reverse link order to work
617         around linker bug.
618
619 2003-04-20  Ulrich Drepper  <drepper@redhat.com>
620
621         * sysdeps/i386/useldt.h (DO_SET_THREAD_AREA): Make sure the
622         compiler knows we use the ldt_entry variable and that the syscall
623         modifies the memory.
624
625         * internals.h: Split pthread_functions definition into...
626         * sysdeps/pthread/pthread-functions.h: ...new file.
627
628         * sysdeps/i386/useldt.h: Include <sysdep.h>.
629
630 2003-04-13  Jakub Jelinek  <jakub@redhat.com>
631
632         * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Rename macros to
633         match changes in NPTL sysdep-cancel.h.
634
635 2003-04-11  Roland McGrath  <roland@redhat.com>
636
637         * Makefile (multidir): Don't set the variable here with $(shell ...).
638         ($(objpfx)multidir.mk): New target, generated makefile; include that.
639         (generated): Append it.
640
641 2003-04-10  Jakub Jelinek  <jakub@redhat.com>
642
643         * Makefile (multidir, crti-objs, crtn-objs): New variables.
644         (generated-dirs): Add pathname component of multidir.
645         (omit-deps, extra-objs): Include $(multidir)/crt? as well.
646         ($(objpfx)libpthread.so): Depend on $(multidir)/crt?.o as well.
647         ($(objpfx)$(multidir), $(objpfx)$(multidir)/crti.o,
648         $(objpfx)$(multidir)/crtn.o): New.
649         * sysdeps/unix/sysv/linux/sparc/Makefile: Removed.
650         * sysdeps/unix/sysv/linux/x86_64/Makefile (LDFLAGS-pthread.so,
651         before-compile, generated): Don't generate and use specs.
652         ($(objpfx)specs): Remove.
653
654 2003-04-11  Martin Schwidefsky  <schwidefsky@de.ibm.com>
655
656         * sysdeps/s390/pspinlock.c (__pthread_spin_unlock): Fix asm contraints.
657
658 2003-04-03  Ulrich Drepper  <drepper@redhat.com>
659
660         * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (PSEUDO): Add
661         missing ; after ENTRY use [PR libc/4997].
662
663 2003-04-03  Jakub Jelinek  <jakub@redhat.com>
664
665         * pthread.c (pthread_initialize): Unblock __pthread_sig_cancel
666         in case the parent blocked it.
667
668 2003-04-02  Jakub Jelinek  <jakub@redhat.com>
669
670         * Makefile (libpthread-routines): Add pthread_atfork.
671         (libpthread-static-only-routines): Add pthread_atfork.
672
673 2003-04-01  Jakub Jelinek  <jakub@redhat.com>
674
675         * pthread.c (__pthread_wait_for_restart_signal): Use
676         __pthread_sigsuspend instead of sigsuspend.
677         * internals.h (__pthread_sigsuspend): New prototype.
678         * Makefile (libpthread-routines): Add pt-sigsuspend.
679         (tests): Add tst-cancel7.
680         * sysdeps/unix/sysv/linux/pt-sigsuspend.c: New file.
681         * sysdeps/unix/sysv/linux/alpha/pt-sigsuspend.S: New file.
682         * sysdeps/unix/sysv/linux/ia64/pt-sigsuspend.c: New file.
683         * sysdeps/unix/sysv/linux/s390/s390-64/pt-sigsuspend.c: New file.
684         * sysdeps/unix/sysv/linux/sparc/sparc64/pt-sigsuspend.c: New file.
685         * sysdeps/unix/sysv/linux/x86_64/pt-sigsuspend.c: New file.
686         * tst-cancel7.c: New test.
687
688 2003-03-31  Alexandre Oliva  <aoliva@redhat.com>
689
690         * alloca_cutoff.c: Include internals.h.
691         * sysdeps/pthread/errno-loc.c: Include linuxthreads/internals.h.
692         * sysdeps/pthread/herrno-loc.c: Likewise.
693         * sysdeps/pthread/res-state.c: Likewise.
694
695 2003-03-25  Ulrich Drepper  <drepper@redhat.com>
696
697         * sysdeps/pthread/bits/typesizes.h: New file.
698         * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: New file.
699         * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: New file.
700
701 2003-03-24  Daniel Jacobowitz  <drow@mvista.com>
702
703         * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
704         (DOARGS_5, DOARGS_6, DOARGS_7): Rewritten.
705
706 2003-03-22  Jakub Jelinek  <jakub@redhat.com>
707
708         * sysdeps/unix/sysv/linux/fork.c (__fork): Add libc_hidden_def.
709
710 2003-03-21  Daniel Jacobowitz  <drow@mvista.com>
711
712         * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
713         (SINGLE_THREAD_P_PIC): Use "reg" instead of "lr".
714
715 2003-03-21  Jakub Jelinek  <jakub@redhat.com>
716
717         * sysdeps/i386/tls.h [__ASSUME_SET_THREAD_AREA_SYSCALL]
718         (TLS_SETUP_GS_SEGMENT): Fix a typo.
719
720 2003-03-19  Ulrich Drepper  <drepper@redhat.com>
721
722         * sysdeps/pthread/Makefile: Fix cut&paste error.
723
724 2003-03-18  Roland McGrath  <roland@redhat.com>
725
726         * Versions (libpthread: GLIBC_2.2): Remove
727         pthread_barrierattr_getpshared, never really existed.
728         (libpthread: GLIBC_2.0): Move __pthread_initialize to ...
729         (libpthread: GLIBC_PRIVATE): ... here.
730
731 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
732
733         * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: New file.
734         * sysdeps/unix/sysv/linux/sparc/Makefile ($(objpfx)specs): Use full
735         path for crt[in].o.
736
737 2003-03-14  Alexandre Oliva  <aoliva@redhat.com>
738
739         * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Don't .set
740         mips2 on new abi.
741         * sysdeps/mips/pt-machine.h (__compare_and_swap): Likewise.
742         Handle 64-bit longs on n64.
743
744 2003-03-07  Jakub Jelinek  <jakub@redhat.com>
745
746         * sysdeps/ia64/pspinlock.c (__pthread_spin_lock,
747         __pthread_spin_trylock): Rewritten.
748
749 2003-03-06  Ulrich Drepper  <drepper@redhat.com>
750
751         * tst-cancel4.c (tf_sleep): Lower sleep time a bit to not upset
752         recent kernels.
753
754 2003-03-02  Ulrich Drepper  <drepper@redhat.com>
755
756         * sysdeps/pthread/timer_create.c (timer_create): Return correct
757         error for CPU clocks.
758
759         * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
760         _POSIX_MONOTONIC_CLOCK.
761         * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
762
763 2003-03-01  Roland McGrath  <roland@redhat.com>
764
765         * sysdeps/powerpc/powerpc64/pt-machine.h
766         (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC):
767         New macros.
768         * sysdeps/powerpc/tls.h: Don't define those here.
769
770         * sysdeps/powerpc/tls.h [! USE_TLS && !__powerpc64__]: Define
771         tcbhead_t with multiple_threads member.
772         [USE_TLS] (tcbhead_t): Define minimal one-word version.
773         [USE_TLS && !__powerpc64__] (TLS_MULTIPLE_THREADS_IN_TCB): Define.
774         * sysdeps/powerpc/tcb-offsets.sym [USE_TLS]: Use tls.h macros to
775         derive thread register offset of p_multiple_threads member.
776
777         * descr.h (struct _pthread_descr_struct) [!USE_TLS || !TLS_DTV_AT_TP]:
778         Conditionalize p_header member on this.
779         [TLS_MULTIPLE_THREADS_IN_TCB]: Add p_multiple_threads alternatively.
780         * sysdeps/ia64/tls.h [USE_TLS] (TLS_MULTIPLE_THREADS_IN_TCB): Define.
781         * sysdeps/sh/tls.h: Likewise.
782         * sysdeps/ia64/tcb-offsets.sym [USE_TLS]: Use p_multiple_threads.
783         * sysdeps/sh/tcb-offsets.sym: Likewise.
784         * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
785         (SINGLE_THREAD_P): Likewise.
786         * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
787         (SINGLE_THREAD_P): Likewise.
788         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
789         (SINGLE_THREAD_P): Likewise.
790         * pthread.c (__pthread_initialize_manager): Likewise.
791         * manager.c (pthread_handle_create): Likewise.
792
793         * sysdeps/powerpc/tls.h [HAVE_TLS_SUPPORT]: Define USE_TLS and all
794         related macros.
795
796 2003-01-31  Steven Munroe  <sjmunroe@us.ibm.com>
797
798         * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S [SHARED]:
799         Conditionalize .toc section magic on this.
800
801 2003-02-21  Roland McGrath  <roland@redhat.com>
802
803         * cancel.c (__pthread_perform_cleanup): Call __libc_thread_freeres
804         instead of __rpc_thread_destroy.
805
806 2003-02-21  Jakub Jelinek  <jakub@redhat.com>
807
808         * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Call
809         __fork instead of branching to it if BROKEN_SPARC_WDISP22.
810         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h (PSEUDO):
811         Fix typo.
812         * sysdeps/unix/sysv/linux/sparc/Makefile (specs): Add ./ prefix
813         to crti.o and crtn.o.
814         * sysdeps/unix/sysv/linux/x86_64/Makefile (specs): Likewise.
815
816 2003-02-21  Roland McGrath  <roland@redhat.com>
817
818         * Makefile (install-lib-ldscripts): New variable.
819
820 2003-02-20  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
821
822         * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Avoid short
823         interprocedure branches.
824
825 2003-02-19  Ulrich Drepper  <drepper@redhat.com>
826
827         * specific.c (pthread_key_delete_helper): Don't use GETMEM, we
828         need the target thread's lock.
829
830 2003-02-17  Ulrich Drepper  <drepper@redhat.com>
831
832         * sysdeps/unix/sysv/linux/bits/local_lim.h: Define TTY_NAME_MAX
833         and LOGIN_NAME_MAX.
834
835 2003-02-17  Kevin B. Hendricks  <kevin.hendricks@sympatico.ca>
836             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
837
838         * sysdeps/powerpc/Makefile: Handle tcb-offsets.sym.
839         * sysdeps/powerpc/tcb-offsets.sym: New file.
840         * sysdeps/powerpc/tls.h: New file.
841         * sysdeps/powerpc/powerpc32/pt-machine.h (FLOATING_STACKS): Define.
842         (ARCH_STACK_MAX_SIZE): Define.
843         (THREAD_SELF): Define.
844         (INIT_THREAD_SELF): Define.
845         (THREAD_GETMEM): Define.
846         (THREAD_GETMEM_NC): Define.
847         (THREAD_SETMEM): Define.
848         (THREAD_SETMEM_NC): Define.
849         (__thread_self): Declare.
850         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Adjust
851         for thread register.
852
853 2003-02-14  Steven Munroe  <sjmunroe@us.ibm.com>
854
855         * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S (__vfork):
856         Check pthread_create existance, not __pthread_fork.
857
858 2003-02-12  Ulrich Drepper  <drepper@redhat.com>
859
860         * sysdeps/pthread/Makefile: Define CFLAGS-confstr.c.
861
862 2003-02-10  Jakub Jelinek  <jakub@redhat.com>
863
864         * sysdeps/unix/sysv/linux/alpha/vfork.S (__vfork): Check
865         pthread_create existance, not __pthread_fork.
866         * sysdeps/unix/sysv/linux/i386/vfork.S (__vfork): Likewise.
867         * sysdeps/unix/sysv/linux/ia64/vfork.S (__vfork): Likewise.
868         * sysdeps/unix/sysv/linux/m68k/vfork.S (__vfork): Likewise.
869         * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S (__vfork):
870         Likewise.
871         * sysdeps/unix/sysv/linux/s390/s390-64/vfork.S (__vfork): Likewise.
872         * sysdeps/unix/sysv/linux/x86_64/vfork.S (__vfork): Likewise.
873         * sysdeps/unix/sysv/linux/sh/vfork.S (__vfork): Likewise.
874         Add .weak pthread_create.
875         * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S (__vfork): Fix a typo.
876         Check pthread_create existance, not __pthread_fork.
877         * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Likewise.
878         * sysdeps/unix/sysv/linux/s390/s390-32/vfork.S (__vfork): Branch to
879         __fork whenever libpthread.so is loaded.
880
881 2003-02-09  Andreas Jaeger  <aj@suse.de>
882
883         * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h:
884         Rework: %r9 is destroyed by functions so don't use it as
885         temporary, align stack correctly, fix parameter for CDISABLE.
886
887 2003-02-07  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
888
889         * sysdeps/sh/Makefile: New file.
890         * sysdeps/sh/tcb-offsets.sym: Likewise.
891         * sysdeps/sh/tls.h: Don't include sysdep.h. Move include
892         of linuxthreads/descr.h after the definition of THREAD_SELF.
893         (tcbhead_t): Use IA64 type tcbhead_t for TLS case.
894         (TLS_TCB_SIZE): Set size of tcbhead_t.
895         (TLS_PRE_TCB_SIZE): Define.
896         (INSTALL_NEW_DTV): Set dtv of tcbhead_t structure instead of
897         a member of thread structure.
898         (THREAD_DTV): Likewise.
899         (TLS_INIT_TP_EXPENSIVE): Remove.
900         (TLS_INIT_TP): Set gbr register only.
901         (THREAD_SELF): New.
902         (INIT_THREAD_SELF): Likewise.
903         (NONTLS_INIT_TP): New.
904         * sysdeps/unix/sysv/linux/sh/pt-initfini.c (__fpscr_values):
905         Remove.
906         * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (PSEUDO): Add
907         SYSCALL_INST_PAD macro after DO_CALL.
908         (SINGLE_THREAD_P): Fix non-PIC and TLS case so to read the
909         correct variable.
910         * sysdeps/unix/sysv/linux/sh/vfork.S (__vfork): Branch to __fork
911         whenever libpthread.so is loaded.
912
913 2003-02-08  Andreas Schwab  <schwab@suse.de>
914
915         * sysdeps/unix/sysv/linux/m68k/vfork.S: Branch to __fork whenever
916         libpthread.so is loaded.
917
918 2003-02-07  Ulrich Drepper  <drepper@redhat.com>
919
920         * sysdeps/unix/sysv/linux/i386/vfork.S: Make sure
921         __ASSUME_VFORK_SYSCALL is not defined if the kernel headers have
922         no __NR_vfork definition.
923
924 2003-02-07  Jakub Jelinek  <jakub@redhat.com>
925
926         * tst-popen2.c: New test.
927         * Makefile (tests): Add tst-popen2.
928         * sysdeps/unix/sysv/linux/alpha/vfork.S (__vfork): Branch to __fork
929         whenever libpthread.so is loaded.
930         * sysdeps/unix/sysv/linux/i386/vfork.S (__vfork): Likewise.
931         * sysdeps/unix/sysv/linux/ia64/vfork.S (__vfork): Likewise.
932         * sysdeps/unix/sysv/linux/s390/s390-64/vfork.S (__vfork): Likewise.
933         * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S (__vfork):
934         Likewise.
935         * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S (__vfork): Likewise.
936         * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Likewise.
937         * sysdeps/unix/sysv/linux/x86_64/vfork.S (__vfork): Likewise.
938
939 2003-02-05  Ulrich Drepper  <drepper@redhat.com>
940
941         * sysdeps/pthread/bits/libc-lock.h (__libc_once): Set control
942         variable for non-libpthread case to the same value the
943         pthread_once function would use.
944
945 2003-02-03  Jakub Jelinek  <jakub@redhat.com>
946
947         * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S (__vfork): If
948         BROKEN_SPARC_WDISP22, handle SHARED the same way as non-SHARED.
949
950 2003-02-04  Andreas Jaeger  <aj@suse.de>
951
952         * sysdeps/unix/sysv/linux/hppa/pt-initfini.c: Do not use
953         multi-line strings.
954
955 2003-01-30  Jakub Jelinek  <jakub@redhat.com>
956
957         * sysdeps/s390/tls.h (TLS_INIT_TP): Return NULL, not 0.
958
959 2003-01-30  Jakub Jelinek  <jakub@redhat.com>
960
961         * sysdeps/alpha/tls.h (THREAD_GETMEM, THREAD_GETMEM_NC,
962         THREAD_SETMEM, THREAD_SETMEM_NC): Avoid warnings about unused self
963         variable.
964         * sysdeps/ia64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
965         THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
966         * sysdeps/s390/s390-32/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
967         THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
968         * sysdeps/s390/s390-64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
969         THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
970         * sysdeps/sh/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
971         THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
972         * sysdeps/sparc/sparc32/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
973         THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
974         * sysdeps/sparc/sparc64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
975         THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
976
977 2003-01-27  Martin Schwidefsky  <schwidefsky@de.ibm.com>
978
979         * sysdeps/s390/s390-32/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF):
980         Define TLS versions.
981         * sysdeps/s390/s390-64/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF):
982         Likewise.
983         * sysdeps/s390/tls.h [HAVE_TLS_SUPPORT] (USE_TLS, TLS_INIT_TCB_SIZE,
984         TLS_INIT_TCB_ALIGN, TLS_TCB_SIZE, TLS_TCB_ALIGN, TLS_TCB_AT_TP,
985         INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV, TLS_INIT_TP, THREAD_DTV):
986         Define.
987         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO): Use
988         branch with 32 bit offset.
989         * sysdeps/unix/sysv/linux/s390/s390-64/vfork.S: Likewise.
990
991 2003-01-24  Jakub Jelinek  <jakub@redhat.com>
992
993         * sysdeps/sparc/sparc32/pt-machine.h (__thread_self): Change to %g7,
994         as required by TLS ABI.
995         * sysdeps/sparc/sparc64/pt-machine.h (__thread_self): Likewise.
996         * sysdeps/sparc/tls.h [HAVE_TLS_SUPPORT] (USE_TLS, TLS_INIT_TCB_SIZE,
997         TLS_INIT_TCB_ALIGN, TLS_TCB_SIZE, TLS_TCB_ALIGN, TLS_TCB_AT_TP,
998         INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV, TLS_INIT_TP, THREAD_DTV):
999         Define.
1000         [HAVE_TLS_SUPPORT]: Include descr.h and sysdep.h.
1001         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Use %g7
1002         instead of %g6 for thread pointer.
1003         * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise.
1004         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
1005         * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise.
1006
1007 2003-01-25  Guido Guenther  <agx@sigxcpu.org>
1008
1009         * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: New file.
1010         * sysdeps/unix/sysv/linux/mips/Makefile: New file.
1011
1012 2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1013
1014         * sysdeps/unix/sysv/linux/s390/s390-32/vfork.S: Avoid non pc relative
1015         reference to __fork.
1016
1017 2003-01-17  Richard Henderson  <rth@redhat.com>
1018
1019         * sysdeps/alpha/tls.h (tcbhead_t): Clarify second member.
1020         (TLS_TCB_SIZE, TLS_TCB_ALIGN): Set for tcbhead_t.
1021         (TLS_PRE_TCB_SIZE): New.
1022         (TLS_INIT_TP, THREAD_SELF, INIT_THREAD_SELF): Update for
1023         new ia64-style thread pointer layout.
1024         (THREAD_GETMEM, THREAD_GETMEM_NC): New.
1025         (THREAD_SETMEM, THREAD_SETMEM_NC): New.
1026         * sysdeps/unix/sysv/linux/alpha/vfork.S: Don't tail-call to __fork
1027         if !SHARED.
1028
1029 2003-01-15  Jakub Jelinek  <jakub@redhat.com>
1030
1031         * sysdeps/ia64/tls.h (tcbhead_t): Use the TLS ABI required layout
1032         if USE_TLS only.
1033         (NONTLS_INIT_TP): Revert last change.
1034         * sysdeps/ia64/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Define to
1035         offsetof (tcbhead_t, multiple_threads) if USE_TLS not defined.
1036
1037 2003-01-16  Jakub Jelinek  <jakub@redhat.com>
1038
1039         * pthread.c (_pthread_initialize_minimal): Use
1040         GL(dl_tls_dtv_slotinfo_list) != NULL to check whether TLS has
1041         been already initialized.
1042
1043 2003-01-16  Jakub Jelinek  <jakub@redhat.com>
1044
1045         * sysdeps/i386/tls.h (INIT_SYSINFO): Initialize head->sysinfo even
1046         if not SHARED.
1047
1048 2003-01-15  Jakub Jelinek  <jakub@redhat.com>
1049
1050         * sysdeps/pthread/bits/libc-lock.h (__libc_lock_init,
1051         __libc_lock_init_recursive): Initialize fields directly.
1052
1053 2003-01-15  Jakub Jelinek  <jakub@redhat.com>
1054
1055         * sysdeps/unix/sysv/linux/alpha/vfork.S (__vfork): Allow
1056         __fork to be far away from __vfork ifndef SHARED.
1057         * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S (__vfork):
1058         Likewise.
1059         * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S (__vfork): Likewise.
1060         * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Likewise.
1061         Add a missing instruction.
1062         * sysdeps/unix/sysv/linux/arm/vfork.S (__vfork): Conditionally
1063         branch to __fork even if __NR_vfork is not defined.
1064
1065 2003-01-14  Ulrich Drepper  <drepper@redhat.com>
1066
1067         * tst-cancel-wrappers.sh: Allow .__*_asynccancel functions names
1068         as well.
1069
1070 2003-01-14  Steven Munroe  <sjmunroe@us.ibm.com>
1071
1072         * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: New file.
1073
1074 2003-01-14  Jakub Jelinek  <jakub@redhat.com>
1075
1076         * sysdeps/unix/sysv/linux/ia64/vfork.S (JUMPTARGET): Remove.
1077
1078 2003-01-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1079
1080         * sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c: Avoid
1081         unterminated string literals.
1082         * sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c: Likewise.
1083
1084 2003-01-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1085
1086         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
1087         (PSEUDO): Code reordering.  Move CENABLE and CDISABLE literals from
1088         PSEUDO_END to PSEUDO.
1089         (PSEUDO_END): Remove.
1090         (SINGLE_THREAD_P): Save an instruction.
1091         * sysdeps/unix/sysv/linux/s390/s390-32/vfork.S (__vfork): Add missing
1092         parameter to SINGLE_THREAD_P call.
1093         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO):
1094         Code reordering.
1095
1096 2003-01-10  Andreas Schwab  <schwab@suse.de>
1097
1098         * sysdeps/unix/sysv/linux/m68k/vfork.S: New file.
1099
1100 2003-01-10  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1101
1102         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Setup
1103         backchain in pseudo_cancel.  Minor code improvements.
1104         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO):
1105         Likewise.
1106
1107 2003-01-10  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1108
1109         * sysdeps/unix/sysv/linux/s390/s390-32/vfork.S: New file.
1110         * sysdeps/unix/sysv/linux/s390/s390-64/vfork.S: New file.
1111
1112 2002-01-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1113
1114         * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: New file.
1115
1116 2002-01-09  Richard Henderson  <rth@redhat.com>
1117
1118         * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Assume only
1119         ret follows pseudo, and thus avoid branch-to-branch in cancel
1120         case.  Use SYSCALL_ERROR_LABEL.
1121
1122 2003-01-11  Philip Blundell  <philb@gnu.org>
1123
1124         * sysdeps/unix/sysv/linux/arm/vfork.S: New file.
1125         * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (PSEUDO_RET):
1126         Correctly unstack lr.
1127         (UNDOARGS_5): Fix ordering of pushes and pops.
1128         (SINGLE_THREAD_P_PIC): New.
1129         (SINGLE_THREAD_P_INT): New.
1130         (SINGLE_THREAD_P): Implement in terms of above.  Restore lr if it
1131         was stacked.
1132         (PSEUDO): Use SINGLE_THREAD_P_INT.
1133
1134 2003-01-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1135
1136         * sysdeps/unix/sysv/linux/sh/vfork.S: New file.
1137
1138 2003-01-11  Jakub Jelinek  <jakub@redhat.com>
1139
1140         * sysdeps/ia64/tls.h (tcbhead_t): Change into dtv_t *, void *.
1141         [HAVE_TLS_SUPPORT] (USE_TLS, TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN,
1142         TLS_TCB_SIZE, TLS_PRE_TCB_SIZE, TLS_TCB_ALIGN, TLS_DTV_AT_TP,
1143         INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV, TLS_INIT_TP, THREAD_SELF,
1144         INIT_THREAD_SELF): Define.
1145         [HAVE_TLS_SUPPORT]: Include descr.h.
1146         (NONTLS_INIT_TP): Point __thread_self at the end of dummy
1147         struct _pthread_descr_struct.
1148         * sysdeps/ia64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC,
1149         THREAD_SETMEM, THREAD_SETMEM_NC): Define using THREAD_SELF,
1150         not __thread_self.
1151         * sysdeps/ia64/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Adjust
1152         computation.
1153         * pthread.c (__pthread_initialize_minimal): Use tcbp, not self
1154         for TCB pointer.
1155         (__pthread_initialize_manager): Rename tcb to mgr.
1156         Use tcbp for TCB pointer, if TLS_DTV_AT_TP set mgr to sizeof (struct
1157         _pthread_descr) below tcbp, otherwise to tcbp.
1158         * manager.c (pthread_handle_create): If TLS_DTV_AT_TP, set
1159         new_thread to be below _dl_allocate_tls ().  Adjust new_thread back
1160         before freeing.  Fix clone arguments if report_events and USE_TLS.
1161         (pthread_free): Adjust th back before freeing.
1162
1163 2003-01-10  Steven Munroe  <sjmunroe@us.ibm.com>
1164
1165         * sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile: Moved to ...
1166         * sysdeps/unix/sysv/linux/powerpc/Makefile: ...here.
1167         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: New File.
1168
1169 2003-01-09  Jakub Jelinek  <jakub@redhat.com>
1170
1171         * sysdeps/unix/sysv/linux/i386/vfork.S: New file.
1172         * sysdeps/unix/sysv/linux/ia64/vfork.S: New file.
1173         * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
1174         [__ASSEMBLER__] (SINGLE_THREAD_P): Remove trailing ;;.
1175         * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: New file.
1176         * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: New file.
1177         * sysdeps/unix/sysv/linux/x86_64/vfork.S: New file.
1178         * sysdeps/unix/sysv/linux/alpha/vfork.S: New file.
1179         * tst-popen.c: New test.
1180         * Makefile (tests): Add tst-popen.
1181
1182 2003-01-06  Jakub Jelinek  <jakub@redhat.com>
1183
1184         * sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Add
1185         INTERNAL_SYSCALL_DECL, add err argument to INTERNAL_SYSCALL* macros.
1186
1187 2003-01-06  Jakub Jelinek  <jakub@redhat.com>
1188
1189         * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use
1190         PSEUDO_PREPARE_ARGS.  Fix branch condition after SINGLE_THREAD_P.
1191
1192 2003-01-06  Philip Blundell  <philb@gnu.org>
1193
1194         * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: New file.
1195
1196 2003-01-06  Jakub Jelinek  <jakub@redhat.com>
1197
1198         * internals.h (LIBC_CANCEL_HANDLED): Define.
1199         * sysdeps/unix/sysv/linux/sigwait.c (LIBC_CANCEL_HANDLED): Add.
1200         * signals.c (LIBC_CANCEL_HANDLED): Add.
1201         * pt-system.c (LIBC_CANCEL_HANDLED): Add.
1202         * tst-cancel-wrappers.sh: Remove all exceptions.
1203
1204         * sysdeps/unix/sysv/linux/alpha/Makefile: New file.
1205
1206 2003-01-05  Andreas Schwab  <schwab@suse.de>
1207
1208         * sysdeps/m68k/Makefile: New file, use -fPIC for nonshared
1209         objects.
1210
1211         * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (SINGLE_THREAD_P):
1212         Fix for PIC.
1213         (CENABLE): Likewise.
1214         (CDISABLE): Likewise.
1215
1216 2003-01-05  Ulrich Drepper  <drepper@redhat.com>
1217
1218         * tst-cancel-wrappers.sh: Invoke gawk not awk since we use GNU awk
1219         features.  Reported by Marijn Ros <marijn@mad.scientist.com>.
1220
1221         * Makefile (libc.so-no-z-defs): Define to yes.
1222
1223 2003-01-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1224
1225         * sysdeps/sh/tls.h: Include dl-sysdep.h and stdint.h.
1226         (tcbhead_t): Add multiple_threads member.
1227         (TLS_INIT_TP_EXPENSIVE): Define.
1228         * sysdeps/unix/sysv/linux/sh/pt-initfini.c: Don't use multi-line
1229         strings.  Remove unused code.
1230         * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: New file.
1231
1232 2003-01-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1233
1234         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: New file.
1235         * sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile: New file.
1236
1237 2003-01-04  Jakub Jelinek  <jakub@redhat.com>
1238
1239         * internals.h (LIBC_THREAD_GETMEM, LIBC_THREAD_SETMEM): Define
1240         even if NOT_IN_libc is defined.
1241
1242 2003-01-05  Jakub Jelinek  <jakub@redhat.com>
1243
1244         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: New file.
1245         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: New file.
1246         * sysdeps/s390/Makefile: New file.
1247         * sysdeps/s390/tcb-offsets.sym: New file.
1248         * sysdeps/s390/tls.h: New file.
1249
1250 2003-01-03  Richard Henderson  <rth@redhat.com>
1251
1252         * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: New file.
1253
1254 2003-01-03  Andreas Jaeger  <aj@suse.de>
1255
1256         * sysdeps/pthread/bits/libc-tsd.h: Declare weak_extern functions.
1257
1258 2003-01-03  Jakub Jelinek  <jakub@redhat.com>
1259
1260         * Makefile ($(objpfx)libpthread.so): Depend on ld.so.
1261
1262 2003-01-02  Ulrich Drepper  <drepper@redhat.com>
1263
1264         * tst-cancel-wrappers.sh: Exclude sigwait.c as well, it does not have
1265         cancellation tests.
1266
1267 2003-01-02  Jakub Jelinek  <jakub@redhat.com>
1268
1269         * internals.h (struct pthread_functions): Rename
1270         ptr_pthread_cond_* fields to ptr___pthread_cond_*.
1271         * pthread.c (pthread_functions): Adjust.
1272         * forward.c: Export both pthread_cond_*@@GLIBC_2.3.2 and
1273         pthread_cond_*@GLIBC_2.0 compatibility symbols.
1274         * Versions [libc] (GLIBC_2.3.2): Export pthread_cond_broadcast,
1275         pthread_cond_destroy, pthread_cond_init, pthread_cond_signal
1276         and pthread_cond_wait.
1277
1278         * sysdeps/pthread/bits/pthreadtypes.h (__pthread_cond_align_t): New
1279         type.
1280         (pthread_cond_t): Add __align member, shorten __padding.
1281         * sysdeps/pthread/pthread.h (PHTREAD_COND_INITIALIZER): Initialize
1282         __padding and __align too.
1283
1284         * sysdeps/pthread/bits/libc-lock.h (__libc_maybe_call2): Add
1285         __builtin_expect.
1286         * sysdeps/pthread/sigaction.c: New file.
1287         * sysdeps/unix/sysv/linux/raise.c: New file.
1288         * sysdeps/unix/sysv/linux/sigwait.c: New file.
1289         * sysdeps/unix/sysv/linux/fork.c (__pthread_fork): Protect
1290         weak_extern with #ifndef SHARED.
1291         * sysdeps/unix/sysv/linux/jmp-unwind.c (__pthread_cleanup_upto):
1292         Likewise.
1293         * signals.c (__sigaction): Renamed to...
1294         (__pthread_sigaction): ... this.
1295         (__sigaction): New strong alias, #ifdef SHARED only.
1296         (sigaction): Protect with #ifdef SHARED.
1297         (sigwait): Renamed to...
1298         (__pthread_sigwait): ... this.
1299         (sigwait): New strong alias, #ifdef SHARED only.
1300         (raise): Renamed to...
1301         (__pthread_raise): ... this.
1302         (raise): New strong alias, #ifdef SHARED only.
1303         * internals.h (__pthread_sigaction, __pthread_sigwait,
1304         __pthread_raise): New prototypes.
1305         (struct pthread_functions): Add ptr_pthread_sigaction,
1306         ptr_pthread_sigwait, ptr_pthread_raise.
1307         * pthread.c (pthread_functions): Renamed to...
1308         (__pthread_functions): ... this.  No longer static, no longer
1309         SHARED only.  Initialize ptr_pthread_sigaction, ptr_pthread_sigwait
1310         and ptr_pthread_raise.
1311         [SHARED] (ptr_pthread_functions): Change to &__pthread_functions.
1312         * libc-cancellation.c (__pthread_thread_self): Remove weak_extern.
1313         * ptfork.c (__fork, __vfork): Protect with #ifdef SHARED.
1314         * ptlongjmp.c (siglongjmp, longjmp): Protect with #ifdef SHARED.
1315
1316         * Makefile (tests, tests-static): Add tst-cancel-static.
1317         * tst-cancel-static.c: New test.
1318
1319 2003-01-02  Jakub Jelinek  <jakub@redhat.com>
1320
1321         * Makefile (CFLAGS-pthread_atfork.c): Add -DNOT_IN_libc.
1322
1323 2003-01-02  Ulrich Drepper  <drepper@redhat.com>
1324
1325         * sysdeps/pthread/bits/pthreadtypes.h (pthread_cond_t): Add padding.
1326         * condvar.c: Add symbol versioning.  The compatibility versions
1327         are the same as the change in the interface does not effect this
1328         implementation.
1329         * Versions [libpthread]: Add definitions for new pthread_cond_*
1330         interfaces for version GLIBC_2.3.2.
1331
1332 2002-12-31  Ulrich Drepper  <drepper@redhat.com>
1333
1334         * sysdeps/unix/sysv/linux/fork.h: Add libc_hidden_proto for
1335         __register_atfork.
1336         * sysdeps/unix/sysv/linux/register-atfork.c: Add libc_hidden_def
1337         for __register_atfork.
1338
1339 2002-12-31  Jakub Jelinek  <jakub@redhat.com>
1340
1341         * sysdeps/i386/i686/pt-machine.h: Use __ASSEMBLER__ instead of
1342         ASSEMBLER test macro.
1343         * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Likewise.
1344         * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise.
1345         * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: Likewise.
1346         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise.
1347         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
1348         * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
1349
1350         * sysdeps/pthread/errno-loc.c (__errno_location): Add
1351         libc_hidden_def.
1352         * sysdeps/pthread/herrno-loc.c (__h_errno_location): Likewise.
1353         * sysdeps/pthread/res-state.c (__res_state): Likewise.
1354         * sysdeps/unix/sysv/linux/allocrtsig.c (__libc_current_sigrtmin,
1355         __libc_current_sigrtmax): Likewise.
1356         * Versions [libc] (GLIBC_PRIVATE): Remove __libc_internal_tsd_get,
1357         __libc_internal_tsd_set, __libc_internal_tsd_address,
1358         __libc_alloca_cutoff.
1359         [libpthread] (GLIBC_PRIVATE): Remove __libc_internal_tsd_get,
1360         __libc_internal_tsd_set, __libc_internal_tsd_address.
1361
1362         * sysdeps/pthread/list.h: Remove assert.h include.
1363         * sysdeps/unix/sysv/linux/fork.c: Include <fork.h>, not "fork.h".
1364
1365         * sysdeps/pthread/list.h: New file.
1366         * sysdeps/unix/sysv/linux/jmp-unwind.c: New file.
1367         * sysdeps/unix/sysv/linux/fork.c: New file.
1368         * sysdeps/unix/sysv/linux/fork.h: New file.
1369         * sysdeps/unix/sysv/linux/ia64/fork.h: New file.
1370         * sysdeps/unix/sysv/linux/sparc/fork.h: New file.
1371         * sysdeps/unix/sysv/linux/register-atfork.c: New file.
1372         * sysdeps/unix/sysv/linux/unregister-atfork.c: New file.
1373         * sysdeps/unix/sysv/linux/Makefile: New file.
1374         * sysdeps/unix/sysv/linux/Versions: New file.
1375         * ptlongjmp.c (pthread_cleanup_upto): Rename to...
1376         (__pthread_cleanup_upto): ...this. Add targetframe argument,
1377         use it instead of currentframe.  No longer static.
1378         (siglongjmp, longjmp): Remove pthread_cleanup_upto calls.
1379         * internals.h (__pthread_cleanup_upto, __pthread_fork): New prototypes.
1380         (struct pthread_functions): Add ptr_pthread_fork,
1381         ptr_pthread_cleanup_upto.
1382         * pthread.c (pthread_functions): Initialize ptr_pthread_fork and
1383         ptr_pthread_cleanup_upto.
1384         * ptfork.c: Include fork.h.
1385         (struct handler_list, struct handler_list_block): Remove.
1386         (pthread_atfork_lock, pthread_atfork_prepare, pthread_atfork_parent,
1387         pthread_atfork_child): Remove.
1388         (pthread_insert_list, __pthread_atfork, pthread_call_handlers): Remove.
1389         (__pthread_fork): New function.
1390         (__fork, __vfork): Call __libc_fork.
1391         * Makefile (libpthread-routines): Add old_pthread_atfork.
1392         (libpthread-nonshared): Add pthread_atfork.
1393         (others): Depend on $(objpfx)libpthread_nonshared.a.
1394         ($(objpfx)libpthread_nonshared.a): New rule.
1395         (install): Depend on $(inst_libdir)/libpthread.so.
1396         ($(inst_libdir)/libpthread.so, $(inst_libdir)/libpthread_nonshared.a):
1397         New rules.
1398         (tests): Depend on libpthread_nonshared.a too.
1399         * old_pthread_atfork.c: New file.
1400         * pthread_atfork.c: New file.
1401         * Makeconfig (shared-thread-library): Include libpthread_nonshared.a
1402         too.
1403
1404 2002-12-30  Jakub Jelinek  <jakub@redhat.com>
1405
1406         * forward.c: Make all functions available by default again.  It
1407         caused too much trouble.
1408         * internals.h (struct pthread_functions): Rename ptr_pthread_exit
1409         and ptr_pthread_attr_init_2_* to ptr___pthread_exit and
1410         ptr___pthread_attr_init_2_*.
1411         * pthread.c (pthread_functions): Adjust.
1412
1413 2002-12-28  Jakub Jelinek  <jakub@redhat.com>
1414
1415         * libc_pthread_init.c (__libc_pthread_init): Remove
1416         MULTIPLE_THREADS_OFFSET check.
1417         * sysdeps/i386/tls.h: Include tcb-offsets.h in assembler.
1418         (SYSINFO_OFFSET): Remove.
1419         * sysdeps/i386/Makefile [csu] (gen-as-const-headers): Add
1420         tcb-offsets.sym.
1421         * sysdeps/i386/tcb-offsets.sym: New file.
1422         * sysdeps/pthread/tcb-offsets.h: New file.
1423         * sysdeps/sparc/sparc32/tls.h: Removed.
1424         * sysdeps/sparc/sparc64/tls.h: Move...
1425         * sysdeps/sparc/tls.h: ...here.  Include tcb-offsets.h in assembler.
1426         * sysdeps/sparc/Makefile: New file.
1427         * sysdeps/sparc/tcb-offsets.sym: New file.
1428         * sysdeps/ia64/tls.h: Include tcb-offsets.h in assembler.
1429         * sysdeps/ia64/Makefile: New file.
1430         * sysdeps/ia64/tcb-offsets.sym: New file.
1431         * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
1432         (MULTIPLE_THREADS_OFFSET): Remove.
1433         Replace defined MULTIPLE_THREADS_OFFSET
1434         with defined FLOATING_STACKS && USE___THREAD.
1435         * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
1436         (MULTIPLE_THREADS_OFFSET): Remove.
1437         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
1438         (MULTIPLE_THREADS_OFFSET): Remove.
1439         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
1440         (MULTIPLE_THREADS_OFFSET): Remove.
1441         * pthread.c (__pthread_initialize_manager): Remove
1442         MULTIPLE_THREADS_OFFSET cbeck.
1443
1444         * tst-cancel-wrappers.sh: Add line continuations.
1445
1446 2002-12-27  Jakub Jelinek  <jakub@redhat.com>
1447
1448         * sysdeps/pthread/bits/libc-tsd.h: Include linuxthreads/descr.h
1449         and bits/libc-lock.h.
1450         (__libc_internal_tsd_get, __libc_internal_tsd_set,
1451         __libc_internal_tsd_address): Remove.
1452         (__pthread_internal_tsd_address, __pthread_internal_tsd_get,
1453         __pthread_internal_tsd_set): New weak_externs.
1454         (__libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Define
1455         using __libc_maybe_call2.
1456         (__libc_tsd_key_t): Move to ...
1457         * descr.h (__libc_tsd_key_t): ...here.
1458         Remove bits/libc-tsd.h include.
1459         * sysdeps/pthread/errno-loc.c: New file.
1460         * sysdeps/pthread/herrno-loc.c: New file.
1461         * sysdeps/pthread/res-state.c: New file.
1462         * libc-cancellation.c (THREAD_GETMEM, THREAD_SETMEM): Remove.
1463         (__libc_enable_asynccancel, __libc_disable_asynccancel): Use
1464         thread_self unconditionally.  Use LIBC_THREAD_[SG]ETMEM instead
1465         of THREAD_[SG]ETMEM.
1466         * specific.c (libc_internal_tsd_set): Renamed to...
1467         __pthread_internal_tsd_set.  Remove static.
1468         (libc_internal_tsd_get): Renamed to...
1469         __pthread_internal_tsd_get.  Remove static.
1470         (libc_internal_tsd_address): Renamed to...
1471         __pthread_internal_tsd_address.  Remove static.
1472         (__libc_internal_tsd_set, __libc_internal_tsd_get,
1473         __libc_internal_tsd_address, __libc_alloca_cutoff): Remove.
1474         * internals.h [!NOT_IN_libc] (LIBC_THREAD_GETMEM, LIBC_THREAD_SETMEM):
1475         Define.
1476         (__pthread_internal_tsd_set, __pthread_internal_tsd_get,
1477         __pthread_internal_tsd_address): New prototypes.
1478         (struct pthread_functions): Add
1479         ptr_pthread_internal_tsd_([sg]et|address) fields.
1480         [!NOT_IN_libc && !FLOATING_STACKS] (thread_self): Define.
1481         * pthread.c (pthread_functions) [!USE_TLS && !HAVE___THREAD]:
1482         Initialize ptr_pthread_internal_tsd_([sg]et|address) fields.
1483         * Versions (libpthread): Remove __libc_alloca_cutoff@GLIBC_PRIVATE.
1484         * alloca_cutoff.c: New file.
1485         * no-tsd.c: Removed.
1486         * Makefile (routines): Remove no-tsd.  Add alloca_cutoff.
1487         * pt-system.c (system): Remove cancellation handling.
1488         * tst-cancel-wrappers.sh: Allow pt-system.o* to not use the
1489         cancellation routines.
1490
1491         * sysdeps/i386/tls.h: Include dl-sysdep.h and stdint.h.
1492         (tcbhead_t): Add sysinfo field.
1493         (SYSINFO_OFFSET, INIT_SYSINFO): Define.
1494         (TLS_INIT_TP): Use INIT_SYSINFO.
1495         * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: New file.
1496         * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
1497         (MULTIPLE_THREADS_OFFSET): Adjust.
1498         * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
1499         (MULTIPLE_THREADS_OFFSET): Likewise.
1500         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
1501         (MULTIPLE_THREADS_OFFSET): Likewise.
1502         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
1503         (MULTIPLE_THREADS_OFFSET): Likewise.
1504         * descr.h: Include stdint.h.
1505         (struct _pthread_descr_struct): Add p_header.data.sysinfo field.
1506
1507 2002-12-22  Jakub Jelinek  <jakub@redhat.com>
1508
1509         * libc_pthread_init.c: Include stdlib.h.
1510         * sysdeps/i386/tls.h (tcbhead_t): Add multiple_threads member.
1511         (TLS_INIT_TP_EXPENSIVE): Define.
1512         * sysdeps/pthread/bits/libc-lock.h (__libc_maybe_call,
1513         __libc_maybe_call2): In _LIBC check SHARED define.
1514         * sysdeps/ia64/tls.h: New file.
1515         * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: New file.
1516         * sysdeps/unix/sysv/linux/ia64/Makefile: New file.
1517         * sysdeps/x86_64/tls.h (TLS_INIT_TP_EXPENSIVE): Define.
1518         * sysdeps/sparc/sparc32/tls.h: New file.
1519         * sysdeps/sparc/sparc64/tls.h: New file.
1520         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: New file.
1521         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: New file.
1522         * Makefile (tests): Add tst-cancel[1-6].
1523         (tests-reverse): Add tst-cancel5.
1524         Link libc.so before libpthread.so for tests-reverse.
1525         * tst-cancel1.c: New file.
1526         * tst-cancel2.c: New file.
1527         * tst-cancel3.c: New file.
1528         * tst-cancel4.c: New file.
1529         * tst-cancel5.c: New file.
1530         * tst-cancel6.c: New file.
1531
1532 2002-12-27  Andreas Schwab  <schwab@suse.de>
1533
1534         * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: New file.
1535
1536 2002-12-22  Roland McGrath  <roland@redhat.com>
1537
1538         * Makefile (omit-deps): Add $(unix-syscalls:%=ptw-%).
1539
1540 2002-12-21  Ulrich Drepper  <drepper@redhat.com>
1541
1542         * pthread.c (init_rtsigs): Remove incomplete __builtin_expect.
1543         Reported by Art Hass <ahaas@airmail.net>.
1544
1545 2002-12-19  Jakub Jelinek  <jakub@redhat.com>
1546
1547         * forward.c (pthread_attr_init_2_0, pthread_attr_init_2_1):
1548         Use return 0 as 6th argument to FORWARD4.
1549
1550 2002-12-18  Jakub Jelinek  <jakub@redhat.com>
1551
1552         * sysdeps/i386/useldt.h (FLOATING_STACKS, ARCH_STACK_MAX_SIZE): Only
1553         define if __ASSUME_LDT_WORKS > 0.
1554         * libc-cancellation.c (THREAD_GETMEM, THREAD_SETMEM): Redefine to
1555         struct member access if !FLOATING_STACKS.
1556         * sysdeps/pthread/flockfile.c (flockfile): Change into weak alias.
1557
1558 2002-12-18  Jakub Jelinek  <jakub@redhat.com>
1559
1560         * internals.h (__pthread_thread_self): New prototype.
1561         (struct pthread_functions): Add ptr_pthread_thread_self field.
1562         * pthread.c (pthread_functions): Initialize ptr_pthread_thread_self.
1563         (__pthread_thread_self): New function.
1564         * libc-cancellation.c (__pthread_thread_self): Add weak_extern.
1565         (__libc_enable_asynccancel, __libc_disable_asynccancel): Don't
1566         use thread_self() directly if not FLOATING_STACKS.
1567
1568 2002-12-18  Jakub Jelinek  <jakub@redhat.com>
1569
1570         * sysdeps/x86_64/pt-machine.h: Guard most of the header
1571         with #ifndef __ASSEMBLER__.
1572         * pthread.c (pthread_functions): Use SHLIB_COMPAT around
1573         pthread_attr_init_2_0 use.
1574
1575 2002-12-17  Jakub Jelinek  <jakub@redhat.com>
1576
1577         * wrapsyscall.c: Removed.
1578         * weaks.c: Removed.
1579         * Makefile (distribute): Add tst-cancel-wrappers.sh.
1580         (routines): Remove weaks.  Add forward,
1581         libc_pthread_init, libc-cancellation.
1582         (shared-only-routines): Remove weaks.  Add forward.
1583         (libpthread-routines): Remove wrapsyscall.
1584         Add ptw-write, ptw-read, ptw-close, ptw-fcntl, ptw-accept,
1585         ptw-connect, ptw-recv, ptw-recvfrom, ptw-recvmsg, ptw-send,
1586         ptw-sendmsg, ptw-sendto, ptw-fsync, ptw-lseek, ptw-lseek64,
1587         ptw-llseek, ptw-msync, ptw-nanosleep, ptw-open, ptw-open64,
1588         ptw-pause, ptw-pread, ptw-pread64, ptw-pwrite, ptw-pwrite64,
1589         ptw-tcdrain, ptw-wait, ptw-waitpid, pt-system, pt-allocrtsig.
1590         (libpthread-shared-only-routines): Add pt-allocrtsig.
1591         (tests): Depend on $(objpfx)tst-cancel-wrappers.out.
1592         ($(objpfx)tst-cancel-wrappers.out): New rule.
1593         * sysdeps/pthread/bits/libc-lock.h: Include linuxthreads/internals.h
1594         if in libc.
1595         (__libc_maybe_call): In libpthread.* don't check for existance
1596         of the function.
1597         (__libc_maybe_call2): Define.
1598         (__libc_lock_init, __libc_lock_fini, __libc_lock_lock,
1599         __libc_lock_trylock, __libc_lock_unlock): Use it.
1600         * sysdeps/pthread/flockfile.c: New file.
1601         * sysdeps/pthread/ftrylockfile.c: New file.
1602         * sysdeps/pthread/funlockfile.c: New file.
1603         * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: New file.
1604         * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: New file.
1605         * sysdeps/unix/sysv/linux/allocrtsig.c: New file.
1606         * libc-cancellation.c: New file.
1607         * forward.c: New file.
1608         * libc_pthread_init.c: New file.
1609         * pt-system.c: New file.
1610         * pthread.c: Remove locale.h.
1611         (__pthread_manager_thread): Initialize multiple_threads.
1612         (__pthread_multiple_threads): Declare.
1613         (pthread_functions): New variable.
1614         (__pthread_initialize_minimal): Remove __uselocale call.
1615         Call __libc_pthread_init.
1616         (__pthread_initialize_manager): Initialize __pthread_multiple_threads,
1617         initial thread's multiple_threads and __libc_multiple_threads.
1618         Check MULTIPLE_THREADS_OFFSET value. Initialize manager thread's
1619         multiple_threads.
1620         (pthread_setschedparam, pthread_getschedparam): Rename to __
1621         prefixed variants.  Add strong_alias.
1622         (current_rtmin, current_rtmax, __libc_current_sigrtmin,
1623         __libc_current_sigrtmax, __libc_allocate_rtsig): Remove.
1624         (init_rtsigs): Use __libc_current_sigrtmin_private.
1625         (pthread_initialize): Only call init_rtsigs if
1626         !__ASSUME_REALTIME_SIGNALS.
1627         (__pthread_require_wrappers, __pthread_require_lockfile): Remove.
1628         * internals.h (__pthread_attr_destroy, __pthread_attr_setdetachstate,
1629         __pthread_attr_getdetachstate, __pthread_attr_setschedparam,
1630         __pthread_attr_getschedparam, __pthread_attr_setschedpolicy,
1631         __pthread_attr_getschedpolicy, __pthread_attr_setinheritsched,
1632         __pthread_attr_getinheritsched, __pthread_attr_setscope,
1633         __pthread_attr_getscope, __pthread_cond_init,
1634         __pthread_cond_destroy, __pthread_cond_wait,
1635         __pthread_cond_signal, __pthread_cond_broadcast,
1636         __pthread_condattr_init, __pthread_condattr_destroy,
1637         __pthread_equal, __pthread_getschedparam,
1638         __pthread_setschedparam, __pthread_setcancelstate,
1639         __pthread_setcanceltype, __pthread_enable_asynccancel,
1640         __libc_enable_asynccancel, __libc_pthread_init): New prototype.
1641         (__pthread_mutex_init, __pthread_mutex_destroy,
1642         __pthread_mutex_lock, __pthread_mutex_unlock,
1643         __pthread_mutex_trylock): Likewise.
1644         Add hidden_proto.
1645         (struct pthread_functions): New type.
1646         (__libc_pthread_functions): New variable.
1647         (LIBC_CANCEL_ASYNC, LIBC_CANCEL_RESET): Define.
1648         * descr.h (struct _pthread_descr_struct): Add
1649         p_header.data.multiple_threads field.
1650         * manager.c (pthread_handle_create): Initialize multiple_threads.
1651         * cancel.c (__pthread_enable_asynccancel,
1652         __pthread_disable_asynccancel): New functions.
1653         (__pthread_provide_wrappers): Remove.
1654         (pthread_setcancelstate, pthread_setcanceltype): Rename to __
1655         prefixed variants.  Add strong_alias.
1656         * condvar.c (pthread_cond_init, pthread_cond_destroy,
1657         pthread_cond_wait, pthread_cond_signal, pthread_cond_broadcast,
1658         pthread_condattr_init, pthread_condattr_destroy): Likewise.
1659         * join.c (pthread_exit): Likewise.
1660         * attr.c (pthread_attr_destroy, pthread_attr_setdetachstate,
1661         pthread_attr_getdetachstate, pthread_attr_setschedparam,
1662         pthread_attr_getschedparam, pthread_attr_setschedpolicy,
1663         pthread_attr_getschedpolicy, pthread_attr_setinheritsched,
1664         pthread_attr_getinheritsched, pthread_attr_setscope,
1665         pthread_attr_getscope): Likewise.
1666         * mutex.c (__pthread_mutex_init, __pthread_mutex_destroy,
1667         __pthread_mutex_lock, __pthread_mutex_unlock,
1668         __pthread_mutex_trylock): Add hidden_def.
1669         * Versions (libc): Add __libc_pthread_init,
1670         __libc_current_sigrtmin_private, __libc_current_sigrtmax_private,
1671         __libc_allocate_rtsig_private @@GLIBC_PRIVATE.
1672         * lockfile.c: Remove some USE_IN_LIBIO guards.
1673         (__pthread_provide_lockfile): Remove.
1674         * pt-allocrtsig.c: New file.
1675         * tst-cancel-wrappers.sh: New test.
1676
1677 2002-12-15  Ulrich Drepper  <drepper@redhat.com>
1678
1679         * Versions [libpthread: GLIBC_2.3.2]: Remove creat, poll, pselect,
1680         readv, select, sigpause, sigsuspend, sigwaitinfo, waitid, writev.
1681         * wrapsyscall.c: Remove creat, poll, pselect, readv, select,
1682         sigpause, sigsuspend, sigwaitinfo, waitid, and writev wrappers.
1683
1684 2002-12-10  Ulrich Drepper  <drepper@redhat.com>
1685
1686         * wrapsyscall.c (CANCELABLE_SYSCALL): Don't define function as
1687         weak.  There is no reason for that.
1688         (CANCELABLE_SYSCALL_VA): Likewise.
1689
1690 2002-12-09  Ulrich Drepper  <drepper@redhat.com>
1691
1692         * wrapsyscall.c: Add wrappers for creat, poll, pselect, readv, select,
1693         sigpause, __xpg_sigpause, sigsuspend, sigwaitinfo, waitid, and writev.
1694         * Versions: Export creat, poll, pselect, readv, select, sigpause,
1695         __xpg_sigpause, sigsuspend, sigwaitinfo, waitid, and writev from
1696         libpthread in version GLIBC_2.3.2.
1697
1698 2002-12-06  Ulrich Drepper  <drepper@redhat.com>
1699
1700         * sysdeps/pthread/bits/libc-lock.h: Define __rtld_lock_* macros.
1701
1702 2002-12-05  Roland McGrath  <roland@redhat.com>
1703
1704         * pthread.c (__pthread_initialize_minimal)
1705         [USE_TLS && SHARED && !USE___THREAD]: Initialize TLS and set up the
1706         TCB if the dynamic linker didn't do it at startup.
1707
1708         * sysdeps/i386/tls.h (TLS_INIT_TP): Make it return zero or an error
1709         string.
1710         (TLS_DO_SET_THREAD_AREA, TLS_DO_MODIFY_LDT, TLS_SETUP_GS_SEGMENT):
1711         Submacros updated.
1712         * sysdeps/x86_64/tls.h (TLS_INIT_TP): Likewise.
1713         * sysdeps/alpha/tls.h (TLS_INIT_TP): Likewise (always zero).
1714
1715 2002-12-03  Roland McGrath  <roland@redhat.com>
1716
1717         * pthread.c (pthread_initialize) [SHARED]: Copy dl_error_tsd value
1718         from dynamic linker internal cell to new libc cell.
1719
1720 2002-11-28  Roland McGrath  <roland@redhat.com>
1721
1722         * tst-context.c: #define IS_IN_libpthread around #include <tls.h>
1723         before other headers, so FLOATING_STACKS is not defined wrongly.
1724
1725         * sysdeps/i386/tls.h [!IS_IN_libpthread]: Enable TLS support
1726         even if [! FLOATING_STACKS].
1727         (TLS_DO_MODIFY_LDT_KERNEL_CHECK): New macro.
1728         If not under [__ASSUME_LDT_WORKS > 0], then do a runtime check of
1729         dl_osversion >= 2.3.99 and fatal if not.
1730         (TLS_DO_MODIFY_LDT): Use it.
1731
1732 2002-11-28  Ulrich Drepper  <drepper@redhat.com>
1733
1734         * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define macros which
1735         require it to 200112L.  Remove _POSIX_POLL and _POSIX_SELECT.
1736         * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
1737
1738 2002-11-19  Ulrich Drepper  <drepper@redhat.com>
1739
1740         * Versions (libc: GLIBC_2.0): Remove names of functions which are
1741         not defined in libc.
1742         * Makefile (shared-only-routines): Add weaks.
1743         * weaks.c: Remove functions which are not exported from libc.so.
1744
1745 2002-11-14  Roland McGrath  <roland@redhat.com>
1746
1747         * libc-tsd.c: New file.
1748         * Makefile (distribute): Add it.
1749         (libc-link.so): New variable.
1750         ($(objpfx)libpthread.so): Depend on that instead of libc.so file name.
1751         (libc-ok-for-link): New variable.
1752         [$(versioning) = yes]: Include $(common-objpfx)tls.make and define
1753         libc-ok-for-link to $(use-thread).
1754         [$(libc-ok-for-link) = no]
1755         (libc-link.so): Set to $(objpfx)libc.so, not $(common-objpfx)libc.so.
1756         ($(objpfx)libc_pic_lite.a,$(objpfx)libc_pic_lite.os, $(objpfx)libc.so):
1757         New targets.
1758         (generated): Append them.
1759         (extra-objs): Append libc-tsd.os.
1760
1761         * libc-tls-loc.c: New file.
1762         * Makefile (libpthread-routines): Add it.
1763
1764 2002-11-14  Andreas Schwab  <schwab@suse.de>
1765
1766         * sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Fix unterminated
1767         string.
1768
1769 2002-11-13  Roland McGrath  <roland@redhat.com>
1770
1771         * Examples/ex6.c (main): Improve error reporting.
1772
1773 2002-11-04  Ulrich Drepper  <drepper@redhat.com>
1774
1775         * sysdeps/i386/Makefile: Compile pthread.c and sighandler.c with
1776         -fno-omit-frame-pointer.  Patch by Andreas Steinmetz <ast@domdv.de>.
1777
1778         * sysdeps/i386/useldt.h [PIC] (USETLS_LOAD_EBX): Use correct input
1779         register number.
1780         (DO_SET_THREAD_AREA): Mark asm output specifiers correctly.
1781
1782 2002-10-22  Jakub Jelinek  <jakub@redhat.com>
1783
1784         * manager.c (pthread_start_thread): Call __uselocale even
1785         if [! SHARED].  Patch by Leon Kanter <leon@geon.donetsk.ua>.
1786
1787 2002-10-17  Roland McGrath  <roland@redhat.com>
1788
1789         * Makefile (unload): Don't link in libpthread.so.
1790         ($(objpfx)unload.out): Do depend on it.
1791         * unload.c (main): Improve error reporting.
1792
1793 2002-10-09  Roland McGrath  <roland@redhat.com>
1794
1795         * sysdeps/pthread/bits/libc-lock.h (__libc_maybe_call): New macro.
1796         Under [__PIC__], call the function via the pointer fetched for
1797         comparison rather than a call by name that uses the PLT.
1798         (__libc_lock_init, __libc_rwlock_init, __libc_lock_fini)
1799         (__libc_rwlock_fini, __libc_lock_lock, __libc_rwlock_rdlock)
1800         (__libc_rwlock_wrlock, __libc_lock_trylock, __libc_rwlock_tryrdlock)
1801         (__libc_rwlock_trywrlock, __libc_lock_unlock, __libc_rwlock_unlock)
1802         (__libc_key_create, __libc_getspecific, __libc_setspecific)
1803         (__libc_atfork): Use it.
1804
1805         * pthread.c [SHARED] (__libc_dl_error_tsd): New function.
1806         (pthread_initialize) [SHARED]: Set _dl_error_catch_tsd to that.
1807         * Versions (libc: GLIBC_PRIVATE): Add __libc_dl_error_tsd.
1808         (ld: GLIBC_PRIVATE): Set removed.
1809
1810 2002-10-11  Ulrich Drepper  <drepper@redhat.com>
1811
1812         * sysdeps/unix/sysv/linux/execve.c: New file.
1813
1814 2002-10-09  Jakub Jelinek  <jakub@redhat.com>
1815
1816         * no-tsd.c: Include stdlib.h.
1817
1818 2002-10-07  Jakub Jelinek  <jakub@redhat.com>
1819
1820         * sysdeps/unix/sysv/linux/allocalim.h: New file.
1821         * descr.h (struct _pthread_descr_struct): Add p_alloca_cutoff
1822         field.
1823         * manager.c (__pthread_allocate_stack): Add out_stacksize argument.
1824         Pass stack size to caller.
1825         (pthread_handle_create): Set p_alloca_cutoff.
1826         * pthread.c (__pthread_initial_thread): Use C99 designated
1827         initializers.  Set p_alloca_cutoff.
1828         (__pthread_manager_thread): Likewise.
1829         (__pthread_initialize_minimal) [USE_TLS]: Set p_alloca_cutoff
1830         for initial thread.
1831         (__pthread_init_max_stacksize): Possibly decrease p_alloca_cutoff
1832         for initial thread.
1833         (__pthread_initialize_manager) [USE_TLS]: Set p_alloca_cutoff
1834         for manager thread.
1835         * specific.c (__libc_alloca_cutoff): New function.
1836         * no-tsd.c (__libc_alloca_cutoff): New function.
1837         * Versions: Export __libc_alloca_cutoff@@GLIBC_PRIVATE from libc
1838         and libpthread.
1839
1840 2002-10-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1841
1842         * sysdeps/sh/pt-machine.h: Make C code ifndef'ed with __ASSEMBLER__.
1843         * sysdeps/sh/tls.h: Likewise.
1844         * sysdeps/unix/sysv/linux/sh/smp.h: New file.
1845
1846 2002-09-29  Jakub Jelinek  <jakub@redhat.com>
1847
1848         * sysdeps/pthread/tst-timer.c (main): Clear
1849         SIGEV2.sigev_notify_attributes.
1850
1851 2002-09-29  Ulrich Drepper  <drepper@redhat.com>
1852
1853         * sysdeps/i386/useldt.h (DO_SET_THREAD_AREA): Don't use
1854         INLINE_SYSCALL for set_thread_area syscall.
1855
1856 2002-09-28  Roland McGrath  <roland@redhat.com>
1857
1858         * pthread.c (__pthread_reset_main_thread) [FLOATING_STACKS]:
1859         Don't call setrlimit, since we did no prior bogon we need to undo.
1860
1861 2002-09-27  Roland McGrath  <roland@redhat.com>
1862
1863         * sysdeps/x86_64/tls.h [__ASSEMBLER__]: Don't include <pt-machine.h>.
1864
1865 2002-09-24  Roland McGrath  <roland@redhat.com>
1866
1867         * sysdeps/x86_64/tls.h: New file.
1868
1869 2002-09-23  Roland McGrath  <roland@redhat.com>
1870
1871         * Examples/ex13.c (dump_mut): int -> size_t for counter.
1872
1873 2002-09-18  Bruno Haible  <bruno@clisp.org>
1874
1875         * Examples/ex10.c (thread): Fail if pthread_mutex_timedlock() returns
1876         an unexpected error code.
1877
1878         * internals.h (__pthread_message): Add const to first parameter type.
1879         * pthread.c (__pthread_message): Likewise.
1880
1881         * sysdeps/unix/sysv/linux/configure: Moved to ../sysdeps/pthread.
1882
1883 2002-09-17  Roland McGrath  <roland@redhat.com>
1884
1885         * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT, TLS_DO_SET_THREAD_AREA):
1886         Set the descriptor limit to the full 4GB, so %gs:OFFSET works for any
1887         offset (positive or negative) relative to the thread struct.
1888         * sysdeps/i386/useldt.h (DO_MODIFY_LDT, DO_SET_THREAD_AREA): Likewise.
1889
1890 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
1891
1892         * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: Move...
1893         * sysdeps/unix/sysv/linux/sparc/Makefile: ...here.
1894         Replace /usr/lib/crt[in].o with crt[in].o too.
1895
1896 2002-09-11  Steven Munroe  <sjmunroe@us.ibm.com>
1897
1898         * sysdeps/powerpc/powerpc64/pt-machine.h: New file.
1899
1900 2002-09-04  Bruno Haible  <bruno@clisp.org>
1901
1902         * pthread.c: Include <sys/time.h>.
1903         (is_smp_system): Move to sysdeps/unix/sysv/linux/smp.h.
1904         * sysdeps/unix/sysv/linux/smp.h: New file, extracted from pthread.c.
1905         * Makefile (distribute): Add smp.h to the list.
1906
1907 2002-09-04  Bruno Haible  <bruno@clisp.org>
1908
1909         * sysdeps/alpha/pt-machine.h: Choose different include file location
1910         on non-Linux platforms.
1911
1912         * wrapsyscall.c (PROMOTE_INTEGRAL_TYPE): New macro.
1913         (open, open64): Change va_arg argument type to the integral type to
1914         which mode_t promotes.
1915
1916         * sysdeps/pthread/tst-timer.c (main): Don't assume anything about
1917         the structure of 'struct sigevent'.
1918
1919         * errno.c (__errno_location, __h_errno_location, __res_state):
1920         Use prototype function definitions.
1921
1922 2002-07-29  Steven Munroe  <sjmunroe@us.ibm.com>
1923
1924         * shlib-versions: Set libpthread version to 2.3 for powerpc64.
1925         * sysdeps/powerpc/pt-machine.h: moved to...
1926         * sysdeps/powerpc/powerpc32/pt-machine.h: ...here
1927         * sysdeps/powerpc/powerpc64/pt-machine.h: New file.
1928
1929 2002-09-02  Roland McGrath  <roland@redhat.com>
1930
1931         * sysdeps/powerpc/Makefile (CFLAGS-pt-initfini.s): New variable.
1932
1933 2002-09-01  Roland McGrath  <roland@redhat.com>
1934
1935         * sysdeps/pthread/bits/libc-tsd.h (enum __libc_tsd_key_t): Add new keys
1936         CTYPE_B, CTYPE_TOLOWER, CTYPE_TOUPPER.
1937
1938         * sysdeps/pthread/bits/libc-tsd.h (__libc_tsd_address): New macro.
1939         (__libc_internal_tsd_address): Declare it.
1940         * Versions (libc, ld, libpthread: GLIBC_PRIVATE): Add
1941         __libc_internal_tsd_address.
1942         * specific.c (libc_internal_tsd_address): New function.
1943         (__libc_internal_tsd_address): New variable.
1944         * no-tsd.c (__libc_internal_tsd_address): New variable.
1945
1946 2002-08-31  Ulrich Drepper  <drepper@redhat.com>
1947
1948         * Makefile: Don't use rule for crt%.o, spell it out as rules for
1949         crti.o and crtn.o.
1950
1951 2002-08-30  Roland McGrath  <roland@redhat.com>
1952
1953         * Makefile (extra-objs, omit-deps): Add crtn.
1954         ($(objpfx)libpthread.so): Depend on $(objpfx)crtn.o.
1955         ($(objpfx)libpthread.so: +postinit): Append $(objpfx)crtn.o.
1956         ($(objpfx)crtn.S): New target.
1957         ($(objpfx)crt%.o): Pattern rule replaces crti.o target.
1958         (generated): Add crtn.S.
1959
1960         * sysdeps/unix/sysv/linux/x86_64/Makefile ($(objpfx)specs): Massage
1961         crtn.o pathname too.
1962
1963 2002-08-30  Jakub Jelinek  <jakub@redhat.com>
1964
1965         * pthread.c (__pthread_initialize_minimal): Call __uselocale even
1966         if [! SHARED].
1967
1968 2002-08-30  Roland McGrath  <roland@redhat.com>
1969
1970         * tst-static-locale.c: New file.
1971         * Makefile (tests, tests-static): Add it.
1972
1973 2002-04-24  Steven Munroe  <sjmunroe@us.ibm.com>
1974
1975         * spinlock.c (__pthread_lock): Fix spurious wakeup
1976         handling.  Don't clear lowest bit of list pointer as sign the thread
1977         is still on the wait list.  Don't restart after spurious wakeup
1978         with spinning to get the lock.
1979         (__pthread_unlock): Take set lowest bit into account when handling
1980         pointer to list elements.
1981         Patch by Steve Munroe <sjmunroe@us.ibm.com>.
1982
1983 2002-08-28  Roland McGrath  <roland@redhat.com>
1984
1985         * sysdeps/pthread/timer_routines.c (thread_func): Fix type in cast.
1986
1987 2002-08-28  Jakub Jelinek  <jakub@redhat.com>
1988
1989         * sysdeps/unix/sysv/linux/hppa/aio_cancel.c: New file.
1990         * sysdeps/unix/sysv/linux/sparc/aio_cancel.c: New file.
1991         * sysdeps/unix/sysv/linux/alpha/aio_cancel.c: New file.
1992
1993 2002-08-28  Ulrich Drepper  <drepper@redhat.com>
1994
1995         * sysdeps/pthread/timer_routines.c (thread_func): Change return
1996         type to void and add casts in use to avoid warnings with all gcc
1997         versions.
1998
1999 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
2000
2001         * sysdeps/unix/sysv/linux/bits/local_lim.h (PTHREAD_THREADS_MAX):
2002         Bump to 16384.
2003         * manager.c (__pthread_handles): Remove.
2004         * pthandles.c: New file.
2005         * pthread.c (__pthread_initialize_minimal): Initialize
2006         __pthread_handles[0] and __pthread_handles[1].
2007         * Makefile (libpthread-routines): Add pthandles (must be last).
2008
2009 2002-08-26  Brian Youmans  <3diff@gnu.org>
2010
2011         * Examples/ex10.c: Corrected version number in Lesser GPL copying
2012         permission notice from 2 to 2.1.
2013         * Examples/ex11.c: Likewise.
2014         * Examples/ex13.c: Likewise.
2015         * Examples/ex8.c: Likewise.
2016         * Examples/ex9.c: Likewise.
2017         * barrier.c: Likewise.
2018         * events.c: Likewise.
2019         * lockfile.c: Likewise.
2020         * no-tsd.c: Likewise.
2021         * pt-machine.c: Likewise.
2022         * ptclock_gettime.c: Likewise.
2023         * ptclock_settime.c: Likewise.
2024         * rwlock.c: Likewise.
2025         * sysdeps/alpha/pspinlock.c: Likewise.
2026         * sysdeps/alpha/pt-machine.h: Likewise.
2027         * sysdeps/arm/pspinlock.c: Likewise.
2028         * sysdeps/arm/pt-machine.h: Likewise.
2029         * sysdeps/cris/pspinlock.c: Likewise.
2030         * sysdeps/cris/pt-machine.h: Likewise.
2031         * sysdeps/hppa/pspinlock.c: Likewise.
2032         * sysdeps/hppa/pt-machine.h: Likewise.
2033         * sysdeps/i386/i686/pt-machine.h: Likewise.
2034         * sysdeps/i386/pspinlock.c: Likewise.
2035         * sysdeps/i386/pt-machine.h: Likewise.
2036         * sysdeps/i386/useldt.h: Likewise.
2037         * sysdeps/ia64/pspinlock.c: Likewise.
2038         * sysdeps/ia64/pt-machine.h: Likewise.
2039         * sysdeps/m68k/pspinlock.c: Likewise.
2040         * sysdeps/m68k/pt-machine.h: Likewise.
2041         * sysdeps/mips/pspinlock.c: Likewise.
2042         * sysdeps/mips/pt-machine.h: Likewise.
2043         * sysdeps/powerpc/pspinlock.c: Likewise.
2044         * sysdeps/powerpc/pt-machine.h: Likewise.
2045         * sysdeps/pthread/bits/initspin.h: Likewise.
2046         * sysdeps/pthread/bits/libc-lock.h: Likewise.
2047         * sysdeps/pthread/bits/libc-tsd.h: Likewise.
2048         * sysdeps/pthread/getcpuclockid.c: Likewise.
2049         * sysdeps/pthread/posix-timer.h: Likewise.
2050         * sysdeps/pthread/timer_create.c: Likewise.
2051         * sysdeps/pthread/timer_delete.c: Likewise.
2052         * sysdeps/pthread/timer_getoverr.c: Likewise.
2053         * sysdeps/pthread/timer_gettime.c: Likewise.
2054         * sysdeps/pthread/timer_routines.c: Likewise.
2055         * sysdeps/pthread/timer_settime.c: Likewise.
2056         * sysdeps/pthread/tst-timer.c: Likewise.
2057         * sysdeps/s390/pspinlock.c: Likewise.
2058         * sysdeps/s390/s390-32/pt-machine.h: Likewise.
2059         * sysdeps/s390/s390-64/pt-machine.h: Likewise.
2060         * sysdeps/sh/pspinlock.c: Likewise.
2061         * sysdeps/sh/pt-machine.h: Likewise.
2062         * sysdeps/sparc/sparc32/pspinlock.c: Likewise.
2063         * sysdeps/sparc/sparc32/pt-machine.h: Likewise.
2064         * sysdeps/sparc/sparc32/sparcv9/pspinlock.c: Likewise.
2065         * sysdeps/sparc/sparc64/pspinlock.c: Likewise.
2066         * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
2067         * sysdeps/unix/sysv/linux/bits/local_lim.h: Likewise.
2068         * sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
2069         * sysdeps/unix/sysv/linux/bits/sigthread.h: Likewise.
2070         * sysdeps/unix/sysv/linux/hppa/bits/initspin.h: Likewise.
2071         * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
2072         * tststack.c: Likewise.
2073         * unload.c: Likewise.
2074         * weaks.c: Likewise.
2075         * wrapsyscall.c: Likewise.
2076
2077         * sysdeps/pthread/pt-initfini.c: Changed copying
2078         permission notice to Lesser GPL from Library GPL, including the
2079         references in the special exception.
2080         * sysdeps/unix/sysv/linux/hppa/pt-initfini.c: Likewise.
2081         * sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Likewise.
2082         * sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c:
2083         Likewise.
2084         * sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c:
2085         Likewise.
2086         * sysdeps/unix/sysv/linux/sh/pt-initfini.c: Likewise.
2087
2088 2002-08-26  Ulrich Drepper  <drepper@redhat.com>
2089
2090         * Examples/ex10.c (thread): tv_nsec == 1000000000 is already
2091         overflow [PR libc/4244].
2092
2093 2002-08-25  Ulrich Drepper  <drepper@redhat.com>
2094
2095         * sysdeps/pthread/timer_routines.c (thread_func): Make the
2096         compiler happy by adding a return statement which will never be
2097         reached.
2098
2099         * tst-context.c (main): Cast to long before casting to pointer.
2100
2101         * Examples/ex17.c (main): Use correct format string.
2102
2103         * Examples/ex9.c (thread): Remove incorrect return statement.
2104
2105 2002-08-23  Ulrich Drepper  <drepper@redhat.com>
2106
2107         * pthread.c (__linuxthreads_version): New global constant.
2108
2109 2002-08-23  Andreas Jaeger  <aj@suse.de>
2110
2111         * sysdeps/x86_64/pt-machine.h: Use %fs instead of %gs
2112         as thread specific register.
2113         (testandset): Fix inline asm.
2114         (THREAD_GETMEM): Fix inline asm.
2115
2116 2002-08-22  Roland McGrath  <roland@redhat.com>
2117
2118         * sysdeps/i386/useldt.h (INIT_THREAD_SELF): Remove [HAVE_TLS_SUPPORT]
2119         conditional.
2120         (INIT_THREAD_SELF): Pass second arg to DO_SET_THREAD_AREA.
2121         (DO_SET_THREAD_AREA): Take second arg, pass to DO_SET_THREAD_AREA_REUSE
2122         macro.  That chooses whether to reuse %gs value or let kernel set it.
2123         [USE_TLS] (DO_SET_THREAD_AREA_REUSE): New macro, always 1.
2124         [!USE_TLS] (DO_SET_THREAD_AREA_REUSE): New macro, true if arg is
2125         not constant 0.
2126
2127 2002-08-21  Ulrich Drepper  <drepper@redhat.com>
2128
2129         * sysdeps/i386/tls.h (TLS_SETUP_GS_SEGMENT): Add new parameter
2130         also to the third definition of this macro.
2131
2132 2002-06-17  Andreas Jaeger  <aj@suse.de>
2133
2134         * sysdeps/unix/sysv/linux/x86_64/Makefile (CFLAGS-pt-initfini.s):
2135         Set it.
2136
2137 2002-08-20  Ulrich Drepper  <drepper@redhat.com>
2138
2139         * sysdeps/i386/useldt.h: Go back to using 16-bit instructions when
2140         loading/reading segment registers.  Some old hardware doesn't
2141         handle the 32-bit instructions as expected.
2142         * sysdeps/i386/tls.h: Likewise.
2143
2144         * sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Second parameter is
2145         renamed to secondcall and use is negated.
2146         (TLS_SETUP_GS_SEGMENT): Likewise.
2147         (TLS_INIT_TP): Likewise.
2148         * sysdeps/sh/tls.h (TLS_INIT_TP): Second parameter is renamed to
2149         secondcall.
2150
2151         * sysdeps/i386/tls.h: Use 32-bit operations when handling segment
2152         registers.  No need to mask upper 16 bits in this case.
2153         * sysdeps/i386/useldt.h: Likewise.
2154         (DO_SET_THREAD_AREA): We have to load %gs again even if the value
2155         is the same since the GDT content changed.
2156
2157         * sysdeps/i386/tls.h (TLS_INIT_TP): Add new parameter and pass it on
2158         to TLS_SETUP_GS_SEGMENT.
2159         (TLS_SETUP_GS_SEGMENT): Add new parameter and pass it on to
2160         TLS_DO_SET_THREAD_AREA.
2161         (TLS_DO_SET_THREAD_AREA): If new parameter is zero determine
2162         entry number from %gs value.
2163         * sysdeps/sh/tls.h (TLS_INIT_TP): Add new parameter and simply
2164         ignore it.
2165
2166         * manager.c (pthread_handle_create): Pass NULL to _dl_allocate_tls.
2167         Pass true to _dl_deallocate_tls.
2168         (pthread_free): Likewise.
2169         * pthread.c (__pthread_initialize_manager): Likewise.
2170
2171 2002-08-19  Ulrich Drepper  <drepper@redhat.com>
2172
2173         * sysdeps/i386/useldt.h (DO_SET_THREAD_AREA): Use correct shift when
2174         computing index from %gs value.
2175
2176 2002-08-16  Roland McGrath  <roland@redhat.com>
2177
2178         * sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Calculate segment
2179         register value from entry number properly.
2180
2181         * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): Rewrite asm to use %ebx
2182         optimally conditional on [__PIC__].
2183         (TLS_DO_SET_THREAD_AREA): New macro, implement inline syscall
2184         without touching errno, and use latest modify_ldt-like interface.
2185         (TLS_SETUP_GS_SEGMENT): Use that instead of INLINE_SYSCALL.
2186         * sysdeps/i386/useldt.h (DO_MODIFY_LDT): Set %gs in this macro.
2187         (DO_SET_THREAD_AREA): New macro, uses current syscall interface with
2188         existing %gs value as the segment to set.
2189         (INIT_THREAD_SELF): Rewritten using those.  Use set_thread_area only
2190         under [HAVE_TLS_SUPPORT] so we can rely on the initialization done
2191         by the first thread's early TLS setup.
2192
2193 2002-08-15  Roland McGrath  <roland@redhat.com>
2194
2195         * sysdeps/i386/tls.h (TLS_INIT_TP): Use statement expression and
2196         return a value as callers now expect.
2197
2198 2002-08-11  Roland McGrath  <roland@redhat.com>
2199
2200         * pthread.c (__pthread_initialize_manager): Initialize
2201         p_header.data.tcb field of manager thread's descriptor.
2202         (__pthread_initialize_minimal): Don't initialize p_header.data.self
2203         field, already done by TLS_INIT_TP.
2204
2205         * manager.c (pthread_handle_create): Move p_header field initializers
2206         together.
2207
2208 2002-08-08  Ulrich Drepper  <drepper@redhat.com>
2209
2210         * sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Removed.
2211
2212 2002-08-07  Ulrich Drepper  <drepper@redhat.com>
2213
2214         * pthread.c (__linuxthreads_initial_report_events): New variable.
2215         (__pthread_initialize_manager): Use it to initialize p_report_events
2216         of initial thread.
2217         [TLS]: Store pointer to descriptor of manager in __pthread_handles.
2218
2219 2002-08-07  Roland McGrath  <roland@redhat.com>
2220
2221         * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): Add an extra argument with
2222         an "m" constraint to the asm so the compiler knows LDT_ENTRY was used.
2223
2224 2002-08-02  Roland McGrath  <roland@redhat.com>
2225
2226         * sysdeps/pthread/bits/libc-tsd.h (enum __libc_tsd_key_t):
2227         Add _LIBC_TSD_KEY_LOCALE.
2228         * manager.c (pthread_start_thread) [!(USE_TLS && HAVE___THREAD)]:
2229         Call __uselocale to initialize our per-thread locale pointer to
2230         the global one.
2231         * pthread.c (__pthread_initialize_minimal): Likewise.
2232
2233         * sysdeps/i386/tls.h (TLS_DO_SET_THREAD_AREA): Add missing \s.
2234
2235 2002-08-02  Ulrich Drepper  <drepper@redhat.com>
2236
2237         * pthread.c: Declare _errno, _h_errno, and _res unless we use TLS
2238         internally.
2239
2240         * cancel.c (__pthread_perform_cleanup) [USE_TLS && HAVE___THREAD]:
2241         Don't use p_libc_specific element in thread descriptor.
2242
2243 2002-07-30  Roland McGrath  <roland@redhat.com>
2244
2245         * sysdeps/pthread/bits/libc-tsd.h: Include <tls.h>.
2246         [USE_TLS && HAVE___THREAD]: Just include the sysdeps/generic file,
2247         which does the right thing when __thread support is available.
2248         * descr.h (struct _pthread_descr_struct) [USE_TLS && HAVE___THREAD]:
2249         Omit `p_libc_specific', `p_errnop', `p_errno', `p_h_errnop',
2250         `p_h_errno', `p_resp', and `p_res' members.
2251         * pthread.c (__pthread_initialize_minimal) [USE_TLS && HAVE___THREAD]:
2252         Don't initialize `p_errnop' and `p_h_errnop' members.
2253         (__pthread_reset_main_thread): Likewise.
2254         (__pthread_initialize_manager): Likewise.
2255         * manager.c (__pthread_manager, pthread_handle_create): Likewise.
2256         * pthread.c (pthread_initialize) [USE_TLS && HAVE___THREAD]:
2257         Don't initialize `p_resp' member.
2258         (__pthread_reset_main_thread): Likewise.
2259         * manager.c (pthread_handle_create): Likewise.
2260         * specific.c (libc_internal_tsd_set, libc_internal_tsd_get):
2261         Conditionalize these on [!(USE_TLS && HAVE___THREAD)].
2262         * no-tsd.c: Conditionalize contents on [!(USE_TLS && HAVE___THREAD)].
2263         * errno.c [USE_TLS && HAVE___THREAD]
2264         (__h_errno_location, __res_state): Don't define these at all.
2265
2266         * sysdeps/i386/tls.h (INSTALL_DTV): Add parens around arguments!
2267         (INSTALL_NEW_DTV, GET_DTV): Likewise.
2268         * sysdeps/sh/tls.h (INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV): Likewise.
2269
2270         * weaks.c: Don't include <errno.h> here.
2271
2272 2002-08-01  Roland McGrath  <roland@redhat.com>
2273
2274         * sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): New macro, broken out of
2275         TLS_INIT_TP.
2276         (TLS_DO_SET_THREAD_AREA): New macro, uses thread_set_area syscall.
2277         (TLS_SETUP_GS_SEGMENT): New macro, try one or the other or both.
2278         (TLS_INIT_TP): Use that.
2279
2280 2002-08-02  Jakub Jelinek  <jakub@redhat.com>
2281
2282         * sysdeps/i386/useldt.h (DO_MODIFY_LDT): Move from INIT_THREAD_SELF.
2283         (INIT_THREAD_SELF): Use sys_thread_area syscall instead if available.
2284         (FREE_THREAD): Avoid modify_ldt if using GDT.
2285         * sysdeps/i386/pspinlock.c (__have_no_set_thread_area): New variable.
2286
2287 2002-07-25  Jakub Jelinek  <jakub@redhat.com>
2288
2289         * sysdeps/i386/tls.h: Use __ASSEMBLER__ test macro not ASSEMBLER.
2290         * sysdeps/i386/pt-machine.h: Likewise.
2291         * sysdeps/i386/useldt.h: Likewise.
2292
2293 2002-07-22  Ulrich Drepper  <drepper@redhat.com>
2294
2295         * pthread.c (__pthread_initialize_minimal): If !SHARED and TLS
2296         call __libc_setup_tls first.
2297         * Makefile: Actually create tst-signal.out file when running the test.
2298         (tests): Add tststatic.
2299         * Examples/tststatic.c: New file.
2300
2301 2002-07-19  Ulrich Drepper  <drepper@redhat.com>
2302
2303         * errno.c (__errno_location): Don't define unless !USE_TLS
2304         || !HAVE___THREAD.
2305         * sysdeps/i386/pt-machine.c: Protect C code with #ifndef ASSEMBLER.
2306         * sysdeps/i386/tls.h: Likewise.
2307         * sysdeps/i386/useldt.h: Likewise.
2308         * sysdeps/i386/i686/pt-machine.h: Likewise.
2309
2310 2002-07-02  H.J. Lu  <hjl@gnu.org>
2311
2312         * sysdeps/mips/pspinlock.c: Don't include <sgidefs.h>.  Always
2313         use ll/sc.
2314         * sysdeps/mips/pt-machine.h: Likewise.
2315
2316 2002-07-14  Ulrich Drepper  <drepper@redhat.com>
2317
2318         * manager.c (pthread_handle_create): Initialize self-reference in
2319         descriptor.
2320
2321 2002-07-01  Jakub Jelinek  <jakub@redhat.com>
2322
2323         * Examples/ex9.c (main): Remove unused th variable.
2324
2325 2002-07-10  Ulrich Drepper  <drepper@redhat.com>
2326
2327         * wrapsyscall.c: Add __nanosleep alias.
2328         * Versions (GLIBC_2.2.6): Add __nanosleep.
2329         * bug-sleep.c: New file.
2330         * Makefile (tests): Add bug-sleep.
2331
2332 2002-06-19  Steven Munroe  <sjmunroe@vnet.ibm.com>
2333
2334         * Examples/ex9.c (main):  Use list of children and join them.
2335         (thread): Do not call exit.
2336
2337 2002-06-20  Ulrich Drepper  <drepper@redhat.com>
2338
2339         * spinlock.c (wait_node_alloc): We cannot use compare-and-exchange.
2340         Unconditionally use the code using spinlock.  Use __pthread_release
2341         to free a spinlock.
2342         (wait_node_free): Likewise.
2343         (__pthread_acquire, __pthread_release): Unconditionally define.
2344
2345 2002-06-07  Jakub Jelinek  <jakub@redhat.com>
2346
2347         * sysdeps/ia64/pt-machine.h (MEMORY_BARRIER): Fix typo.
2348
2349 2002-05-24  Ulrich Drepper  <drepper@redhat.com>
2350
2351         * sysdeps/ia64/pt-machine.h (MEMORY_BARRIER): Use __sync_synchronize.
2352
2353 2002-05-21  Ulrich Drepper  <drepper@redhat.com>
2354
2355         * sysdeps/pthread/pthread.h (pthread_create): Rename first
2356         parameter.
2357         (pthread_cancel): Likewise.
2358         * internals.h (__pthread_create_2_1): Likewise.
2359         * sysdeps/unix/sysv/linux/bits/sigthread.h (pthread_kill): Likewise.
2360
2361 2002-05-20  Ulrich Drepper  <drepper@redhat.com>
2362
2363         * sysdeps/alpha/pt-machine.c (THREAD_SELF): Remove clobber.
2364         Patch by Glen Nakamura <gen@flex.com>.
2365
2366 2002-05-03  Ulrich Drepper  <drepper@redhat.com>
2367
2368         * signals.c: Move sighandler functions to...
2369         * sighandler.c: ...here.  New file.
2370         * signals.c: Move signal handler related type definitions to...
2371         * internals.h: ...here.  Add prototypes for signal handlers.
2372         * Makefile (libpthread-routines): Add sighandler.
2373         (CFLAGS-sighandler.c): Add $(exceptions).
2374
2375 2002-04-30  Jakub Jelinek  <jakub@redhat.com>
2376
2377         * sysdeps/unix/sysv/linux/x86_64/Makefile: New file.
2378
2379 2002-04-08  Ulrich Drepper  <drepper@redhat.com>
2380
2381         * sysdeps/pthread/timer_getoverr.c: Return real overrun.
2382         * sysdeps/pthread/posix-timer.h (struct timer_node): Add overrun_count.
2383         * sysdeps/pthread/timer_routines.c (thread_func): Schedule next timeout
2384         based on previous one and not on current time.  Count overruns.
2385         Patch by Eric F. Sorton <eric@cctcorp.com>.
2386
2387         * sysdeps/unix/sysv/linux/bits/local_lim.h: Add DELAYTIMER_MAX.
2388
2389 2002-04-08  kaz Kojima  <kkojima@rr.iij4u.or.jp>
2390
2391         * sysdeps/sh/pt-machine.h: Define _PT_MACHINE_H
2392         if it isn't defined yet.
2393         (FLOATING_STACKS, ARCH_STACK_MAX_SIZE): Defined.
2394         (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC):
2395         Likewise.
2396         * sysdeps/sh/tls.h: New file.
2397
2398 2002-04-08  Jakub Jelinek  <jakub@redhat.com>
2399
2400         * manager.c (__pthread_manager_event): Use self instead of arg
2401         for INIT_THREAD_SELF.
2402         * sysdeps/i386/useldt.h (INIT_THREAD_SELF): Use sizeof (struct
2403         _pthread_descr_struct) instead of sizeof (*descr).
2404
2405 2002-04-05  Ulrich Drepper  <drepper@redhat.com>
2406
2407         * sysdeps/ia64/pt-machine.h: Protect against multiple inclusion.
2408         * sysdeps/alpha/pt-machine.h: Likewise.
2409         * sysdeps/arm/pt-machine.h: Likewise.
2410         * sysdeps/cris/pt-machine.h: Likewise.
2411         * sysdeps/hppa/pt-machine.h: Likewise.
2412         * sysdeps/m68k/pt-machine.h: Likewise.
2413         * sysdeps/mips/pt-machine.h: Likewise.
2414         * sysdeps/powerpc/pt-machine.h: Likewise.
2415         * sysdeps/s390/s390-32/pt-machine.h: Likewise.
2416         * sysdeps/s390/s390-64/pt-machine.h: Likewise.
2417         * sysdeps/sh/pt-machine.h: Likewise.
2418         * sysdeps/sparc/sparc32/pt-machine.h: Likewise.
2419         * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
2420         * sysdeps/x86_64/pt-machine.h: Likewise.
2421
2422 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
2423
2424         * man/pthread_mutexattr_init.man (pthread_mutexattr_settype): Document
2425         instead of pthread_mutexattr_setkind_np.
2426         (pthread_mutexattr_gettype): Similarly.
2427         * man/pthread_mutexattr_setkind_np.man: New.
2428         * man/Makefile (SOURCES): Add pthread_mutexattr_setkind_np.man.
2429
2430 2002-04-02  Ulrich Drepper  <drepper@redhat.com>
2431
2432         * sysdeps/ia64/pt-machine.h (MEMORY_BARRIER): Define.
2433
2434 2002-03-22  Jakub Jelinek  <jakub@redhat.com>
2435
2436         * sysdeps/mips/pt-machine.h (MEMORY_BARRIER): Remove.
2437
2438 2002-03-22  Ulrich Drepper  <drepper@redhat.com>
2439
2440         * internals.h (MEMORY_BARRIER): Define as asm with memory as clobber.
2441
2442 2002-03-17  Andreas Jaeger  <aj@suse.de>
2443
2444         * sysdeps/i386/pt-machine.h: Add testandset and __compare_and_swap
2445         prototpyes.
2446         * sysdeps/alpha/pt-machine.h: Likewise.
2447         * sysdeps/arm/pt-machine.h: Likewise.
2448         * sysdeps/cris/pt-machine.h: Likewise.
2449         * sysdeps/hppa/pt-machine.h: Likewise.
2450         * sysdeps/i386/i686/pt-machine.h: Likewise.
2451         * sysdeps/ia64/pt-machine.h: Likewise.
2452         * sysdeps/m68k/pt-machine.h: Likewise.
2453         * sysdeps/mips/pt-machine.h: Likewise.
2454         * sysdeps/powerpc/pt-machine.h: Likewise.
2455         * sysdeps/s390/s390-32/pt-machine.h: Likewise.
2456         * sysdeps/s390/s390-64/pt-machine.h: Likewise.
2457         * sysdeps/sh/pt-machine.h: Likewise.
2458         * sysdeps/sparc/sparc32/pt-machine.h: Likewise.
2459         * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
2460         * sysdeps/x86_64/pt-machine.h: Likewise.
2461
2462         * internals.h: Move testandset and __compare_and_swap prototypes
2463         to pt-machine.h.
2464
2465 2002-03-03  Andreas Jaeger  <aj@suse.de>
2466
2467         * errno.c: Include resolv.h to avoid warning.
2468
2469 2002-02-27  Ulrich Drepper  <drepper@redhat.com>
2470
2471         * pthread.c [USE_TLS] (thread_self_stack): Correct check for upper
2472         stack limit.
2473
2474 2002-02-23  Ulrich Drepper  <drepper@redhat.com>
2475
2476         * attr.c (pthread_getattr_np): Don't take thread descriptor size
2477         into account if USE_TLS.
2478         * manager.c (pthread_handle_create): Free TLS data structures if call
2479         failed.  Pass correct stack to clone if USE_TLS.
2480         * sysdeps/i386/pt-machine.h: Handle multiple inclusion.
2481         * sysdeps/i386/i686/pt-machine.h: Likewise.
2482         * sysdeps/i386/tls.h: Unconditionally include <pt-machine.h>.
2483
2484         * descr.h (struct _pthread_descr_struct): Update p_header for TLS.
2485         Add p_stackaddr element #if USE_TLS.
2486         * internals.c: Include <tls.h>.
2487         * manager.c: Integrate creating and handling of thread descriptor
2488         for TLS.
2489         * pthread.c: Likewise.
2490         * sysdeps/i386/tls.h (tcbhead_t): Add self pointer.
2491         Include <linuxthreads/descr.h> only if TLS is really used.
2492         (GET_DTV): New macro.
2493         (TLS_INIT_TP): Initialize self pointer.
2494
2495 2002-02-17  Andreas Schwab  <schwab@suse.de>
2496
2497         * signals.c (sigwait): Check for old sighandler being SIG_ERR,
2498         not NULL.
2499
2500 2002-02-12  Ulrich Drepper  <drepper@redhat.com>
2501
2502         * sysdeps/i386/tls.c (INSTALL_NEW_DTV): Define.
2503         (INSTALL_DTV): Adjust for being passed pointer to element with length.
2504
2505 2002-02-08  Ulrich Drepper  <drepper@redhat.com>
2506
2507         * sysdeps/i386/tls.h (TLS_INIT_TP): Also initialize %gs.
2508
2509 2002-02-08  Richard Henderson  <rth@redhat.com>
2510
2511         * sysdeps/alpha/elf/pt-initfini.c: Use \n\ for multiline string.
2512
2513 2002-02-08  Ulrich Drepper  <drepper@redhat.com>
2514
2515         * sysdeps/i386/tls.h: TLS cannot be supported with FLOATING_STACKS
2516         after all.
2517
2518 2002-02-07  H.J. Lu  <hjl@gnu.org>
2519
2520         * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Silence the
2521         gcc warning.
2522         (__pthread_spin_lock): Remove ".set noreorder".
2523         * sysdeps/mips/pt-machine.h (__compare_and_swap): Liekwise.
2524
2525 2002-02-05  H.J. Lu  <hjl@gnu.org>
2526
2527         * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Not use
2528         branch likely.
2529         * sysdeps/mips/pt-machine.h (testandset): Likewise.
2530         (__compare_and_swap): Likewise.
2531
2532 2002-02-07  Ulrich Drepper  <drepper@redhat.com>
2533
2534         * internals.h: Move declarations/definitions of
2535         __pthread_initial_thread_bos, __pthread_initial_thread,
2536         __pthread_manager_thread_bos, __pthread_manager_thread_tos,
2537         __pthread_manager_thread, __pthread_nonstandard_stacks, STACK_SIZE,
2538         CURRENT_STACK_FRAME, __pthread_find_self, and thread_self...
2539         * descr.h: ...here.
2540         * sysdeps/i386/tls.h: Add TLS definitions also for !FLOATING_STACKS.
2541         Define THREAD_GETMEM accordingly.
2542
2543 2002-02-06  Ulrich Drepper  <drepper@redhat.com>
2544
2545         * sysdeps/i386/tls.h: Include <stddef.h> for size_t.
2546
2547         * sysdeps/i386/tls.h: Define THREAD_DTV.
2548
2549 2002-02-04  Ulrich Drepper  <drepper@redhat.com>
2550
2551         * internals.h: Move thread descriptor definition...
2552         * descr.h.: ...here.  New file.
2553         * sysdeps/i386/tls.h: New file.
2554
2555 2002-02-01  H.J. Lu  <hjl@gnu.org>
2556
2557         * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Use a
2558         different register in the delayed slot.  Use branch likely.
2559
2560         * sysdeps/mips/pt-machine.h (testandset): Call _test_and_set.
2561         (__compare_and_swap): Return 0 only when failed to compare. Use
2562         branch likely.
2563
2564 2002-02-01  Jakub Jelinek  <jakub@redhat.com>
2565
2566         * Versions (__libc_internal_tsd_get, __libc_internal_tsd_set,
2567         __pthread_kill_other_threads_np): Move to GLIBC_PRIVATE.
2568         * sysdeps/i386/i586/Versions: Move all symbols to GLIBC_PRIVATE.
2569         * sysdeps/i386/i686/Versions: Move all symbols to GLIBC_PRIVATE.
2570         * sysdeps/sparc/sparc32/sparcv9/Versions: New file.
2571         * sysdeps/sparc/sparc64/Versions: New file.
2572         * sysdeps/ia64/Versions: Move all symbols to GLIBC_PRIVATE.
2573
2574 2002-01-31  Ulrich Drepper  <drepper@redhat.com>
2575
2576         * pthread.c: _dl_cpuclock_offset is not any longer a global variable
2577         in SHARED code, use GL(dl_cpuclock_offset).
2578
2579 2002-01-28  Andreas Jaeger  <aj@suse.de>
2580
2581         * sysdeps/mips/pspinlock.c (__pthread_spin_init): Clear *LOCK to
2582         0. Patch by Machida Hiroyuki <machida@sm.sony.co.jp>.
2583
2584 2002-01-16  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2585
2586         * sysdeps/s390/s390-32/pt-machine.h (MEMORY_BARRIER): Define.
2587         (CURRENT_STACK_FRAME): Remove duplicate definition.
2588         * sysdeps/s390/s390-64/pt-machine.h: Likewise.
2589
2590 2002-01-14  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2591
2592         * Makefile (CFLAGS-tst-cancel.c): Add -fno-inline-functions to prevent
2593         automatic inline.
2594
2595 2002-01-12  Andreas Schwab  <schwab@suse.de>
2596
2597         * Makefile (test-srcs): Add tst-signal.
2598         (tests): Run tst-signal.
2599         (distribute): Add tst-signal.sh.
2600         * tst-signal.c, tst-signal.sh: New files.
2601
2602 2002-01-14  Andreas Jaeger  <aj@suse.de>
2603
2604         * sysdeps/x86_64/pt-machine.h (INIT_THREAD_SELF): Avoid warning.
2605
2606 2002-01-11  Andreas Schwab  <schwab@suse.de>
2607
2608         * signals.c (sighandler): Initialize all elements to SIG_ERR.
2609         (__sigaction): Don't use value from sighandler if it is SIG_ERR.
2610
2611 2002-01-06  Richard Henderson  <rth@redhat.com>
2612
2613         * sysdeps/alpha/elf/pt-initfini.c: New file.
2614
2615 2001-12-29  Andreas Jaeger  <aj@suse.de>
2616
2617         * Examples/ex9.c: Add noreturn attribute for thread.
2618         * Examples/ex10.c: Likewise.
2619         * Examples/ex13.c (thread_start): Likewise.
2620         * Examples/ex15.c (worker): Likewise.
2621
2622         * Examples/ex18.c: Include unistd.h for prototype of sleep.
2623
2624 2001-12-14  Ulrich Drepper  <drepper@redhat.com>
2625
2626         * man/pthread_atfork.man: Adjust description of mutex handling
2627         after fork for current implementation.
2628         * linuxthreads.texi: Likewise [PR libc/2519].
2629
2630 2001-12-13  Andreas Schwab  <schwab@suse.de>
2631
2632         * specific.c (pthread_key_delete): Don't contact the thread
2633         manager if no threads have been created yet.
2634
2635 2001-12-12  NIIBE Yutaka  <gniibe@m17n.org>
2636
2637         * sysdeps/sh/pt-machine.h (INIT_THREAD_SELF): Added __volatile__
2638         qualifier to be safe.
2639
2640 2001-11-30  Andreas Schwab  <schwab@suse.de>
2641
2642         * pthread.c (pthread_handle_sigcancel) [THREAD_SELF]: Double check
2643         that self is the manager thread, and initialize the thread
2644         register if not.
2645         (thread_self_stack) [THREAD_SELF]: New function to find self via
2646         stack pointer.
2647         * manager.c (pthread_handle_create): Don't block cancel signal any
2648         more.
2649
2650 2001-11-29  Andreas Jaeger  <aj@suse.de>
2651
2652         * sysdeps/x86_64/pt-machine.h: Use %gs as thread specific register.
2653         (THREAD_SELF): New.
2654         (INIT_THREAD_SELF): New.
2655         (THREAD_GETMEM): New.
2656         (THREAD_GETMEM_NC):
2657         (THREAD_SETMEM): New.
2658         (THREAD_SETMEM_NC): New.
2659         (FLOATING_STACKS): Define.
2660         (ARCH_STACK_MAX_SIZE): Define.
2661
2662 2001-11-28  Kaz Kylheku  <kaz@ashi.footprints.net>
2663
2664         Bugfix to pthread_key_delete. It was iterating over the thread
2665         manager's linked list of threads, behind the thread manager's
2666         back causing a race. The fix is to have the manager iterate over
2667         the threads instead, using a new request type for doing so.
2668         * internals.h (struct pthread_request): New manager request type
2669         REQ_FOR_EACH_THREAD.
2670         * manager.c (pthread_for_each_thread): New function.
2671         (__pthread_manager): Handle new REQ_FOR_EACH_THREAD request.
2672         * specific.c (struct pthread_key_delete_helper_args): New type.
2673         (pthread_key_delete_helper): New static function.
2674         (pthread_key_delete): Use the new thread manager
2675         REQ_FOR_EACH_THREAD function to iterate over the threads and set
2676         the delete key slot to a null value in each thread.
2677         * Examples/ex18.c: New test.
2678         * Makefile (tests): Add ex18.
2679
2680 2001-11-22  Wolfram Gloger  <wg@malloc.de>
2681
2682         * pthread.c (pthread_onexit_process): Don't call free
2683         after threads have been asynchronously terminated.
2684
2685         * manager.c (pthread_handle_exit): Surround cancellation
2686         of threads with __flockfilelist()/__funlockfilelist().
2687
2688 2001-11-26  Andreas Schwab  <schwab@suse.de>
2689
2690         * manager.c (pthread_handle_create): Start the child thread with
2691         the cancel signal blocked, so that it does not handle it before
2692         the thread register is set up.  Save errno from failed clone call.
2693
2694 2001-11-15  Ulrich Drepper  <drepper@redhat.com>
2695
2696         * sysdeps/i386/i686/Implies: Removed.
2697         * sysdeps/i386/i686/Versions: New file.
2698
2699 2001-10-31  Andreas Jaeger  <aj@suse.de>
2700
2701         * sysdeps/x86_64/Makefile: Remove, we do not need it anymore.
2702
2703 2001-10-05  Kevin Buettner  <kevinb@cygnus.com>
2704
2705         * pthread.c (__linuxthread_pthread_sizeof_descr): Change name
2706         to __linuxthreads_pthread_sizeof_descr to match name used by
2707         symbol_list_arr[LINUXTHREADS_PTHREAD_SIZEOF_DESCR] in
2708         linuxthreads_db/td_symbol_list.c.
2709
2710 2001-09-22  Andreas Jaeger  <aj@suse.de>
2711
2712         * linuxthreads/tst-context.c: Avoid compile warning.
2713
2714 2001-09-20  Andreas Jaeger  <aj@suse.de>
2715
2716         * shlib-versions: Add x86-64.
2717
2718 2001-09-19  Andreas Jaeger  <aj@suse.de>
2719
2720         * sysdeps/x86_64/Makefile: New file.
2721         * sysdeps/x86_64/pspinlock.c: New file.
2722         * sysdeps/x86_64/pt-machine.h: New file.
2723
2724 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
2725
2726         * sysdeps/pthread/timer_delete.c (timer_delete): Thread may be NULL
2727         for SIGEV_NONE.
2728         * sysdeps/pthread/timer_settime.c (timer_settime): Likewise.
2729
2730 2001-09-11  Ulrich Drepper  <drepper@redhat.com>
2731             Wolfram Gloger <wg@malloc.de>
2732
2733         * join.c: Protect all communications from and to manager with
2734         TEMP_FAILURE_RETRY.
2735         * manager.c: Likewise.
2736         * pthread.c: Likewise.
2737         * smeaphore.c: Likewise.
2738
2739 2001-08-29  Ulrich Drepper  <drepper@redhat.com>
2740
2741         * spinlock.c (__pthread_lock): Top max_count value with
2742         MAX_ADAPTIVE_SPIN_COUNT.
2743         * internals.h (MAX_ADAPTIVE_SPIN_COUNT): Define if not already done.
2744
2745         * sysdeps/i386/i686/pt-machine.h (BUSY_WAIT_NOP): New macro to
2746         help P4.
2747
2748 2001-08-27  Jakub Jelinek  <jakub@redhat.com>
2749
2750         * sysdeps/pthread/bits/libc-lock.h (__libc_rwlock_t): Only define to
2751         non-opaque type if __USE_UNIX98.
2752
2753 2001-08-26  Jakub Jelinek  <jakub@redhat.com>
2754
2755         * sysdeps/pthread/bits/libc-lock.h (__libc_lock_t): Define
2756         non-opaque lock types also if _IO_MTSAFE_IO is defined.
2757
2758 2001-08-23  Roland McGrath  <roland@frob.com>
2759
2760         * sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_region_start): Take
2761         new first argument, skip the cleanup handler if it's zero.
2762         (_LIBC_LOCK_RECURSIVE_INITIALIZER): New macro.
2763         (__libc_lock_define_initialized_recursive): Use it.
2764         * sysdeps/pthread/bits/stdio-lock.h: File removed.
2765         The sysdeps/generic file from the main tree now suffices.
2766
2767 2001-08-22  Roland McGrath  <roland@frob.com>
2768
2769         * sysdeps/pthread/bits/stdio-lock.h: Include <bits/libc-lock.h>
2770         instead of <pthread.h>.
2771         (_IO_lock_t): Define this typedef using __libc_lock_define_recursive.
2772         (_IO_lock_initializer): Add braces.
2773         (_IO_lock_lock): Use __libc_lock_lock_recursive.
2774         (_IO_lock_unlock): Use __libc_lock_unlock_recursive.
2775
2776         * sysdeps/pthread/bits/libc-lock.h (__libc_lock_recursive_t): New type.
2777         (__libc_lock_define_initialized_recursive): Use it.
2778         (__libc_lock_init_recursive): Likewise.
2779         (__libc_lock_fini_recursive): Likewise.
2780         (__libc_lock_lock_recursive): Likewise.
2781         (__libc_lock_trylock_recursive): Likewise.
2782         (__libc_lock_unlock_recursive): Likewise.
2783         (__libc_lock_define_recursive): New macro.
2784
2785 2001-08-14  Jakub Jelinek  <jakub@redhat.com>
2786
2787         * lockfile.c (__pthread_provide_lockfile): New variable.
2788         * pthread.c (__pthread_require_lockfile): New variable.
2789         * cancel.c (__pthread_require_lockfile): New variable.
2790
2791 2001-07-31  Ulrich Drepper  <drepper@redhat.com>
2792
2793         * tst-context.c (threadfct): Initialize context before calling
2794         makecontext.
2795
2796         * Examples/ex17.c: Make sure test thread is around long enough.
2797
2798 2001-07-26  kaz Kojima  <kkojima@rr.iij4u.or.jp>
2799
2800         * sysdeps/sh/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF): Defined.
2801
2802 2001-07-24  Ulrich Drepper  <drepper@redhat.com>
2803
2804         * tst-context.c (main): Print explanation before bailing out
2805         because context handling is not supported.
2806
2807 2001-07-23  Ulrich Drepper  <drepper@redhat.com>
2808
2809         * Makefile (tests): Add tst-context.
2810         * tst-context.c: New file.
2811
2812         * sysdeps/pthread/bits/stdio-lock.h: Define
2813         _IO_cleanup_region_start_noarg.
2814
2815 2001-07-23  Jakub Jelinek  <jakub@redhat.com>
2816
2817         * sysdeps/alpha/pt-machine.h (FLOATING_STACKS): Define.
2818         (ARCH_STACK_MAX_SIZE): Define.
2819         * sysdeps/sparc/sparc32/pt-machine.h: Likewise.
2820         * sysdeps/sparc/sparc64/pt-machine.h: Likewise.
2821
2822 2001-07-19  Jakub Jelinek  <jakub@redhat.com>
2823
2824         * sysdeps/i386/useldt.h: Fix typo in ARCH_STACK_MAX_SIZE comment.
2825
2826         * sysdeps/ia64/pt-machine.h (FLOATING_STACKS): Define.
2827         (ARCH_STACK_MAX_SIZE): Define.
2828         * manager.c (pthread_allocate_stack): Handle FLOATING_STACKS with
2829         NEED_SEPARATE_REGISTER_STACK.
2830
2831 2001-07-16  Andreas Schwab  <schwab@suse.de>
2832
2833         * Makefile (before-compile): Don't add $(objpfx)crti.o.
2834         (omit-deps): Add crti.
2835         ($(objpfx)libpthread.so): Depend on $(objpfx)crti.o, but make sure
2836         it is filtered out of the link command.
2837
2838 2001-07-16  Ulrich Drepper  <drepper@redhat.com>
2839
2840         * pthread.c (pthread_initialize): For FLOATING_STACKS don't bother
2841         to find the right value for __pthread_initial_thread_bos, it's not
2842         used.  If not FLOATING_STACKS first run
2843         __pthread_init_max_stacksize.
2844
2845 2001-06-16  H.J. Lu  <hjl@gnu.org>
2846
2847         * internals.h: Include <stackinfo.h>.
2848
2849         * attr.c: Don't include <stackinfo.h> here.
2850         * cancel.c: Likewise.
2851         * manager.c: Likewise.
2852         * pthread.c: Likewise.
2853         * ptlongjmp.c: Likewise.
2854
2855 2001-03-23  Matthew Wilcox  <willy@ldl.fc.hp.com>
2856
2857         * attr.c: Make _STACK_GROWS_UP work.
2858         * internals.h: Likewise.
2859         * manager.c: Likewise.
2860         * pthread.c: Likewise.
2861
2862 2001-06-15  H.J. Lu  <hjl@gnu.org>
2863
2864         * pthread.c (__pthread_reset_main_thread): Fix a typo.
2865
2866 2001-02-02  John S. Marvin  <jsm@udlkern.fc.hp.com>
2867
2868         * semaphore.h: Use struct _pthread_fastlock as an element of
2869         sem_t instead of an identical struct.
2870         * rwlock.c: Remove casts.
2871         * semaphore.c: Likewise.
2872
2873 2001-04-30  Alan Modra  <amodra@one.net.au>
2874
2875         * sysdeps/unix/sysv/linux/hppa/pt-initfini.c: New.
2876
2877 2001-05-25  Bruce Mitchener  <bruce@cubik.org>
2878
2879         * linuxthreads.texi: Spelling corrections.
2880
2881 2001-05-25  Ulrich Drepper  <drepper@redhat.com>
2882
2883         * oldsemaphore.c (__old_sem_wait): Clear p_nextwaiting before
2884         returning successfully.
2885         Patch by Gene Cooperman <gene@ccs.neu.edu>.
2886
2887 2001-05-24  Ulrich Drepper  <drepper@redhat.com>
2888
2889         * spinlock.c (__pthread_lock) [HAS_COMPARE_AND_SWAP]: Before doing any
2890         serious work try once whether the lock is uncontested.
2891         Remove duplicate reading of __status before loop.
2892         Change suggested by Hans Boehm <hans_boehm@hp.com>.
2893
2894         * spinlock.h (__pthread_trylock): Remove need for oldstatus variable.
2895         (__pthread_alt_trylock): Likewise.
2896
2897 2001-05-01  Kaz Kylheku  <kaz@ashi.footprints.net>
2898
2899         Memory barrier overhaul following line by line inspection.
2900         * mutex.c (pthread_once): Missing memory barriers added.
2901         * pthread.c (__pthread_wait_for_restart_signal,
2902         __pthread_timedsuspend_new, __pthread_restart_new): Added
2903         memory barriers ``just in case'' and for documentary value.
2904         * spinlock.c (__pthread_release): New inline function for releasing
2905         spinlock, to complement __pthread_acquire.  Includes memory
2906         barrier prior to assignment to spinlock, and __asm __volatile
2907         dance to prevent reordering or optimization of the spinlock access.
2908         * spinlock.c (__pthread_unlock, __pthread_alt_lock,
2909         __pthread_alt_timedlock, __pthread_alt_unlock,
2910         __pthread_compare_and_swap): Updated to use new __pthread_release
2911         instead of updating spinlock directly.
2912         * spinlock.c (__pthread_lock, __pthread_unlock, wait_node_alloc,
2913         wait_node_free, wait_node_dequeue, __pthread_alt_lock,
2914         __pthread_alt_timedlock, __pthread_alt_unlock, __pthread_acquire):
2915         Memory barrier overhaul.  Lots of missing memory barriers added,
2916         a couple needless ones removed.
2917         * spinlock.c (__pthread_compare_and_swap): testandset optimization
2918         removed, just calls __pthread_acquire, which has the new read
2919         barrier in it before its testandset.
2920
2921 2001-05-20  Roland McGrath  <roland@frob.com>
2922
2923         * Makeconfig: New file, variables used to be in main libc Makeconfig.
2924
2925 2001-05-09  Geoff Keating  <geoffk@redhat.com>
2926
2927         * sysdeps/powerpc/pt-machine.h
2928         (HAS_COMPARE_AND_SWAP_WITH_RELEASE_SEMANTICS): Define.
2929         (__compare_and_swap): Remove memory barriers.
2930         (__compare_and_swap_with_release_semantics): New function.
2931
2932 2001-04-24  Andreas Jaeger  <aj@suse.de>
2933
2934         * wrapsyscall.c: send* and recv* return ssize_t.
2935
2936         * sysdeps/pthread/timer_getoverr.c (timer_getoverrun): Unlock the
2937         mutex instead of double locking it.
2938         Reported by Pierre Artaud <partaud@sodatec.com>.
2939
2940 2001-04-23  Ulrich Drepper  <drepper@redhat.com>
2941
2942         * sysdeps/pthread/getcpuclockid.c: Make function generic, test
2943         using #ifdef whether the clock is available.
2944         * sysdeps/unix/sysv/linux/i386/getcpuclockid.c: Removed.
2945
2946         * sysdeps/ia64/Versions: New file.
2947
2948         * sysdeps/unix/sysv/linux/ia64/pt-initfini.c (_init): We don't
2949         have to call __gmon_start__ in the libpthread DSO.
2950         * sysdeps/pthread/pt-initfini.c (_init): Likewise.
2951
2952         * Makefile (libpthread-routines): Add ptclock_gettime and
2953         ptclock_settime.
2954         * internals.h: Don't use cpuclock-init.h definitions, use
2955         hp-timing.h definitions.
2956         * pthread.c: Likewise.
2957         * manager.c: Likewise.
2958         * ptclock_gettime.c: New file.
2959         * ptclock_settime.c: New file.
2960         * internals.h: Fix parameter type for __pthread_clock_gettime and
2961         __pthread_clock_settime.
2962
2963         * sysdeps/i386/i586/ptclock_gettime.c: Removed.
2964         * sysdeps/i386/i586/ptclock_settime.c: Removed.
2965         * sysdeps/i386/i586/Makefile: Removed.
2966
2967 2001-04-22  Ulrich Drepper  <drepper@redhat.com>
2968
2969         * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define _POSIX_ASYNCH_IO.
2970         * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
2971
2972 2001-04-21  Andreas Jaeger  <aj@suse.de>
2973
2974         * sysdeps/pthread/timer_routines.c (thread_func): Add noreturn
2975         attribute, remove statements that will never be executed.
2976         (thread_func): Remove mutex_unlock call since it's never executed.
2977         (thread_func): Fix comment as suggested by Jakub Jelinek.
2978
2979         * manager.c (__pthread_manager): Add noreturn
2980         attribute.
2981         (pthread_start_thread): Likewise, remove return statement.
2982         (pthread_start_thread_event): Likewise.
2983         Add noreturn attribute for pthread_handle_exit.
2984         * weaks.c: Add noreturn attribute for pthread_exit.
2985
2986         * internals.h: Add __pthread_clock_gettime and
2987         __pthread_clock_settime prototypes.
2988
2989 2001-04-21  Ulrich Drepper  <drepper@redhat.com>
2990
2991         * internals.h: Include <cpuclock-init.h>.
2992         (struct _pthread_descr_struct): Add p_cpuclock_offset field if
2993         CPUCLOCK_VARDEF is defined.
2994         * pthread.c (__pthread_initialize_minimal): Initialize
2995         p_cpuclock_offset field for main thread if CPUCLOCK_INIT is defined.
2996         * manager.c (pthread_start_thread): Set p_cpuclock_offset field
2997         for new thread to current CPU clock value.
2998
2999         * sysdeps/i386/useldt.h: Extend all the macros to handle 8-byte values.
3000
3001         * sysdeps/i386/i586/Makefile: New file.
3002         * sysdeps/i386/i586/Versions: New file.
3003         * sysdeps/i386/i586/ptclock_gettime.c: New file.
3004         * sysdeps/i386/i586/ptclock_settime.c: New file.
3005         * sysdeps/i386/i686/Implies: New file.
3006
3007 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
3008
3009         * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: Put specs into
3010         $generated, not $postclean-generated.
3011
3012 2001-04-18  Andreas Jaeger  <aj@suse.de>
3013
3014         * Makefile (otherlibs): Added.
3015
3016 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
3017
3018         * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: New file.
3019
3020 2001-04-16  Ulrich Drepper  <drepper@redhat.com>
3021
3022         * signals.c (sigwait): NSIG is no signal number.  Block all
3023         signals while in signal handler for signals in SET.
3024         Patch by Manfred Spraul <manfred@colorfullife.com>.
3025
3026 2001-04-12  Ulrich Drepper  <drepper@redhat.com>
3027
3028         * tst-cancel.c: Disable most tests.  Add new test where all
3029         cleanup handlers must run.
3030         * Makefile (tests): Add tst-cancel again.
3031
3032         * cancel.c (__pthread_perform_cleanup): Correct condition for
3033         leaving cleanup loop early.
3034
3035         * sysdeps/i386/Makefile: Make sure gcc uses a frame pointer for
3036         all the files which use CURRENT_STACK_FRAME.
3037         * sysdeps/i386/pt-machine.h (CURRENT_STACK_FRAME): Define using
3038         __builtin_frame_address.
3039         * sysdeps/i386/i686/pt-machine.h: Likewise.
3040
3041 2001-04-11  Ulrich Drepper  <drepper@redhat.com>
3042
3043         * Makefile (tests): Comment out tst-cancel for now.
3044
3045         * tst-cancel.c (main): Cleanup 4 is supposed to run.  Create
3046         temporary file in object directory.
3047         * Makefile: Don't allow inlining when compiling tst-cancel.c.
3048         Pass $(objpfx) to tst-cancel.
3049
3050 2001-04-11  David S. Miller  <davem@redhat.com>
3051
3052         * sysdeps/sparc/sparc32/pt-machine.h (stack_pointer): Advance
3053         up closer to user local variables so that new cleanup heuristics work.
3054         * sysdeps/sparc/sparc64/pt-machine.h (stack_pointer): Likewise.
3055
3056 2001-04-11  Ulrich Drepper  <drepper@redhat.com>
3057
3058         * cancel.c (_pthread_cleanup_push): Catch invalid __prev buffer
3059         and remove it.
3060         (_pthread_cleanup_push_defer): Likewise.
3061
3062         * tst-cancel.c (main): Fix loop printing cleanup output.
3063
3064 2001-04-10  kaz Kojima  <kkojima@rr.iij4u.or.jp>
3065
3066         * sysdeps/sh/pspinlock.c (__pthread_spin_lock): Fix a reverse
3067         test.
3068         (__pthread_spin_trylock): Likewise.
3069         * sysdeps/sh/pt-machine.h (testandset): Likewise.
3070
3071 2001-04-10  Ulrich Drepper  <drepper@redhat.com>
3072
3073         * join.c (pthread_exit): Move code to new function __pthread_do_exit
3074         which takes an extra parameter with the current frame pointer.
3075         Call new function with CURRENT_STACK_FRAME.
3076         (__pthread_do_exit): New function.  Call __pthread_perform_cleanup
3077         with the new parameter.
3078         (pthread_join): Call __pthread_do_exit instead of pthread_exit.
3079         * cancel.c (__pthread_perform_cleanup): Takes extra parameter.  Use
3080         this parameter as the initial value the cleanup handler records are
3081         compared against.  No active cleanup handler record must have an
3082         address lower than the previous one and the initial record must be
3083         above (below on PA) the frame address passed in.
3084         (pthread_setcancelstate): Call __pthread_do_exit instead of
3085         pthread_exit.
3086         (pthread_setcanceltype): Likewise.
3087         (pthread_testcancel): Likewise.
3088         (_pthread_cleanup_pop_restore): Likewise.
3089         * condvar.c (pthread_cond_wait): Likewise.
3090         (pthread_cond_timedwait_relative): Likewise.
3091         * manager.c (pthread_start_thread): Likewise.
3092         * oldsemaphore.c (__old_sem_wait): Likewise.
3093         * pthread.c (pthread_handle_sigcancel): Likewise.
3094         * semaphore.c (__new_sem_wait): Likewise.
3095         (sem_timedwait): Likewise.
3096         * ptlongjmp.c (pthread_cleanup_upto): Also use current stack frame
3097         to limit the cleanup handlers which get run.
3098         * internals.h: Add prototype for __pthread_do_exit.  Adjust prototype
3099         for __pthread_perform_cleanup.
3100
3101         * Makefile (tests): Add tst-cancel.
3102         * tst-cancel.c: New file.
3103
3104 2001-04-08  Hans-Peter Nilsson  <hp@axis.com>
3105
3106         * sysdeps/cris/pt-machine.h: New file.
3107         * sysdeps/cris/pspinlock.c: New file.
3108
3109 2001-04-09  Hans-Peter Nilsson  <hp@axis.com>
3110
3111         * shlib-versions: Add case for Linux on CRIS.
3112
3113 2001-03-26  Ulrich Drepper  <drepper@redhat.com>
3114
3115         * attr.c (pthread_getattr_np): Correct computation of stack size
3116         for machiens with register stack.
3117
3118         * Examples/ex17.c (main): Correct detection of failed mmap call.
3119
3120 2001-03-21  Jakub Jelinek  <jakub@redhat.com>
3121
3122         * pthread.c (__pthread_initialize_manager): Fix a typo.
3123
3124 2001-03-21  Jakub Jelinek  <jakub@redhat.com>
3125
3126         * attr.c (__pthread_attr_setstack): Fix alignment check.
3127         (pthread_getattr_np): __stackaddr is top of stack, not bottom.
3128         * Makefile (tests): Add ex17 test.
3129         * Examples/ex17.c: New test.
3130
3131 2001-03-20  Ulrich Drepper  <drepper@redhat.com>
3132
3133         * Makefile: Define -D_RPC_THREAD_SAFE_ for cancel.c.
3134         * cancel.c (__pthread_perform_cleanup): Call __rpc_thread_destroy.
3135         * sysdeps/pthread/bits/libc-tsd.h: Define _LIBC_TSD_KEY_VARS.
3136
3137 2001-03-18  Ulrich Drepper  <drepper@redhat.com>
3138
3139         * Makefile: When generating DSO link with libc_nonshared.a.
3140
3141 2001-02-26  Jakub Jelinek  <jakub@redhat.com>
3142
3143         * signals.c (pthread_sighandler): Use CALL_SIGHANDLER.
3144
3145 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
3146
3147         * internals.h (__pthread_init_max_stacksize): New prototype.
3148         * attr.c (__pthread_attr_setstacksize): Call
3149         __pthread_init_max_stacksize if not yet initialized.
3150         * pthread.c (__pthread_init_max_stacksize): New function.
3151         (__pthread_initialize_manager): Call it.
3152         Patch by <dtc@cmucl.cons.org>.
3153
3154 2001-03-16  Ulrich Drepper  <drepper@redhat.com>
3155
3156         * attr.c (pthread_getattr_np): Fix __stacksize computation for IA-64.
3157
3158 2001-03-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3159
3160         * shlib-versions: Add rule for Linux on 64 bit S/390.
3161         * sysdeps/s390/s390-64/pt-machine.h: New file.
3162         * sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c: New file.
3163
3164 2001-03-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3165
3166         * sysdeps/s390/pt-machine.h: Move to...
3167         * sysdeps/s390/s390-32/pt-machine.h: ...here.
3168         Add defines for FLOATING_STACK and ARCH_STACK_MAX_SIZE.
3169
3170 2001-03-15  Ulrich Drepper  <drepper@redhat.com>
3171
3172         * Versions [libpthread] (GLIBC_2.2.3): Add pthread_getattr_np.
3173         * attr.c: Implement pthread_getattr_np.
3174         * sysdeps/pthread/pthread.h: Add prototype for pthread_getattr_np.
3175         * internals.h (struct _pthread_descr_struct): Add p_inheritsched.
3176         * manager.c (pthread_handle_create): Initialize p_inheritsched.
3177
3178 2001-03-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3179
3180         * sysdeps/unix/sysv/linux/s390/pt-initfini.c: Use 0x07 padding for
3181         code alignment.
3182
3183 2001-02-20  Hans Boehm  <hans_boehm@hp.com>
3184
3185         * manager.c (manager_mask): Removed static vesion.  Now always local
3186         to __pthread_manager().
3187         (manager_mask_all): Removed completely.
3188         (__pthread_manager): Remove manager_mask_all initialization.
3189         (pthread_handle_create): Remove code to set and reset signal mask
3190         around __clone2() calls.
3191
3192 2001-02-17  Jakub Jelinek  <jakub@redhat.com>
3193
3194         * spinlock.c (__pthread_lock): Force lock->__status to be read from
3195         memory on every spin.
3196
3197 2001-02-10  Andreas Jaeger  <aj@suse.de>
3198
3199         * Makefile (extra-objs): New.
3200
3201 2001-02-09  Jakub Jelinek  <jakub@redhat.com>
3202
3203         * sysdeps/pthread/pt-initfini.c (call_initialize_minimal): Add
3204         __pthread_initialize_minimal prototype.
3205
3206 2001-02-08  kaz Kojima  <kkojima@rr.iij4u.or.jp>
3207
3208         * sysdeps/unix/sysv/linux/sh/pt-initfini.c: New file.
3209
3210 2001-02-06  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3211
3212         * sysdeps/unix/sysv/linux/s390/pt-initfini.c: New file.
3213
3214 2001-02-06  Ulrich Drepper  <drepper@redhat.com>
3215
3216         * sysdeps/unix/sysv/linux/ia64/pt-initfini.c: First attempt to fix the
3217         broken code.  Patch by Jes Sorensen.
3218
3219 2001-02-06  Andreas Jaeger  <aj@suse.de>
3220
3221         * sysdeps/pthread/pthread.h: Move __pthread_initialize from here
3222         to...
3223         * internals.h: ...here.
3224
3225 2001-02-05  Jes Sorensen  <jes@linuxcare.com>
3226
3227         * sysdeps/unix/sysv/linux/ia64/pt-initfini.c: New file.
3228
3229 2001-02-02  Ulrich Drepper  <drepper@redhat.com>
3230
3231         * Versions: Remove __pthread_initialize_minimal.
3232
3233 2001-02-01  Ulrich Drepper  <drepper@redhat.com>
3234
3235         * Makefile: Add rules to build crti.o and make it being used in
3236         building libpthread.so.
3237         * sysdeps/i386/Makefile: New file.
3238         * sysdeps/pthread/pt-initfini.c: New file.
3239
3240         * pthread.c: Cleanups.
3241
3242 2001-01-28  Andreas Jaeger  <aj@suse.de>
3243
3244         * oldsemaphore.c (__old_sem_init): Adjust for last change.
3245         * sysdeps/pthread/bits/libc-lock.h: Likewise.
3246         * spinlock.c: Likewise.
3247
3248 2001-01-28  Ulrich Drepper  <drepper@redhat.com>
3249
3250         * sysdeps/pthread/bits/initspin.h: Make all names namespace clean.
3251         * sysdeps/unix/sysv/linux/hppa/bits/initspin.h: Likewise.
3252         * manager.c: Adjust for namespace cleanup in bits/initspin.h.
3253         * pthread.c: Likewise.
3254         * spinlock.h: Likewise.
3255         * sysdeps/pthread/pthread.h: Likewise.
3256
3257 2001-01-26  Ulrich Drepper  <drepper@redhat.com>
3258
3259         * sysdeps/pthread/bits/pthreadtypes.h: Define pthread_attr_t also
3260         as struct __pthread_attr_s.
3261
3262         * semaphore.h (sem_t): Cleanup namespace, rename status and
3263         spinlock elements.
3264
3265 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
3266
3267         * pthread.c (pthread_onexit_process): Clear
3268         __pthread_manager_thread_bos after freeing it.
3269         * Makefile (tests): Add ex16.
3270         * Examples/ex16.c: New file.
3271
3272 2001-01-11  Jakub Jelinek  <jakub@redhat.com>
3273
3274         * Makefile (CFLAGS-pthread.c): Pass -DHAVE_Z_NODELETE if ld supports
3275         -z nodelete.
3276         * pthread.c (pthread_exit_process): Rename to...
3277         (pthread_onexit_process): ...this.
3278         (pthread_atexit_process, pthread_atexit_retcode): New.
3279         (pthread_initialize): Call __cxa_atexit instead of __cxa_on_exit
3280         and only if HAVE_Z_NODELETE is not defined.
3281         (__pthread_initialize_manager): Register pthread_atexit_retcode
3282         with __cxa_atexit.
3283
3284 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
3285
3286         * pthread.c (pthread_initialize): Use __cxs_on_exit not __cxa_atexit.
3287
3288 2001-01-11  Jakub Jelinek  <jakub@redhat.com>
3289
3290         * Makefile (tests): Add ex15.
3291         * Examples/ex15.c: New test.
3292
3293 2001-01-08  Ulrich Drepper  <drepper@redhat.com>
3294
3295         * pthread.c (pthread_exit_process): Free memory allocated for
3296         manager stack.
3297
3298 2000-12-31  Ulrich Drepper  <drepper@redhat.com>
3299
3300         * manager.c (pthread_alloca_stack): Remove MAP_FIXED from mmap calls.
3301         (pthread_free): Always unmap the stack.  It's safe now that we don't
3302         use MAP_FIXED to allocate stacks.
3303
3304 2000-12-31  Ulrich Drepper  <drepper@redhat.com>
3305
3306         * sysdeps/powerpc/pspinlock.c: Don't include pt-machine.h here.
3307
3308         * manager.c (pthread_allocate_stack): Prepare for removal of MAP_FIXED.
3309
3310 2000-11-15  Wolfram Gloger  <wg@malloc.de>
3311
3312         * manager.c (pthread_free): [!FLOATING_STACKS]: Only remap the
3313         stack to PROT_NONE, don't unmap it, avoiding collisions with malloc.
3314
3315 2000-12-27  Andreas Jaeger  <aj@suse.de>
3316
3317         * Examples/ex13.c: Make local functions static.
3318         * ecmutex.c: Likewise.
3319         * joinrace.c: Likewise.
3320         * Examples/ex14.c: Likewise.
3321
3322         * Examples/ex2.c: Make local functions static; reformat.
3323         * Examples/ex1.c: Likewise.
3324         * Examples/ex4.c: Likewise.
3325         * Examples/ex5.c: Likewise.
3326         * Examples/ex7.c: Likewise.
3327
3328         * oldsemaphore.c: Add prototypes to shut up GCC.
3329         * pt-machine.c: Likewise.
3330
3331         * weaks.c: Add prototype for pthread_exit.
3332
3333         * internals.h: Add some prototypes, format prototypes and add
3334         missing externs.
3335         Move __libc_waitpid prototype to include/sys/wait.h.
3336
3337         * rwlock.c: Include <bits/libc-lock.h> for prototypes.
3338         * mutex.c: Likewise.
3339         * specific.c: Likewise.
3340         * ptfork.c: Likewise.
3341
3342         * lockfile.c: Include internals.h to get prototypes.
3343         * events.c: Likewise.
3344         * sysdeps/alpha/pspinlock.c: Likewise.
3345         * sysdeps/arm/pspinlock.c: Likewise.
3346         * sysdeps/hppa/pspinlock.c: Likewise.
3347         * sysdeps/i386/pspinlock.c: Likewise.
3348         * sysdeps/ia64/pspinlock.c: Likewise.
3349         * sysdeps/m68k/pspinlock.c: Likewise.
3350         * sysdeps/mips/pspinlock.c: Likewise.
3351         * sysdeps/powerpc/pspinlock.c: Likewise.
3352         * sysdeps/s390/pspinlock.c: Likewise.
3353         * sysdeps/sh/pspinlock.c: Likewise.
3354         * sysdeps/sparc/sparc32/pspinlock.c: Likewise.
3355         * sysdeps/sparc/sparc32/sparcv9/pspinlock.c: Likewise.
3356         * sysdeps/sparc/sparc64/pspinlock.c: Likewise.
3357
3358 2000-12-27  Ulrich Drepper  <drepper@redhat.com>
3359
3360         * attr.c (__pthread_attr_setstack): Fix setting of __stackaddr element.
3361         (__pthread_attr_getstack): Return correct address.
3362         Add warnings for using pthread_attr_getstackaddr and
3363         pthread_attr_setstackaddr.
3364
3365 2000-12-26  Ulrich Drepper  <drepper@redhat.com>
3366
3367         * Examples/ex6.c (test_thread): Make static.
3368         * Examples/ex12.c (test_thread): Make static and add noreturn
3369         attribute.
3370
3371 2000-12-18  Jes Sorensen  <jes@linuxcare.com>
3372
3373         * linuxthreads/sysdeps/ia64/pt-machine.h: __compare_and_swap
3374         and compare_and_swap_with_release_semantics returns int not long.
3375
3376 2000-12-17  Andreas Jaeger  <aj@suse.de>
3377
3378         * sysdeps/s390/pt-machine.h (testandset): Use long int as return
3379         value.
3380         * sysdeps/arm/pt-machine.h (testandset): Likewise.
3381         * sysdeps/hppa/pt-machine.h (testandset): Likewise.
3382         * sysdeps/m68k/pt-machine.h (testandset): Likewise.
3383         * sysdeps/sh/pt-machine.h (testandset): Likewise.
3384         * sysdeps/sparc/sparc32/pt-machine.h (testandset): Likewise.
3385         * sysdeps/sparc/sparc64/pt-machine.h (testandset): Likewise.
3386
3387 2000-12-17  Ulrich Drepper  <drepper@redhat.com>
3388
3389         * sysdeps/i386/pt-machine.h (testandset): Adjust for prototype change.
3390         * sysdeps/i386/i686/pt-machine.h (testandset): Likewise.
3391
3392 2000-12-17  Andreas Jaeger  <aj@suse.de>
3393
3394         * internals.h: Add prototypes for testandset and
3395         __compare_and_swap to shut up gcc warnings.
3396
3397 2000-12-06  Wolfram Gloger  <wg@malloc.de>
3398
3399         * join.c (pthread_detach): Allow case where the thread has already
3400         terminated.
3401
3402 2000-12-05  Andreas Jaeger  <aj@suse.de>
3403
3404         * sysdeps/mips/pspinlock.c (__pthread_spin_lock): Don't set mips2.
3405         * sysdeps/mips/pt-machine.h (testandset): Likewise.
3406         (__compare_and_swap): Likewise.
3407         Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
3408
3409 2000-11-20  Jakub Jelinek  <jakub@redhat.com>
3410
3411         * Examples/ex3.c (main): Cast int to long before casting to void *.
3412         (search): Cast void * to long, not int.
3413         * Examples/ex8.c (main, thread): Similarly.
3414         * Examples/ex11.c (main): Similarly.
3415         * Examples/ex14.c (worker, do_test): Similarly.
3416         * ecmutex.c (worker, do_test): Similarly.
3417         (nlocks): Cast to int.
3418
3419 2000-11-08  Bruce Mitchener  <bruce@cubik.org>
3420
3421         * linuxthreads.texi:  Add documentation for pthreads attributes
3422         guardsize, stackaddr, stacksize, and stack.  Fix typo in previous
3423         patch.  Document pthread_[sg]etconcurrency().  Mark
3424         pthread_mutexattr_[sg]ettype() as POSIX rather than GNU.
3425
3426 2000-11-07  Ulrich Drepper  <drepper@redhat.com>
3427
3428         * sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_MESSAGE_PASSING):
3429         Don't define it.
3430         * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
3431         Reported by Christopher Yeoh <cyeoh@linuxcare.com.au>.
3432
3433 2000-11-06  Ulrich Drepper  <drepper@redhat.com>
3434
3435         * cancel.c (pthread_cancel): Always set p_canceled, even if we are
3436         not doing it right now.
3437         Reported by Kaz Kylheku <kaz@ashi.footprints.net>.