.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 2003-01-29  Roland McGrath  <roland@redhat.com>
2
3         * configure.in: Barf if configured in $srcdir.
4         * configure: Regenerated.
5
6 2003-01-28  Steven Munroe  <sjmunroe@us.ibm.com>
7
8         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
9         (__fe_nomask_env): Change __prctl call to INTERNAL_SYSCALL.
10
11 2003-01-28  Martin Schwidefsky  <schwidefsky@de.ibm.com>
12
13         * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Reorder additional
14         clone parameters to match the order used on ia32.
15         * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.
16
17 2003-01-27  Martin Schwidefsky  <schwidefsky@de.ibm.com>
18
19         * elf/elf.h: Add new s390 relocs.
20         * elf/tls-macros.h: Add s390 versions.
21         * sysdeps/s390/Versions [GLIBC_2.3] (ld): Export __tls_get_offset.
22         * sysdeps/s390/dl-tls.h: New file.
23         * sysdeps/s390/libc-tls.c: New file.
24         * sysdeps/s390/s390-32/dl-machine.h (elf_machine_type_class): Add TLS
25         relocs for class PLT.
26         (elf_machine_rela): Handle TLS relocs.
27         * sysdeps/s390/s390-64/dl-machine.h: Likewise.
28         * sysdeps/s390/s390-32/elf/configure.in: Add TLS check.
29         * sysdeps/s390/s390-64/elf/configure.in: Likewise.
30         * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Add support for
31         CLONE_CHILD_*TID flags.
32         * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.
33         * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S: Use branch with 32
34         bit offset.
35         * sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise.
36         * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.
37         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S (__syscall_error):
38         Support USE___THREAD. Define RTLD_PRIVATE_ERRNO variant.
39         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S (__syscall_error):
40         Likewise.
41         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h:
42         (SYSCALL_ERROR_LABEL): Move define next to SYSCALL_ERROR_HANDLER.
43         (SYSCALL_ERROR_HANDLER): Add USE___THREAD and RTLD_PRIVATE_ERRNO
44         variants.
45         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h:
46         (SYSCALL_ERROR_LABEL): Move define next to SYSCALL_ERROR_HANDLER. Use
47         direct branch to syscall_error for !PIC and PIC && !_LIBC_REENTRANT.
48         (SYSCALL_ERROR_HANDLER): Add USE___THREAD and RTLD_PRIVATE_ERRNO
49         variants.
50
51 2003-01-28  Ulrich Drepper  <drepper@redhat.com>
52
53         * sysdeps/unix/common/pause.c (do_pause): New function.  Split
54         from __libc_pause.  Implement using sigsuspend.
55         (__libc_pause): Call do_pause to do the real work.
56
57         * sysdeps/posix/sigpause.c (do_sigpause): Check range of
58         sig_or_mask parameter is is_sig != 0.
59
60 2003-01-21  Philip Blundell  <philb@gnu.org>
61
62         * sysdeps/unix/sysv/linux/bits/ioctls.h (SIOCSIFNAME): Define.
63
64 2003-01-27  Steven Munroe  <sjmunroe@us.ibm.com>
65
66         * stdio-common/Makefile: Add bug14-ENV to set LOCPATH for make check.
67
68 2003-01-27  Ulrich Drepper  <drepper@redhat.com>
69
70         * stdio-common/bug14.c: Use official name for the locale.
71
72         * stdio-common/vfprintf.c [USE_IN_LIBIO]: Use _IO_cleanup_region_start
73         instead of __libc_cleanup_region_start and _IO_cleanup_region_end
74         instead of __libc_cleanup_region_end.
75
76         * sysdeps/unix/sysv/linux/i386/system.c (CLEANUP_HANDLER): Pass 1
77         as first parameter to __libc_cleanup_region_start.
78
79         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
80         (__fe_nomask_env): Use __prctl not prctl.
81         * sysdeps/unix/sysv/linux/syscalls.list: Add __prctl alias for
82         prctl syscall.
83
84         * elf/dl-reloc.c (CHECK_STATIC_TLS): Improve error message.
85
86         * elf/dl-open.c (_dl_tls_static_size): Bump to 2048.
87
88         * elf/dl-reloc.c (allocate_static_tls): Avoid arithmetic
89         wrap-around in test.
90
91 2003-01-26  Andreas Schwab  <schwab@suse.de>
92
93         * sysdeps/wordsize-32/divdi3.c: Export the functions only as
94         compatibility symbols.  Remove INTDEF for __divdi3.
95         * sysdeps/wordsize-32/lldiv.c: Don't use __divdi3_internal.
96         * sysdeps/powerpc/powerpc32/divdi3.c: Remove.
97         * sysdeps/powerpc/powerpc32/Makefile (CPPFLAGS-divdi3.c): Don't
98         define.
99         * sysdeps/powerpc/powerpc32/Dist: Remove divdi3.c.
100
101 2003-01-24  Jakub Jelinek  <jakub@redhat.com>
102
103         * elf/tls-macros.h: Add SPARC 32-bit definitions.
104         * sysdeps/sparc/sparc32/elf/configure.in: Add TLS check.
105         * sysdeps/sparc/sparc32/dl-machine.h: Add dl_machine_h guards
106         for the first half of the header.  Include tls.h.
107         (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS
108         relocs too.
109         (elf_machine_rela): Handle TLS relocs.
110         * sysdeps/sparc/dl-tls.h: New file.
111
112         * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Add cancellation
113         support.
114
115         * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Use %g6 instead of %g7.
116         * sysdeps/sparc/sparc32/memchr.S: Likewise.
117         * sysdeps/sparc/sparc32/memcpy.S: Likewise.
118         * sysdeps/sparc/sparc32/strcat.S: Likewise.
119         * sysdeps/sparc/sparc32/strchr.S: Likewise.
120         * sysdeps/sparc/sparc32/strcmp.S: Likewise.
121         * sysdeps/sparc/sparc32/strcpy.S: Likewise.
122         * sysdeps/sparc/sparc64/sparcv9b/memcpy.S: Likewise.
123         * sysdeps/sparc/sparc64/hp-timing.h: Likewise.
124         * sysdeps/sparc/sparc64/memcpy.S: Likewise.
125         * sysdeps/sparc/sparc64/stpcpy.S: Likewise.
126         * sysdeps/sparc/sparc64/stpncpy.S: Likewise.
127         * sysdeps/sparc/sparc64/strcat.S: Likewise.
128         * sysdeps/sparc/sparc64/strchr.S: Likewise.
129         * sysdeps/sparc/sparc64/strcmp.S: Likewise.
130         * sysdeps/sparc/sparc64/strcpy.S: Likewise.
131         * sysdeps/sparc/sparc64/strncmp.S: Likewise.
132         * sysdeps/sparc/sparc64/strncpy.S: Likewise.
133         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
134         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
135
136 2003-01-24  Andreas Schwab  <schwab@suse.de>
137
138         * elf/dl-close.c (_dl_close): Don't relocate DT_FINI_ARRAY
139         elements, and process them backwards.
140         * elf/Makefile ($(objpfx)tst-array4): New target.
141         ($(objpfx)tst-array4.out): Likewise.
142         (tests) [$(have-initfini-array) = yes]: Add tst-array4.
143         * elf/tst-array4.c: New file.
144         * elf/tst-array4.exp: Likewise.
145
146 2003-01-24  Steven Munroe  <sjmunroe@us.ibm.com>
147
148         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c: New file.
149
150 2003-01-27  Guido Guenther  <agx@sigxcpu.org>
151
152         * sysdeps/unix/sysv/linux/mips/sysdep.h (SYSCALL_ERROR_LABEL): Define.
153         * sysdeps/unix/sysv/linux/mips/pread.c: Add support for
154         cancellation handling and handle both __NR_pread64 and __NR_pread.
155         * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
156         * sysdeps/unix/sysv/linux/mips/pwrite.c: Add support for
157         cancellation handling and handle both __NR_pwrite64 and __NR_pwrite.
158         * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
159         * sysdeps/unix/mips/sysdep.S: Don't set errno in the _LIBC_REENTRANT
160         case, use register names consistently.
161
162 2003-01-27  Wolfram Gloger  <wg@malloc.de>
163
164         * malloc/hooks.c (mem2chunk_check): Check alignment of mem
165         pointer, not of the computed chunk.  Bug report from Carlos
166         O'Donell <carlos@baldric.uwo.ca>.
167
168 2003-01-25  Andreas Schwab  <schwab@suse.de>
169
170         * sysdeps/m68k/dl-machine.h (_dl_start_user): Use pc-relative
171         addressing to save GOT entries.
172
173 2003-01-21  Jakub Jelinek  <jakub@redhat.com>
174
175         * sysdeps/unix/alpha/sysdep.h (inline_syscall0,
176         inline_syscall1, inline_syscall2, inline_syscall3,
177         inline_syscall4, inline_syscall5, inline_syscall6): Add __volatile__.
178         * sysdeps/unix/sysv/linux/alpha/sysdep.h (INTERNAL_SYSCALL): Add
179         __attribute__((unused)) to ChEcK.
180
181 2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
182
183         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INTERNAL_SYSCALL):
184         Fix inline assembler constraints.
185         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (INTERNAL_SYSCALL):
186         Likewise.
187
188         * sysdeps/s390/s390-64/Makefile (pic-ccflag): Use -fpic instead of
189         -fPIC.
190
191 2003-01-20  Segher Boessenkool  <segher@koffie.nl>
192
193         * sysdeps/ieee754/dbl-64/sincos32.c (__mpcos): Really
194         compute the cosine, not the sine, even if x > 0.8.
195
196 2003-01-19  Ulrich Drepper  <drepper@redhat.com>
197
198         * nis/nss_nis/nis-spwd.c: Make _nss_nis_endspent an alias of
199         _nss_nis_setspent.  Work around the different prototypes.
200         * nis/nss_nis/nis-rpc.c (internal_nis_setrpcent): Use
201         internal_nis_endrpcent.
202         (internal_nis_endrpcent): Change return type to void.  Change callers.
203         * nis/nss_nis/nis-pwd.c: Make _nss_nis_endpwent an alias of
204         _nss_nis_setpwent.  Work around the different prototypes.
205         * nis/nss_nis/nis-proto.c (_nss_nis_endprotoent): Split out body
206         of the function to...
207         (internal_nis_endprotoent): ... here.  New function.
208         (internal_nis_setprotoent): Use internal_nis_endprotoent.
209         * nis/nss_nis/nis-network.c: Make _nss_nis_endnetent an alias of
210         _nss_nis_setnetent.  Work around the different prototypes.
211         * nis/nss_nis/nis-netgrp.c (_nss_nis_endnetgrent): Split out body
212         of the function to...
213         (internal_nis_endnetgrent): ... here.  New function.
214         (_nss_nis_setnetgrent): Use internal_nis_endnetgrent.
215
216 2003-01-19  Jim Meyering  <jim@meyering.net>
217
218         * time/strftime.c: (widen): Merge nearly-identical definitions.
219         (nl_get_alt_digit) [! defined my_strftime]: Define.
220         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
221         _nl_get_alt_digit and _nl_get_walt_digit.
222
223 2003-01-19  Ulrich Drepper  <drepper@redhat.com>
224
225         * time/strftime.c (my_strftime): Handle very large width
226         specifications for numeric values correctly.  Improve checks for
227         overflow.
228         * time/Makefile (tests): Add tst-strftime.
229         * time/tst-strftime.c: New file.
230
231 2003-01-18  Ulrich Drepper  <drepper@redhat.com>
232
233         * nis/nss_nis/nis-hosts.c: Make _nss_nis_endhostent an alias of
234         _nss_nis_sethostent.  Work around the different prototypes.
235         * nis/nss_nis/nis-grp.c: Make _nss_nis_endgrent an alias of
236         _nss_nis_setgrent.  Work around the different prototypes.
237         * nis/nss_nis/nis-ethers.c (internal_nis_endetherent): New
238         function.  Split out from _nss_nis_endetherent.
239         (internal_nis_setetherent): Use internal_nis_endetherent instead of
240         duplicating the code.
241         * nis/nss_nis/nis-alias.c: Make _nss_nss_nis_endaliasent an alias
242         of _nss_nis_setaliasent.
243         * nis/nss_nis/nis-service.c (internal_nis_setservent): Reuse
244         internal_nis_endservent code, don't duplicate it.
245
246         * inet/rexec.c (rexec_af): Protect socket operations with
247         TEMP_FAILURE_RETRY.  Use writev instead of multiple write.
248         * inet/rcmd.c (rcmd_af): Likewise.
249
250 2003-01-17  Roland McGrath  <roland@redhat.com>
251
252         * math/libm-test.inc (sin_test, cos_test, sincos_test) [TEST_DOUBLE]:
253         Add test of value 0.80190127184058835.
254
255         * elf/dl-open.c: Fix typo ifdef -> ifndef on _dl_tls_static_size defn.
256
257 2003-01-17  Richard Henderson  <rth@redhat.com>
258
259         * sysdeps/alpha/dl-machine.h (elf_machine_type_class): Add TLS
260         relocs for class PLT.
261         * sysdeps/alpha/libc-tls.c: New file.
262         * sysdeps/unix/alpha/sysdep.S (EPILOGUE, GPSAVEREG): New.
263         (LOADGP) [!PIC]: Rewrite to preserve caller's gp.
264
265 2003-01-17  Jakub Jelinek  <jakub@redhat.com>
266
267         * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init): Use
268         __libc_lock_{,un}lock_recursive instead of __libc_lock_{,un}lock
269         on _dl_static_lock.
270
271 2003-01-17  Andreas Jaeger  <aj@suse.de>
272
273         * stdio-common/bug14.c: Include stdlib.h for exit prototype.
274
275 2003-01-16  Steven Munroe  <sjmunroe@us.ibm.com>
276
277         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: New file.
278         * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: New file.
279         * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: New file.
280         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: New file.
281         * sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h: New file.
282         * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: New file.
283         * sysdeps/unix/sysv/linux/configure.in: Minimum kernel for PPC64
284         is 2.4.21.
285
286 2003-01-16  Ulrich Drepper  <drepper@redhat.com>
287
288         * sysdeps/generic/glob.c (glob): Assume sysconf() always returns
289         values != -1 for _LIBC.  Use extend_alloca to reallocate alloca'ed
290         buffers.
291
292         * sysdeps/generic/sysconf.c: Unconditionally implement
293         _SC_GETPW_R_SIZE_MAX and _SC_GETGR_R_SIZE_MAX.
294         * sysdeps/posix/sysconf.c: Likewise.
295
296 2003-01-16  Jakub Jelinek  <jakub@redhat.com>
297
298         * posix/regcomp.c (parse_bracket_exp): If build_charclass fails,
299         set *err to the returned error, not to REG_ESPACE unconditionally.
300         (build_word_op): Likewise.
301         * posix/Makefile (tests): Add bug-regex16.
302         * posix/bug-regex16.c: New test.
303
304 2003-01-16  Jakub Jelinek  <jakub@redhat.com>
305
306         * elf/dl-load.c (_dl_map_object_from_fd): Use
307         GL(dl_tls_dtv_slotinfo_list) != NULL to check whether TLS has
308         been already initialized.
309
310 2003-01-15  Dmitry V. Levin  <ldv@altlinux.org>
311
312         * sysdeps/unix/sysv/linux/ptsname.c: Fix typo in comment.
313
314 2003-01-16  Jakub Jelinek  <jakub@redhat.com>
315
316         * posix/regcomp.c (re_compile_internal): If clearing buffer, clear
317         allocated too.  Reported by Al Viro <aviro@redhat.com>.
318
319 2003-01-16  Roland McGrath  <roland@redhat.com>
320
321         Tweak merged .abilist file format to merge duplicate symbols in
322         different sets into multi-version stanzas with new "| SET regexp..."
323         header continuation lines.
324         * scripts/merge-abilist.awk: Rewritten for new format.
325         * scripts/extract-abilist.awk: Likewise.
326
327 2003-01-15  Ulrich Drepper  <drepper@redhat.com>
328
329         * nscd/connections.c (nscd_run): Remove bogus return which isn't
330         necessary with gcc 3.2+.
331         (nscd_init): Don't use error() to print message, use dbg_log.
332
333         * iconv/gconv_simple.c (STORE_REST): Explicitly store the total
334         expected size into state.
335         (UNPACK_BYTES): Do the reverse.
336         * iconv/loop.c: Use CLEAR_STATE if defined to clear __state element.
337         * wcsmbs/tst-mbrtowc.c (utf8_test_1): Add test for the bug.
338         Reported by Al Viro <aviro@redhat.com>.
339
340         * stdio-common/Makefile (tests): Add bug14.
341         * stdio-common/bug14.c: New file.
342
343         * stdio-common/vfscanf.c: When recognizing multibyte characters in
344         string reset the byte counter after mbrtowc reported it is not a
345         partial character.  Reported by Al Viro <aviro@redhat.com>.
346
347 2003-01-15  Steven Munroe  <sjmunroe@us.ibm.com>
348
349         * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Include
350         sysdep-cancel.h, not sysdep.h.
351
352 2003-01-15  Ulrich Drepper  <drepper@redhat.com>
353
354         * nscd/connections.c (nscd_run): Protect accept call with
355         TEMP_FAILURE_RETRY.
356
357 2003-01-15  Andreas Schwab  <schwab@suse.de>
358
359         * sysdeps/unix/Makefile: Include $(common-objpfx)s-proto-bp.d.
360         (common-generated): Add s-proto-bp.d.
361         * sysdeps/unix/make-syscalls.sh: Use s-proto-bp.d for dependencies
362         of bp thunks.
363         * sysdeps/unix/s-proto-bp.S: New file.
364         * sysdeps/generic/bp-thunks.h: Don't include <sys/vm86.h> here.
365         Use <io/sys/sendfile.h> instead of <sys/sendfile.h>.
366         * sysdeps/unix/sysv/linux/i386/bp-thunks.h: New file.
367
368 2003-01-15  Roland McGrath  <roland@redhat.com>
369
370         * Makerules: Use -include for tls.make, suppresses warning.
371         Move gen-as-const-headers rules up so before-compile is set in time.
372         (sed-remove-dotdot): Fix to work right for subdirs or top dir.
373
374 2003-01-15  Ulrich Drepper  <drepper@redhat.com>
375
376         * nscd/nscd.c (main): Make code to close all file descriptors
377         faster and more robust.
378
379         * nscd/nscd_getpw_r.c (nscd_getpw_r): Consolidate writing of the
380         request with one writev call.  Protect all read calls with
381         TEMP_FAILURE_RETRY.
382         * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
383         * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
384
385         * nscd/hstcache.c: Use extend_alloca to reallocate alloca'd buffer.
386         Protect writev calls with TEMP_FAILURE_RETRY.
387         * nscd/grpcache.c: Likewise.
388         * nscd/pwdcache.c: Likewise.
389
390         * nscd/hstcache.c (addhstbynamev6): Don't interpret hostname as
391         IPv6 address in debug output.
392
393 2003-01-14  Roland McGrath  <roland@redhat.com>
394
395         * Makerules (check-abi-%): Use two rules for $(common-objpfx) and
396         $(objpfx) directories, and get rid of vpath directives.  The previous
397         arrangement resulted in files being written to the source directories
398         when run in a clean build.  Find all .abilist files in $(..)abilist/.
399         (update-abi-%): Likewise.
400         (generated): Don't add .symlist files, they'll be intermediates.
401
402         * sysdeps/generic/init-first.c: Add a comment.
403
404         * elf/Makefile ($(objpfx)ld.so): Pass -z defs in link.
405
406         * scripts/gen-as-const.awk: Grok lone "--" as a separator between
407         #includes and expressions.
408
409         * scripts/merge-abilist.awk: Omit cpu-.*-os.*/modifier from merged
410         config list when it already contains cpu-.*-os.* without / part.
411
412         * Makerules (sed-remove-dotdot): New variable.
413         ($(common-objpfx)%.make): Use it.  Depend on $(before-compile).
414         ($(common-objpfx)%.h $(common-objpfx)%.h.d): Likewise.
415         (check-abi-config): New variable, append /tls or /notls to the tuple.
416         (check-abi-%): Use that for -v config value.
417         Find .abilist files in abilist/libfoo.abilist, not in subdir.
418         * Rules: Move bits/stdio_lim.h generation rules to Makerules.
419
420 2003-01-14  Ulrich Drepper  <drepper@redhat.com>
421
422         * manual/install.texi: Correct description of header preparation for
423         Linux build.  Patch by mhwood@Ameritech.Net [PR libc/4941].
424
425 2003-01-14  Guido Guenther  <agx@sigxcpu.org>
426
427         * sysdeps/unix/sysv/linux/mips/sysdep.h (INTERNAL_SYSCALL,
428         INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
429         INTERNAL_SYSCALL_ERROR_P, INLINE_SYSCALL): Define.
430
431 2003-01-14  Steven Munroe  <sjmunroe@us.ibm.com>
432
433         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
434         (INTERNAL_SYSCALL): Make use of ERR parameter.
435         (INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
436         INTERNAL_SYSCALL_ERROR_P): Adjust accordingly.
437         (INLINE_SYSCALL): Make use of INTERNAL_SYSCALL.
438         * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: New file.
439
440 2003-01-14  Ulrich Drepper  <drepper@redhat.com>
441
442         * sunrpc/pm_getport.c (pmap_getport): Open TCP socket if protocol
443         == IPPROTO_TCP.
444         Patch by James Strandboge <jamie@tpptraining.com> [PR libc/4943].
445
446         * sysdeps/unix/sysv/linux/i386/dl-procinfo.c (_dl_x86_cap_flags):
447         Fix entry for bit 31.
448
449         * iconvdata/Makefile: Add rules to build IBM866NAV.
450         * iconvdata/ibm866nav.c: New file.
451         * iconvdata/tst-tables.sh: Add IBM866NAV.
452         * iconvdata/gconv-modules: Add entries for IBM866NAV.
453
454 2003-01-13  Ulrich Drepper  <drepper@redhat.com>
455
456         * string/tester.c (test_strcpy): Use the previously #if 0'ed code
457         to test void* parameters.
458
459         * sysdeps/i386/i486/bits/string.h (__STRING_SMALLL_GET16): Cast
460         source pointer before dereferencing.
461         (__STRING_SMALLL_GET32): Likewise.
462         (__memset_gc): Add missing parenthesis around macro arguments.
463         Patch by Denis Zaitsev <zzz@cd-club.ru>.
464
465         * sysdeps/i386/i486/bits/string.h (__strspn_cg): Tell the compiler
466         that %eax is modified.  Reported by Denis Zaitsev <zzz@cd-club.ru>.
467
468 2003-01-14  Jakub Jelinek  <jakub@redhat.com>
469
470         * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL): Undefined before
471         defining.
472
473 2003-01-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
474
475         * sysdeps/s390/s390-64/initfini.c: Avoid unterminated string literals.
476         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (L): Don't define it
477         here.
478         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (L): Likewise.
479
480 2003-01-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
481
482         * sysdeps/s390/s390-32/sysdep.h (JUMPTARGET): Move branch instructions
483         from here...
484         (PSEUDO): ... to here.
485         * sysdeps/s390/s390-64/sysdep.h (JUMPTARGET): Move branch instruction
486         from here...
487         (PSEUDO): ... to here.
488
489 2003-01-13  Ulrich Drepper  <drepper@redhat.com>
490
491         * locale/programs/charmap-dir.c (charmap_readdir): Use struct
492         dirent64 instead of struct dirent for dirent.  Call readdir64
493         instead of readdir.
494
495         * locale/programs/locfile.c (siblings_uncached): Use struct
496         dirent64 instead of struct dirent for other_dentry.  Call
497         readdir64 instead of readdir.
498
499         * elf/ldconfig.c (direntry): Change type to struct dirent64.
500         (search_dir): Use readdir64 instead of readdir.
501         Patch by Zhangfan Xing <xing@pacific.jpl.nasa.gov>.
502
503 2003-01-12  Roland McGrath  <roland@redhat.com>
504
505         * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Use strtoul,
506         not strtol.  The former is usable in ld.so, the latter not.
507
508         * include/fcntl.h: Declare __libc_creat.
509
510         * sysdeps/mach/hurd/Makefile (libmachuser-link.so-no-z-defs,
511         libhurduser-link.so-no-z-defs): New variables.
512
513         * malloc/malloc.c: Revert last change.
514         * malloc/malloc.h (_int_*): Move these decls to ...
515         * include/malloc.h: ... here.  Add attribute_hidden.
516         (_int_valloc): Declare it too.
517
518 2003-01-12  Ulrich Drepper  <drepper@redhat.com>
519
520         * elf/dl-close.c (_dl_close): Fix typo, must be == not = in
521         search for removed searchlist.  Reported by Roland McGrath.
522
523         * io/ftwtest-sh: Add test for case of symlink to nonexisting file
524         given as start file.
525
526         * io/ftw.c (ftw_startup): Use correct name in check for symlink
527         without existing target.  Patch by Jim Meyering.
528
529         * Makerules (build-shlib-helper): Don't use -z defs linker option
530         if no-z-defs is defined either.
531
532 2003-01-10  Martin Schwidefsky  <schwidefsky@de.ibm.com>
533
534         * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: Remove unused
535         file.
536
537 2003-01-10  Martin Schwidefsky  <schwidefsky@de.ibm.com>
538
539         * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Add vfork.
540         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
541
542 2003-01-12  Ulrich Drepper  <drepper@redhat.com>
543
544         * io/ftwtest-sh: Add test case for relative path with /. at the end.
545
546 2003-01-12  Jim Meyering  <jim@meyering.net>
547
548         * io/ftw.c (ftw_startup): When trying to stat the starting directory,
549         use the basename if we've already chdir'd into its parent directory.
550
551 2003-01-12  Ulrich Drepper  <drepper@redhat.com>
552
553         * io/ftw.c (process_entry): Use relative path when using chdir()
554         to change directory after call to ftw_dir.
555         * io/ftwtest-sh: Add test for relative path argument to nftw()
556         with FTW_CHDIR option.
557
558 2002-01-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
559
560         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL):
561         Define for powerpc.
562         * sysdeps/unix/sysv/linux/powerpc/syscall.S: Take register alignment
563         into account.
564         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
565         (INTERNAL_SYSCALL): Make use of ERR parameter.
566         (INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
567         INTERNAL_SYSCALL_ERROR_P): Adjust accordingly.
568         (INLINE_SYSCALL): Make use of INTERNAL_SYSCALL.
569         * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: New file.
570
571 2002-01-09  Richard Henderson  <rth@redhat.com>
572
573         * sysdeps/alpha/dl-machine.h (elf_machine_rela): Compute
574         DTPREL64 and TPREL64 without loadbase applied.
575
576 2002-01-09  Richard Henderson  <rth@redhat.com>
577
578         * sysdeps/unix/alpha/sysdep.S: Use correct definition of errno
579         for NOT_IN_libc.
580
581         * sysdeps/unix/sysv/linux/alpha/sysdep.h: Move inline syscall bits...
582         * sysdeps/unix/alpha/sysdep.h: ... here.
583         (PSEUDO_LOADGP): Remove.
584         (PSEUDO_PROLOGUE): Load GP in non-pic case.
585         (SYSCALL_ERROR_LABEL): New.
586         (PSEUDO): Use it in error branch.
587         (PSEUDO_END): Add $syscall_error label.
588
589 2003-01-12  Andreas Jaeger  <aj@suse.de>
590
591         * math/bits/mathcalls.h: Round is a const function.
592
593 2003-01-11  Jim Meyering  <jim@meyering.net>
594
595         * io/ftw.c [HAVE_CONFIG_H]: Include <config.h>.
596         [HAVE_SYS_PARAM_H || _LIBC]: Guard inclusion of <sys/param.h>.
597         Include <sys/stat.h>, not <include/sys/stat.h>, if !_LIBC.
598         [!_LIBC] (__chdir, __closedir, __fchdir, __getcwd, __opendir): Define.
599         [!_LIBC] (__readdir64, __tdestroy, __tfind, __tsearch): Define.
600         [!_LIBC] (internal_function, dirent64, MAX): Define.
601         (__set_errno): Define if not already defined.
602         (open_dir_stream): When FTW_CHDIR is enabled, invoke opendir on
603         the basename, not the entire file name.
604         (process_entry): When FTW_CHDIR is enabled, invoke XSTAT or LXSTAT on
605         the basename, not the entire file name.
606
607 2003-01-12  Ulrich Drepper  <drepper@redhat.com>
608
609         * string/tester.c (test_strcpy): Disable last added strcpy until
610         it is fixed.
611
612 2003-01-11  Philip Blundell  <philb@gnu.org>
613
614         * sysdeps/unix/sysv/linux/arm/socket.S: Add cancellation support.
615
616 2003-01-11  Andreas Schwab  <schwab@suse.de>
617
618         * Makerules: Add vpath for %.dynsym and %.so so that the
619         implicit rule chaining for check-abi works.
620
621 2003-01-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
622
623         * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
624         Add non-PIC case.
625
626 2003-01-11  Jakub Jelinek  <jakub@redhat.com>
627
628         * elf/tls-macros.h [__ia64__] (__TLS_CALL_CLOBBERS): Define.
629         [__ia64__] (TLS_LE, TLS_IE): Fix typos.  Add ;; at start of asm if
630         gp is used early.
631         [__ia64__] (TLS_LD, TLS_GD): Likewise.  Use __TLS_CALL_CLOBBERS.
632         * elf/Makefile ($(objpfx)tst-tlsmod5.so, $(objpfx)tst-tlsmod6.so):
633         Ensure libc.so in DT_NEEDED.
634         * sysdeps/alpha/dl-machine.h (elf_machine_rela): Move
635         CHECK_STATIC_TLS before l_tls_offset use.
636         * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
637         Likewise.
638         * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
639         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage) [TLS_DTV_AT_TP]:
640         Allocate TLS_PRE_TCB_SIZE bytes below result.
641         (_dl_deallocate_tls) [TLS_DTV_AT_TP]: Adjust before freeing.
642         * sysdeps/generic/libc-tls.c (__libc_setup_tls): If
643         TLS_INIT_TP_EXPENSIVE is not defined, allocate even if no PT_TLS
644         segment has been found.  If TLS_DTV_AT_TP, allocate TLS_PRE_TCB_SIZE
645         bytes below result and add tcb_offset to memsz.
646         * sysdeps/ia64/dl-tls.h (__tls_get_addr): New prototype.
647         * sysdeps/ia64/dl-machine.h: Include tls.h.
648         (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs
649         too.
650         (elf_machine_rela): Assume if sym_map != NULL sym is non-NULL too.
651         Handle R_IA64_DTPMOD*, R_IA64_DTPREL* and R_IA64_TPREL* relocations.
652         * sysdeps/ia64/libc-tls.c: New file.
653
654 2003-01-10  Steven Munroe  <sjmunroe@us.ibm.com>
655
656         * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_RET): Add branch hit.
657         * sysdeps/unix/sysv/linux/powerpc/bits/stat.h (STAT_VER_LINUX):
658         Fix type.  Move definition out of #if.
659         * sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: New file.
660         * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: New file.
661         * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: New file.
662         * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: New file.
663         * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: New file.
664         * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Add cancellation
665         support.
666         * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Remove
667         ftruncate64, pread64, pwrite64, truncate64 entries.
668         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
669         (INLINE_SYSCALL): New version that supports function call like
670         syscalls.  Add __builtin_expect.
671         (LOADARGS_n): Add argument size safety checks.
672         (INTERNAL_SYSCALL): New Macro.
673         * sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: New file.
674         * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [__PPC_ELF_H]: Avoid
675         redefinition of elf_fpreg_t and elf_fpregset_t.
676
677 2003-01-12  Ulrich Drepper  <drepper@redhat.com>
678
679         * elf/dl-close.c (_dl_close): Add several asserts.  Correct and
680         simplify test for unloading.  If loader of a DSO is unloaded do not
681         use its scope anymore.  Fall back to own scope and adjust opencounts.
682         Fix several comments.
683         * elf/dl-deps.c (_dl_map_object_deps): Always allocate memory for
684         the l_searchlist, not only for l_initfini.
685
686         * elf/dl-lookup.c (add_dependencies): Avoid creating relocation
687         dependencies if objects cannot be removed.  Remove object with the
688         definition as not unloadable if necessary.
689
690         * elf/reldep6.c: Create relocation dependency before closing the first
691         module.
692
693 2003-01-10  Guido G√ľnther  <agx@sigxcpu.org>
694
695         * sysdeps/unix/mips/fork.S: Add PSEUDO_END.
696         * sysdeps/unix/mips/brk.S: Likewise.
697         * sysdeps/unix/mips/pipe.S: Likewise.
698
699 2003-01-10  Andreas Schwab  <schwab@suse.de>
700
701         * sysdeps/unix/sysv/linux/m68k/getsysstats.c: New file.
702
703         * sysdeps/unix/sysv/linux/m68k/vfork.S: Optimize for kernels which
704         are known to have the vfork syscall.
705
706         * sysdeps/m68k/sysdep.h (JUMPTARGET): Undefine before defining it.
707
708         * sysdeps/unix/sysv/linux/kernel-features.h
709         (__ASSUME_MMAP2_SYSCALL, __ASSUME_TRUNCATE64_SYSCALL)
710         (__ASSUME_STAT64_SYSCALL, __ASSUME_FCNTL64)
711         (__ASSUME_VFORK_SYSCALL): Define for m68k kernels >= 2.4.12.
712
713 2003-01-09  Jakub Jelinek  <jakub@redhat.com>
714
715         * elf/Makefile: Add rules to build and run reldep9 test.
716         * elf/reldep9.c: New file.
717         * elf/reldep9mod1.c: New file.
718         * elf/reldep9mod2.c: New file.
719         * elf/reldep9mod3.c: New file.
720
721 2003-01-09  Jakub Jelinek  <jakub@redhat.com>
722
723         * elf/Makefile: Add rules to build and run nodelete2 test.
724         * elf/nodelete2.c: New file.
725         * elf/nodel2mod1.c: New file.
726         * elf/nodel2mod2.c: New file.
727         * elf/nodel2mod3.c: New file.
728
729 2003-01-09  Jakub Jelinek  <jakub@redhat.com>
730
731         * posix/test-vfork.c (noop): Add __attribute_noinline__.
732         * sysdeps/generic/sysdep.h (JUMPTARGET): Define if not defined.
733         * sysdeps/i386/sysdep.h (JUMPTARGET): Undefine JUMPTARGET before
734         defining it.
735         * sysdeps/powerpc/powerpc32/sysdep.h (JUMPTARGET): Likewise.
736         * sysdeps/powerpc/powerpc64/sysdep.h (JUMPTARGET): Likewise.
737         * sysdeps/s390/s390-32/sysdep.h (JUMPTARGET): Likewise.
738         * sysdeps/s390/s390-64/sysdep.h (JUMPTARGET): Likewise.
739         * sysdeps/x86_64/sysdep.h (JUMPTARGET): Likewise.
740
741 2003-01-09  Andreas Schwab  <schwab@suse.de>
742
743         * sysdeps/m68k/fpu/libm-test-ulps: Regenerated.
744
745 2003-01-08  Ulrich Drepper  <drepper@redhat.com>
746
747         * sysdeps/unix/sysv/linux/arm/sysdep.h (INTERNAL_SYSCALL,
748         INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Add err
749         argument.
750         (INTERNAL_SYSCALL_DECL): Define.
751
752 2003-01-06  Jakub Jelinek  <jakub@redhat.com>
753
754         * sysdeps/unix/sysv/linux/ia64/sysdep.h (INTERNAL_SYSCALL,
755         INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Add err
756         argument.
757         (INTERNAL_SYSCALL_DECL): Define.
758         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
759         * sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise.
760         * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
761         (INLINE_SYSCALL): Adjust.
762         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
763         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
764         * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
765         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
766         * elf/dl-misc.c (_dl_debug_vdprintf): Add INTERNAL_SYSCALL_DECL,
767         add err argument to INTERNAL_SYSCALL* macros.
768         * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Likewise.
769         * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Likewise.
770         * sysdeps/unix/sysv/linux/m68k/brk.c (__brk): Likewise.
771         * sysdeps/unix/sysv/linux/m68k/getpagesize.c  (__getpagesize):
772         Likewise.
773         * sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Likewise.
774         * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Use
775         INLINE_SYSCALL instead of INTERNAL_SYSCALL and setting errno.
776
777 2003-01-07  Ulrich Drepper  <drepper@redhat.com>
778
779         Unify symbols in user namespace exported by libc.so and libc.a.
780         * argp/argp-fmtstream.c: Don't define argp_make_fmtstream,
781         argp_fmtstream_free, and argp_fmtstream_printf.
782         * argp/argp-fs-xinl.c: Don't define argp_fmtstream_putc,
783         argp_fmtstream_puts, argp_fmtstream_write, argp_fmtstream_set_lmargin,
784         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin, and
785         argp_fmtstream_point.
786         * gmon/gmon.c: Don't define write_profiling.
787         * libio/genops.c: Don't define _cleanup.
788
789         * intl/explodename.c (_nl_find_language.c): Mark as static.
790         * intl/loadinfo.h: Remove _nl_find_language prototype.
791
792         * libio/fileops.c (_IO_file_seekoff_maybe_mmap): Mark as static.
793         * libio/libioP.h: Remove declaration.
794
795         * libio/iopopen.c (_IO_proc_jumps): Mark as static.
796         * libio/libioP.h: Remove declaration.
797
798         * sysdeps/generic/unwind-dw2.c: Mark __frame_state_for with STATIC.
799         * sysdeps/generic/framestate.c: Define STATIC before including
800         unwind-dw2.c.
801
802         * time/Versions [GLIBC_2.3.2] (libc): Export strptime_l.
803
804 2003-01-06  Philip Blundell  <philb@gnu.org>
805
806         * sysdeps/unix/arm/sysdep.S (syscall_error): Optimise a little.
807         [__LIBC_REENTRANT]: Unify PIC and non-PIC cases.
808
809         * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Remove .type
810         directive.
811         (PSEUDO_RET): Use SYSCALL_ERROR in place of __syscall_error.
812         (SYSCALL_ERROR): New.
813         (SYSCALL_ERROR_HANDLER) [NOT_IN_libc]: Provide local copy of error
814         handling code.
815         (INTERNAL_SYSCALL): Define.
816         (INLINE_SYSCALL): Use it.
817         (INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define.
818         * sysdeps/unix/sysv/linux/arm/socket.S (__socket): Use
819         SYSCALL_ERROR in place of __syscall_error.
820
821 2003-01-07  Jakub Jelinek  <jakub@redhat.com>
822
823         * sysdeps/ia64/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16,
824         __bswap_32, __bswap_64): Put x into temporary variable
825         to avoid warnings.
826         [!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static
827         (inline) functions.
828         * sysdeps/s390/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16,
829         __bswap_32, __bswap_64): Put x into temporary variable
830         to avoid warnings.
831         [!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static
832         (inline) functions.
833         * sysdeps/i386/bits/byteswap.h [!__GNUC__] (__bswap_16, __bswap_32):
834         Likewise.
835
836 2003-01-07  Jakub Jelinek  <jakub@redhat.com>
837
838         * sysdeps/unix/sysv/linux/alpha/adjtime.c (ntp_adjtime): New weak
839         alias.
840
841 2003-01-07  Jakub Jelinek  <jakub@redhat.com>
842
843         * elf/rtld.c (_rtld_global): Remove _dl_dynamic_weak initializer.
844         * elf/dl-support.c (_dl_dynamic_weak): Initialize to 0.
845
846 2003-01-07  Ulrich Drepper  <drepper@redhat.com>
847
848         * math/libm-test.inc (significand_test): New function.
849         (main): Call it.
850
851 2003-01-06  Roland McGrath  <roland@redhat.com>
852
853         * sysdeps/i386/i486/bits/string.h (memset): Add parens around macro
854         arguments.
855         (memcpy, memrchr, strcpy, __stpcpy, strncpy, strcat): Likewise.
856         (strcmp, strncat, strncmp, strchr, __strchrnul, strchrnul): Likewise.
857         (index, strrchr, rindex, strcspn, strspn, strpbrk, strstr): Likewise.
858
859         * string/tester.c (test_strcpy): Add test with `void *' arguments.
860
861 2003-01-06  Ulrich Drepper  <drepper@redhat.com>
862
863         * sysdeps/i386/fpu/s_significandl.c (__significandl): Really
864         return significand and not the exponent.
865         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
866
867         * elf/dl-misc.c (_dl_debug_vdprintf): Help PPC port by explicitly
868         taking address of iov in INTERNAL_SYSCALL call.  Patch by Franz Sirl.
869
870         * malloc/malloc.c: Mark all _int_* functions as static.
871
872 2003-01-06  Jakub Jelinek  <jakub@redhat.com>
873
874         * sysdeps/unix/alpha/sysdep.h (PSEUDO): Use PSEUDO_PREPARE_ARGS.
875         * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Add cancellation
876         handling.
877         * sysdeps/unix/sysv/linux/alpha/select.S: Likewise.
878
879 2003-01-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
880
881         * sysdeps/powerpc/powerpc32/sysdep.h (PSEUDO_RET): Add branch hint.
882         * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: Add cancellation
883         support.
884         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Remove
885         ftruncate64, truncate64, pread64 and pwrite64 entries.
886         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
887         (INLINE_SYSCALL): Add __builtin_expect.
888         (LOADARGS_n): Add argument size safety checks.
889         * sysdeps/unix/sysv/linux/powerpc/powerpc32/ftruncate64.c: New file.
890         * sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c: New file.
891         * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c: New file.
892         * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c: New file.
893         * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c: New file.
894         * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c: New file.
895
896 2003-01-06  Jakub Jelinek  <jakub@redhat.com>
897
898         * sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_HANDLED): Define.
899         * sysdeps/generic/creat.c: Include sysdep-cancel.h.
900         (LIBC_CANCEL_HANDLED): Add.
901
902         * sysdeps/unix/sysv/linux/alpha/sysdep.h
903         (inline_syscall_r0_constraint): Rename to...
904         (inline_syscall_r0_out_constraint): ... this.  Add =.
905         (inline_syscall[0-6]): Use inline_syscall_r0_out_constraint.
906
907 2003-01-06  Andreas Schwab  <schwab@suse.de>
908
909         * sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Make
910         sure this is always inlined.
911         (elf_machine_rela): Likewise.
912
913         * sysdeps/m68k/Makefile (sysdep-CFLAGS): Increase inline limit.
914
915 2003-01-04  Roland McGrath  <roland@redhat.com>
916
917         * Makeconfig (+mkdep): Add -MP flag.
918         Suggested by Art Haas <ahaas@airmail.net>.
919
920 2003-01-05  Andreas Schwab  <schwab@suse.de>
921
922         * sysdeps/m68k/Makefile (CFLAGS-.oS): Append -fPIC.
923
924 2003-01-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
925
926         * sysdeps/unix/sysv/linux/sh/clone.S (__clone): Use
927         SYSCALL_ERROR_HANDLER.
928         * sysdeps/unix/sysv/linux/sh/pipe.S (__libc_pipe): Likewise.
929         * sysdeps/unix/sysv/linux/sh/socket.S (__socket): Likewise.
930         Add support for cancellation handling.
931         * sysdeps/unix/sysv/linux/sh/syscall.S (__syscall): Use
932         SYSCALL_ERROR_HANDLER.
933         * sysdeps/unix/sysv/linux/sh/vfork.S (__vfork): Likewise.
934         * sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Likewise.
935         Add support for cancellation handling.
936         (SYSCALL_ERROR_HANDLER): Define PIC variants.
937
938 2003-01-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
939
940         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Mark
941         __syscall_pread64 and __syscall_pwrite64 cancelable.
942         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
943         (INTERNAL_SYSCALL): New macro.
944         (LOADARGS_0, LOADARGS_1): Fix.
945
946 2003-01-05  Ulrich Drepper  <drepper@redhat.com>
947
948         * Makerules (build-shlip-helper): Unless told otherwise, add
949         -Wl,-z,defs to linker command line.
950         * rt/Makefile (librt.so): Link with ld.so.
951         * dlfcn/Makefile (libdl.so): Likewise.
952
953 2003-01-05  Jakub Jelinek  <jakub@redhat.com>
954
955         * sysdeps/unix/sysv/linux/s390/s390-32/socket.S: Add support for
956         cancellation handling.
957         * sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise.
958         * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: Likewise.
959
960 2003-01-04  Ulrich Drepper  <drepper@redhat.com>
961
962         * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Correct
963         order of parameters passed to kill.
964
965 2003-01-04  Andreas Schwab  <schwab@suse.de>
966
967         * sysdeps/unix/sysv/linux/m68k/bits/stat.h: Add nanosecond fields.
968
969 2002-01-03  Paul Eggert  <eggert@twinsun.com>
970
971         * malloc/obstack.h (__INT_TO_PTR) [__STDC__]: Cast result to
972         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
973         when compiling Bison 1.875's `bitset bset = obstack_alloc
974         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
975
976 2003-01-04  Ulrich Drepper  <drepper@redhat.com>
977
978         * sysdeps/posix/system.c (do_system): Minor optimizations.  Remove
979         unnecessary code.
980         Correct reference counter in case SIGQUIT handler installation failed.
981
982 2003-01-03  Ulrich Drepper  <drepper@redhat.com>
983
984         * include/libc-symbols.h [HAVE_WEAK_SYMBOLS] (_weak_extern):
985         Define using _Pragma(weak ...).
986
987 2003-01-03  Andreas Jaeger  <aj@suse.de>, Jakub Jelinek <jakub@redhat.com>
988
989         * resolv/res_libc.c: Provide declaration for __res_init_weak and
990         reorder declarations.
991
992 2003-01-03  Art Haas  <ahaas@airmail.net>
993
994         * localedata/tests-mbwc/dat_iswalnum.c: Convert GCC extension
995         initializer syntax to C99.
996         * localedata/tests-mbwc/dat_iswalpha.c: Likewise.
997         * localedata/tests-mbwc/dat_iswcntrl.c: Likewise.
998         * localedata/tests-mbwc/dat_iswctype.c: Likewise.
999         * localedata/tests-mbwc/dat_iswdigit.c: Likewise.
1000         * localedata/tests-mbwc/dat_iswgraph.c: Likewise.
1001         * localedata/tests-mbwc/dat_iswlower.c: Likewise.
1002         * localedata/tests-mbwc/dat_iswprint.c: Likewise.
1003         * localedata/tests-mbwc/dat_iswpunct.c: Likewise.
1004         * localedata/tests-mbwc/dat_iswspace.c: Likewise.
1005         * localedata/tests-mbwc/dat_iswupper.c: Likewise.
1006         * localedata/tests-mbwc/dat_iswxdigit.c: Likewise.
1007         * localedata/tests-mbwc/dat_mblen.c: Likewise.
1008         * localedata/tests-mbwc/dat_mbrlen.c: Likewise.
1009         * localedata/tests-mbwc/dat_mbrtowc.c: Likewise.
1010         * localedata/tests-mbwc/dat_mbsrtowcs.c: Likewise.
1011         * localedata/tests-mbwc/dat_mbstowcs.c: Likewise.
1012         * localedata/tests-mbwc/dat_mbtowc.c: Likewise.
1013         * localedata/tests-mbwc/dat_strcoll.c: Likewise.
1014         * localedata/tests-mbwc/dat_strfmon.c: Likewise.
1015         * localedata/tests-mbwc/dat_strxfrm.c: Likewise.
1016         * localedata/tests-mbwc/dat_swscanf.c: Likewise.
1017         * localedata/tests-mbwc/dat_towctrans.c: Likewise.
1018         * localedata/tests-mbwc/dat_towlower.c: Likewise.
1019         * localedata/tests-mbwc/dat_towupper.c: Likewise.
1020         * localedata/tests-mbwc/dat_wcrtomb.c: Likewise.
1021         * localedata/tests-mbwc/dat_wcscat.c: Likewise.
1022         * localedata/tests-mbwc/dat_wcschr.c: Likewise.
1023         * localedata/tests-mbwc/dat_wcscmp.c: Likewise.
1024         * localedata/tests-mbwc/dat_wcscoll.c: Likewise.
1025         * localedata/tests-mbwc/dat_wcscpy.c: Likewise.
1026         * localedata/tests-mbwc/dat_wcscspn.c: Likewise.
1027         * localedata/tests-mbwc/dat_wcslen.c: Likewise.
1028         * localedata/tests-mbwc/dat_wcsncat.c: Likewise.
1029         * localedata/tests-mbwc/dat_wcsncmp.c: Likewise.
1030         * localedata/tests-mbwc/dat_wcsncpy.c: Likewise.
1031         * localedata/tests-mbwc/dat_wcspbrk.c: Likewise.
1032         * localedata/tests-mbwc/dat_wcsrtombs.c: Likewise.
1033         * localedata/tests-mbwc/dat_wcsspn.c: Likewise.
1034         * localedata/tests-mbwc/dat_wcsstr.c: Likewise.
1035         * localedata/tests-mbwc/dat_wcstod.c: Likewise.
1036         * localedata/tests-mbwc/dat_wcstok.c: Likewise.
1037         * localedata/tests-mbwc/dat_wcstombs.c: Likewise.
1038         * localedata/tests-mbwc/dat_wcswidth.c: Likewise.
1039         * localedata/tests-mbwc/dat_wcsxfrm.c: Likewise.
1040         * localedata/tests-mbwc/dat_wctob.c: Likewise.
1041         * localedata/tests-mbwc/dat_wctomb.c: Likewise.
1042         * localedata/tests-mbwc/dat_wctrans.c: Likewise.
1043         * localedata/tests-mbwc/dat_wctype.c: Likewise.
1044         * localedata/tests-mbwc/dat_wcwidth.c: Likewise.
1045
1046 2003-01-03  Richard Henderson  <rth@redhat.com>
1047
1048         * sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall_r0_asm): New.
1049         (inline_syscall_r0_constraint): New.
1050         (inline_syscall[0-6]): Use them.
1051
1052 2003-01-03  Jakub Jelinek  <jakub@redhat.com>
1053
1054         * sysdeps/generic/ldsodefs.h (_dl_allocate_tls, _dl_deallocate_tls):
1055         Add rtld_hidden_proto.
1056         * sysdeps/generic/dl-tls.c (_dl_deallocate_tls): Add rtld_hidden_def.
1057         (_dl_allocate_tls): Likewise.  Remove INTDEF.
1058
1059 2002-07-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1060
1061         * sysdeps/sh/memcpy.S: Optimize.  Based on a patch by Toshiyasu
1062         Morita <toshiyasu.morita@hsa.hitachi.com>.
1063         * sysdeps/sh/memcpy.S: Likewise.
1064
1065 2003-01-02  Ulrich Drepper  <drepper@redhat.com>
1066
1067         * sysdeps/pthread/aio_suspend.c (aio_suspend): Don't quite remove
1068         any, but unify the test.
1069
1070 2003-01-02  Jakub Jelinek  <jakub@redhat.com>
1071
1072         * sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction,
1073         sigaction): Protect weak_alias and libc_hidden_weak with
1074         #ifndef LIBC_SIGACTION.
1075         * sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction,
1076         sigaction): Likewise.
1077         * sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction,
1078         sigaction): Likewise.
1079         * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction,
1080         sigaction): Likewise.
1081         * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction,
1082         sigaction): Likewise.
1083         * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction,
1084         sigaction): Likewise.
1085         * sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction,
1086         sigaction): Likewise.
1087         * sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction,
1088         sigaction): Likewise.  Remove SIGCANCEL handling here.
1089         * sysdeps/unix/sysv/linux/sigaction.c (__sigaction, sigaction):
1090         Likewise.
1091
1092 2003-01-02  Art Haas  <ahaas@airmail.net>
1093
1094         * login/tst-utmp.c: Convert GCC extension initializer syntax to C99.
1095
1096 2003-01-02  Ulrich Drepper  <drepper@redhat.com>
1097
1098         * posix/getconf.c: Update copyright year.
1099         * nss/getent.c: Likewise.
1100         * nscd/nscd_nischeck.c: Likewise.
1101         * iconv/iconvconfig.c: Likewise.
1102         * iconv/iconv_prog.c: Likewise.
1103         * elf/ldconfig.c: Likewise.
1104         * catgets/gencat.c: Likewise.
1105         * csu/version.c: Likewise.
1106         * elf/ldd.bash.in: Likewise.
1107         * elf/sprof.c (print_version): Likewise.
1108         * locale/programs/locale.c: Likewise.
1109         * locale/programs/localedef.c: Likewise.
1110         * nscd/nscd.c (print_version): Likewise.
1111         * debug/xtrace.sh: Likewise.
1112         * malloc/memusage.sh: Likewise.
1113         * malloc/mtrace.pl: Likewise.
1114
1115 2003-01-01  Jakub Jelinek  <jakub@redhat.com>
1116
1117         * io/sys/stat.h: Include time.h with __need_timespec even if
1118         __USE_MISC is defined but __USE_XOPEN is not.
1119
1120 2003-01-01  Andreas Jaeger  <aj@suse.de>
1121
1122         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Use union
1123         type to avoid strict aliasing problem.
1124         (_nss_dns_gethostbyname2_r): Likewise.
1125         * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise.
1126         (_nss_dns_getnetbyname_r): Likewise.
1127         * resolv/gethnamaddr.c (_gethtent): Likewise.
1128         (gethostbyname2): Likewise.
1129
1130 2002-12-31  Ulrich Drepper  <drepper@redhat.com>
1131
1132         * string/string-inlines.c: Define __memcpy_g and __strchr_g macros
1133         to avoid using the exported symbols.  Define aliases with the
1134         original names separately.
1135
1136         * include/time.h: Add libc_hidden_proto for __strftime_l.
1137         * include/wchar.h: Add libc_hidden_proto for __wcsftime_l.
1138         * time/strftime.c: Always use libc_hidden_def if _LIBC.
1139
1140         * libio/libioP.h: Add libc_hidden_proto for _IO_file_open.
1141         * libio/fileops.c: Add libc_hidden_def for _IO_file_open.
1142
1143         * malloc/mtrace.c: Add libc_hidden_proto and libc_hidden_def for
1144         tr_break.
1145
1146         * csu/Makefile (routines): Add dso_handle.
1147         * csu/dso_handle.c: New file.
1148
1149 2002-12-31  Roland McGrath  <roland@redhat.com>
1150
1151         * Makerules (compile.S, COMPILE.S): Remove -DASSEMBLER here.
1152         Use $(S-CPPFLAGS) in place of $(asm-CPPFLAGS).
1153         (S-CPPFLAGS): Add -DASSEMBLER here instead.
1154         (generate-md5, +make-deps): Fix magic to get $(S-CPPFLAGS).
1155
1156 2002-12-31  Ulrich Drepper  <drepper@redhat.com>
1157
1158         * malloc/thread-m.h [SHARED] (thread_atfork): Assume __dso_handle
1159         is available.
1160
1161 2002-12-31  Andreas Jaeger  <aj@suse.de>
1162
1163         * sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: Sync
1164         with Linux kernel.
1165         * sysdeps/unix/sysv/linux/sparc/sparc32/kernel_stat.h: Likewise.
1166         * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: Likewise.
1167         * sysdeps/unix/sysv/linux/hppa/kernel_stat.h: Likewise.
1168
1169         * sysdeps/unix/sysv/linux/kernel_stat.h
1170         (_HAVE_STAT_NSEC,_HAVE_STAT_NSEC64): New.
1171
1172         * sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv): Re-add
1173         __unused[1-3] since they're needed by some platforms.  Handle
1174         _HAVE_STAT_NSEC and _HAVE_STAT_NSEC64.
1175
1176         * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Add nsec resolution
1177         for structs stat and stat64.
1178         * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
1179         * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
1180         * sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
1181         * sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
1182
1183         * io/sys/stat.h [__USE_MISC]: Define __need_timespec for struct stat.
1184
1185         * sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv): Adjust for
1186         nsec resolution changes.
1187         (xstat64_conv): Likewise.
1188         (xstat32_conv): Likewise.
1189
1190         * sysdeps/unix/sysv/linux/kernel_stat.h: Add nsec resolution for
1191         struct kernel_stat.
1192
1193         * sysdeps/unix/sysv/linux/bits/stat.h: Add nsec resolution for
1194         structs stat and stat64.
1195
1196         * time/time.h (__timespec_defined): Define for __USE_MISC.
1197
1198 2002-12-31  Ulrich Drepper  <drepper@redhat.com>
1199
1200         * include/signal.h: Add libc_hidden_proto for __libc_current_sigrtmin
1201         and __libc_current_sigrtmax.
1202
1203 2002-12-31  Jakub Jelinek  <jakub@redhat.com>
1204
1205         * include/errno.h (__errno_location): Add prototype.
1206         Use libc_hidden_proto unconditionally.
1207         * include/netdb.h (__h_errno_location): Use libc_hidden_proto
1208         unconditionally.
1209         * include/resolv.h (__res_state): Likewise.
1210
1211         * hurd/errno-loc.c (__errno_location): Add libc_hidden_def.
1212         * include/sys/socket.h (accept): Add libc_hidden_proto.
1213         * include/errno.h (__errno_location): Likewise.
1214         * include/netdb.h (__h_errno_location): Likewise.
1215         * include/resolv.h (__res_state): Likewise.
1216         * include/unistd.h (__lseek): Likewise.
1217         * sysdeps/generic/errno-loc.c (__errno_location): Add libc_hidden_def.
1218         * sysdeps/generic/herrno-loc.c (__h_errno_location): Likewise.
1219         * sysdeps/generic/res-state.c (__res_state): Likewise.
1220         * sysdeps/generic/accept.c (accept): Likewise.
1221         * sysdeps/generic/lseek.c (__lseek): Likewise.
1222         * sysdeps/generic/allocrtsig.c (__libc_current_sigrtmin,
1223         __libc_current_sigrtmax): Likewise.
1224         * sysdeps/mach/hurd/accept.c (accept): Likewise.
1225         * sysdeps/mach/hurd/lseek.c (__lseek): Likewise.
1226         * sysdeps/unix/sysv/aix/accept.c (accept): Likewise.
1227         * sysdeps/unix/sysv/aix/lseek.c (__lseek): Likewise.
1228         * sysdeps/unix/sysv/linux/accept.S (accept): Likewise.
1229         * sysdeps/unix/inet/syscalls.list (__GI_accept): New alias to accept.
1230         * sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI_accept): Likewise.
1231         * sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI_accept): Likewise.
1232         * sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___lseek): New
1233         alias to llseek.
1234         (__GI_accept): New alias to accept.
1235         * sysdeps/unix/sysv/linux/mips/syscalls.list (__GI_accept): Likewise.
1236         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___lseek):
1237         New alias to llseek.
1238         (__GI_accept): New alias to accept.
1239         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (__GI_accept):
1240         Likewise.
1241         * sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI_accept):
1242         Likewise.
1243         * sysdeps/unix/syscalls.list (__GI___lseek): New alias to lseek.
1244
1245         * sysdeps/alpha/setjmp.S : Use libc_hidden_def(name) instead of
1246         strong_alias (name, __GI_name).
1247         * sysdeps/arm/bsd-_setjmp.S : Likewise.
1248         * sysdeps/hppa/bsd-_setjmp.S : Likewise.
1249         * sysdeps/i386/bsd-_setjmp.S : Likewise.
1250         * sysdeps/mips/mips64/bsd-_setjmp.S : Likewise.
1251         * sysdeps/mips/bsd-_setjmp.S : Likewise.
1252         * sysdeps/powerpc/powerpc32/bsd-_setjmp.S : Likewise.
1253         * sysdeps/powerpc/powerpc64/setjmp.S : Likewise.
1254         * sysdeps/s390/s390-32/elf/setjmp.S : Likewise.
1255         * sysdeps/s390/s390-32/bsd-_setjmp.S : Likewise.
1256         * sysdeps/s390/s390-64/elf/setjmp.S : Likewise.
1257         * sysdeps/s390/s390-64/bsd-_setjmp.S : Likewise.
1258         * sysdeps/sh/bsd-_setjmp.S : Likewise.
1259         * sysdeps/sparc/sparc32/setjmp.S : Likewise.
1260         * sysdeps/unix/arm/fork.S : Likewise.
1261         * sysdeps/unix/bsd/hp/m68k/vfork.S : Likewise.
1262         * sysdeps/unix/bsd/i386/vfork.S : Likewise.
1263         * sysdeps/unix/bsd/osf/alpha/fork.S : Likewise.
1264         * sysdeps/unix/bsd/sun/m68k/vfork.S : Likewise.
1265         * sysdeps/unix/bsd/ultrix4/mips/vfork.S : Likewise.
1266         * sysdeps/unix/bsd/vax/vfork.S : Likewise.
1267         * sysdeps/unix/i386/fork.S : Likewise.
1268         * sysdeps/unix/mips/fork.S : Likewise.
1269         * sysdeps/unix/sparc/fork.S : Likewise.
1270         * sysdeps/unix/sparc/vfork.S : Likewise.
1271         * sysdeps/unix/sysv/linux/arm/vfork.S : Likewise.
1272         * sysdeps/unix/sysv/linux/cris/vfork.S : Likewise.
1273         * sysdeps/unix/sysv/linux/i386/vfork.S : Likewise.
1274         * sysdeps/unix/sysv/linux/ia64/fork.S : Likewise.
1275         * sysdeps/unix/sysv/linux/ia64/setjmp.S : Likewise.
1276         * sysdeps/unix/sysv/linux/ia64/vfork.S : Likewise.
1277         * sysdeps/unix/sysv/linux/m68k/vfork.S : Likewise.
1278         * sysdeps/unix/sysv/linux/sh/vfork.S : Likewise.
1279         * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S : Likewise.
1280         * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S : Likewise.
1281         * sysdeps/unix/sysv/linux/sparc/fork.S : Likewise.
1282         * sysdeps/unix/sysv/linux/sparc/vfork.S : Likewise.
1283         * sysdeps/unix/sysv/linux/x86_64/vfork.S : Likewise.
1284         * sysdeps/unix/fork.S : Likewise.
1285         * sysdeps/vax/bsd-_setjmp.S : Likewise.
1286         * sysdeps/x86_64/bsd-_setjmp.S : Likewise.
1287
1288         * sysdeps/unix/sysv/linux/ia64/sysdep.h: Guard against multiple
1289         inclusion.
1290
1291 2002-12-31  Ulrich Drepper  <drepper@redhat.com>
1292
1293         * include/unistd.h: Add libc_hidden_proto for __fork and __vfork.
1294         * sysdeps/generic/fork.c: Add libc_hidden_def for __fork.
1295         * sysdeps/mach/hurd/fork.c: Likewise.
1296         * sysdeps/unix/sysv/aix/fork.c: Likewise.
1297         * sysdeps/unix/fork.S: Add __GI___fork alias.
1298         * sysdeps/unix/arm/fork.S: Likewise.
1299         * sysdeps/unix/bsd/osf/alpha/fork.S: Likewise.
1300         * sysdeps/unix/i386/fork.S: Likewise.
1301         * sysdeps/unix/mips/fork.S: Likewise.
1302         * sysdeps/unix/sparc/fork.S: Likewise.
1303         * sysdeps/unix/sysv/linux/ia64/fork.S: Likewise.
1304         * sysdeps/unix/sysv/linux/sparc/fork.S: Likewise.
1305         * sysdeps/unix/sysv/linux/syscalls.list: Likewise.
1306         * sysdeps/generic/vfork.c: Add libc_hidden_def for __vfork.
1307         * sysdeps/unix/bsd/hp/m68k/vfork.S: Add __GI___vfork alias.
1308         * sysdeps/unix/bsd/i386/vfork.S: Likewise.
1309         * sysdeps/unix/bsd/sun/m68k/vfork.S: Likewise.
1310         * sysdeps/unix/bsd/ultrix4/mips/vfork.S: Likewise.
1311         * sysdeps/unix/bsd/vax/vfork.S: Likewise.
1312         * sysdeps/unix/sparc/vfork.S: Likewise.
1313         * sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.
1314         * sysdeps/unix/sysv/linux/cris/vfork.S: Likewise.
1315         * sysdeps/unix/sysv/linux/i386/vfork.S: Likewise.
1316         * sysdeps/unix/sysv/linux/ia64/vfork.S: Likewise.
1317         * sysdeps/unix/sysv/linux/m68k/vfork.S: Likewise.
1318         * sysdeps/unix/sysv/linux/sh/vfork.S: Likewise.
1319         * sysdeps/unix/sysv/linux/sparc/vfork.S: Likewise.
1320         * sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.
1321
1322         * include/time.h: Add libc_hidden_proto for __nanosleep.
1323         * sysdeps/generic/nanosleep.c: Add libc_hidden_def for __nanosleep.
1324         * sysdeps/mach/nanosleep.c: Likewise.
1325         * sysdeps/unix/sysv/aix/nanosleep.c: Likewise.
1326         * sysdeps/unix/sysv/linux/syscalls.list: Add __GI___nanosleep alias.
1327
1328         * libio/libioP.h: Add libc_hidden_proto for _IO_list_lock,
1329         _IO_list_unlock, and _IO_list_resetlock.
1330         * libio/genops.c: Add libc_hidden_def for _IO_list_lock,
1331         _IO_list_unlock, and _IO_list_resetlock.
1332
1333         * libio/libioP.h: Add libc_hidden_proto for _IO_iter_begin,
1334         _IO_iter_end, _IO_iter_next, and _IO_iter_file.
1335         * libio/genops.c: Add libc_hidden_def for _IO_iter_begin,
1336         _IO_iter_end, _IO_iter_next, and _IO_iter_file.
1337
1338         * include/setjmp.h: Add libc_hidden_proto for __libc_longjmp.
1339         * sysdeps/generic/longjmp.c: Add libc_hidden_def for __longjmp.
1340         * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add
1341         __GI___longjmp alias.
1342
1343         * include/setjmp.h: Add libc_hidden_proto for _setjmp.
1344         * sysdeps/alpha/setjmp.S: Add __GI__setjmp alias.
1345         * sysdeps/arm/bsd-_setjmp.S: Likewise.
1346         * sysdeps/generic/bsd-_setjmp.c: Likewise.
1347         * sysdeps/hppa/bsd-_setjmp.S: Likewise.
1348         * sysdeps/i386/bsd-_setjmp.S: Likewise.
1349         * sysdeps/m68k/bsd-_setjmp.c: Likewise.
1350         * sysdeps/mips/bsd-_setjmp.S: Likewise.
1351         * sysdeps/mips/mips64/bsd-_setjmp.S: Likewise.
1352         * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise.
1353         * sysdeps/powerpc/powerpc64/setjmp.S: Likewise.
1354         * sysdeps/s390/s390-32/bsd-_setjmp.S: Likewise.
1355         * sysdeps/s390/s390-32/elf/setjmp.S: Likewise.
1356         * sysdeps/s390/s390-64/bsd-_setjmp.S: Likewise.
1357         * sysdeps/s390/s390-64/elf/setjmp.S: Likewise.
1358         * sysdeps/sh/bsd-_setjmp.S: Likewise.
1359         * sysdeps/sparc/sparc32/setjmp.S: Likewise.
1360         * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise.
1361         * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise.
1362         * sysdeps/vax/bsd-_setjmp.S: Likewise.
1363         * sysdeps/x86_64/bsd-_setjmp.S: Likewise.
1364
1365 2002-12-30  Ulrich Drepper  <drepper@redhat.com>
1366
1367         * malloc/thread-m.h (thread_atfork): Define using __register_atfork.
1368
1369 2002-12-30  Roland McGrath  <roland@redhat.com>
1370
1371         * Rules (generated): Target removed.
1372         * mach/Makefile (generated): Define it here instead.
1373
1374         * math/Makefile (generated): Add m_*l and m_*f variants too.
1375
1376 2002-12-30  Ulrich Drepper  <drepper@redhat.com>
1377
1378         * elf/dl-close.c (_dl_close): Handle relocation dependencies among
1379         the to-be-deleted objects right away instead of later separately.
1380         The latter fails because the scope data structures of the DSO
1381         might already be gone.
1382
1383         * elf/Makefile: Add rules to build and run reldep8 test.
1384         * elf/reldep8.c: New file.
1385         * elf/reldep8mod1.c: New file.
1386         * elf/reldep8mod2.c: New file.
1387         * elf/reldep8mod3.c: New file.
1388         Contributed by Jakub Jelinek.
1389
1390 2002-12-24  GOTO Masanori  <gotom@debian.or.jp>
1391
1392         * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Fix condition
1393         checking of return value ENOSYS from getdents64.
1394
1395 2002-12-28  Andreas Schwab  <schwab@suse.de>
1396
1397         * sysdeps/unix/Makefile: Include $(common-objpfx)s-proto-cancel.d.
1398         ($(common-objpfx)s-%.d): Generalized from
1399         $(common-objpfx)s-proto.d rule.
1400         (common-generated): Add s-proto-cancel.d.
1401         * sysdeps/unix/make-syscalls.sh: Use s-proto-cancel.d for
1402         cancellable syscalls.
1403         * sysdeps/unix/s-proto-cancel.S: New file.
1404
1405 2002-12-29  Roland McGrath  <roland@redhat.com>
1406
1407         * resolv/res_libc.c: Move _res defn magic after res_init defn
1408         so _res macro is in effect for that code.
1409
1410         * Makerules ($(common-objpfx)%.h $(common-objpfx)%.h.d): Fix sed
1411         pattern for prepending $(..) so it doesn't affect $(foo).
1412
1413         * math/Makefile (generated): Add $(addsuffix .c .S,$(calls:s_%=m_%)).
1414
1415 2002-12-29  Jakub Jelinek  <jakub@redhat.com>
1416
1417         * elf/cache.c (add_to_cache): Don't loop forever with 1ULL << 63 set
1418         in hwcap.
1419
1420 2002-12-28  Ulrich Drepper  <drepper@redhat.com>
1421
1422         * misc/sys/cdefs.h (__attribute_deprecated__): New #define.
1423
1424 2002-12-28  Andreas Jaeger  <aj@suse.de>
1425
1426         * sysdeps/generic/readelflib.c (process_elf_file): Cast value to
1427         avoid warning.
1428         * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Likewise.
1429
1430 2002-12-27  Jakub Jelinek  <jakub@redhat.com>
1431
1432         * inet/herrno.c (__h_errno_location): Remove.
1433         * inet/Makefile (routines): Add herrno-loc.
1434         * resolv/res_libc.c (__res_state): Remove.
1435         * resolv/Makefile (routines): Add res-state.
1436         * sysdeps/generic/herrno-loc.c: New file.
1437         * sysdeps/generic/res-state.c: New file.
1438
1439 2002-12-27  Jakub Jelinek  <jakub@redhat.com>
1440
1441         * sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER):
1442         Only define if USE_DL_SYSINFO is defined.
1443
1444 2002-12-22  Jakub Jelinek  <jakub@redhat.com>
1445
1446         * sysdeps/unix/sysv/linux/ia64/sysdep.h (INLINE_SYSCALL,
1447         INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERROR):
1448         Define. Patch by Richard Henderson and Jes Sorensen.
1449         (PSEUDO): Remove unnecessary ;;.
1450         * elf/rtld.c (dl_main): Initialize TLS even if no PT_TLS segments
1451         are found unless TLS_INIT_TP_EXPENSIVE.  Use NONTLS_INIT_TP.
1452         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Use NONTLS_INIT_TP
1453         if not initializing thread pointer.
1454         [!USE_TLS && NONTLS_INIT_TP] (__pthread_initialize_minimal): New.
1455         * sysdeps/generic/libc-start.c (__pthread_initialize_minimal): Don't
1456         make it weak also if NONTLS_INIT_TP.
1457         * sysdeps/unix/common/pause.c: Handle cancellation.
1458         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h [DONT_LOAD_G1]
1459         (LOADSYSCALL): Remove.
1460         (SYSCALL_ERROR_HANDLER_ENTRY): Define.
1461         (SYSCALL_ERROR_HANDLER): Use it.
1462         (PSEUDO): Don't jump around error handler.
1463         * sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__libc_pipe): Don't
1464         jump around error handler.
1465         * sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S (syscall): Likewise.
1466         * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S (__socket): Branch
1467         to __syscall_error_handler on failure.
1468         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h [DONT_LOAD_G1]
1469         (LOADSYSCALL): Remove.
1470         (SYSCALL_ERROR_HANDLER_ENTRY): Define.
1471         (SYSCALL_ERROR_HANDLER): Use it.
1472         (PSEUDO): Don't jump around error handler.
1473         * sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__libc_pipe): Don't
1474         jump around error handler.
1475         * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S (syscall): Likewise.
1476         * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S (__socket): Branch
1477         to __syscall_error_handler on failure.
1478
1479 2002-12-27  Roland McGrath  <roland@redhat.com>
1480
1481         * scripts/gen-as-const.awk: New file.
1482         * Makefile (distribute): Add it.
1483         * Makerules ($(common-objpfx)%.h %.h.d: %.sym): New pattern rule.
1484         (before-compile): Add $(gen-as-const-headers:%.sym=$(common-objpfx)%.h)
1485         to the list.
1486         (+depfiles): Add $(addprefix $(common-objpfx),$(gen-as-const-headers)).
1487
1488 2002-12-27  Andreas Schwab  <schwab@suse.de>
1489
1490         * sysdeps/unix/sysv/linux/m68k/socket.S: Add cancellation support.
1491
1492 2002-12-27  Jakub Jelinek  <jakub@redhat.com>
1493
1494         * malloc/arena.c (ptmalloc_init): Don't call next_env_entry if
1495         _environ is NULL.
1496
1497 2002-12-27  Andreas Schwab  <schwab@suse.de>
1498
1499         * Makerules ($(common-objpfx)%.make): Filter through
1500         $(sed-remove-objpfx).
1501
1502 2002-12-23  Roland McGrath  <roland@redhat.com>
1503
1504         * scripts/abilist.awk: Produce a more compact format, divided into
1505         stanzas for each version set, the set name listed only once.
1506         * scripts/extract-abilist.awk: New file.
1507         * scripts/merge-abilist.awk: New file.
1508         * Makerules (check-abi-%, update-abi-%): New pattern rules.
1509         (update-abi, check-abi): New targets.
1510         * Makefile (+subdir_targets): Add subdir_{check,update}-abi.
1511
1512 2002-12-19  Roland McGrath  <roland@redhat.com>
1513
1514         * Makerules (%.symlist): Use LC_ALL=C when running awk script.
1515
1516         * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Cast result of
1517         INTERNAL_SYSCALL.
1518
1519 2002-12-21  Andreas Schwab  <schwab@suse.de>
1520
1521         * elf/check-textrel.c (handle_file): Swap p_type.
1522
1523 2002-12-21  Andreas Schwab  <schwab@suse.de>
1524
1525         * sysdeps/unix/sysv/linux/m68k/sysdep.h (INTERNAL_SYSCALL): Define.
1526         (INLINE_SYSCALL): Use it.
1527         (INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define.
1528         (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant.
1529
1530         * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Use INTERNAL_SYSCALL.
1531         * sysdeps/unix/sysv/linux/m68k/brk.c: Likewise.
1532
1533 2002-12-20  Art Haas  <ahaas@airmail.net>
1534
1535         * sysdeps/gnu/siglist.c: Convert GCC extension initializer
1536         syntax to C99.
1537
1538 2002-12-21  Philip Blundell  <philb@gnu.org>
1539
1540         * sysdeps/arm/elf/start.S (_start): Optimise a little.  Push stack
1541         top as seventh arg to __libc_start_main.
1542         Reported by paulnash@wildseed.com.
1543
1544         * sysdeps/unix/sysv/linux/arm/clone.S: Small optimisation.
1545
1546         * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Elide
1547         compatibility cruft when new enough kernel is assumed.
1548
1549 2002-12-20  Jakub Jelinek  <jakub@redhat.com>
1550
1551         * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Use INTERNAL_SYSCALL
1552         instead of INLINE_SYSCALL.
1553
1554 2002-12-20  Ulrich Drepper  <drepper@redhat.com>
1555
1556         * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Fix
1557         typo.
1558
1559         * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Define SHM_HUGETLB.
1560         * sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
1561         * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Likewise.
1562         * sysdeps/unix/sysv/linux/ia64/bits/shm.h: Likewise.
1563         * sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise.
1564         * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
1565         * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
1566         * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
1567         * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
1568         Patch by William Lee Irwin <wli@holomorphy.com>.
1569
1570 2002-12-20  Andreas Schwab  <schwab@suse.de>
1571
1572         * locale/programs/ld-measurement.c (measurement_output): Fix
1573         index calculation.
1574
1575 2002-12-20  Ulrich Drepper  <drepper@redhat.com>
1576
1577         * include/libio.h [_IO_MTSAFE_IO && _IO_lock_inexpensive]:
1578         Redefine _IO_flockifle and _IO_funlockfile as inlines.
1579
1580         * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): For TLS
1581         builds add "tls" in the search path.
1582         * elf/ldconfig.c (is_hwcap_platform): Also recognize "tls".
1583         (path_hwcap): Recognize "tls".
1584
1585 2002-12-19  Ulrich Drepper  <drepper@redhat.com>
1586
1587         * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Use
1588         __waitpid instead of waitpid.
1589
1590         * sysdeps/unix/sysv/linux/i386/_exit.S: Use ENTER_KERNEL instead of
1591         int $0x80.
1592         * sysdeps/unix/sysv/linux/i386/getcontext.S: Likewise.
1593         * sysdeps/unix/sysv/linux/i386/setcontext.S: Likewise.
1594         * sysdeps/unix/sysv/linux/i386/swapcontext.S: Likewise.
1595
1596         * sysdeps/unix/sysv/linux/i386/sysdep.h: Add support to use AT_SYSINFO
1597         information for system calls.
1598
1599         * sysdeps/generic/dl-sysdep.h: Define RTLD_PRIVATE_ERRNO to 1 only
1600         for ld.so.
1601
1602         * elf/rtld.c (_dl_start) [USE___THREAD]: Define initdtv.
1603
1604 2002-12-19  Roland McGrath  <roland@redhat.com>
1605
1606         * iconvdata/ibm856.h: Convert GCC extension initializer syntax to C99.
1607         * iconvdata/ibm922.h: Likewise.
1608         * iconvdata/ibm930.h: Likewise.
1609         * iconvdata/ibm932.h: Likewise.
1610         * iconvdata/ibm933.h: Likewise.
1611         * iconvdata/ibm935.h: Likewise.
1612         * iconvdata/ibm937.h: Likewise.
1613         * iconvdata/ibm939.h: Likewise.
1614         * iconvdata/ibm943.h: Likewise.
1615         * iconvdata/isiri-3342.h: Likewise.
1616
1617 2002-12-19  Ulrich Drepper  <drepper@redhat.com>
1618
1619         * test-skeleton.c (main): Make sure correct value is seen as
1620         argv[0] after adjustment of argv, and argc.
1621
1622         * elf/rtld.c: Don't initialize _dl_dynamic_weak to 1 if
1623         RTLD_CORRECT_DYNAMIC_WEAK is defined.
1624
1625 2002-12-19  Jakub Jelinek  <jakub@redhat.com>
1626
1627         * nscd/connections.c (nscd_run): Shut up warning.
1628         * tst-ungetc.c (assert): Undefined before redefining.
1629
1630 2002-12-19  Ulrich Drepper  <drepper@redhat.com>
1631
1632         * posix/regex.c: Use __builtin_expect even outside glibc if gcc 3
1633         is used.
1634
1635 2002-12-17  Art Haas  <ahaas@airmail.net>
1636
1637         * iconvdata/cp737.h: Convert GCC extension initializer syntax to C99.
1638         * iconvdata/cp775.h: Likewise.
1639         * iconvdata/ibm1046.h: Likewise.
1640         * iconvdata/ibm1124.h: Likewise.
1641         * iconvdata/ibm1129.h: Likewise.
1642         * iconvdata/ibm1132.h: Likewise.
1643         * iconvdata/ibm1133.h: Likewise.
1644         * iconvdata/ibm1160.h: Likewise.
1645         * iconvdata/ibm1161.h: Likewise.
1646         * iconvdata/ibm1162.h: Likewise.
1647         * iconvdata/ibm1163.h: Likewise.
1648         * iconvdata/ibm1164.h: Likewise.
1649
1650 2002-12-19  Ulrich Drepper  <drepper@redhat.com>
1651
1652         * sysdeps/unix/sysv/linux/i386/system.c: Define FORK only if
1653         __ASSUME_CLONE_THREAD_FLAGS is defined.
1654         * sysdeps/unix/sysv/linux/kernel-features.h
1655         (__ASSUME_CLONE_THREAD_FLAGS): Define for x86 and kernel >= 2.5.50.
1656
1657 2002-12-18  Ulrich Drepper  <drepper@redhat.com>
1658
1659         * sysdeps/unix/sysv/linux/i386/brk.c: Use INTERNAL_SYSCALL instead
1660         of asm.
1661         * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
1662
1663         * elf/dl-support.c [NEED_DL_SYSINFO]: Define and initialize
1664         _dl_sysinfo.
1665         [DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
1666         code.
1667         * elf/rtld.c [DL_NEED_SYSINFO]: Initialize _dl_sysinfo element of
1668         _rtld_global.
1669         [DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
1670         code.
1671         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
1672         Check for AT_SYSINFO and set _dl_sysinfo appropriately.
1673         * sysdeps/generic/ldsodefs.h (struct rtld_global) [NEED_DL_SYSINFO]:
1674         Add _dl_sysinfo.
1675
1676 2002-12-18  Jakub Jelinek  <jakub@redhat.com>
1677
1678         * misc/Versions [libc: GLIBC_2.3.1]: Move __libc_readv and
1679         __libc_writev to...
1680         [libc: GLIBC_PRIVATE]: ...here.
1681         * sysvipc/Versions [libc: GLIBC_2.3.1]: Move __libc_msgrcv and
1682         __libc_msgsnd to...
1683         [libc: GLIBC_PRIVATE]: ...here.
1684
1685 2002-12-18  Ulrich Drepper  <drepper@redhat.com>
1686
1687         * sysdeps/unix/sysv/linux/i386/sysdep.h: Define ENTER_KERNEL macro.
1688         Use it instead of directly int $0x80.
1689         * sysdeps/unix/sysv/linux/i386/brk.c: Use ENTER_KERNEL.
1690         * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
1691         * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
1692         * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
1693         * sysdeps/unix/sysv/linux/i386/socket.S: Likewise.
1694         * sysdeps/unix/sysv/linux/i386/syscall.S: Likewise.
1695
1696 2002-12-17  Ulrich Drepper  <drepper@redhat.com>
1697
1698         * malloc/malloc.c (mALLOPt): Make sure malloc is initialized.
1699
1700         * elf/elf.h (AT_SYSINFO): New define.
1701         * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Add support for
1702         AT_SYSINFO.
1703
1704 2002-12-17  Jakub Jelinek  <jakub@redhat.com>
1705
1706         * sysdeps/unix/sysv/linux/alpha/syscalls.list (msgrcv, msgsnd):
1707         Make cancelable.
1708         * sysdeps/unix/sysv/linux/hppa/syscalls.list (msgrcv, msgsnd):
1709         Likewise.
1710         * sysdeps/unix/sysv/linux/ia64/syscalls.list (msgrcv, msgsnd):
1711         Likewise.
1712         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (msgrcv, msgsnd):
1713         Likewise.
1714         * sysdeps/unix/sysv/linux/x86_64/syscalls.list (msgrcv, msgsnd):
1715         Likewise.
1716         * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend): Likewise.
1717
1718         * malloc/thread-m.h (mutex_init, mutex_lock, mutex_trylock,
1719         mutex_unlock): If not building NPTL, use __libc_maybe_call2 if
1720         available, otherwise __libc_maybe_call.
1721         * sysdeps/unix/sysv/linux/x86_64/recv.c: Add support for
1722         cancellation handling.
1723         * sysdeps/unix/sysv/linux/x86_64/send.c: Likewise.
1724
1725 2002-12-17  Isamu Hasegawa  <isamu@yamato.ibm.com>
1726
1727         * posix/regcomp.c (free_workarea_compile): Free the new member
1728         ORG_INDICES.
1729         (analyze): Initialize ORG_INDICES.
1730         (duplicate_node_closure): Search for a existing node, which is
1731         duplicated from the node ORG_DEST and satisfies the constraint
1732         CONSTRAINT.  And use it to avoid inifimite loop.
1733         (search_duplicated_node): New function.
1734         (duplicate_node): Store the index of the original node.
1735         * posix/regex_internal.c (re_dfa_add_node): Realloc ORG_INDICES
1736         if needed.
1737         * posix/regex_internal.h (re_dfa_t): Add new members.
1738
1739 2002-12-17  Ulrich Drepper  <drepper@redhat.com>
1740
1741         * stdio-common/tst-fdopen.c: Undefine assert before redefining it.
1742
1743 2002-12-16  Ulrich Drepper  <drepper@redhat.com>
1744
1745         * sysdeps/posix/system.c (do_system): Add support for installation
1746         of cancellation handlers.
1747         * sysdeps/unix/sysv/linux/i386/system.c: New file.
1748
1749         * stdlib/Makefile (tests): Add tst-system.
1750         * stdlib/tst-system.c: New file.
1751
1752         * sysdeps/unix/sysv/linux/i386/socket.S [NEED_CANCELLATION &&
1753         CENABLE]: Don't lose content of %ebx.
1754
1755 2002-12-17  Jakub Jelinek  <jakub@redhat.com>
1756
1757         * sysdeps/unix/sysv/linux/i386/socket.S: Use SINGLE_THREAD_P
1758         macro instead of comparing %gs:MULTIPLE_THREADS_OFFSET directly.
1759
1760 2002-12-16  Ulrich Drepper  <drepper@redhat.com>
1761
1762         * sysdeps/posix/getaddrinfo.c (gaih_inet): If __nss_lookup_function
1763         fails to return a function pointer don't use it.
1764
1765 2002-12-16  Art Haas  <ahaas@airmail.net>
1766
1767         * io/ftw.c: Convert GCC extension initializer syntax to C99.
1768         * iconvdata/iso-ir-165.c: Likewise.
1769         * iconvdata/jis0208.c: Likewise.
1770         * iconvdata/jis0212.c: Likewise.
1771
1772 2002-12-16  Ulrich Drepper  <drepper@redhat.com>
1773
1774         * sysdeps/unix/sysv/linux/syscalls.list: Add epoll_create,
1775         epoll_ctl, and epoll_wait.
1776         * sysdeps/unix/sysv/linux/Versions [libc: GLIBC_2.3.2]: Add
1777         epoll_create, epoll_ctl, and epoll_wait.
1778         * sysdeps/unix/sysv/linux/sys/epoll.h: New file.  Written by
1779         Davide Libenzi <davidel@xmailserver.org>.
1780         * sysdeps/unix/sysv/linux/Dist: Add sys/epoll.h.
1781         * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
1782         Add sys/epoll.h.
1783
1784 2002-12-16  Art Haas  <ahaas@airmail.net>
1785
1786         * sysdeps/generic/bp-semctl.h: Convert GCC extension initializer
1787         syntax to C99
1788         * sysdeps/unix/sysv/aix/settimer.c: Likewise.
1789         * sysdeps/unix/sysv/aix/sleep.c: Likewise.
1790         * sysdeps/unix/sysv/aix/usleep.c: Likewise.
1791
1792 2002-12-16  Ulrich Drepper  <drepper@redhat.com>
1793
1794         * stdio-common/Makefile (routines): Remove lockfile.  Add
1795         flockfile, ftrylockfile, and funlockfile.
1796         * sysdeps/generic/lockfile.c: Removed.  Each function has its own file.
1797         * sysdeps/generic/flockfile.c: New file.
1798         * sysdeps/generic/ftrylockfile.c: New file.
1799         * sysdeps/generic/funlockfile.c: New file.
1800
1801 2002-12-16  Jakub Jelinek  <jakub@redhat.com>
1802
1803         * sysdeps/unix/sysv/linux/i386/socket.S: Use CENABLE and CDISABLE
1804         macros instead of doing the calls directly.
1805         * sysdeps/unix/make-syscalls.sh: Add ptw-*.$o target name to rules.
1806         * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for ptw-%
1807         targets.
1808
1809 2002-12-16  Jakub Jelinek  <jakub@redhat.com>
1810
1811         * sysdeps/i386/fpu/bits/mathinline.h: Backout last change.
1812         * sysdeps/ieee754/bits/nan.h: Likewise.
1813
1814         * sysdeps/unix/sysv/linux/ia64/syscalls.list (__syscall_open,
1815         __syscall_wait4, __syscall_ioctl, __syscall_write): Add.
1816
1817 2002-12-16  Roland McGrath  <roland@redhat.com>
1818
1819         * sunrpc/xdr_mem.c (xdrmem_inline): Fix argument type.
1820         * sunrpc/xdr_rec.c (xdrrec_inline): Likewise.
1821         * sunrpc/xdr_stdio.c (xdrstdio_inline): Likewise.
1822
1823         * sysdeps/unix/sysv/linux/syscalls.list: Add getpmsg, putpmsg.
1824         * sysdeps/unix/sysv/linux/mips/syscalls.list: Remove s_getpmsg,
1825         s_putpmsg.
1826         * sysdeps/unix/sysv/linux/i386/getpmsg.c: File removed.
1827         * sysdeps/unix/sysv/linux/i386/putpmsg.c: File removed.
1828         * sysdeps/unix/sysv/linux/m68k/getpmsg.c: File removed.
1829         * sysdeps/unix/sysv/linux/m68k/putpmsg.c: File removed.
1830         * sysdeps/unix/sysv/linux/mips/getpmsg.c: File removed.
1831         * sysdeps/unix/sysv/linux/mips/putpmsg.c: File removed.
1832         * sysdeps/unix/sysv/linux/powerpc/getpmsg.c: File removed.
1833         * sysdeps/unix/sysv/linux/powerpc/putpmsg.c: File removed.
1834
1835 2002-12-13  Paul Eggert  <eggert@twinsun.com>
1836
1837         * sunrpc/rpc/xdr.h (struct XDR.xdr_ops.x_inline): 2nd arg
1838         is now u_int, not int.
1839         (struct XDR.x_handy): Now u_int, not int.
1840         * sunrpc/xdr_mem.c: Include <limits.h>.
1841         (xdrmem_getlong, xdrmem_putlong, xdrmem_getbytes, xdrmem_putbytes,
1842         xdrmem_inline, xdrmem_getint32, xdrmem_putint32):
1843         x_handy is now unsigned, not signed.
1844         Do not decrement x_handy if no change is made.
1845         (xdrmem_setpos): Check for int overflow.
1846         * sunrpc/xdr_sizeof.c (x_inline): 2nd arg is now unsigned.
1847         (xdr_sizeof): Remove cast that is now unnecessary, now that
1848         x_handy is unsigned.
1849
1850 2002-12-15  Art Haas  <ahaas@airmail.net>
1851
1852         * iconv/gconv_conf.c: Convert GCC extension initializer syntax to C99.
1853         * iconvdata/gap.awk: Likewise.
1854         * iconvdata/gen-8bit-gap-1.sh: Likewise.
1855         * iconvdata/gen-8bit-gap.sh: Likewise.
1856         * locale/C-address.c: Likewise.
1857         * locale/C-collate.c: Likewise.
1858         * locale/C-ctype.c: Likewise.
1859         * locale/C-identification.c: Likewise.
1860         * locale/C-measurement.c: Likewise.
1861         * locale/C-messages.c: Likewise.
1862         * locale/C-monetary.c: Likewise.
1863         * locale/C-name.c: Likewise.
1864         * locale/C-numeric.c: Likewise.
1865         * locale/C-paper.c: Likewise.
1866         * locale/C-telephone.c: Likewise.
1867         * locale/C-time.c: Likewise.
1868         * nscd/connections.c: Likewise.
1869         * nscd/grpcache.c: Likewise.
1870         * nscd/hstcache.c: Likewise.
1871         * nscd/pwdcache.c: Likewise.
1872         * stdio-common/vfprintf.c: Likewise.
1873         * stdlib/random.c: Likewise.
1874         * sysdeps/generic/siglist.c: Likewise.
1875         * sysdeps/i386/fpu/bits/mathinline.h: Likewise.
1876         * sysdeps/ieee754/bits/nan.h: Likewise.
1877         * sysdeps/posix/sprofil.c: Likewise.
1878         * sysdeps/unix/sysv/linux/sleep.c: Likewise.
1879         * sysdeps/unix/sysv/linux/sysctl.c: Likewise.
1880         * sysdeps/unix/sysv/linux/usleep.c: Likewise.
1881
1882 2002-12-15  Roland McGrath  <roland@redhat.com>
1883
1884         * sysdeps/unix/sysv/linux/readv.c (do_readv): Use prototype defn.
1885
1886         * sysdeps/unix/sysv/linux/wait.c: Don't include <nptl/pthreadP.h> or
1887         <tls.h> here, no need for it.
1888         * sysdeps/unix/sysv/linux/waitpid.c: Likewise.
1889
1890         * sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): Take ARG as void *
1891         parameter, not varargs parameter.
1892
1893         * sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_RESET): Evaluate the
1894         argument so it's not an unused variable.
1895
1896         * resolv/resolv.h (__p_key_syms, __p_cert_syms, __p_class_syms,
1897         __p_type_syms, __p_rcode_syms): Remove decls, never really intended
1898         for users.
1899
1900         * resolv/Versions (libresolv: GLIBC_2.3.2): New set, add __p_rcode.
1901
1902 2002-12-15  Ulrich Drepper  <drepper@redhat.com>
1903
1904         * sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): This is the
1905         original __libc_fcntl code.  Just renamed.
1906
1907 2002-12-15  Andreas Schwab  <schwab@suse.de>
1908
1909         * sysdeps/unix/sysv/linux/m68k/clone.S: Make inline syscall to _exit.
1910
1911 2002-12-14  Olaf Hering  <olh@suse.de>
1912
1913         * sysdeps/powerpc/bits/setjmp.h: Include <bits/wordsize.h>.
1914         * sysdeps/powerpc/powerpc64/setjmp.S: Fix typo in r18 load.
1915
1916 2002-12-15  Ulrich Drepper  <drepper@redhat.com>
1917
1918         * sysdeps/unix/sysv/linux/libc_fatal.c: New file.
1919
1920         * sysdeps/generic/sysdep-cancel.h: Add dummy definitions for
1921         SINGLE_THREAD_P, LIBC_CANCEL_ASYNC, and LIBC_CANCEL_RESET.
1922
1923         * sysdeps/unix/sysv/linux/open64.c: New file.
1924
1925         * sysdeps/generic/pselect.c: Add support for cancellation handling.
1926         * sysdeps/posix/open64.c: Likewise.
1927         * sysdeps/posix/sigpause.c: Likewise.
1928         * sysdeps/posix/sigwait.c: Likewise.
1929         * sysdeps/posix/system.c: Likewise.
1930         * sysdeps/posix/waitid.c: Likewise.
1931         * sysdeps/unix/sysv/linux/accept.S: Likewise.
1932         * sysdeps/unix/sysv/linux/connect.S: Likewise.
1933         * sysdeps/unix/sysv/linux/llseek.c: Likewise.
1934         * sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
1935         * sysdeps/unix/sysv/linux/msgsnd.c: Likewise.
1936         * sysdeps/unix/sysv/linux/poll.c: Likewise.
1937         * sysdeps/unix/sysv/linux/pread.c: Likewise.
1938         * sysdeps/unix/sysv/linux/pread64.c: Likewise.
1939         * sysdeps/unix/sysv/linux/pwrite.c: Likewise.
1940         * sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
1941         * sysdeps/unix/sysv/linux/readv.c: Likewise.
1942         * sysdeps/unix/sysv/linux/recv.S: Likewise.
1943         * sysdeps/unix/sysv/linux/recvfrom.S: Likewise.
1944         * sysdeps/unix/sysv/linux/recvmsg.S: Likewise.
1945         * sysdeps/unix/sysv/linux/send.S: Likewise.
1946         * sysdeps/unix/sysv/linux/sendmsg.S: Likewise.
1947         * sysdeps/unix/sysv/linux/sendto.S: Likewise.
1948         * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1949         * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
1950         * sysdeps/unix/sysv/linux/sigwait.c: Likewise.
1951         * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
1952         * sysdeps/unix/sysv/linux/tcdrain.c: Likewise.
1953         * sysdeps/unix/sysv/linux/wait.c: Likewise.
1954         * sysdeps/unix/sysv/linux/waitpid.c: Likewise.
1955         * sysdeps/unix/sysv/linux/writev.c: Likewise.
1956         * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
1957         * sysdeps/unix/sysv/linux/i386/socket.S: Likewise.
1958
1959 2002-12-14  Jakub Jelinek  <jakub@redhat.com>
1960
1961         * sysdeps/generic/sysdep-cancel.h: New file.
1962         * sysdeps/unix/make-syscalls.sh: Handle C at start of args as
1963         cancelable syscall.
1964         * sysdeps/unix/inet/syscalls.list (accept, connect, recv, recvfrom,
1965         recvmsg, send, sendmsg, sendto): Make cancelable.
1966         * sysdeps/unix/mman/syscalls.list (msync): Likewise.
1967         * sysdeps/unix/sysv/linux/alpha/syscalls.list (llseek, pread,
1968         pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg,
1969         sendto, osf_select): Likewise.
1970         * sysdeps/unix/sysv/linux/hppa/syscalls.list (accept, connect, recv,
1971         recvfrom, recvmsg, send, sendmsg, sendto): Likewise.
1972         * sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek, pread,
1973         pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg,
1974         sendto): Likewise.
1975         * sysdeps/unix/sysv/linux/mips/syscalls.list (accept, connect, recv,
1976         recvfrom, recvmsg, send, sendmsg, sendto): Likewise.
1977         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (llseek, pread,
1978         pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg,
1979         sendto): Likewise.
1980         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (llseek, pread,
1981         pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg,
1982         sendto, select): Likewise.
1983         * sysdeps/unix/sysv/linux/x86_64/syscalls.list (llseek, pread,
1984         pwrite, accept, connect, recvfrom, recvmsg, sendmsg, sendto):
1985         Likewise.
1986         * sysdeps/unix/sysv/linux/syscalls.list (creat, nanosleep, pause,
1987         select, fcntl): Likewise.
1988         * sysdeps/unix/sysv/syscalls.list (pause, poll): Likewise.
1989         * sysdeps/unix/syscalls.list (close, fcntl, fsync, lseek, open,
1990         read, readv, select, sigsuspend, write, writev): Likewise.
1991
1992 2002-12-14  Jakub Jelinek  <jakub@redhat.com>
1993
1994         * dirent/bug-readdir1.c: Include unistd.h.
1995
1996 2002-12-13  Jakub Jelinek  <jakub@redhat.com>
1997
1998         * locale/programs/locale.c: Include locarchive.h.
1999         (ARCHIVE_NAME): Define.
2000         (write_archive_locales): New function.
2001         (write_locales): Use it.  Ensure the same locale is not printed
2002         multiple times in verbose mode.
2003         Mode LC_IDENTIFICATION and LC_CTYPE printing into...
2004         (print_LC_IDENTIFICATION, print_LC_CTYPE): ... these helper
2005         functions.
2006         (struct nameent): New type.
2007         (nameentcmp): New function.
2008
2009 2002-12-14  Jakub Jelinek  <jakub@redhat.com>
2010
2011         * posix/regex_internal.c (re_string_context_at): Guard wide char
2012         code with #ifdef RE_ENABLE_I18N.
2013
2014 2002-11-22  Paolo Bonzini  <bonzini@gnu.org>
2015
2016         * posix/regcomp.c (regcomp): __re_compile_fastmap -> re_compile_fastmap
2017
2018 2002-12-13  Roland McGrath  <roland@redhat.com>
2019
2020         * posix/bug-regex15.c: New file.
2021         * posix/Makefile (tests): Add it.
2022
2023         * test-skeleton.c (TEST_DATA_LIMIT): New macro, default to 64MB.
2024         (main): Set RLIMIT_DATA limit to TEST_DATA_LIMIT (or lower if need be).
2025
2026 2002-12-13  Ulrich Drepper  <drepper@redhat.com>
2027
2028         * elf/dl-misc.c (_dl_debug_vdprintf): Don't depend on 5-digit PIDs.
2029
2030         * misc/syslog.c (log_cleanup): Don't use parameter in
2031         __libc_lock_unlock call, use syslog_lock directly.  Adjust callers to
2032         pass NULL instead of a pointer to syslog_lock.
2033
2034 2002-12-12  Ulrich Drepper  <drepper@redhat.com>
2035
2036         * iconvdata/Makefile: iconv-rules: Add definition to use gconv.map
2037         linker map for all iconv modules.
2038         (distribute): Add gconv.map.
2039         * iconvdata/gconv.map: New file.
2040
2041         * elf/Makefile: Also check all iconv modules for text relocations.
2042
2043         * stdlib/Makefile: Remove code to automatically import GMP.
2044
2045         * elf/Makefile (tests): Add rules to build and run check-textrel.
2046         * elf/check-textrel.c: New file.
2047
2048         * sysdeps/unix/sysv/linux/i386/sysdep.h (SETUP_PIC_REG): Add .size
2049         directive.
2050
2051 2002-12-11  Jakub Jelinek  <jakub@redhat.com>
2052
2053         * io/test-utime (main): If stnow.st[am]time is wrong, print it and
2054         not st.st[am]time.
2055
2056 2002-04-30  Bruno Haible  <bruno@clisp.org>
2057
2058         * intl/loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT to
2059         the encoding if it already has slashes.
2060         Reported by Perry Rapp <prapp@erols.com>.
2061
2062 2002-12-11  Roland McGrath  <roland@redhat.com>
2063
2064         * csu/Makefile ($(objpfx)elf-init.oS): Remove target, braino.
2065         (CPPFLAGS-elf-init.oS, CFLAGS-elf-init.oS): New variables.
2066         Turn off PIC for compiling this file.
2067
2068 2002-12-11  Ulrich Drepper  <drepper@redhat.com>
2069
2070         * malloc/thread-m.h: Remove thread_id type and MUTEX_INITIALIZER
2071         definitions.  Not needed.
2072         [_LIBC]: Use definitions from libc-lock.h instead of referencing
2073         pthread routines directly.
2074         * malloc/arena.c (ptmalloc_unlock_all2): Don't add (void) to
2075         mutex_init calls.
2076         (arena_get2): Don't look at return value of mutex_lock.
2077
2078 2002-12-11  Roland McGrath  <roland@redhat.com>
2079
2080         * csu/Makefile ($(objpfx)elf-init.oS): New target, just clone
2081         elf-init.o instead of compiling a PIC version.
2082
2083 2002-12-11  Bruno Haible  <bruno@clisp.org>
2084
2085         * intl/gettext.h: Renamed to ...
2086         * intl/gmo.h: ... here.
2087         * intl/Makefile (distribute): Add gmo.h, remove gettext.h.
2088         * intl/gettextP.h: Update.
2089         * intl/loadmsgcat.c: Update.
2090
2091         * intl/gettextP.h (PARAMS): Make more portable.
2092         (attribute_hidden): Define as empty macro if not already defined.
2093         * intl/hash-string.h (PARAMS): Make more portable.
2094         * intl/loadinfo.h (PARAMS): Likewise.
2095         * intl/plural-exp.h (PARAMS): Likewise.
2096         (attribute_hidden): Move definition near the definition of
2097         internal_function.
2098
2099         * intl/gettextP.h (_nl_locale_name) [!_LIBC]: New declaration.
2100         * intl/plural-exp.h (plural_eval) [!_LIBC]: New declaration.
2101
2102 2002-07-13  Bruno Haible  <bruno@clisp.org>
2103
2104         * intl/dcigettext.c (freea): New macro.
2105         (FREE_BLOCKS): Free also the registered blocks.
2106         (DCIGETTEXT): Free the 'search' variable.
2107         Reported by Andreas Fischer <a.fischer@asentics.de>.
2108
2109 2002-04-27  Bruno Haible  <bruno@clisp.org>
2110
2111         * intl/gettextP.h [! _LIBC]: Use prefix libintl_ instead of suffix __.
2112         * intl/dcigettext.c: Likewise.
2113         * intl/dcgettext.c: Likewise.
2114         * intl/dgettext.c: Likewise.
2115         * intl/gettext.c: Likewise.
2116         * intl/dcngettext.c: Likewise.
2117         * intl/dngettext.c: Likewise.
2118         * intl/ngettext.c: Likewise.
2119         * intl/textdomain.c: Likewise.
2120         * intl/bindtextdom.c: Likewise.
2121         * intl/plural-exp.h: Likewise.
2122
2123 2002-01-02  Bruno Haible  <bruno@clisp.org>
2124
2125         * intl/loadmsgcat.c (_nl_init_domain_conv): Use PARAMS in extern decl.
2126
2127 2001-04-30  Bruno Haible  <bruno@clisp.org>
2128
2129         * intl/dcigettext.c (getuid, getgid, geteuid, getegid): Provide
2130         default macro definitions.  Needed for mingw32.
2131
2132 2002-12-10  Ulrich Drepper  <drepper@redhat.com>
2133
2134         * sysdeps/i386/bits/byteswap.h (__bswap_64): Apply
2135         __builtin_constant_p to macro parameter.
2136
2137         * sysdeps/generic/sigpause.c: Define all functions as weak.
2138         * sysdeps/posix/sigpause.c: Likewise.
2139
2140         * elf/tst-tls7.c (do_test): Adjustments for l_tls_modid being of
2141         type size_t.
2142
2143 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
2144
2145         * elf/tst-array1.c (preinit_array, init_array, fini_array):
2146         Explicitly align the array to sizeof (void *).
2147         * elf/tst-array2dep.c (init_array, fini_array): Likewise.
2148
2149         * include/libc-symbols.h: Fix a comment typo.
2150
2151         * sysdeps/unix/sysv/linux/alpha/select.S (__libc_select): New alias.
2152         * sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__libc_sigsuspend):
2153         Likewise.
2154         * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__libc_sigsuspend):
2155         Likewise.
2156         * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c
2157         (__libc_sigsuspend): Likewise.
2158         * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c
2159         (__libc_sigsuspend): Likewise.
2160         * sysdeps/generic/creat.c (__libc_creat): Renamed from creat.
2161         (creat): New weak alias.
2162
2163 2002-12-10  Roland McGrath  <roland@redhat.com>
2164
2165         * manual/libc-texinfo.sh: Emit @set ADD-ON for each ADD-ON that
2166         contributes a manual chapter.
2167         * manual/signal.texi (Process Signal Mask): Use @ifset linuxthreads
2168         around xref to it.
2169
2170         * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Refer to
2171         and move contents to ...
2172         (EXTRA_LD_ENVVARS_LINUX): ... this new macro.  Add break for nonmatch.
2173         * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): Use
2174         it instead of duplicating its contents.
2175         (EXTRA_LD_ENVVARS): Likewise.  Add break for nonmatch.
2176
2177 2002-12-09  Jakub Jelinek  <jakub@redhat.com>
2178
2179         * elf/dl-support.c (_dl_non_dynamic_init): Add DL_OSVERSION_INIT if
2180         defined.
2181         * sysdeps/unix/sysv/linux/dl-librecon.h (_dl_osversion_init): New
2182         function.
2183         (EXTRA_LD_ENVVARS): Use it.
2184         (DL_OSVERSION_INIT): Define.
2185         * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Include linux
2186         dl-librecon.h.
2187         (EXTRA_LD_ENVVARS): Undef before defining.  Use _dl_osversion_init.
2188
2189 2002-12-10  Ulrich Drepper  <drepper@redhat.com>
2190
2191         * Versions.def: No new symbols in 2.3.1, but some new ones in 2.3.2.
2192
2193         * sysdeps/unix/closedir.c (__closedir): Remove __libc_lock_lock
2194         call.  It is not allowed to destroy pthread mutexes which are
2195         still in use even though it is safe for our implementations.  If
2196         somebody still uses the descriptor it is a bug.
2197
2198 2002-12-09  Richard Henderson  <rth@redhat.com>
2199
2200         * csu/abi-note.S: Use .p2align, not .align.
2201
2202 2002-12-09  Ulrich Drepper  <drepper@redhat.com>
2203
2204         * sysdeps/unix/sysv/linux/syscalls.list: Add __libc_creat and
2205         __libc_select aliases.
2206
2207         * sysdeps/unix/sysv/linux/sigwaitinfo.c: Define __libc_sigwaitinfo
2208         alias.
2209
2210         * sysdeps/unix/sysv/linux/sigwait.c: Define __libc_sigwait alias.
2211
2212         * sysdeps/unix/sysv/linux/sigsuspend.c: Define __libc_sigsuspend alias.
2213
2214         * sysdeps/unix/sysv/linux/poll.c: Define __libc_poll alias.
2215
2216         * sysdeps/unix/syscalls.list: Define __libc_select alias.
2217
2218         * sysdeps/posix/waitid.c: Define __libc_waitid alias.
2219
2220         * sysdeps/posix/sigpause.c: Define __libc_sigpause and
2221         __libc___xpg_sigpause aliases.
2222
2223         * sysdeps/generic/pselect.c: Define __libc_pselect alias.
2224
2225         * misc/error.c: Remove use of USE_IN_LIBIO.
2226
2227 2002-12-08  Roland McGrath  <roland@redhat.com>
2228
2229         * elf/Makefile (tests): Uncomment tst-array[123].
2230         * Makeconfig (CPPFLAGS-.oS): Add -DLIBC_NONSHARED=1.
2231         * csu/elf-init.c: New file.
2232         * csu/Makefile (routines, static-only-routines): Add elf-init.
2233         * sysdeps/alpha/elf/start.S: Use __libc_csu_init in place of _init
2234         and __libc_csu_fini in place of _fini.
2235         * sysdeps/arm/elf/start.S: Likewise.
2236         * sysdeps/cris/elf/start.S: Likewise.
2237         * sysdeps/hppa/elf/start.S: Likewise.
2238         * sysdeps/i386/elf/start.S: Likewise.
2239         * sysdeps/ia64/elf/start.S: Likewise.
2240         * sysdeps/m68k/elf/start.S: Likewise.
2241         * sysdeps/mach/hurd/powerpc/static-start.S: Likewise.
2242         * sysdeps/mips/elf/start.S: Likewise.
2243         * sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
2244         * sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
2245         * sysdeps/s390/s390-32/elf/start.S: Likewise.
2246         * sysdeps/s390/s390-64/elf/start.S: Likewise.
2247         * sysdeps/sh/elf/start.S: Likewise.
2248         * sysdeps/sparc/sparc32/elf/start.S: Likewise.
2249         * sysdeps/sparc/sparc64/elf/start.S: Likewise.
2250         * sysdeps/x86_64/elf/start.S: Likewise.
2251
2252         * sysdeps/pthread/aio_notify.c (notify_func_wrapper): Take a malloc'd
2253         struct containing function ptr and value, free it.
2254         (__aio_notify_only): Allocate that and copy values from SIGEV into it.
2255         It's not safe to let the new thread use the SIGEV pointer.
2256
2257 2001-10-20  Paul Eggert  <eggert@twinsun.com>
2258
2259         * misc/error.c (strerror_r): Do not declare unless [!_LIBC].
2260         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
2261         Use strerror_r that is only a macro, even if it is not a function.
2262         (strerror): Check for HAVE_DECL_STRERROR before declaring.
2263         (private_strerror): Use prototypes, not old-style function definition.
2264         (print_errno_message): New function.
2265         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
2266         char*-flavored one.
2267         (error_tail, error, error_at_line): Use it.
2268
2269 2002-12-07  Carlos O'Donell  <carlos@baldric.uwo.ca>
2270
2271         * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Added SHMLBA #define.
2272
2273 2002-12-08  Ulrich Drepper  <drepper@redhat.com>
2274
2275         * scripts/output-format.sed: Fix bug in one of the s expressions
2276         which used / for one too many things.
2277
2278         * include/unistd.h: Declare __libc_close.
2279
2280 2002-12-07  Ulrich Drepper  <drepper@redhat.com>
2281
2282         * sysdeps/generic/bits/stdio-lock.h (_IO_lock_trylock): New define.
2283
2284 2002-12-07  Roland McGrath  <roland@redhat.com>
2285
2286         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Reintroduce changes
2287         from 2002-12-06, but remove unnecessary memset call without removing
2288         necessary copy of initialization image.
2289
2290         * Makerules ($(common-objpfx)format.lds): New target.
2291         (common-generated): Add it.
2292         ($(inst_libdir)/libc.so): Depend on that, and cat it into the result.
2293         * scripts/output-format.sed: New file.
2294         * Makefile (distribute): Add it.
2295
2296 2002-12-07  Ulrich Drepper  <drepper@redhat.com>
2297
2298         * sysdeps/generic/libc-tls.c: Include <sys/param.h>.
2299         Reported by Art Haas <ahaas@airmail.net>.
2300
2301 2002-12-07  Kenneth W. Chen  <kenneth.w.chen@intel.com>
2302
2303         * sysdeps/ia64/strncpy.S (strncpy): Clear ar.ec.  Fix .recovery4.
2304
2305 2002-12-07  Jakub Jelinek  <jakub@redhat.com>
2306
2307         * string/test-strncpy.c (do_random_tests): Improve test coverage.
2308
2309 2002-12-06  Ulrich Drepper  <drepper@redhat.com>
2310
2311         * test-skeleton.c (timeout_handler): Allow expected signal to be
2312         SIGALRM.
2313
2314         * wctype/wcfuncs.c: Add libc_hidden_def for iswalnum.
2315
2316         * sysdeps/posix/raise.c: Add libc_hidden_def for raise.
2317
2318 2002-12-07  Jakub Jelinek  <jakub@redhat.com>
2319
2320         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h [RTLD_PRIVATE_ERRNO]
2321         (SYSCALL_ERROR_HANDLER): Fix a pasto.
2322         Reported by Jeff Bailey <jbailey@nisa.net>.
2323
2324 2002-12-06  Ulrich Drepper  <drepper@redhat.com>
2325
2326         * sysdeps/generic/libc-tls.c: Undo last patch.
2327
2328         * include/wctype.h: Define iswalnum with libc_hidden_proto.
2329
2330         * include/signal.h: Define raise with libc_hidden_proto.
2331
2332         * sysdeps/unix/sysv/linux/fexecve.c (fexecve): Use __snprintf and
2333         __execve instead of snprintf and execve.
2334
2335         * sysdeps/x86_64/fpu/libm-test-ulps: Relax errors for float and double
2336         again a bit.
2337
2338 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
2339
2340         * posix/Makefile (annexc.out): Add -I../dir for all sorted-dirs.
2341         * posix/annexc.c (fmt, testfmt): Remove -D_LIBC.
2342
2343 2002-12-06  Ulrich Drepper  <drepper@redhat.com>
2344
2345         * misc/syslog.c (log_cleanup): New function.
2346         (openlog): Use log_cleanup instead of __libc_mutex_unlock.
2347         (closelog): Likewise.
2348
2349         * elf/dl-close.c: Use __rtld_lock_* macros instead of __libc_lock_*.
2350         * elf/dl-iteratephdr.c: Likewise.
2351         * elf/dl-lookup.c: Likewise.
2352         * elf/dl-misc.c: Likewise.
2353         * elf/dl-open.c: Likewise.
2354         * elf/dl-support.c: Likewise.
2355         * elf/rtld.c: Likewise.
2356         * sysdeps/generic/ldsodefs.h: Likewise.
2357         * sysdeps/generic/bits/libc-lock.h: Define __rtld_lock_* macros.
2358         * sysdeps/mach/bits/libc-lock.h: Likewise.
2359         * sysdeps/mach/hurd/bits/libc-lock.h: Likewise.
2360
2361 2002-12-06  Roland McGrath  <roland@redhat.com>
2362
2363         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Cope with zero ALIGN.
2364
2365         * malloc/hooks.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]
2366         (malloc_starter, memalign_starter, free_starter): Don't define these.
2367         * malloc/malloc.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]:
2368         Don't declare them either.
2369         * malloc/arena.c (ptmalloc_init) [_LIBC && USE_TLS]: Don't call
2370         __pthread_initialize, so no need to set hooks to *_starter.
2371         (ptmalloc_init_minimal): New function, broken out of ptmalloc_init.
2372         [_LIBC && SHARED && USE_TLS && !USE___THREAD]
2373         (__libc_malloc_pthread_startup): New function.
2374         * malloc/Versions (libc: GLIBC_PRIVATE): New set, add that function.
2375
2376         * malloc/hooks.c (memalign_starter): New function.
2377         * malloc/malloc.c: Declare it.
2378         * malloc/arena.c (save_memalign_hook): New variable.
2379         (ptmalloc_init): Set __memalign_hook to memalign_starter.
2380
2381         * elf/dl-minimal.c (free): Clear the memory.
2382         (calloc): Just call malloc, knowing all memory it returns is cleared.
2383
2384         * sysdeps/generic/dl-tls.c (allocate_dtv): Use calloc instead of
2385         malloc and memset; calloc can avoid the zeroing when redundant.
2386         (_dl_tls_setup): Likewise.
2387         * elf/dl-load.c (decompose_rpath): Likewise.
2388         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Comment out memset
2389         call, since memory from sbrk at startup is already zero.
2390
2391         * elf/rtld.c (_dl_start, dl_main): TLS_INIT_TP macro now returns an
2392         error string for failure, null for success.  Update callers.
2393         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.
2394         * elf/dl-load.c (_dl_map_object_from_fd): Likewise.
2395
2396 2002-12-05  Jakub Jelinek  <jakub@redhat.com>
2397
2398         * sysdeps/unix/sysv/linux/x86_64/syscalls.list (sendfile): Change
2399         args to i:iipi.
2400         (readahead): Change args to i:iii.
2401         * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list (readahead):
2402         Change args to i:iii.
2403         * sysdeps/unix/sysv/linux/mips/syscalls.list (readahead): Change
2404         args to i:iiii.
2405
2406 2002-12-05  Roland McGrath  <roland@redhat.com>
2407
2408         * stdlib/cxa_finalize.c (__cxa_finalize): When given a null argument,
2409         call all functions rather than none.
2410         Reported by Mark P. Mitchell <mark@codesourcery.com>.
2411
2412 2002-12-04  Roland McGrath  <roland@redhat.com>
2413
2414         * locale/localeinfo.h [NL_CURRENT_INDIRECT]: Use attribute_tls_model_ie
2415         on _nl_current_LC_* variables.
2416
2417 2002-12-05  Ulrich Drepper  <drepper@redhat.com>
2418
2419         * dirent/bug-readdir1.c (main): Don't call closedir, just close
2420         the file descriptor.  This is testing what the bug report was about.
2421
2422 2002-12-04  Ulrich Drepper  <drepper@redhat.com>
2423
2424         * po/be.po: New file.
2425
2426         * argp/Makefile (tests): Add tst-argp1.
2427
2428         * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: (struct sigevent):
2429         Change type of _attribute to void*.
2430         * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise.
2431         * sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise.
2432         * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise.
2433         * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise.
2434         * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise.
2435
2436 2002-12-04  Roland McGrath  <roland@redhat.com>
2437
2438         * sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS]
2439         members to the end, so a libpthread compiled with !USE_TLS will still
2440         find other members properly.
2441
2442         * sysdeps/i386/i486/bits/string.h (__strcpy_g): Add dummy output
2443         operand for DEST memory.  Fix dummy input operand to use SRC.
2444         Reported by Davin McCall <davmac@ozonline.com.au>.
2445
2446         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Account for TCB
2447         alignment when initializing the DTV entry.
2448
2449         * elf/dl-load.c (_dl_map_object_from_fd): If we hit a TLS segment
2450         when TLS has not been set up, try to set it up if we can.
2451         * elf/tst-tls4.c: Revert last change.
2452         * elf/tst-tls5.c: Likewise.
2453         * elf/tst-tls6.c: Likewise.
2454         * elf/tst-tls7.c: Likewise.
2455         * elf/tst-tls8.c: Likewise.
2456         * elf/tst-tls9.c: Likewise.
2457
2458         * sysdeps/generic/dl-tls.c [SHARED] (_dl_tls_setup): New function.
2459         * sysdeps/generic/ldsodefs.h: Declare it.
2460         * elf/Versions (ld: GLIBC_PRIVATE): Add it.
2461         * sysdeps/generic/libc-tls.c (init_slotinfo): New static inline
2462         function, broken out of __libc_setup_tls.
2463         (init_static_tls): Likewise.
2464         (__libc_setup_tls): Call them.
2465         (_dl_tls_setup): New function, uses new subroutines.
2466
2467         * elf/dl-close.c (free_slotinfo): Make argument pointer to pointer.
2468         Clear the pointer when returning true.
2469         (libc_freeres_fn) [SHARED]: If GL(dl_initial_dtv) is null, free the
2470         first element of the slotinfo list too.
2471
2472         * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Define only if
2473         [SHARED].
2474
2475         * sysdeps/generic/ldsodefs.h (_dl_next_tls_modid): Declare as hidden.
2476         (_dl_determine_tlsoffset): Likewise.
2477
2478         * elf/rtld.c (_dl_initial_error_catch_tsd): Renamed from
2479         startup_error_tsd, made global.
2480         (dl_main): Update initialization.
2481         * elf/dl-tsd.c: Likewise.
2482         * sysdeps/generic/ldsodefs.h: Declare it.
2483
2484 2002-12-03  Ulrich Drepper  <drepper@redhat.com>
2485
2486         * manual/texinfo.tex: Update from latest upstream version.
2487
2488 2002-12-03  Roland McGrath  <roland@redhat.com>
2489
2490         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Include static TLS
2491         area surplus in calculation for sbrk call.
2492
2493         * iconvdata/cp1125.c: New file.
2494         * iconvdata/Makefile (distribute): Add it.
2495         (modules): Add CP1125.
2496         (gen-8bit-gap-modules): Add cp1125.
2497         * iconvdata/gconv-modules: Add CP1125, alias RUSCII.
2498         * iconvdata/tst-tables.sh: Add CP1125 to the list to test.
2499
2500 2002-12-03  Andreas Jaeger  <aj@suse.de>
2501
2502         * sysdeps/x86_64/fpu/libm-test-ulps: Regenerated.
2503
2504 2002-12-03  Ulrich Drepper  <drepper@redhat.com>
2505
2506         * sysdeps/posix/system.c (do_system): Make signal handler
2507         installation thread safe.
2508
2509 2002-12-02  Roland McGrath  <roland@redhat.com>
2510
2511         * sysdeps/unix/sysv/linux/alpha/syscalls.list (readahead): Change
2512         caller from EXTRA to -.
2513         * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
2514         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
2515         * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
2516
2517 2002-12-02  Carlos O'Donell  <carlos@baldric.uwo.ca>
2518
2519         * sysdeps/hppa/fpu/fesetround.c (fesetround): Use ~FE_DOWNWARD so both
2520         bits of RM are cleared.
2521
2522 2002-12-02  Roland McGrath  <roland@redhat.com>
2523
2524         * elf/tst-tls4.c: Define an unused TLS variable here, so that no lazy
2525         TLS setup is required.
2526         * elf/tst-tls5.c: Likewise.
2527         * elf/tst-tls6.c: Likewise.
2528         * elf/tst-tls7.c: Likewise.
2529         * elf/tst-tls8.c: Likewise.
2530         * elf/tst-tls9.c: Likewise.
2531
2532         * elf/rtld.c (dl_main): Remove [! SHARED] conditional from
2533         `if (GL(dl_tls_max_dtv_idx) > 0)' tests for doing TLS setup.
2534         * elf/dl-close.c (libc_freeres_fn): Check GL(dl_tls_dtv_slotinfo_list)
2535         for being null before calling free_slotinfo.
2536         * elf/dl-load.c (_dl_map_object_from_fd) [SHARED]: For PT_TLS in
2537         dynamic loading, bail with error if GL(dl_tls_max_dtv_idx) is zero.
2538
2539 2002-11-30  Bruno Haible  <bruno@clisp.org>
2540
2541         * iconv/gconv.h (__gconv_btowc_fct): New typedef.
2542         (struct __gconv_step): New field __btowc_fct.
2543         * wcsmbs/btowc.c (__btowc): Use the __btowc_fct shortcut if possible.
2544         * iconv/gconv_int.h (__BUILTIN_TRANSFORM): Renamed from
2545         __BUILTIN_TRANS.
2546         (__gconv_btwoc_ascii): New declaration.
2547         * iconv/gconv_simple.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument.
2548         (__gconv_btwoc_ascii): New function.
2549         * iconv/gconv_builtin.h: Add BtowcFct argument to all
2550         BUILTIN_TRANSFORMATION invocations.
2551         * iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument.
2552         * iconv/iconvconfig.c (BUILTIN_TRANSFORMATION): Likewise.
2553         * iconv/gconv_builtin.c (map): New field btowc_fct.
2554         (BUILTIN_TRANSFORMATION): Add BtowcFct argument. Use it to initialize
2555         btowc_fct field.
2556         (__gconv_get_builtin_trans): Initialize __btowc_fct field.
2557         * iconv/gconv_cache.c (find_module): Initialize __btowc_fct field.
2558         * iconv/gconv_db.c (gen_steps, increment_counter): Likewise.
2559         * wcsmbs/wcsmbsload.c (to_wc, to_mb): Likewise.
2560         * iconv/skeleton.c: Document STORE_REST and FROM_ONEBYTE.
2561         (gconv_init): Initialize __btowc_fct field.
2562         Undefine EXTRA_LOOP_ARGS and FROM_ONEBYTE at the end.
2563         * iconv/loop.c: Document ONEBYTE_BODY.
2564         (gconv_btowc, FROM_ONEBYTE): Define if ONEBYTE_BODY is defined.
2565         Undefine ONEBYTE_BODY at the end.
2566         * iconvdata/8bit-generic.c (ONEBYTE_BODY): New macro.
2567         * iconvdata/8bit-gap.c (NONNUL): New macro.
2568         (BODY for FROM_LOOP): Use it.
2569         (ONEBYTE_BODY): New macro.
2570         * iconvdata/isiri-3342.c (HAS_HOLES): Set to 1.
2571         (NONNUL): New macro.
2572         * iconvdata/ansi_x3.110.c (ONEBYTE_BODY): New macro.
2573         * iconvdata/armscii-8.c (ONEBYTE_BODY): New macro.
2574         * iconvdata/cp1255.c (ONEBYTE_BODY): New macro.
2575         * iconvdata/cp1258.c (ONEBYTE_BODY): New macro.
2576         * iconvdata/tcvn5712-1.c (ONEBYTE_BODY): New macro.
2577         * iconvdata/big5.c (ONEBYTE_BODY): New macro.
2578         * iconvdata/big5hkscs.c (ONEBYTE_BODY): New macro.
2579         * iconvdata/euc-cn.c (ONEBYTE_BODY): New macro.
2580         * iconvdata/euc-jp.c (ONEBYTE_BODY): New macro.
2581         * iconvdata/euc-jisx0213.c (ONEBYTE_BODY): New macro.
2582         * iconvdata/euc-kr.c (ONEBYTE_BODY): New macro.
2583         * iconvdata/euc-tw.c (ONEBYTE_BODY): New macro.
2584         * iconvdata/gbk.c (ONEBYTE_BODY): New macro.
2585         * iconvdata/gb18030.c (ONEBYTE_BODY): New macro.
2586         * iconvdata/ibm932.c: Include <stdbool.h>.
2587         (TRUE, FALSE): Remove macros.
2588         (BODY for FROM_LOOP): Remove unused variable rp1.
2589         (ONEBYTE_BODY): New macro.
2590         (BODY for TO_LOOP): Use bool.
2591         * iconvdata/ibm932.h (__ibm932sb_to_ucs4_idx): Remove array.
2592         * iconvdata/ibm943.c: Include <stdbool.h>.
2593         (TRUE, FALSE): Remove macros.
2594         (BODY for FROM_LOOP): Remove unused variable rp1.
2595         (ONEBYTE_BODY): New macro.
2596         (BODY for TO_LOOP): Use bool.
2597         * iconvdata/ibm943.h (__ibm943sb_to_ucs4_idx): Remove array.
2598         * iconvdata/iso8859-1.c (ONEBYTE_BODY): New macro.
2599         * iconvdata/iso_6937-2.c (ONEBYTE_BODY): New macro.
2600         * iconvdata/iso_6937.c (ONEBYTE_BODY): New macro.
2601         * iconvdata/johab.c (ONEBYTE_BODY): New macro.
2602         * iconvdata/sjis.c (ONEBYTE_BODY): New macro.
2603         * iconvdata/shift_jisx0213.c (ONEBYTE_BODY): New macro.
2604         * iconvdata/t.61.c (ONEBYTE_BODY): New macro.
2605         * iconvdata/uhc.c (ONEBYTE_BODY): New macro.
2606         * iconvdata/gbbig5.c: Tweak comment.
2607
2608 2002-12-02  Ulrich Drepper  <drepper@redhat.com>
2609
2610         * po/fi.po: Update from translation team.
2611
2612 2002-12-01  Roland McGrath  <roland@redhat.com>
2613
2614         * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Fix condition
2615         testing getdents64 return value.
2616
2617         * scripts/versions.awk: Don't pass -n flag to sort command.
2618
2619         * posix/bug-regex13.c: Include <string.h>.
2620
2621         * sysdeps/generic/libc-start.c (__libc_start_main): Do
2622         DL_SYSDEP_OSCHECK here.
2623         * sysdeps/unix/sysv/linux/init-first.c (init): Not here.
2624         * sysdeps/unix/sysv/linux/dl-osinfo.h: Include <fcntl.h>.
2625
2626         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Bail if
2627         argument TCBSIZE <= TLS_INIT_TCB_SIZE, not just if it's zero.
2628
2629         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Check l_tls_offset
2630         instead of l_type to decide whether to use TLS_DTV_UNALLOCATED.
2631
2632         * include/link.h: Comment typo fix.
2633
2634 2002-12-01  Roland McGrath  <roland@frob.com>
2635
2636         * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_FSYNC): Set to 200112L.
2637         (_POSIX_SPAWN, _POSIX_MAPPED_FILES, _POSIX_MEMLOCK_RANGE,
2638         _POSIX_MEMORY_PROTECTION): Likewise.
2639         (_POSIX_POLL, _POSIX_SELECT): Removed.
2640
2641 2002-11-28  Ulrich Drepper  <drepper@redhat.com>
2642
2643         * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define macros which
2644         require it to 200112L.  Remove _POSIX_POLL and _POSIX_SELECT.
2645
2646 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
2647
2648         * sysdeps/unix/alpha/sysdep.S: Change defined(USE___THREAD) to
2649         USE___THREAD.
2650         * sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall*): Avoid
2651         "=v" constraints.
2652
2653 2002-11-28  Ulrich Drepper  <drepper@redhat.com>
2654
2655         * sysdeps/unix/sysv/linux/x86_64/vfork.S: Don't trash the CPU's
2656         branch prediction buffers by using unpaired call/ret.
2657
2658 2002-11-27  Ulrich Drepper  <drepper@redhat.com>
2659
2660         * sysdeps/unix/sysv/linux/i386/sysdep.h (ASMFMT_2): Fix typo in
2661         first parameters constraint string.
2662         (ASMFMT_3): Likewise.  Patch by stefan.lauterbach@mincom.de.
2663
2664 2002-11-27  Isamu Hasegawa  <isamu@yamato.ibm.com>
2665
2666         * posix/regcomp.c (parse_expression): Set the bit since the back
2667         reference is used in the regular expression.
2668         * posix/regex_internal.c (re_node_set_init_1): Make it clean in case
2669         of malloc failure.
2670         (re_node_set_init_copy): Likewise.
2671         * posix/regex_internal.h (state_array_t): New structure.
2672         (re_sub_match_last_t): Likewise.
2673         (re_sub_match_top_t): Likewise.
2674         (re_match_context_t): Add new members.
2675         (re_dfa_t): Likewise.
2676         * posix/regexec.c (re_search_internal): Invoke prune_impossible_nodes
2677         to check the matching is really correct, and retry if failed.
2678         Move the routin pruning the impossible nodes from here, ...
2679         (prune_impossible_nodes): To this function.
2680         (check_matching): Invoke check_subexp_matching_top, and replace
2681         redundant checking with transit_state_bkref invocation.
2682         (proceed_next_node): Replace strncmp with memcmp.  Reported by
2683         Paolo Bonzini  <bonzini@gnu.org>.
2684         (update_cur_sifted_state): Remove search_subexp invocation.
2685         (search_subexp): Remove this function.
2686         (check_dst_limits_calc_pos): Use search_cur_bkref_entry for
2687         optimization.
2688         (sift_states_bkref): Use search_cur_bkref_entry for optimization.
2689         Remove unused invocation of match_ctx_add_entry.
2690         (transit_state): Invoke check_subexp_matching_top.
2691         (check_subexp_matching_top): New function.
2692         (transit_state_bkref): Remove unused array.
2693         Merge transit_state_bkref_loop.
2694         (transit_state_bkref_loop): Use get_subexp instead of
2695         sift_states_backward.  Use search_cur_bkref_entry for optimization.
2696         Merge this function to transit_state_bkref.
2697         (get_subexp): New function.
2698         (get_subexp_sub): Likewise.
2699         (find_subexp_node): Likewise.
2700         (check_arrival): Likewise.
2701         (check_arrival_expand_ecl): Likewise.
2702         (check_arrival_expand_ecl_sub): Likewise.
2703         (expand_bkref_cache): Likewise.
2704         (match_ctx_init): Initialize new members.
2705         (match_ctx_clean): New function.
2706         (match_ctx_free): Release new members.
2707         (match_ctx_free_subtops): New function.
2708         (match_ctx_add_entry): Fix indent.
2709         (search_cur_bkref_entry): New function.
2710         (match_ctx_add_subtop): Likewise.
2711         (match_ctx_add_sublast): Likewise.
2712
2713 2002-11-25  Ulrich Drepper  <drepper@redhat.com>
2714
2715         * iconv/Makefile (tests): Remove tst-iconv4.c
2716         * iconv/tst-iconv4.c: Moved to...
2717         * iconvdata/tst-iconv4.c: ...here.  New file.
2718         * iconvdata/Makefile (tests): Add tst-iconv4.  Add dependencies.
2719
2720 2002-11-25  Roland McGrath  <roland@redhat.com>
2721
2722         * inet/test-ifaddrs.c (main: addr_string): Handle null SA.
2723         Grok AF_LINK if defined.
2724         From Momchil Velikov <velco@fadata.bg>.
2725
2726         * sysdeps/gnu/ifaddrs.c (getifaddrs): If ioctl fails for netmask,
2727         brdaddr, or dstaddr, just set those pointers to null and don't fail.
2728         Reported by Momchil Velikov <velco@fadata.bg>.
2729
2730         * sysdeps/generic/ifreq.h (__if_nextreq) [_HAVE_SA_LEN]: If sa_len
2731         is > sizeof IFR->ifa_addr, advance past the whole longer length.
2732         (__ifreq): Count up NIFS that way too.
2733         Reported by Momchil Velikov <velco@fadata.bg>.
2734
2735         * sysdeps/mach/hurd/lchmod.c: Include <fcntl.h>.
2736
2737         * sysdeps/mach/hurd/i386/init-first.c: Include <ldsodefs.h>
2738         and <fpu_control.h>.
2739
2740 2002-11-24  Ulrich Drepper  <drepper@redhat.com>
2741
2742         * elf/elf.h (EM_ST19): Fix typo.
2743
2744 2002-11-25  Jakub Jelinek  <jakub@redhat.com>
2745
2746         * include/errno.h (__set_errno): Define as errno = val
2747         unconditionally.
2748
2749 2002-11-24  Roland McGrath  <roland@redhat.com>
2750
2751         * sysdeps/posix/readv.c: Include <errno.h>, use __set_errno macro.
2752         * sysdeps/posix/writev.c: Likewise.
2753         From Momchil Velikov <velco@fadata.bg>.
2754
2755         * elf/dl-error.c [! _LIBC_REENTRANT]: Use a static variable instead of
2756         calling *GL(dl_error_catch_tsd) for a thread-local location.
2757         * elf/rtld.c (startup_error_tsd): Conditionalize on [_LIBC_REENTRANT].
2758         (dl_main): Same for GL(dl_error_catch_tsd) initialization.
2759         * elf/dl-tsd.c: Conditionalize contents on [_LIBC_REENTRANT].
2760
2761         * libio/iofflush.c: Add libc_hidden_def.
2762         * libio/iofwrite.c: Likewise.
2763         * sysdeps/generic/sigtimedwait.c: Likewise.
2764         * sysdeps/generic/sigwaitinfo.c: Likewise.
2765         * sysdeps/posix/sigwait.c: Likewise.
2766         Reported by Momchil Velikov <velco@fadata.bg>.
2767
2768         * inet/inet_lnaof.c (inet_lnaof): Change return type to in_addr_t
2769         to match <arpa/inet.h> declaration.
2770         * inet/inet_netof.c (inet_netof): Likewise.
2771         * inet/inet_mkadr.c (inet_makeaddr): Likewise for argument types.
2772         Reported by Momchil Velikov <velco@fadata.bg>.
2773
2774         * configure.in: Skip AUTOCONF check under --without-cvs.
2775         * configure: Regenerated.
2776
2777         * posix/Makefile (headers): Add bits/pthreadtypes.h.
2778         * sysdeps/unix/sysv/linux/Makefile (sysdep_heaers): Don't add it here.
2779         * sysdeps/unix/sysv/linux/Dist: Remove it from the list.
2780
2781 2002-11-24  Andreas Schwab  <schwab@suse.de>
2782
2783         * sysdeps/unix/sysv/linux/m68k/sysdep.h: Support inline syscall
2784         with six arguments.
2785
2786 2002-11-19  Jim Meyering  <jim@meyering.net>
2787
2788         * time/mktime.c (__mon_yday, __mktime_internal) [!_LIBC]: Declare
2789         as `static'.
2790         * time/strptime.c (__mon_yday) [!_LIBC]: Declare as `static'.
2791
2792 2002-11-23  Roland McGrath  <roland@redhat.com>
2793
2794         * scripts/abilist.awk: Avoid strtonum function, not there in mawk.
2795         Just produce hex output for datum sizes.
2796
2797         * elf/Makefile ($(objpfx)librtld.mk): Tighten up regexp.
2798         Reported by Luca Barbieri <ldb@ldb.ods.org>.
2799
2800 2002-11-20  Steven Munroe  <sjmunroe@us.ibm.com>
2801
2802         * sysdeps/unix/sysv/linux/powerpc/bits/msq.h (msqid_ds)
2803         [__WORDSIZE == 32]: Only PPC32 requires __unused1, __unused2,
2804         and __unused3 fields.
2805         * sysdeps/unix/sysv/linux/powerpc/bits/sem.h (semid_ds)
2806         [__WORDSIZE == 32]: Only PPC32 requires __unused1
2807         and __unused2 fields.
2808         * sysdeps/unix/sysv/linux/powerpc/bits/shm.h (shmid_ds)
2809         [__WORDSIZE == 32]: Only PPC32 requires __unused1, __unused2,
2810         __unused3, and __unused4 fields.
2811
2812         * csu/gmon-start.c (__gmon_start__): Always use TEXT_START macro to
2813         obtain lowest address for profiling in __monstartup call.
2814
2815 2002-11-21  Roland McGrath  <roland@redhat.com>
2816
2817         * sysdeps/ia64/fpu/Makefile (libm-sysdep_routines): Remove redunant
2818         $(calls) $(calls:=f) $(long-c-$(long-double-fcts)).
2819
2820         * locale/localeinfo.h (struct locale_data): Revert last change.
2821
2822         * sysdeps/unix/sysv/linux/ia64/syscalls.list (s_exit_group): Add it.
2823         From Ian Wienand <ianw@gelato.unsw.edu.au>.
2824
2825         * sysdeps/unix/sysv/linux/ia64/sysdep.h (__NR_pread): Define to
2826         __NR_pread64 if not defined.
2827         (__NR_pwrite): Define to __NR_pwrite64 if not defined.
2828         From Ian Wienand <ianw@gelato.unsw.edu.au>.
2829
2830 2002-11-21  Roland McGrath  <roland@frob.com>
2831
2832         * sysdeps/mach/hurd/i386/init-first.c (posixland_init): Set
2833         __libc_multiple_libcs here.  Call __setfpucw.
2834
2835 2002-11-21  Ulrich Drepper  <drepper@redhat.com>
2836
2837         * elf/Makefile (tests): Don't run test-arrayX tests for now.
2838
2839         * sysdeps/unix/sysv/linux/bits/sched.h: Add new CLONE_* flags.
2840         * sysdeps/unix/sysv/linux/i386/clone.S: Add support for
2841         CLONE_CHILD_*TID flags.
2842
2843 2002-11-20  Andreas Jaeger  <aj@suse.de>
2844
2845         * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT):
2846         We pass struct ucontext on x86-64.
2847         (GET_PC): Adjust.
2848         (GET_FRAME): Adjust.
2849         (GET_STACK): Adjust.
2850
2851 2002-11-20  Roland McGrath  <roland@redhat.com>
2852
2853         * sysdeps/powerpc/powerpc32/dl-machine.c [! SHARED]: Further
2854         conditionalize [! DO_VERSIONING] #error.
2855
2856         * scripts/abilist.awk: Grok function descriptor symbols.
2857
2858         * intl/tst-gettext.c (main): Check return values from setlocale.
2859         Add necessary unsetenv's to make LANG=existing-locale check work.
2860
2861         * intl/tst-gettext.sh: Use mkdir -p.  Copy test files unconditionally,
2862         so aborted prior runs don't confuse things.
2863
2864         * locale/localeinfo.h (struct locale_data: union locale_data_value):
2865         Use uintptr_t instead of unsigned int for `word' member.
2866         (_NL_CURRENT_WORD): Cast to uint32_t.
2867
2868         * posix/bug-regex5.c (main): Use union to extract _NL_COLLATE_NRULES
2869         value.
2870
2871 2002-11-20  Ulrich Drepper  <drepper@redhat.com>
2872
2873         * elf/tls-macros.h: Add IA-64 definitions.
2874         Patch by Ian Wienand <ianw@gelato.unsw.edu.au>.
2875
2876         * iconv/Makefile (tests): Add tst-iconv4.
2877         * iconv/tst-iconv4.c: New file.
2878
2879         * iconv/gconv_simple.c (internal_ucs4le_loop_unaligned): Return
2880         __GCONV_EMPTY_INPUT only if input is really empty.  Otherwise
2881         __GCONV_INCOMPLETE_INPUT.
2882         (ucs4le_internal_loop): Likewise.
2883         (ucs4le_internal_loop_unaligned): Likewise.
2884         * iconvdata/unicode.c (PREPARE_LOOP): Likewise.
2885         * iconvdata/utf-16.c (PREPARE_LOOP): Likewise.
2886         * iconvdata/utf-32.c (PREPARE_LOOP): Likewise.
2887
2888         * iconv/loop.c (LOOPFCT): First test for empty input then for full
2889         output buffer.
2890
2891         * inet/getnameinfo.c: Use extend_alloca where appropriate.
2892         * sysdeps/posix/getaddrinfo.c: Likewise.
2893
2894         * include/alloca.h (extend_alloca): New define.  Based on stack
2895         direction it'll try to append to the previouls allocated buffer.
2896
2897 2002-11-07  Thorsten Kukuk  <kukuk@suse.de>
2898
2899         * sysdeps/posix/getaddrinfo.c (gaih_inet): If AF_UNSPEC is set,
2900         use the same service for AF_INET and AF_INET6.
2901
2902 2002-11-19  Ulrich Drepper  <drepper@redhat.com>
2903
2904         * intl/localealias.c (read_alias_file): Use only about 400 bytes
2905         of stack space instead of 16k.
2906
2907 2002-11-18  Wolfram Gloger  <wg@malloc.de>
2908
2909         * malloc/arena.c
2910         (ptmalloc_lock_all, ptmalloc_unlock_all, ptmalloc_unlock_all2): Do
2911         nothing if not initialized.  Bug report from Marcus Brinkmann
2912         <Marcus.Brinkmann@ruhr-uni-bochum.de>.
2913
2914 2002-11-19  Roland McGrath  <roland@redhat.com>
2915
2916         * posix/Versions (libc: GLIBC_2.3.2): Add sched_getaffinity and
2917         sched_setaffinity.
2918
2919         * configure.in (libc_cv_gcc_dwarf2_unwind_info check): Use libraries
2920         `-lgcc -lgcc_eh -lgcc', not just `-lgcc -lgcc_eh' in link commands for
2921         test leading to libc_cv_gcc_dwarf2_unwind_info=no_registry_needed.
2922         * configure: Regenerated.
2923
2924 2002-11-19  Ulrich Drepper  <drepper@redhat.com>
2925
2926         * include/dlfcn.h: __libc_dlopen is now a macro calling
2927         __libc_dlopen_mode with the extra parameter RTLD_LAZY.
2928         (__libc_dlopen_mode): New prototype.
2929         * elf/dl-libc.c (__libc_dlopen_mode): Renamed from __libc_dlopen.  Add
2930         new parameter.  Store new parameter in mode field of structure passed
2931         to do_dlopen.
2932         (struct do_dlopen_args): Add new field mode.
2933         (do_dlopen): Pass mode from parameter structure to _dl_open.
2934
2935 2002-11-11  Randolf Chung  <tausq@debian.org>
2936
2937         * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h [__USE_FILE_OFFSET64]
2938         (F_GETLK, F_SETLK, F_SETLKW): Define to F_*64 versions.
2939         * sysdeps/unix/sysv/linux/hppa/fcntl.c: New file.
2940
2941         * sysdeps/hppa/fpu/libm-test-ulps: New file (generated).
2942
2943         * sysdeps/hppa/Makefile (CFLAGS-rtld.c): New variable.
2944         Set -mdisable-fpregs for this file.
2945
2946 2002-11-11  Carlos O'Donell  <carlos@baldric.uwo.ca>
2947
2948         * sysdeps/unix/sysv/linux/configure.in:
2949         Make 2.4.19 minimum linux kernel for hppa, and add unwind symbols
2950         from gcc-3.0 era for backwards compatibility.
2951         * sysdeps/unix/sysv/linux/configure: Regenerate.
2952
2953         * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h:
2954         Define mcontext_t as a sigcontext.
2955
2956 2002-11-18  Roland McGrath  <roland@redhat.com>
2957
2958         * dlfcn/dlerror.c (fini): New function, __attribute__ ((destructor)).
2959         Free memory in `last_result' if it was used.
2960
2961         * resolv/nss_dns/dns-network.c (getanswer_r): In BYNAME case, search
2962         all aliases for one that matches the "<dotted-quad>.IN-ADDR.ARPA" form.
2963         Do the parsing inline instead of copying strings and calling
2964         inet_network, and properly skip all alias names not matching the form.
2965
2966         * manual/pattern.texi (Variable Substitution): Fix # and ## examples.
2967
2968 2002-11-17  Ulrich Drepper  <drepper@redhat.com>
2969
2970         * manual/pattern.texi (Wordexp Example): Fix sample code.
2971
2972         * sysdeps/unix/sysv/linux/i386/clone.S: Initialize word in the
2973         childs stack which will be loaded into the %esi register.
2974
2975 2002-11-14  Paul Eggert  <eggert@twinsun.com>
2976
2977         * resolv/nss_dns/dns-network.c (getanswer_r): Check for buffer
2978         overflow when skipping the question part and when unpacking aliases.
2979
2980 2002-11-15  Roland McGrath  <roland@redhat.com>
2981
2982         * math/Makefile (libm-calls): Remove s_copysign, s_isinf, s_isnan,
2983         s_finite, s_modf, s_scalbn, s_frexp, m_ldexp, s_signbit.
2984         Instead add $(calls:s_%=m_%) to get m_* versions of them all.
2985
2986 2002-11-15  Jakub Jelinek  <jakub@redhat.com>
2987
2988         * sysdeps/i386/dl-machine.h (elf_machine_rela): Handle R_386_COPY.
2989         * sysdeps/arm/dl-machine.h (elf_machine_rela): Handle R_ARM_COPY.
2990
2991 2002-11-15  Roland McGrath  <roland@redhat.com>
2992
2993         * math/Makefile (libm-calls): Change s_ldexp to m_ldexp.
2994         * Makerules ($(+sysdir_pfx)sysd-rules): Emit pattern rules for m_%.[Sc]
2995         from sysdeps/.../s_%.[Sc] with commands $(+make-include-of-dep).
2996         (+make-include-of-dep): New canned sequence.
2997
2998         * stdlib/canonicalize.c (__realpath): Check for malloc failure.
2999         From Dmitry V. Levin <ldv@altlinux.org>.
3000
3001 2002-11-14  Roland McGrath  <roland@redhat.com>
3002
3003         * sysdeps/generic/errno.c (__libc_errno): Remove alias.
3004         * inet/herrno.c (__libc_h_errno): Likewise.
3005         * resolv/res_libc.c (__libc_res): Likewise.
3006         [USE___THREAD]: Use this in place of [USE_TLS && HAVE___THREAD].
3007         (__res_state) [! USE___THREAD]: Don't define as weak.
3008         * csu/Versions: Revert last change.
3009         * resolv/Versions: Revert last change.
3010
3011         * Makerules ($(common-objpfx)%.make): New pattern rule.
3012         * tls.make.c: New file.
3013         * Makefile (distribute): Add it.
3014
3015         * sysdeps/generic/errno.c [! USE___THREAD]
3016         [HAVE_ELF && SHARED && DO_VERSIONING] (errno, _errno): Declare these
3017         with compat_symbol so they are not link-time visible.
3018         [! USE___THREAD] (__libc_errno): New alias for errno.
3019         * csu/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
3020         Add __libc_errno here.
3021         * inet/herrno.c [USE___THREAD]: Use this conditional
3022         in place of [USE_TLS && HAVE___THREAD].
3023         [! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING]
3024         (h_errno, _h_errno): Declare these with compat_symbol so they are not
3025         link-time visible.
3026         [! USE___THREAD] (__libc_h_errno): New alias for h_errno.
3027         * resolv/res_libc.c [! USE___THREAD]
3028         [HAVE_ELF && SHARED && DO_VERSIONING] (_res): Likewise.
3029         (_res): Use __attribute__ ((section (".bss"))) so we can have an alias.
3030         (__libc_res): Define as alias for _res.
3031         * resolv/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
3032         Add __libc_h_errno and __libc_res here.
3033
3034 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
3035
3036         * csu/Versions (errno): Move STT_TLS symbol to GLIBC_PRIVATE for now.
3037         * resolv/Versions (h_errno, _res): Likewise.
3038
3039 2002-11-14  Roland McGrath  <roland@redhat.com>
3040
3041         * Makerules (%.dynsym): Remove $(objpfx) from target and dep.
3042         (%.symlist): Likewise.
3043
3044 2002-11-13  Roland McGrath  <roland@redhat.com>
3045
3046         * scripts/abilist.awk: New file.
3047         * Makefile (distribute): Add it.
3048         * Makerules ($(objpfx)%.dynsym, $(objpfx)%.symlist): New rules.
3049         (tests): Depend on .symlist file for each $(install-lib.so-versioned).
3050         [$(subdir) = elf] (tests): Depend on libc.symlist.
3051         (generated, common-generated): Add those files.
3052
3053         * aclocal.m4 (LIBC_PROG_BINUTILS): Check for objdump, set OBJDUMP.
3054         * configure: Regenerated.
3055         * config.make.in (OBJDUMP): New variable, substituted by configure.
3056
3057         * malloc/mcheck.c (struct hdr): New members `block' and `magic2'.
3058         (mallochook, reallochook): Set them up.
3059         (checkhdr): Check HDR->magic2 value.
3060         (freehook): Reset HDR->magic2.
3061         (memalignhook): New static function.
3062         (old_memalign_hook): New static variable.
3063         (mcheck, reallochook): Set __memalign_hook to memalignhook.
3064
3065         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Zero the space
3066         for the new TCB.
3067
3068 2002-11-13  Andreas Jaeger  <aj@suse.de>
3069
3070         * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Check for visibility
3071         attribute.
3072         * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
3073
3074 2002-11-11  Paul Eggert  <eggert@twinsun.com>
3075
3076         * manual/crypt.texi (Cryptographic Functions): Mention that
3077         the MD5 one-way algorithm is compatible with BSD's.
3078
3079 2002-11-11  Isamu Hasegawa  <isamu@yamato.ibm.com>
3080
3081         * posix/regex_internal.c (re_string_skip_chars): Also return the last
3082         wide character.
3083         (re_string_reconstruct): Calculate the context by itself when the
3084         offset points out of the valid range.
3085         (re_string_context_at): Use wide character when MB_CUR_MAX > 1.
3086         * posix/regex_internal.h (WIDE_NEWLINE_CHAR): New macro.
3087         (IS_WIDE_WORD_CHAR): New macro.
3088         (IS_WIDE_NEWLINE): New macro.
3089
3090 2002-11-12  Andreas Jaeger  <aj@suse.de>
3091
3092         * sysdeps/x86_64/strchr.S: Don't use one register for two
3093         purposes, this fixes a bug noticed by test-strchr.c.
3094
3095         * sysdeps/x86_64/strcat.S: Fix algorithm to align source pointer
3096         correctly.
3097
3098 2002-11-12  Roland McGrath  <roland@redhat.com>
3099
3100         * libio/libioP.h [_LIBC && !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]
3101         (_G_IO_NO_BACKWARD_COMPAT): Define it.
3102
3103         * sysdeps/ia64/dl-fptr.c [_LIBC_REENTRANT]: Include <ia64intrin.h>
3104         instead of <pt-machine.h>.
3105         [_LIBC_REENTRANT] (lock, unlock): Use __sync_lock_* macros instead of
3106         testandset.
3107         From Ian Wienand <ianw@gelato.unsw.edu.au>.
3108
3109 2002-11-10  Roland McGrath  <roland@redhat.com>
3110
3111         * libio/bug-wfflush.c (do_test): Call rewind instead of fsetpos.
3112         Call fputs instead of fwprintf (simpler to follow in debugger).
3113
3114         * crypt/md5-crypt.c: Doc fix.
3115
3116         * sysdeps/unix/make-syscalls.sh: Insert $(make-target-directory) at
3117         the beginning of generated target commands.
3118
3119         * csu/Makefile ($(objpfx)crti.o, $(objpfx)crtn.o): Add explicit
3120         dependencies for these in case implicit rule search skipped the
3121         nonexistent source directory.
3122         * sysdeps/gnu/Makefile ($(objpfx)errlist.d): Give this rule all the
3123         files with $(object-suffixes) as targets too.
3124         * Makerules [no_deps && objpfx] (before-compile): Add $(objpfx).
3125         and a target for it using $(make-target-directory).
3126
3127         * Rules (before-compile): Add $(common-objpfx)bits/stdio-lim.h.
3128
3129 2002-11-10  Roland McGrath  <roland@frob.com>
3130
3131         * sysdeps/unix/sysv/linux/bits/pthreadtypes.h: Moved to ...
3132         * sysdeps/generic/bits/pthreadtypes.h: ... here.
3133
3134         * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Treat a struct flock with
3135         l_start == 0 and l_len == 1 as we do l_len == 0.
3136
3137 2002-11-10  Ulrich Drepper  <drepper@redhat.com>
3138
3139         * po/da.po: Update from translation team.
3140
3141 2002-11-10  Roland McGrath  <roland@redhat.com>
3142
3143         * config.make.in (includedir): New variable, substituted by configure.
3144         Reported missing by Jocelyn Fournier <joc@presence-pc.com>.
3145         * Makeconfig (includedir): Use $(prefix), not $(exec_prefix).
3146
3147 2002-11-10  Andreas Jaeger  <aj@suse.de>
3148
3149         * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h (enum): Add
3150         REG_OLDMASK and REG_CR2 to synch with kernel header.
3151         (NGREG): Increase.
3152
3153         * nss/getXXent.c (GETFUNC_NAME): Use union type to avoid strict
3154         aliasing problem.
3155         * nss/getXXbyYY_r.c (INTERNAL): Likewise.
3156         * nss/getnssent_r.c (__nss_getent_r): Likewise.
3157         (__nss_setent): Likewise.
3158         (__nss_getent_r): Likewise.
3159         * inet/getnetgrent_r.c (innetgr): Likewise.
3160         (__internal_setnetgrent_reuse): Likewise.
3161         (internal_getnetgrent_r): Likewise.
3162         * inet/ether_hton.c (ether_hostton): Likewise.
3163         * inet/ether_ntoh.c (ether_ntohost): Likewise.
3164         * sunrpc/netname.c (netname2user): Likewise.
3165         * sunrpc/publickey.c (getpublickey): Likewise.
3166         (getsecretkey): Likewise.
3167
3168 2002-11-09  Marcus Brinkmann  <marcus@gnu.org>
3169
3170         * sysdeps/mach/hurd/i386/ioperm.c (ioperm): Correct off by one
3171         error in range calculation.
3172
3173 2002-10-09  Jakub Jelinek  <jakub@redhat.com>
3174
3175         * string/test-strspn.c (do_test): Ensure zero termination.
3176         * string/test-strpbrk.c (do_test): Likewise.
3177         * string/test-strncmp.c (stupid_strncmp): Use strnlen, not strlen.
3178         * string/test-strncpy.c (stupid_strncpy): Likewise.
3179         * string/test-stpncpy.c (stupid_stpncpy): Likewise.
3180
3181 2002-10-08  Roland McGrath  <roland@redhat.com>
3182
3183         * string/test-string.h (test_init): Fill BUF1 and BUF2 with
3184         nonzero characters.
3185
3186 2002-09-22  H.J. Lu  <hjl@gnu.org>
3187
3188         * sysdeps/unix/sysv/linux/mmap64.c (MMAP2_PAGE_SHIFT): Renamed
3189         from PAGE_SHIFT.  Define if not defined.  Check MMAP2_PAGE_SHIFT
3190         only if __NR_mmap2 is defined.
3191
3192         * sysdeps/unix/sysv/linux/powerpc/mmap64.c: Moved to ...
3193         * sysdeps/unix/sysv/linux/mmap64.c: ... here.
3194         * sysdeps/unix/sysv/linux/hppa/mmap64.c: File removed.
3195         * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: FIle removed,
3196
3197 2002-11-08  Jakub Jelinek  <jakub@redhat.com>
3198
3199         * posix/bug-regex13.c (tests): Add new test.
3200
3201         * string/test-strchr.c (stupid_strchr): New function.
3202         (do_random_tests): Make sure the string is zero terminated.
3203         * string/test-strpbrk.c (stupid_strpbrk): New function.
3204         (do_random_tests): Make sure the string is zero terminated.
3205         * string/test-strcmp.c (stupid_strcmp): New function.
3206         (do_random_tests): Make sure the strings are zero terminated.
3207         * string/test-strspn.c (stupid_strspn): New function.
3208         (simple_strspn): Rename rej argument to acc.
3209         (do_random_tests): Make sure the string is zero terminated.
3210         * string/test-strcspn.c (stupid_strcspn): New function.
3211         * string/test-strncpy.c (stupid_strncpy): New function.
3212         * string/test-stpncpy.c (stupid_stpncpy): New function.
3213         * string/test-strncmp.c (stupid_strncmp): New function.
3214         (do_random_tests): Make sure the strings are zero terminated.
3215         * string/test-string.h (impl_t): Change test into long.
3216         (IMPL): Add __attribute__((aligned (sizeof (void *)))).
3217
3218 2002-11-08  Roland McGrath  <roland@redhat.com>
3219
3220         * sysdeps/ia64/elf/configure.in: Add TLS check.
3221         From Ian Wienand <ianw@cse.unsw.edu.au>.
3222         * sysdeps/ia64/elf/configure: Regenerated.
3223
3224 2002-11-07  Roland McGrath  <roland@redhat.com>
3225
3226         * libio/fileops.c (_IO_new_file_overflow): Use INTUSE(_IO_do_write) in
3227         place of _IO_new_do_write.
3228         [_LIBC] (_IO_do_write): Define as macro for _IO_new_do_write and
3229         #undef before versioned_symbol use.
3230
3231 2002-11-07  Richard Henderson  <rth@redhat.com>
3232
3233         * configure.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove test.
3234         * configure: Regenerated.
3235         * config.h.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove #undef.
3236         * sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Use !samegp.
3237         (RTLD_START): Likewise.  Access _dl_skip_args, _rtld_local, and
3238         _dl_fini via gp-relative relocations.
3239         * sysdeps/alpha/fpu/e_sqrt.c: Use !samegp.
3240
3241         * elf/tls-macros.h: Add alpha versions.
3242         * sysdeps/alpha/dl-machine.h (elf_machine_rela): Handle TLS relocs.
3243         * sysdeps/unix/alpha/sysdep.S: Support USE___THREAD.
3244         * sysdeps/unix/alpha/sysdep.h: Likewise.  Add SYSCALL_ERROR_HANDLER.
3245         * sysdeps/unix/sysv/linux/alpha/brk.S: Use it.
3246         * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
3247         * sysdeps/unix/sysv/linux/alpha/getitimer.S: Likewise.
3248         * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise.
3249         * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise.
3250         * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise.
3251         * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
3252         * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Likewise.
3253         * sysdeps/unix/sysv/linux/alpha/select.S: Likewise.
3254         * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise.
3255         * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise.
3256         * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise.
3257         * sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise.
3258         * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise.
3259         * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise.
3260
3261         * sysdeps/unix/sysv/linux/alpha/sysdep.h: Re-include protect.
3262         Kill argument registers across the inline syscall.
3263
3264         * sysdeps/unix/sysv/linux/alpha/clone.S: Add user_tid and tls args.
3265
3266         * linuxthreads/sysdeps/alpha/tls.h: New file.
3267         * sysdeps/alpha/dl-tls.h: New file.
3268
3269 2002-10-29  David Mosberger  <davidm@hpl.hp.com>
3270
3271         * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY]
3272         (gmon_initializer): New function.
3273         (.init prologue): If HAVE_INITFINI_ARRAY is true, don't call
3274         __gmon_start__ here.  Call it from gmon_initializer() instead.
3275
3276 2002-03-12  H.J. Lu  <hjl@gnu.org>
3277
3278         * elf/Makefile [$(have-initfini-array) = yes] (tests): Add tst-array1,
3279         tst-array2, and tst-array3.
3280         [$(have-initfini-array) = yes] (tests-static): Add tst-array3.
3281         [$(have-initfini-array) = yes] (modules-names): Add tst-array2dep.
3282         ($(objpfx)tst-array1.out): New target.
3283         ($(objpfx)tst-array2): Likewise.
3284         ($(objpfx)tst-array2.out): Likewise.
3285         ($(objpfx)tst-array3.out): Likewise.
3286         * elf/tst-array1.c: New file.
3287         * elf/tst-array1.exp: Likewise.
3288         * elf/tst-array2.c: Likewise.
3289         * elf/tst-array2dep.c: Likewise.
3290         * elf/tst-array2.exp: Likewise.
3291         * elf/tst-array3.c: Likewise.
3292
3293 2002-10-28  David Mosberger  <davidm@hpl.hp.com>
3294
3295         * elf/dl-fini.c (_dl_fini): Invoke fini_array in _reverse_ order.
3296         Don't add L->l_addr to array entry values.
3297
3298 2002-11-07  Jakub Jelinek  <jakub@redhat.com>
3299
3300         * string/test-string.h: New file.
3301         * string/test-strlen.c: New file.
3302         * string/test-string.h: New file.
3303         * string/test-strcmp.c: New file.
3304         * string/test-strchr.c: New file.
3305         * string/test-strrchr.c: New file.
3306         * string/test-strcpy.c: New file.
3307         * string/test-stpcpy.c: New file.
3308         * string/test-strncpy.c: New file.
3309         * string/test-stpncpy.c: New file.
3310         * string/test-strpbrk.c: New file.
3311         * string/test-strcspn.c: New file.
3312         * string/test-strspn.c: New file.
3313         * string/test-strcat.c: New file.
3314         * string/test-strncmp.c: New file.
3315         * string/test-memchr.c: New file.
3316         * string/test-memcmp.c: New file.
3317         * string/test-memset.c: New file.
3318         * string/test-memcpy.c: New file.
3319         * string/test-mempcpy.c: New file.
3320         * string/test-memmove.c: New file.
3321         * string/Makefile (strop-tests): New variable.
3322         (tests): Add strop-tests.
3323         (distribute): Add test-string.h.
3324
3325 2002-11-06  Ulrich Drepper  <drepper@redhat.com>
3326
3327         * posix/regcomp.c: Use tabs instead of spaces.
3328         * posix/regexec.c: Likewise.
3329         * posix/regex_internal.h: Likewise.
3330
3331         * posix/regcomp.c (re_compile_fastmap_iter): Use __wcrtomb not wctomb.
3332
3333 2002-11-06  Jakub Jelinek  <jakub@redhat.com>
3334
3335         * posix/regcomp.c (re_compile_pattern): Don't set regs_allocated
3336         here.
3337         (regcomp): Don't set can_be_null here.
3338         (re_comp): Clear whole re_comp_buf with the exception of fastmap.
3339         (re_compile_internal): Clear can_be_null, set regs_allocated.
3340
3341         * posix/regcomp.c (re_set_fastmap): New function.
3342         (re_compile_fastmap_iter): Use it.  Remove redundant type ==
3343         COMPLEX_BRACKET check.
3344         * posix/regexec.c (re_search_internal): Optimize searching with
3345         fastmap.  Call re_string_reconstruct even if match_first is
3346         smaller than raw_mbs_idx.
3347
3348 2002-11-06  Isamu Hasegawa  <isamu@yamato.ibm.com>
3349
3350         * posix/regcomp (free_dfa_content): Use free_state.
3351         * posix/regex_internal.c (re_string_realloc_buffers): Don't edit
3352         pointers in case that realloc failed.
3353         (re_node_set_merge): Likewise.
3354         (register_state): Likewise.
3355         (create_newstate_common): Invoke memory release functions in case of
3356         error conditions.
3357         (create_ci_newstate): Likewise.
3358         (create_cd_newstate): Likewise.
3359         (free_state): New function.
3360         * posix/regexec.c (re_search_internal): Invoke memory release
3361         functions in case of error conditions.
3362         (sift_states_backward): Likewise.
3363         (merge_state_array): Likewise.
3364         (add_epsilon_src_nodes): Likewise.
3365         (sub_epsilon_src_nodes): Likewise.
3366         (search_subexp): Likewise.
3367         (sift_states_bkref): Likewise.
3368         (transit_state_sb): Likewise.
3369         (transit_state_mb): Likewise.
3370         (transit_state_bkref_loop): Likewise.
3371         (group_nodes_into_DFAstates): Likewise.
3372         (push_fail_stack): Don't edit pointers in case that realloc failed.
3373         (extend_buffers): Likewise.
3374         (match_ctx_add_entry): Likewise.
3375
3376 2002-11-06  Roland McGrath  <roland@redhat.com>
3377
3378         * sysdeps/unix/sysv/linux/mips/configure.in: File removed.
3379         * sysdeps/unix/sysv/linux/mips/configure: Likewise.
3380
3381         * configure.in: Add checks on as and ld for binutils 2.13 or later.
3382         * configure: Regenerated.
3383
3384 2002-11-06  Ulrich Drepper  <drepper@redhat.com>
3385
3386         * posix/regcomp.c (regcomp): __re_compile_fastmap can never fail.
3387         If re_compile_internal failed free fastmap buffer.
3388         (free_dfa_content): Broken out of regfree function.  Frees all dfa
3389         related data.
3390         (regfree): Add free_dfa_content.
3391         (re_compile_internal): If any of the called functions fails free
3392         all dfa related memory.
3393
3394 2002-11-05  Ulrich Drepper  <drepper@redhat.com>
3395
3396         * sysdeps/unix/sysv/linux/sys/sysctl.h: Add ugly hacks to prevent
3397         warnings from the kernel headers.
3398
3399 2002-11-05  Roland McGrath  <roland@redhat.com>
3400
3401         * sysdeps/unix/mips/sysdep.h [! __PIC__] (PSEUDO): Add nop after jump.
3402         From Johannes Stezenbach <js@convergence.de>.
3403
3404         * sysdeps/unix/sysv/linux/mips/Versions (libc: GLIBC_2.0): Change
3405         #errlist-compat magic comment to give 123 as size.
3406         (libc: GLIBC_2.1): Remove this set, moving #errlist-compat magic to ...
3407         (libc: GLIBC_2.2): ... here.
3408         (libc: GLIBC_2.3): Likewise.
3409
3410 2002-11-05  Ulrich Drepper  <drepper@redhat.com>
3411
3412         * elf/dl-fini.c (_dl_fini): Correct the increment of l_opencount
3413         which happens at the beginning so that we can unload modules in
3414         __libc_freeres.
3415
3416 2002-11-06  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3417
3418         * sysdeps/sh/bits/setjmp.h (JB_SIZE): Define only
3419         under [__USE_MISC || _ASM].
3420
3421         * elf/elf.h: Remove the obsolete SH TLS relocations.
3422
3423 2002-11-05  Ulrich Drepper  <drepper@redhat.com>
3424
3425         * posix/regcomp.c (regcomp): Initialize preg->can_be_null to zero.
3426
3427 2002-11-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3428
3429         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Handle
3430         __NR_pread64 and __NR_pwrite64.
3431         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
3432         * sysdeps/unix/sysv/linux/powerpc/pread.c: Remove __NR_pread64
3433         and __NR_pwrite64.
3434         Revert change to use INLINE_SYSCALL.
3435         * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
3436         * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise.
3437         * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.
3438         * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Revert change to use
3439         INLINE_SYSCALL.
3440         * sysdeps/unix/sysv/linux/powerpc/truncate64.c: Likewise.
3441
3442         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
3443         Update clobber list and add a comment about the syscall ABI.
3444
3445         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_pread64,
3446         s_pwrite64, s_ftruncate, s_truncate): Re-add.
3447
3448 2002-11-05  Jakub Jelinek  <jakub@redhat.com>
3449
3450         * iconv/gconv_dl.c (free_mem): Clear loaded.
3451         * locale/loadarchive.c (_nl_archive_subfreeres): Call locale_data's
3452         cleanup if any.
3453
3454 2002-11-05  Ulrich Drepper  <drepper@redhat.com>
3455
3456         * sysdeps/unix/sysv/linux/fexecve.c: Include <stdio.h>.
3457
3458         * libio/ioseekoff.c: Remove INTDEF.  Define _IO_seekoff_unlocked.  Same
3459         as old code without locking.  _IO_seekoff calls this function after
3460         locking the stream.
3461         * libio/ioseekpos.c: Likewise for _IO_seekpos.
3462         * libio/libioP.h: Replace _IO_seekoff_internal and _IO_seekpos_internal
3463         prototypes with _IO_seekoff_unlocked and _IO_seekpos_unlocked
3464         prototypes.
3465         * libio/iolibio.h (_IO_fseek): Call _IO_seekoff_unlocked instead
3466         of _IO_seekoff_internal.
3467         (_IO_rewind): Likewise.
3468         * libio/ioftell.c: Likewise.
3469         * libio/ftello.c: Likewise.
3470         * libio/ftello64.c: Likewise.
3471         * libio/iofgetpos.c: Likewise.
3472         * libio/iofgetpos64.c: Likewise.
3473         * libio/oldiofgetpos.c: Likewise.
3474         * libio/oldiofgetpos64.c: Likewise.
3475         * libio/iofsetpos.c: Call _IO_seekpos_unlocked instead of
3476         _IO_seekpos_internal.
3477         * libio/iofsetpos64.c: Likewise.
3478         * libio/oldiofsetpos.c: Likewise.
3479         * libio/oldiofsetpos64.c: Likewise.
3480
3481 2002-11-04  Roland McGrath  <roland@redhat.com>
3482
3483         * sysdeps/unix/sysv/linux/powerpc/chown.c: Use INLINE_SYSCALL macro.
3484         * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Likewise.
3485         * sysdeps/unix/sysv/linux/powerpc/ioctl.c: Likewise.
3486         * sysdeps/unix/sysv/linux/powerpc/pread.c: Likewise.
3487         * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
3488         * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise.
3489         * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.
3490         * sysdeps/unix/sysv/linux/powerpc/tcgetattr.c: Likewise.
3491         * sysdeps/unix/sysv/linux/powerpc/tcsetattr.c: Likewise.
3492         * sysdeps/unix/sysv/linux/powerpc/truncate64.c: Likewise.
3493         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_ioctl,
3494         s_chown, s_ftruncate64, s_mmap2, s_pread64, s_pwrite64, s_truncate64,
3495         sys_fstat, sys_lstat, sys_mknod, sys_readv, sys_stat, sys_writev):
3496         Remove these, no longer used.
3497
3498 2002-11-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3499
3500         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_ipc,
3501         s_llseek, s_readahead, s_execve, s_fcntl, s_fcntl64, s_fstat64,
3502         s_getcwd, s_getdents, s_getdents64, s_getpmsg, s_getpriority,
3503         s_getrlimit, s_lstat64, s_poll, s_ptrace, s_putpmsg, s_reboot,
3504         s_setrlimit, s_sigaction, s_sigpending, s_sigprocmask, s_sigsuspend,
3505         s_stat64, s_sysctl, s_ugetrlimit, s_ustat, s_vfork): Remove now unused
3506         syscall stubs.
3507
3508         * sysdeps/unix/sysv/linux/pwrite.c: Fix typo.
3509         * sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
3510         * sysdeps/unix/sysv/linux/powerpc/pread.c: Handle both __NR_pread64
3511         and __NR_pread.
3512         * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
3513         * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Handle both __NR_pwrite64
3514         and __NR_pwrite.
3515         * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.
3516
3517 2002-11-03  Roland McGrath  <roland@redhat.com>
3518
3519         * sysdeps/generic/ldsodefs.h (struct rtld_global): New member
3520         `_dl_tls_static_used'.
3521         * sysdeps/generic/libc-tls.c (_dl_tls_static_used): New variable.
3522         (__libc_setup_tls): Initialize it.  Let the initial value of
3523         _dl_tls_static_size indicate some surplus space in the computed value.
3524         * elf/dl-open.c (_dl_tls_static_size): New variable.
3525         * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Initialize
3526         _dl_tls_static_used.  Add some surplus space into _dl_tls_static_size.
3527         * elf/dl-reloc.c [USE_TLS] (allocate_static_tls): New function.
3528         (CHECK_STATIC_TLS): Use it.