]> sourceware.org Git - glibc.git/blame - nptl/ChangeLog
Update.
[glibc.git] / nptl / ChangeLog
CommitLineData
015a2dc9
UD
12002-12-24 Ulrich Drepper <drepper@redhat.com>
2
3 * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Add missing #endif.
4 Patch by Marijn Ros <marijn@mad.scientist.com>.
5
5220f9ac
RM
62002-12-22 Roland McGrath <roland@redhat.com>
7
8 * Makefile (omit-deps): Add $(unix-syscalls:%=ptw-%).
9
1561bf63
UD
102002-12-20 Ulrich Drepper <drepper@redhat.com>
11
12 * sysdeps/pthread/bits/stdio-lock.h (_IO_lock_inexpensive): Define.
13
3325198e
UD
142002-12-19 Ulrich Drepper <drepper@redhat.com>
15
057c823f
UD
16 * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Don't define
17 NEED_DL_SYSINFO since no processor < i686 had the sysenter opcode.
18 * sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h: New file.
19
097eca29
UD
20 * sysdeps/unix/sysv/linux/i386/pthread_once.S: Use ENTER_KERNEL instead
21 of int $0x80.
22 * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise.
23 * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Likewise.
24 * sysdeps/unix/sysv/linux/i386/i486/lowlevelcond.S: Likewise.
25 * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
26 * sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
27 * sysdeps/unix/sysv/linux/i386/i486/lowlevelrwlock.S: Likewise.
28 * sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Likewise.
29 * sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Likewise.
30
31 * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Add support for using
32 sysenter.
33 * sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Likewise.
34
35 * sysdeps/i386/tls.h: Unconditionally include <dl-sysdep.h>.
36
5f5843e3
UD
37 * allocatestack.c (allocate_stack) [NEED_DL_SYSINFO]: Set sysinfo
38 in new TCB.
39 * sysdeps/unix/sysv/linux/i386/createthread.c (create_thread): Check
40 that sysinfo is properly initialized.
41 * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define RTLD_PRIVATE_ERRNO
42 to 1 only for ld.so.
43
3325198e
UD
44 * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define
45 RTLD_CORRECT_DYNAMIC_WEAK.
46
74e8f2dc
UD
472002-12-19 Jakub Jelinek <jakub@redhat.com>
48
49 * forward.c (pthread_attr_init_2_0, pthread_attr_init_2_1):
50 Use return 0 as 6th argument to FORWARD4.
51 * pthread_equal.c: Include pthreadP.h instead of pthread.h.
52
df45b31e
UD
532002-12-18 Ulrich Drepper <drepper@redhat.com>
54
55 * descr.h (struct pthread) [NEED_DL_SYSINFO]: Add sysinfo member.
56 * sysdeps/i386/tls.h (tcbhead_t): Add sysinfo member.
57 Define SYSINFO_OFFSEET if NEED_DL_SYSINFO is defined.
58 (INIT_SYSINFO): New #define.
59 (TLS_TP_INIT): Use INIT_SYSINFO.
60 * sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
61 At test to make sure SYSINFO_OFFSET value is correct.
62 * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: New file.
63
3d539579
UD
642002-12-18 Jakub Jelinek <jakub@redhat.com>
65
66 * sysdeps/pthread/flockfile.c (flockfile): Change into weak alias.
67 * sysdeps/unix/sysv/linux/raise.c (gsignal): Add weak alias to raise.
68 * Versions [libc: GLIBC_2.0]: Add pthread_attr_init.
69 [libpthread: GLIBC_2.1]: Remove __pthread_rwlock_init,
70 __pthread_rwlock_destroy, __pthread_rwlock_rdlock,
71 __pthread_rwlock_wrlock, __pthread_rwlock_unlock,
72 __pthread_rwlock_tryrdlock and __pthread_rwlock_trywrlock.
73
d7913e0e
UD
742002-12-18 Ulrich Drepper <drepper@redhat.com>
75
f051627f
UD
76 * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Use ENTER_KERNEL
77 macro instead of using int $0x80 directly.
78
d7913e0e
UD
79 * sysdeps/pthread/bits/stdio-lock.h: New file.
80 * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: New file.
81 * sysdeps/unix/sysv/linux/i386/i586/libc-lowlevelmutex.S: New file.
82 * sysdeps/unix/sysv/linux/i386/i686/libc-lowlevelmutex.S: New file.
83 * Makefile (routines): Add libc-lowlevelmutex.
84
85 * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Remove
86 __i686.get_pc_thunk.dx.
87
f077a4a9
UD
882002-12-17 Jakub Jelinek <jakub@redhat.com>
89
90 * Makefile (libpthread-shared-only-routines): Add pt-allocrtsig.
91 (tests): Depend on $(objpfx)tst-cancel-wrappers.out.
92 ($(objpfx)tst-cancel-wrappers.out): New rule.
93 * tst-cancel-wrappers.sh: New test.
94 * tst-locale1.c: Include signal.h.
95 (uselocale): Test static linking of __libc_current_sigrt*.
96
972002-12-17 Ulrich Drepper <drepper@redhat.com>
98
99 * Makefile (tests): Add tst-cancel6.
100 * tst-cancel6.c: New file
101
bd499a3b
UD
1022002-12-17 Jakub Jelinek <jakub@redhat.com>
103
104 * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (SINGLE_THREAD_P):
105 Define meaningfully for assembler as well.
106 * pthreadP.h (struct pthread_functions): Remove
107 ptr_pthread_attr_init field. Add ptr_pthread_attr_init_2_0
108 and ptr_pthread_attr_init_2_1 fields.
109 * init.c (pthread_functions): Initialize ptr_pthread_attr_init_2_0
110 and ptr_pthread_attr_init_2_1 instead of ptr_pthread_attr_init.
111 * forward.c (FORWARD4): Renamed from FORWARD3. Add export argument.
112 (FORWARD3): Define using FORWARD4.
113 (pthread_attr_init): Provide both @GLIBC_2.0 and @@GLIBC_2.1
114 versions.
115 * pt-system.c: Remove duplicate stdlib.h include.
116
0a1063f4
UD
1172002-12-16 Ulrich Drepper <drepper@redhat.com>
118
87d60668
UD
119 * sem_init.c: Define sem_init@GLIBC_2.0.
120 * sem_destroy.c: Define sem_destroy@GLIBC_2.0.
121 * sem_getvalue.c: Define sem_getvalue@GLIBC_2.0.
122
0a1063f4
UD
123 * flockfile.c: Moved to...
124 * sysdeps/pthread/flockfile.c: ...here. New file.
125 * funlockfile.c: Moved to...
126 * sysdeps/pthread/funlockfile.c: ...here. New file.
127 * ftrylockfile.c: Moved to...
128 * sysdeps/pthread/ftrylockfile.c: ...here. New file.
129
9634cf9d
UD
1302002-12-16 Jakub Jelinek <jakub@redhat.com>
131
132 * libc-cancellation.c: Guard both function with
133 #if !defined NOT_IN_libc.
134 * Makefile (libpthread-routines): Use ptw-, not pt- prefix for the
135 automatically provided pthread wrappers.
136 * pthreadP.h (LIBC_CANCEL_ASYNC, LIBC_CANCEL_RESET): Define to
137 CANCEL_* if IS_IN_libpthread and to dummy versions if not in libc
138 nor in libpthread.
139 * pt-open.c: Removed.
140 * pt-fcntl.c: Removed.
141 * pt-fsync.c: Removed.
142 * pt-lseek.c: Removed.
143 * pt-msgrcv.c: Removed.
144 * pt-msgsnd.c: Removed.
145 * pt-msync.c: Removed.
146 * pt-nanosleep.c: Removed.
147 * pt-open64.c: Removed.
148 * pt-pause.c: Removed.
149 * pt-pread.c: Removed.
150 * pt-pread64.c: Removed.
151 * pt-pwrite.c: Removed.
152 * pt-pwrite64.c: Removed.
153 * pt-read.c: Removed.
154 * pt-recv.c: Removed.
155 * pt-recvfrom.c: Removed.
156 * pt-recvmsg.c: Removed.
157 * pt-send.c: Removed.
158 * pt-sendto.c: Removed.
159 * pt-sigtimedwait.c: Removed.
160 * pt-sigwait.c: Removed.
161 * pt-wait.c: Removed.
162 * pt-waitpid.c: Removed.
163 * pt-write.c: Removed.
164 * pt-accept.c: Removed.
165 * pt-close.c: Removed.
166 * pt-connect.c: Removed.
167 * pt-lseek64.c: Removed.
168 * pt-sendmsg.c: Removed.
169 * pt-tcdrain.c: Removed.
170
6ee8d334
UD
1712002-12-15 Ulrich Drepper <drepper@redhat.com>
172
81fa9371
UD
173 * init.c (__pthread_initialize_minimal_internal): Renamed from
174 __pthread_initialize_minimal. Make old name an alias. This
175 converts a normal relocation into a relative relocation.
176
f3015aa5
UD
177 * pt-fcntl.c (__fcntl): Use fcntl64 syscall, not fcntl.
178
4cbc1950
UD
179 * Versions [libpthread: GLIBC_2.3.2]: Remove creat, poll, pselect,
180 readv, select, sigpause, sigsuspend, sigwaitinfo, waitid, writev.
181 * Makefile (libpthread-routines): Remove pt-creat, pt-poll,
182 pt-pselect, pt-readv, pt-select, pt-sigpause, pt-sigsuspend,
183 pt-sigwaitinfo, pt-waitid, and pt-writev.
184 * pt-creat.c: Removed.
185 * pt-poll.c: Removed.
186 * pt-pselect.c: Removed.
187 * pt-readv.c: Removed.
188 * pt-select.c: Removed.
189 * pt-sigpause.c: Removed.
190 * pt-sigsuspend.c: Removed.
191 * pt-sigwaitinfo.c: Removed.
192 * pt-waitid.c: Removed.
193 * pt-writev.c: Removed.
194
8454830b
UD
195 * init.c (pthread_functions): New variable.
196 (__pthread_initialize_minimal): Pass pointer to pthread_functions
197 (or NULL) to __libc_pthread_init.
198 * forward.c: Rewrite to use __libc:pthread_functions array to get
199 function addresses.
200 * sysdeps/unix/sysv/linux/fork.h: Remove __libc_pthread_init
201 prototype.
202 * sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
203 Take new parameter. Copy content of variable pointed to by it
204 to __libc_pthread_init.
205
206 * pthreadP.h (struct pthread_functions): New type.
207 (__libc_pthread_init): Declare.
208
209 * pthread_attr_destroy.c: Add namespace protected alias.
210 * pthread_attr_getdetachstate.c: Likewise.
211 * pthread_attr_getinheritsched.c: Likewise.
212 * pthread_attr_getschedparam.c: Likewise.
213 * pthread_attr_getschedpolicy.c: Likewise.
214 * pthread_attr_getscope.c: Likewise.
215 * pthread_attr_setdetachstate.c: Likewise.
216 * pthread_attr_setinheritsched.c: Likewise.
217 * pthread_attr_setschedparam.c: Likewise.
218 * pthread_attr_setschedpolicy.c: Likewise.
219 * pthread_attr_setscope.c: Likewise.
220 * pthread_cond_broadcast.c: Likewise.
221 * pthread_cond_destroy.c: Likewise.
222 * pthread_cond_init.c: Likewise.
223 * pthread_cond_signal.c: Likewise.
224 * pthread_cond_wait.c: Likewise.
225 * pthread_condattr_destroy.c: Likewise.
226 * pthread_condattr_init.c: Likewise.
227 * pthread_equal.c: Likewise.
228 * pthread_exit.c: Likewise.
229 * pthread_getschedparam.c: Likewise.
230 * pthread_self.c: Likewise.
231 * pthread_setcancelstate.c: Likewise.
232 * pthread_setschedparam.c: Likewise.
233 * pthread_mutex_destroy.c: Likewise.
234 * pthread_mutex_init.c: Likewise.
235 * pthreadP.h: Add prototypes for the aliases.
236
0d5f4929
UD
237 * sysdeps/unix/sysv/linux/i386/createthread.c (create_thread): Set
238 multiple_threads member in correct TCB to 1.
239
6ee8d334
UD
240 * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Define
241 SINGLE_THREAD_P. If in libc or libpthread examine multiple_thread
242 member of thread decriptor, otherwise return unconditionally 1.
243
2fb6444d
UD
2442002-12-14 Ulrich Drepper <drepper@redhat.com>
245
246 * sysdeps/unix/sysv/linux/i386/pt-socket.S: Changes folded into the
247 regular Linux version. Remove file.
248 * sysdeps/unix/sysv/linux/connect.S: Likewise. Remove file.
249 * sysdeps/unix/sysv/linux/llseek.c: Likewise. Remove file.
250 * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. Remove file.
251 * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. Remove file.
252 * sysdeps/unix/sysv/linux/open64.c: Likewise. Remove file.
253 * sysdeps/unix/sysv/linux/poll.c: Likewise. Remove file.
254 * sysdeps/unix/sysv/linux/pread.c: Likewise. Remove file.
255 * sysdeps/unix/sysv/linux/pread64.c: Likewise. Remove file.
256 * sysdeps/unix/sysv/linux/pselect.c: Likewise. Remove file.
257 * sysdeps/unix/sysv/linux/pwrite.c: Likewise. Remove file.
258 * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. Remove file.
259 * sysdeps/unix/sysv/linux/readv.c: Likewise. Remove file.
260 * sysdeps/unix/sysv/linux/recv.S: Likewise. Remove file.
261 * sysdeps/unix/sysv/linux/recvfrom.S: Likewise. Remove file.
262 * sysdeps/unix/sysv/linux/recvmsg.S: Likewise. Remove file.
263 * sysdeps/unix/sysv/linux/send.S: Likewise. Remove file.
264 * sysdeps/unix/sysv/linux/sendmsg.S: Likewise. Remove file.
265 * sysdeps/unix/sysv/linux/sendto.S: Likewise. Remove file.
266 * sysdeps/unix/sysv/linux/sigpause.c: Likewise. Remove file.
267 * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise. Remove file.
268 * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. Remove file.
269 * sysdeps/unix/sysv/linux/sigwait.c: Likewise. Remove file.
270 * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. Remove file.
271 * sysdeps/unix/sysv/linux/system.c: Likewise. Remove file.
272 * sysdeps/unix/sysv/linux/tcdrain.c: Likewise. Remove file.
273 * sysdeps/unix/sysv/linux/wait.c: Likewise. Remove file.
274 * sysdeps/unix/sysv/linux/waitid.c: Likewise. Remove file.
275 * sysdeps/unix/sysv/linux/waitpid.c: Likewise. Remove file.
276 * sysdeps/unix/sysv/linux/writev.c: Likewise. Remove file.
277 * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. Remove file.
278
86b2dc40
UD
2792002-12-14 Jakub Jelinek <jakub@redhat.com>
280
281 * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: New file.
282 * sysdeps/unix/sysv/linux/open.c: Removed.
283 * sysdeps/unix/sysv/linux/fsync.c: Removed.
284 * sysdeps/unix/sysv/linux/lseek.c: Removed.
285 * sysdeps/unix/sysv/linux/msync.c: Removed.
286 * sysdeps/unix/sysv/linux/read.c: Removed.
287 * sysdeps/unix/sysv/linux/close.c: Removed.
288 * sysdeps/unix/sysv/linux/creat.c: Removed.
289 * sysdeps/unix/sysv/linux/nanosleep.c: Removed.
290 * sysdeps/unix/sysv/linux/pause.c: Removed.
291 * sysdeps/unix/sysv/linux/select.c: Removed.
292 * sysdeps/unix/sysv/linux/write.c: Removed.
293
9d263d72
UD
2942002-12-14 Ulrich Drepper <drepper@redhat.com>
295
296 * sysdeps/unix/sysv/linux/i386/pt-socket.S: Check multiple_threads
297 element in TCB to see whether locking is needed.
298
299 * sysdeps/unix/sysv/linux/libc_pthread_init.c: Check that
300 MULTIPLE_THREADS_OFFSET value is correct.
301
302 * sysdeps/unix/sysv/linux/close.c: New file.
303 * sysdeps/unix/sysv/linux/connect.S: New file.
304 * sysdeps/unix/sysv/linux/creat.c: New file.
305 * sysdeps/unix/sysv/linux/fsync.c: New file.
306 * sysdeps/unix/sysv/linux/llseek.c: New file.
307 * sysdeps/unix/sysv/linux/lseek.c: New file.
308 * sysdeps/unix/sysv/linux/msgrcv.c: New file.
309 * sysdeps/unix/sysv/linux/msgsnd.c: New file.
310 * sysdeps/unix/sysv/linux/msync.c: New file.
311 * sysdeps/unix/sysv/linux/nanosleep.c: New file.
312 * sysdeps/unix/sysv/linux/open.c: New file.
313 * sysdeps/unix/sysv/linux/open64.c: New file.
314 * sysdeps/unix/sysv/linux/pause.c: New file.
315 * sysdeps/unix/sysv/linux/poll.c: New file.
316 * sysdeps/unix/sysv/linux/pread.c: New file.
317 * sysdeps/unix/sysv/linux/pread64.c: New file.
318 * sysdeps/unix/sysv/linux/pselect.c: New file.
319 * sysdeps/unix/sysv/linux/pwrite.c: New file.
320 * sysdeps/unix/sysv/linux/pwrite64.c: New file.
321 * sysdeps/unix/sysv/linux/readv.c: New file.
322 * sysdeps/unix/sysv/linux/recv.S: New file.
323 * sysdeps/unix/sysv/linux/recvfrom.S: New file.
324 * sysdeps/unix/sysv/linux/recvmsg.S: New file.
325 * sysdeps/unix/sysv/linux/select.c: New file.
326 * sysdeps/unix/sysv/linux/send.S: New file.
327 * sysdeps/unix/sysv/linux/sendmsg.S: New file.
328 * sysdeps/unix/sysv/linux/sendto.S: New file.
329 * sysdeps/unix/sysv/linux/sigpause.c: New file.
330 * sysdeps/unix/sysv/linux/sigsuspend.c: New file.
331 * sysdeps/unix/sysv/linux/sigtimedwait.c: New file.
332 * sysdeps/unix/sysv/linux/sigwait.c: New file.
333 * sysdeps/unix/sysv/linux/sigwaitinfo.c: New file.
334 * sysdeps/unix/sysv/linux/system.c: New file.
335 * sysdeps/unix/sysv/linux/tcdrain.c: New file.
336 * sysdeps/unix/sysv/linux/wait.c: New file.
337 * sysdeps/unix/sysv/linux/waitid.c: New file.
338 * sysdeps/unix/sysv/linux/waitpid.c: New file.
339 * sysdeps/unix/sysv/linux/writev.c: New file.
340 * sysdeps/unix/sysv/linux/i386/fcntl.c: New file.
341
342 * pt-readv.c: Fix comment.
343
3442002-12-14 Jakub Jelinek <jakub@redhat.com>
345
346 * tst-cleanup1.c: Include stdlib.h.
347
348 * tst-cancel5.c: New test.
349 * Makefile (tests): Add tst-cancel5.
350 (tst-cancel5): Link against libc.so libpthread.so in that order.
351
9ae0909b
UD
3522002-12-13 Ulrich Drepper <drepper@redhat.com>
353
b7bdd9c4
UD
354 * forward.c (test_loaded): Prevent recursive calls.
355
9ae0909b
UD
356 * Makefile (routines): Add libc-cancellation.
357 * libc-cancellation.c: New file.
358 * descr.h (struct pthread): Add multiple_threads field.
359 * allocatestack.c (allocate_stack): Initialize multiple_header field of
360 new thread descriptor to 1.
361 * sysdeps/unix/sysv/linux/i386/createthread.c (create_thread):
362 Initialize multiple_thread field after successful thread creation.
363 * cancellation.c (__do_cancel): Move to pthreadP.h.
364 (__pthread_enable_asynccancel): Remove parameter from __do_cancel call.
365 (__pthread_disable_asynccancel): Add internal_function attribute.
366 * init.c (sigcancel_handler): Remove parameter from __do_cancel call.
367 * pthread_setcancelstate.c: Likewise.
368 * pthread_setcanceltype.c: Likewise.
369 * pthread_exit.c: Likewise.
370 * pthreadP.h (CANCELLATION_P): Likewise.
371 (__do_cancel): Define as static inline.
372 (LIBC_CANCEL_ASYNC, LIBC_CANCEL_RESET): New #defines.
373 (__libc_enable_asynccancel, __libc_disable_asynccancel): New
374 declarations.
375 * sysdeps/i386/tls.h (tcbhead_t): Add list and multiple_threads
376 fields. Define MULTIPLE_THREADS_OFFSET.
377 * sysdeps/pthread/bits/libc-lock.h: Remove __libc_locking_needed
378 declaration.
379 * sysdeps/unix/sysv/linux/accept.S: New file.
380 * sysdeps/unix/sysv/linux/read.c: New file.
381 * sysdeps/unix/sysv/linux/write.c: New file.
382 * sysdeps/unix/sysv/linux/i386/pt-socket.S: New file.
383 * sysdeps/unix/sysv/linux/libc_pthread_init.c: Remove definition and
384 initialization of __libc_locking_needed.
385 * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Don't use
386 __libc_locking_needed, use multiple_threads field in TCB.
387 * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise.
388
22f20674
UD
3892002-12-12 Ulrich Drepper <drepper@redhat.com>
390
2ad2e1e7
UD
391 * sysdeps/unix/sysv/linux/i386/i686/libc-lowlevellock.S: Use i486
392 version.
393 * sysdeps/unix/sysv/linux/i386/i586/libc-lowlevellock.S: Likewise.
394
22f20674
UD
395 * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Correct
396 access to __libc_locking_needed for PIC.
397
aa80bf86
UD
3982002-12-12 Jakub Jelinek <jakub@redhat.com>
399
400 * sysdeps/pthread/bits/libc-lock.h (__libc_locking_needed): Only
401 declare for libc.so.
402 (__libc_lock_init, __libc_lock_init_recursive): Change into comma
403 expression.
404 (__libc_lock_lock): Put into statement expression.
405 (__libc_lock_unlock): Remove trailing semicolon.
406 * sysdeps/unix/sysv/linux/fork.h (__libc_pthread_init): Fix typo.
407
24021373
RM
4082002-12-12 Roland McGrath <roland@redhat.com>
409
410 * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Use asm operand with
411 "m" constraint to refer to __libc_locking_needed. Declare it here.
412
14e7aece
UD
4132002-12-12 Ulrich Drepper <drepper@redhat.com>
414
415 * sysdeps/unix/sysv/linux/fork-gen.c: Renamed to...
416 * sysdeps/unix/sysv/linux/libc_pthread_init.c: ...this.
417 Initialize __libc_locking_needed.
418 * init.c (__pthread_initialize_minimal): Call __libc_pthread_init
419 instead of __register_pthread_fork_handler.
420 * sysdeps/pthread/bits/libc-lock.h: Declare __libc_locking_needed.
421 * sysdeps/unix/sysv/linux/Makefile (sysdep_routimes): Replace
422 fork-gen with libc_pthread_init.
423 * sysdeps/unix/sysv/linux/Versions: Use __libc_pthread_init instead
424 of __register_pthread_fork_handler.
425 * sysdeps/unix/sysv/linux/fork.h: Declare __libc_pthread_init instead
426 of __register_pthread_fork_handler.
427 * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Use
428 __libc_locking_needed to determine whether lock prefix can be avoided.
429 * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise.
430
85631c8e
UD
4312002-12-11 Ulrich Drepper <drepper@redhat.com>
432
da63009e
UD
433 * Makefile (tests): Add tst-cleanup1.
434 * tst-cleanup1.c: New file.
435 * cancellation.c (__cleanup_thread): Removed.
436 (__do_cancel): Remove call to __cleanup_thread.
437 * pthreadP.h: Remove __cleanup_thread prorotype.
438
000160a2
UD
439 * sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_region_start):
440 Remember function and argument even if cancellation handler
441 function is not available.
442 (__libc_cleanup_region_end): Execute registered function directly if
443 pthread functions are not available.
444 (__libc_cleanup_end): Likewise.
445
85631c8e
UD
446 * init.c (__pthread_initialize_minimal): Fix initialization in
447 static lib by preventing gcc from being too clever.
448
dce8f2b6
UD
4492002-12-10 Ulrich Drepper <drepper@redhat.com>
450
34a075be
UD
451 * init.c (__pthread_initialize_minimal): Remove unneccesary
452 sigaddset call.
453
dce8f2b6
UD
454 * Makefile (tests): We can run tst-locale2 now.
455
e5e45b53
UD
4562002-12-09 Ulrich Drepper <drepper@redhat.com>
457
458 * Versions: Remove duplicated sigwait entry.
459
bdb04f92
UD
4602002-12-08 Ulrich Drepper <drepper@redhat.com>
461
1e506629
UD
462 * pthreadP.h: Enable pthread_cleanup_{push,pop} optimizations only
463 inside libpthread.
464
a3957dd5
UD
465 * pt-fcntl.c (__fcntl): Initialize oldtype to avoid warning.
466
bdb04f92
UD
467 * pthreadP.h: Declare __pthread_enable_asynccancel and
468 __pthread_disable_asynccancel.
469 (CANCEL_ASYNC): Use __pthread_enable_asynccancel.
470 (CANCEL_RESET): Use __pthread_disable_asynccancel.
471 * cancellation.c (__pthread_enable_asynccancel): New function.
472 (__pthread_disable_asynccancel): New function.
473 * pt-accept.c: Adjust for CANCEL_ASYNC and CANCEL_RESET change.
474 * pt-close.c: Likewise.
475 * pt-connect.c: Likewise.
476 * pt-creat.c: Likewise.
477 * pt-fcntl.c: Likewise.
478 * pt-fsync.c: Likewise.
479 * pt-lseek.c: Likewise.
480 * pt-lseek64.c: Likewise.
481 * pt-msgrcv.c: Likewise.
482 * pt-msgsnd.c: Likewise.
483 * pt-msync.c: Likewise.
484 * pt-nanosleep.c: Likewise.
485 * pt-open.c: Likewise.
486 * pt-open64.c: Likewise.
487 * pt-pause.c: Likewise.
488 * pt-poll.c: Likewise.
489 * pt-pread.c: Likewise.
490 * pt-pread64.c: Likewise.
491 * pt-pselect.c: Likewise.
492 * pt-pwrite.c: Likewise.
493 * pt-pwrite64.c: Likewise.
494 * pt-read.c: Likewise.
495 * pt-readv.c: Likewise.
496 * pt-recv.c: Likewise.
497 * pt-recvfrom.c: Likewise.
498 * pt-recvmsg.c: Likewise.
499 * pt-select.c: Likewise.
500 * pt-send.c: Likewise.
501 * pt-sendmsg.c: Likewise.
502 * pt-sendto.c: Likewise.
503 * pt-sigpause.c: Likewise.
504 * pt-sigsuspend.c: Likewise.
505 * pt-sigtimedwait.c: Likewise.
506 * pt-sigwait.c: Likewise.
507 * pt-sigwaitinfo.c: Likewise.
508 * pt-system.c: Likewise.
509 * pt-tcdrain.c: Likewise.
510 * pt-wait.c: Likewise.
511 * pt-waitid.c: Likewise.
512 * pt-waitpid.c: Likewise.
513 * pt-write.c: Likewise.
514 * pt-writev.c: Likewise.
a3957dd5
UD
515 * pthread_join.c: Likewise.
516 * pthread_timedjoin.c: Likewise.
bdb04f92
UD
517
518 * pt-sigpause.c (sigsuspend): Call __sigsuspend.
519 (__xpg_sigpause): New function.
520 * Versions (libpthread:GLIBC_2.3.2): Add __xpg_sigpause.
521
6ccb3834
UD
5222002-12-07 Ulrich Drepper <drepper@redhat.com>
523
09efc3ba
UD
524 * Makefile (CFLAGS-ftrylockfile.c): Add -D_IO_MTSAFE_IO.
525
526 * cleanup.c: Move declarations of _GI_pthread_cleanup_push and
527 _GI_pthread_cleanup_pop to pthreadP.h.
528
529 * ftrylockfile.c: Use _IO_lock_trylock instead of
530 pthread_mutex_trylock.
531
532 * pthreadP.h (CANCEL_ASYNC): Use __pthread_setcanceltype.
533 (CANCEL_RESET): Likewise.
534 (__pthread_setcanceltype_): Declare.
535 (__pthread_mutex_lock_internal): Declare.
536 (__pthread_mutex_unlock_internal): Declare.
537 (__pthread_once_internal): Declare.
538 (pthread_cleanup_push): Redefine using _GI_pthread_cleanup_push.
539 (pthread_cleanup_pop): Redefine using _GI_pthread_cleanup_pop.
540
541 * pthread_cond_timedwait.c: Use INTUSE is calls to pthread_mutex_lock
542 and pthread_mutex_unlock.
543 * pthread_cond_wait.c: Likewise.
544 * pthread_mutex_lock.c: Use INTDEF to define alias if needed.
545 * pthread_mutex_unlock.c: Likewise.
546
547 * pthread_setcanceltype.c: Add additional alias
548 __pthread_setcanceltype.
549
550 * sem_unlink.c (sem_unlink): Use __pthread_once with INTDEF.
551 * sem_open.c (sem_open): Likewise.
552 Use __libc_open, __libc_write, and __libc_close instead of
553 open, write, and close respectively.
554
555 * sysdeps/pthread/bits/libc-lock.h (__libc_lock_trylock_internal):
556 Rewrite as statement expression since it must return a value.
557
558 * pthread_cancel.c: Use __pthread_kill instead of pthread_kill.
559 * sysdeps/unix/sysv/linux/pthread_kill.c: Define additional alias
560 __pthread_kill.
561
562 * sysdeps/unix/sysv/linux/i386/pthread_once.S: Define additional
563 alias __pthread_once_internal.
564
6ccb3834
UD
565 * sysdeps/unix/sysv/linux/raise.c: Use libc_hidden_def for raise.
566
d3c9f895
UD
5672002-12-06 Ulrich Drepper <drepper@redhat.com>
568
4614167a
UD
569 * Makefile (tests): Add tst-stdio1 and tst-stdio2.
570 * tst-stdio1.c: New file.
571 * tst-stdio2.c: New file.
572
a4548cea
UD
573 * init.c (__pthread_initialize_minimal): Correct INIT_LIST_HEAD use.
574
d3c9f895
UD
575 * Makefile (tests): Comment out tst-locale2 for now.
576 (CFLAGS-flockfile.c, CFLAGS-funlockfile.c): Define to -D_IO_MTSAFE_IO.
577
578 * sysdeps/unix/sysv/linux/Makefile: Define CFLAGS-fork.c to
579 -D_IO_MTSAFE_IO.
580 * sysdeps/unix/sysv/linux/fork.c: Include <bits/stdio-lock.h>.
581 Use _IO_lock_init instead of explicit assignment.
582
583 * sysdeps/pthread/bits/libc-lock.h: Define __rtld_lock_* macros.
584 Define __libc_lock_* and __libc_lock_recursive macros with
585 lowlevellock macros, not pthread mutexes.
586
587 * flockfile.c: Include <bits/stdio-lock.h>. Use _IO_lock_lock instead
588 of pthread_mutex_lock.
589 * funlockfile.c: Include <bits/stdio-lock.h>. Use _IO_lock_unlock
590 instead of pthread_mutex_unlock.
591
fde89ad0
RM
5922002-12-06 Roland McGrath <roland@redhat.com>
593
594 * allocatestack.c (__stack_user): Use uninitialized defn.
595 * init.c (__pthread_initialize_minimal): Initialize it here.
596
11767d47
RM
5972002-12-05 Roland McGrath <roland@redhat.com>
598
fde89ad0
RM
599 * sysdeps/i386/tls.h (TLS_INIT_TP): Make it return zero or an error
600 string.
601 * sysdeps/x86_64/tls.h (TLS_INIT_TP): Likewise.
602
11767d47
RM
603 * sysdeps/unix/sysv/linux/i386/createthread.c (create_thread): Add
604 missing & here too.
605
440d8bc2
UD
6062002-12-05 Ulrich Drepper <drepper@redhat.com>
607
608 * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove
609 lowlevellock.
610 * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: New file.
611 * sysdeps/unix/sysv/linux/i386/i586/libc-lowlevellock.S: New file.
612 * sysdeps/unix/sysv/linux/i386/i686/libc-lowlevellock.S: New file.
613 * sysdeps/pthread/bits/libc-lock.h: Use lowlevellock implementation
614 for __libc_lock_* macros.
615 * Makefile (routines): Add libc-lowlevellock.
616
6172002-10-09 Roland McGrath <roland@redhat.com>
618
619 * sysdeps/pthread/bits/libc-lock.h (__libc_maybe_call): New macro.
620 Under [__PIC__], call the function via the pointer fetched for
621 comparison rather than a call by name that uses the PLT.
622 (__libc_lock_init, __libc_rwlock_init, __libc_lock_fini)
623 (__libc_rwlock_fini, __libc_lock_lock, __libc_rwlock_rdlock)
624 (__libc_rwlock_wrlock, __libc_lock_trylock, __libc_rwlock_tryrdlock)
625 (__libc_rwlock_trywrlock, __libc_lock_unlock, __libc_rwlock_unlock)
626 (__libc_key_create, __libc_getspecific, __libc_setspecific): Use it.
627
d5ed0118
RM
6282002-12-04 Roland McGrath <roland@redhat.com>
629
630 * forward.c (pthread_self): Use FORWARD3 macro to correct return type.
631
632 * sysdeps/i386/td_ta_map_lwp2thr.c: Moved from ../nptl_db.
633 * sysdeps/generic/td_ta_map_lwp2thr.c: New file.
634
635 * pthread_create.c (start_thread): Add missing & on __nptl_last_event.
636
eaa4099f
UD
6372002-12-04 Ulrich Drepper <drepper@redhat.com>
638
639 * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Make pthread_t
640 a completely opaque, non-integer type.
641 * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
642
33b5d0cc
UD
6432002-12-05 Jakub Jelinek <jakub@redhat.com>
644
645 * sysdeps/i386/tls.h: Include stdlib.h.
646 * sysdeps/x86_64/tls.h: Likewise.
647
7a5cdb30
UD
6482002-12-04 Ulrich Drepper <drepper@redhat.com>
649
c4a6d859
UD
650 * Makefile (tests): Add tst-locale2.
651 (tests-static): Likewise.
652 * tst-locale2.c: New file.
653
7a5cdb30
UD
654 * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Mark asms as
655 volatile and add memory clobbers to lock operations.
656
d82d5d12
UD
6572002-12-03 Ulrich Drepper <drepper@redhat.com>
658
69cae3cf
UD
659 * sysdeps/i386/i686/bits/atomic.h: Use i486 version.
660 * sysdeps/i386/i486/bits/atomic.h: New file.
661 * sysdeps/i386/i586/bits/atomic.h: New file.
662 * sysdeps/i386/i686/pthread_spin_trylock.S: Define HAVE_CMOV and
663 include i486 version.
664 * sysdeps/i386/i486/pthread_spin_trylock.S: New file.
665 * sysdeps/i386/i586/pthread_spin_trylock.S: New file.
666 Patch by Marjin Ros <marjin@mad.scientist.com>.
667
e4044c01
UD
668 * allocatestack.c (get_cached_stack): Don't crash if we first
669 found a stack with a larger size then needed.
670 Reported by Hui Huang <hui.huang@sun.com>.
671
d82d5d12
UD
672 * Makefile (tests): Add tst-sysconf.
673 * tst-sysconf.c: New file.
674
675 * sysdeps/unix/sysv/linux/bits/local_lim.h: Undefine
676 PTHREAD_THREADS_MAX.
677
fa9a4ff0
RM
6782002-12-02 Roland McGrath <roland@redhat.com>
679
680 * pthreadP.h (__stack_user, __nptl_create_event, __nptl_death_event):
681 Declare using hidden_proto instead of attribute_hidden, so there are
682 non-.hidden static symbols for gdb to find.
683 (__pthread_keys): Likewise.
684 * events.c (__nptl_create_event, __nptl_death_event): Add hidden_def.
685 * allocatestack.c (__stack_user): Likewise.
686 * pthread_create.c (__pthread_keys): Likewise.
687 (__nptl_threads_events, __nptl_last_event): Make these static instead
688 of hidden.
689 * pthread_key_create.c (__pthread_pthread_keys_max,
690 __pthread_pthread_key_2ndlevel_size): Renamed from __linuxthreads_*.
691
91949a33
UD
6922002-12-02 Ulrich Drepper <drepper@redhat.com>
693
c22b52fa
UD
694 * Makefile (tests): Add tst-locale1. If buid-static is yes link
695 statically.
696 * tst-locale1.c: New file.
697
beb6aa41
UD
698 * pthread_cond_timedwait.c: Include <stdlib.h>.
699
91949a33
UD
700 * Makefile (tests): Add tst-fork2 and tst-fork3.
701 * tst-fork2.c: New file.
702 * tst-fork3.c: New file.
703
654dff90
UD
7042002-11-28 Ulrich Drepper <drepper@redhat.com>
705
cb0e76b4
UD
706 * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: New file.
707
708 * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define macros which
709 require it to 200112L.
710
711 * sysdeps/unix/sysv/linux/i386/i486/lowlevelrwlock.S: Use cmov
712 instruction only if HAVE_CMOV is defined.
713 * sysdeps/unix/sysv/linux/i386/i686/lowlevelrwlock.S: Define HAVE_CMOV.
714
975aa229
UD
715 * sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h: New file.
716
654dff90
UD
717 * sysdeps/unix/sysv/linux/x86_64/pthread_once.S: New file.
718
719 * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: New file.
720
721 * sysdeps/unix/sysv/linux/x86_64/pt-vfork.S: New file.
722
a3931336
UD
7232002-11-27 Ulrich Drepper <drepper@redhat.com>
724
c10c099c
UD
725 * sysdeps/x86_64/bits/atomic.h: New file.
726
727 * sysdeps/i386/i686/bits/atomic.h: Fix asm syntax for 8- and
728 16-bit operations.
729
dca99d27
UD
730 * sysdeps/unix/sysv/linux/raise.c (raise): Use INTERNAL_SYSCALL if
731 possible since gettid cannot fail.
732
f78deea6
UD
733 * sysdeps/x86_64/pthreaddef.h: New file.
734
735 * sysdeps/i386/pthreaddef.h (gettid): Removed.
736
737 * sysdeps/x86_64/pthread_spin_init.c: New file.
738 * sysdeps/x86_64/pthread_spin_lock.c: New file.
739 * sysdeps/x86_64/pthread_spin_trylock.c: New file.
740 * sysdeps/x86_64/pthread_spin_unlock.c: New file.
741
742 * sysdeps/i386/i686/pthread_spin_trylock.S (pthread_spin_trylock):
743 Add missing lock prefix. Minute optimization.
744
745 * tst-spin2.c (main): Also check successful trylock call.
746
747 * sysdeps/pthread/pthread_sigmask.c (pthread_sigmask): Use correct
748 syscall. Fix typo in case INTERNAL_SYSCALL is not used.
749
750 * sysdeps/i386/pthread_spin_destroy.c: Moved to...
751 * sysdeps/pthread/pthread_spin_destroy.c: ...here. New file.
752
753 * sysdeps/i386/pthread_sigmask.c: Removed. Use the generic code.
754 * sysdeps/pthread/pthread_sigmask.c (pthread_sigmask): Return correct
755 value in case of an error. Add support for INTERNAL_SYSCALL.
b54e18eb
UD
756
757 * sysdeps/i386/pthread_sigmask.c (pthread_sigmask): Return correct
758 value in case of an error.
759
a3931336
UD
760 * sysdeps/x86_64/tls.h: New file.
761
76a50749
UD
7622002-11-26 Ulrich Drepper <drepper@redhat.com>
763
117c452c
UD
764 * sysdeps/i386/tls.h (THREAD_GETMEM_NC): Change interface. It now
765 takes the array member name and the index as parameters.
766 (THREAD_SETMEM_NC): Likewise.
767 * pthread_getspecific.c: Use new THREAD_GETMEM_NC interface.
768 * pthread_setspecific.c: Use new THREAD_GETMEM_NC and THREAD_SETMEM_NC
769 interfaces.
770
771 * sysdeps/i386/tls.h (THREAD_SETMEM): Use size of member element
772 to decide which code to use.
773 (THREAD_SETMEM_NC): Likewise.
774
76a50749
UD
775 * allocatestack.c (queue_stack): Don't remove stack from list here.
776 Do it in the caller. Correct condition to prematurely terminate
777 loop to free stacks.
778 (__deallocate_stack): Remove stack from list here.
779
7802002-11-26 Ulrich Drepper <drepper@redhat.com>
781
782 * Makefile (tests): Add tst-stack1.
783 * tst-stack1.c: New file.
784
785 * allocatestack.c (allocate_stack): Initialize the TCB on a user
786 provided stack.
787
788 * pthread_attr_getstack.c: Return bottom of the thread area.
789
7902002-11-25 Ulrich Drepper <drepper@redhat.com>
791
792 * Makefile (libpthread-routines): Add pt-allocrtsig and
793 pthread_kill_other_threads.
794 * pt-allocrtsig.c: New file.
795 * pthread_kill_other_threads.c: New file.
796 * sysdeps/unix/sysv/linux/allocrtsig.c: Add additional aliases for
797 all three functions.
798 * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove
799 allocrtsig.
800 * sysdeps/unix/sysv/linux/Versions (libc:GLIBC_PRIVATE): Export
801 __libc_current_sigrtmin_private, __libc_current_sigrtmax_private,
802 and __libc_allocate_rtsig_private.
803 * Versions (libpthread): Export pthread_kill_other_threads_np,
804 __libc_current_sigrtmin, and __libc_current_sigrtmax.
805
8062002-11-24 Ulrich Drepper <drepper@redhat.com>
807
808 * allocatestack.c (allocate_stack): stackaddr in attribute points to
809 the end of the stack. Adjust computations.
810 When mprotect call fails dequeue stack and free it.
811 * pthread_attr_setstack.c: Store top of the stack in stackaddr
812 attribute.
813 * pthread_getattr_np.c: Likewise.
814
815 * descr.h (IS_DETACHED): Add some more parenthesis to prevent
816 surprises.
817
8182002-11-23 Ulrich Drepper <drepper@redhat.com>
819
820 * sysdeps/pthread/pthread.h (pthread_self): __THROW must come before
821 attribute definitions. Patch by Luca Barbieri <ldb@ldb.ods.org>.
822
8232002-11-22 Ulrich Drepper <drepper@redhat.com>
824
825 * pthread_getspecific.c: Optimize access to first 2nd-level array.
826 * pthread_setspecific.c: Likewise.
827
8282002-11-21 Ulrich Drepper <drepper@redhat.com>
829
830 * sysdeps/unix/sysv/linux/i386/createthread.c: Remove CLONE_ flags
831 definitions. Get them from the official place.
832 * sysdeps/unix/sysv/linux/i386/fork.c: Likewise.
833
834 * sysdeps/unix/sysv/linux/i386/createthread.c: Update CLONE_* flags.
835 Use new CLONE_ flags in clone() calls.
836
837 * sysdeps/unix/sysv/linux/fork.c: Use ARCH_FORK to actually fork.
838 * sysdeps/unix/sysv/linux/i386/fork.c: New file.
839
840 * Versions: Add pthread_* functions for libc.
841 * forward.c: New file.
842
843 * sysdeps/pthread/Makefile (libpthread-sysdeps_routines): Add
844 errno-loc.
845 * herrno.c: New file.
846 * res.c: New file.
847
848 * Makefile (libpthread-routines): Remove sem_post, sem_wait,
849 sem_trywait, and sem_timedwait. Add herrno and res.
850 * sem_init.c: Don't initialize lock and waiters members.
851 * sem_open.c: Likewise.
852 * sem_post.c: Removed.
853 * sem_wait.c: Removed.
854 * sem_trywait.c: Removed.
855 * sem_timedwait.c: Removed.
856 * sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Complete rewrite.
857 Includes full implementations of sem_post, sem_wait, sem_trywait,
858 and sem_timedwait.
859 * sysdeps/unix/sysv/linux/i386/lowlevelsem.h (lll_sem_post): Adjust
860 for new implementation.
861 * sysdeps/unix/sysv/linux/internaltypes.h (struct sem): Remove lock
862 and waiters fields.
863
864 * tst-sem3.c: Improve error message.
865 * tst-signal3.c: Likewise.
866
867 * init.c (__pthread_initialize_minimal): Use set_tid_address syscall
868 to tell the kernel about the termination futex and to initialize tid
869 member. Don't initialize main_thread.
870 * descr.h (struct pthread): Remove main_thread member.
871 * cancelllation.c (__do_cancel): Remove code handling main thread.
872 The main thread is not special anymore.
873
874 * allocatestack.c (__reclaim_stacks): Mark stacks as unused. Add
875 size of the stacks to stack_cache_actsize.
876
877 * pt-readv.c: Add missing "defined".
878 * pt-sigwait.c: Likewise.
879 * pt-writev.c: Likewise.
880
8812002-11-09 Ulrich Drepper <drepper@redhat.com>
882
883 * Versions: Export __connect from libpthread.
884 Patch by Luca Barbieri <ldb@ldb.ods.org>.
885
886 * Makefile (libpthread-routines): Add pt-raise.
887 * sysdeps/unix/sysv/linux/raise.c: New file.
888 * sysdeps/unix/sysv/linux/pt-raise.c: New file.
889 * sysdeps/generic/pt-raise.c: New file.
890
891 * pthread_cond_init.c: Initialize all data elements of the condvar
892 structure. Patch by Luca Barbieri <ldb@ldb.ods.org>.
893
894 * pthread_attr_init.c: Actually implement 2.0 compatibility version.
895 * pthread_create.c: Likewise.
896
897 * Makefile (tests): Add tst-key1, tst-key2, tst-key3.
898 * tst-key1.c: New file.
899 * tst-key2.c: New file.
900 * tst-key3.c: New file.
901
902 * Versions: Export pthread_detach for version GLIBC_2.0.
903 Reported by Saurabh Desai <sdesai@austin.ibm.com>.
904
9052002-11-08 Ulrich Drepper <drepper@redhat.com>
906
907 * pthread_key_create.c: Terminate search after an unused key was found.
908 Patch by Luca Barbieri <ldb@ldb.ods.org>.
909
910 * sysdeps/unix/sysv/linux/i386/pthread_once.S: Return zero.
911 Patch by Luca Barbieri <ldb@ldb.ods.org>.
912
9132002-10-10 Ulrich Drepper <drepper@redhat.com>
914
915 * sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Use slow generic
916 dynamic lookup for errno in PIC.
917
918 * allocatestack.c (get_cached_stack): Rearrange code slightly to
919 release the stack lock as soon as possible.
920 Call _dl_allocate_tls_init for TCB from the cache to re-initialize
921 the static TLS block.
922 (allocate_stack): Call _dl_allocate_tls_init for user-provided stack.
923
924 * cancellation.c: Renamed from cancelation.c.
925 * Makefile: Adjust accordingly.
926 * pthreadP.h (CANCELLATION_P): Renamed from CANCELATION_P.
927 * cleanup_defer.c: Use CANCELLATION_P.
928 * pthread_testcancel.c: Likewise.
929 * descr.h: Fix spelling in comments.
930 * init.c: Likewise.
931 * pthread_getattr_np.c: Likewise.
932 * pthread_getschedparam.c: Likewise.
933 * pthread_setschedparam.c: Likewise.
934 * Versions: Likewise.
935
936 * pt-pselect.c: New file.
937 * Makefile (libpthread-routines): Add pt-pselect.
938 * Versions: Add pselect.
939
940 * tst-cancel4.c: New file.
941 * Makefile (tests): Add tst-cancel4.
942
9432002-10-09 Ulrich Drepper <drepper@redhat.com>
944
945 * pthread_mutex_lock.c: Always record lock ownership.
946 * pthread_mutex_timedlock.c: Likewise.
947 * pthread_mutex_trylock.c: Likewise.
948
949 * pt-readv.c: New file.
950 * pt-writev.c: New file.
951 * pt-creat.c: New file.
952 * pt-msgrcv.c: New file.
953 * pt-msgsnd.c: New file.
954 * pt-poll.c: New file.
955 * pt-select.c: New file.
956 * pt-sigpause.c: New file.
957 * pt-sigsuspend.c: New file.
958 * pt-sigwait.c: New file.
959 * pt-sigwaitinfo.c: New file.
960 * pt-waitid.c: New file.
961 * Makefile (libpthread-routines): Add pt-readv, pt-writev, pt-creat,
962 pt-msgrcv, pt-msgsnd, pt-poll, pt-select, pt-sigpause, pt-sigsuspend,
963 pt-sigwait, pt-sigwaitinfo, and pt-waitid.
964 * Versions: Add all the new functions.
965
966 * tst-exit1.c: New file.
967 * Makefile (tests): Add tst-exit1.
968
969 * sem_timedwait.c: Minor optimization for more optimal fastpath.
970
9712002-10-08 Ulrich Drepper <drepper@redhat.com>
972
973 * pt-fcntl.c: Only enable asynchronous cancellation for F_SETLKW.
974
975 * pthread_join.c: Enable asynchronous cancellation around lll_wait_tid
976 call. pthread_join is an official cancellation point.
977 * pthread_timedjoin.c: Likewise.
978
979 * pthread_cond_wait.c: Revert order in which internal lock are dropped
980 and the condvar's mutex are retrieved.
981 * pthread_cond_timedwait.c: Likewise.
982 Reported by dice@saros.East.Sun.COM.
983
9842002-10-07 Ulrich Drepper <drepper@redhat.com>
985
986 * pthreadP.h: Cut out all type definitions and move them...
987 * sysdeps/unix/sysv/linux/internaltypes.h: ...here. New file.
988 * pthreadP.h: Include <internaltypes.h>.
989
990 * sysdeps/unix/sysv/linux/i386/lowlevelsem.h (lll_sem_post): Little
991 performance tweaks.
992
993 * sem_trywait.c: Shuffle #includes around to get right order.
994 * sem_timedwait.c: Likewise.
995 * sem_post.c: Likewise.
996 * sem_wait.c: Likewise.
997
998 * nptl 0.3 released.
999
1000 * Makefile (tests): Add tst-signal3.
1001 * tst-signal3.c: New file.
1002
10032002-10-05 Ulrich Drepper <drepper@redhat.com>
1004
1005 * sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Tell the compiler that
1006 the asms modify the sem object.
1007 (__lll_sem_timedwait): Now takes struct sem* as first parameter.
1008
1009 * sysdeps/unix/sysv/linux/i386/bits/semaphore.h (sem_t): Don't expose
1010 the actual members.
1011 * pthreadP.h (struct sem): New type. Actual semaphore type.
1012 * semaphoreP.h: Include pthreadP.h.
1013 * sem_getvalue.c: Adjust to sem_t change.
1014 * sem_init.c: Likewise.
1015 * sem_open.c: Likewise.
1016 * sem_post.c: Likewise.
1017 * sem_timedwait.c: Likewise.
1018 * sem_trywait.c: Likewise.
1019 * sem_wait.c: Likewise.
1020
10212002-10-04 Ulrich Drepper <drepper@redhat.com>
1022
1023 * Makefile (tests): Add tst-basic2, tst-exec1, tst-exec3, tst-exec3.
1024 * tst-basic2.c: New file.
1025 * tst-exec1.c: New file.
1026 * tst-exec2.c: New file.
1027 * tst-exec3.c: New file.
1028
1029 * tst-fork1.c: Remove extra */.
1030
1031 * nptl 0.2 released. The API for IA-32 is complete.
This page took 0.135919 seconds and 5 git commands to generate.