51b9b130347333e0d6a6e2e6140e7aeaf093a464
[platform/upstream/glibc.git] / ChangeLog
1 2002-10-07  Wolfram Gloger  <wg@malloc.de>
2
3         * malloc/malloc.c (sYSMALLOc): Only check for breakage due
4         to foreign sbrk()'s if arena is contiguous.  Bug report from
5         Bruno Haible <bruno@clisp.org>.
6
7 2003-01-30  Jakub Jelinek  <jakub@redhat.com>
8
9         * sysdeps/s390/libc-tls.c: Include stdlib.h.
10
11 2003-01-30  Jakub Jelinek  <jakub@redhat.com>
12
13         * stdio-common/vfprintf.c (vfprintf): Only subtract lowest 3 bits of
14         ps.__count.
15
16 2003-01-30  Ulrich Drepper  <drepper@redhat.com>
17
18         * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Fix storing and
19         restoring of %r6.
20         * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.  Use
21         64-bit load.
22         Patch by Martin Schwidefsky  <schwidefsky@de.ibm.com>.
23
24 2003-01-30  Jakub Jelinek  <jakub@redhat.com>
25
26         * elf/dl-reloc.c (CHECK_STATIC_TLS): Move _dl_signal_error...
27         (allocate_static_tls): ...here.  Add __attribute_noinline__.
28         Don't return on failure.
29         (_dl_reloc_bad_type): Add __attribute_noinline__.
30         * elf/do-rel.h (elf_dynamic_do_rel): Add
31         __attribute__((always_inline)).
32         * elf/dynamic-link.h (elf_machine_rel, elf_machine_rela,
33         elf_machine_rel_relative, elf_machine_rela_relative,
34         elf_machine_lazy_rel): Add prototypes with
35         __attribute__((always_inline)).
36
37 2003-01-29  David Mosberger  <davidm@hpl.hp.com>
38
39         * elf/dl-support.c (_dl_aux_init): Handle AT_SYSINFO.
40
41 2003-01-29  Roland McGrath  <roland@redhat.com>
42
43         * configure.in: Barf if configured in $srcdir.
44
45 2003-01-28  Steven Munroe  <sjmunroe@us.ibm.com>
46
47         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
48         (__fe_nomask_env): Change __prctl call to INTERNAL_SYSCALL.
49
50 2003-01-28  Martin Schwidefsky  <schwidefsky@de.ibm.com>
51
52         * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Reorder additional
53         clone parameters to match the order used on ia32.
54         * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.
55
56 2003-01-27  Martin Schwidefsky  <schwidefsky@de.ibm.com>
57
58         * elf/elf.h: Add new s390 relocs.
59         * elf/tls-macros.h: Add s390 versions.
60         * sysdeps/s390/Versions [GLIBC_2.3] (ld): Export __tls_get_offset.
61         * sysdeps/s390/dl-tls.h: New file.
62         * sysdeps/s390/libc-tls.c: New file.
63         * sysdeps/s390/s390-32/dl-machine.h (elf_machine_type_class): Add TLS
64         relocs for class PLT.
65         (elf_machine_rela): Handle TLS relocs.
66         * sysdeps/s390/s390-64/dl-machine.h: Likewise.
67         * sysdeps/s390/s390-32/elf/configure.in: Add TLS check.
68         * sysdeps/s390/s390-64/elf/configure.in: Likewise.
69         * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Add support for
70         CLONE_CHILD_*TID flags.
71         * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise.
72         * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S: Use branch with 32
73         bit offset.
74         * sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise.
75         * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.
76         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S (__syscall_error):
77         Support USE___THREAD. Define RTLD_PRIVATE_ERRNO variant.
78         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S (__syscall_error):
79         Likewise.
80         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h:
81         (SYSCALL_ERROR_LABEL): Move define next to SYSCALL_ERROR_HANDLER.
82         (SYSCALL_ERROR_HANDLER): Add USE___THREAD and RTLD_PRIVATE_ERRNO
83         variants.
84         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h:
85         (SYSCALL_ERROR_LABEL): Move define next to SYSCALL_ERROR_HANDLER. Use
86         direct branch to syscall_error for !PIC and PIC && !_LIBC_REENTRANT.
87         (SYSCALL_ERROR_HANDLER): Add USE___THREAD and RTLD_PRIVATE_ERRNO
88         variants.
89
90 2003-01-28  Ulrich Drepper  <drepper@redhat.com>
91
92         * sysdeps/unix/common/pause.c (do_pause): New function.  Split
93         from __libc_pause.  Implement using sigsuspend.
94         (__libc_pause): Call do_pause to do the real work.
95
96         * sysdeps/posix/sigpause.c (do_sigpause): Check range of
97         sig_or_mask parameter is is_sig != 0.
98
99 2003-01-21  Philip Blundell  <philb@gnu.org>
100
101         * sysdeps/unix/sysv/linux/bits/ioctls.h (SIOCSIFNAME): Define.
102
103 2003-01-27  Steven Munroe  <sjmunroe@us.ibm.com>
104
105         * stdio-common/Makefile: Add bug14-ENV to set LOCPATH for make check.
106
107 2003-01-27  Ulrich Drepper  <drepper@redhat.com>
108
109         * stdio-common/bug14.c: Use official name for the locale.
110
111         * stdio-common/vfprintf.c [USE_IN_LIBIO]: Use _IO_cleanup_region_start
112         instead of __libc_cleanup_region_start and _IO_cleanup_region_end
113         instead of __libc_cleanup_region_end.
114
115         * sysdeps/unix/sysv/linux/i386/system.c (CLEANUP_HANDLER): Pass 1
116         as first parameter to __libc_cleanup_region_start.
117
118         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
119         (__fe_nomask_env): Use __prctl not prctl.
120         * sysdeps/unix/sysv/linux/syscalls.list: Add __prctl alias for
121         prctl syscall.
122
123         * elf/dl-reloc.c (CHECK_STATIC_TLS): Improve error message.
124
125         * elf/dl-open.c (_dl_tls_static_size): Bump to 2048.
126
127         * elf/dl-reloc.c (allocate_static_tls): Avoid arithmetic
128         wrap-around in test.
129
130 2003-01-26  Andreas Schwab  <schwab@suse.de>
131
132         * sysdeps/wordsize-32/divdi3.c: Export the functions only as
133         compatibility symbols.  Remove INTDEF for __divdi3.
134         * sysdeps/wordsize-32/lldiv.c: Don't use __divdi3_internal.
135         * sysdeps/powerpc/powerpc32/divdi3.c: Remove.
136         * sysdeps/powerpc/powerpc32/Makefile (CPPFLAGS-divdi3.c): Don't
137         define.
138         * sysdeps/powerpc/powerpc32/Dist: Remove divdi3.c.
139
140 2003-01-24  Jakub Jelinek  <jakub@redhat.com>
141
142         * elf/tls-macros.h: Add SPARC 32-bit definitions.
143         * sysdeps/sparc/sparc32/elf/configure.in: Add TLS check.
144         * sysdeps/sparc/sparc32/dl-machine.h: Add dl_machine_h guards
145         for the first half of the header.  Include tls.h.
146         (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS
147         relocs too.
148         (elf_machine_rela): Handle TLS relocs.
149         * sysdeps/sparc/dl-tls.h: New file.
150
151         * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Add cancellation
152         support.
153
154         * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Use %g6 instead of %g7.
155         * sysdeps/sparc/sparc32/memchr.S: Likewise.
156         * sysdeps/sparc/sparc32/memcpy.S: Likewise.
157         * sysdeps/sparc/sparc32/strcat.S: Likewise.
158         * sysdeps/sparc/sparc32/strchr.S: Likewise.
159         * sysdeps/sparc/sparc32/strcmp.S: Likewise.
160         * sysdeps/sparc/sparc32/strcpy.S: Likewise.
161         * sysdeps/sparc/sparc64/sparcv9b/memcpy.S: Likewise.
162         * sysdeps/sparc/sparc64/hp-timing.h: Likewise.
163         * sysdeps/sparc/sparc64/memcpy.S: Likewise.
164         * sysdeps/sparc/sparc64/stpcpy.S: Likewise.
165         * sysdeps/sparc/sparc64/stpncpy.S: Likewise.
166         * sysdeps/sparc/sparc64/strcat.S: Likewise.
167         * sysdeps/sparc/sparc64/strchr.S: Likewise.
168         * sysdeps/sparc/sparc64/strcmp.S: Likewise.
169         * sysdeps/sparc/sparc64/strcpy.S: Likewise.
170         * sysdeps/sparc/sparc64/strncmp.S: Likewise.
171         * sysdeps/sparc/sparc64/strncpy.S: Likewise.
172         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
173         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
174
175 2003-01-24  Andreas Schwab  <schwab@suse.de>
176
177         * elf/dl-close.c (_dl_close): Don't relocate DT_FINI_ARRAY
178         elements, and process them backwards.
179         * elf/Makefile ($(objpfx)tst-array4): New target.
180         ($(objpfx)tst-array4.out): Likewise.
181         (tests) [$(have-initfini-array) = yes]: Add tst-array4.
182         * elf/tst-array4.c: New file.
183         * elf/tst-array4.exp: Likewise.
184
185 2003-01-24  Steven Munroe  <sjmunroe@us.ibm.com>
186
187         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c: New file.
188
189 2003-01-27  Guido Guenther  <agx@sigxcpu.org>
190
191         * sysdeps/unix/sysv/linux/mips/sysdep.h (SYSCALL_ERROR_LABEL): Define.
192         * sysdeps/unix/sysv/linux/mips/pread.c: Add support for
193         cancellation handling and handle both __NR_pread64 and __NR_pread.
194         * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
195         * sysdeps/unix/sysv/linux/mips/pwrite.c: Add support for
196         cancellation handling and handle both __NR_pwrite64 and __NR_pwrite.
197         * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
198         * sysdeps/unix/mips/sysdep.S: Don't set errno in the _LIBC_REENTRANT
199         case, use register names consistently.
200
201 2003-01-27  Wolfram Gloger  <wg@malloc.de>
202
203         * malloc/hooks.c (mem2chunk_check): Check alignment of mem
204         pointer, not of the computed chunk.  Bug report from Carlos
205         O'Donell <carlos@baldric.uwo.ca>.
206
207 2003-01-25  Andreas Schwab  <schwab@suse.de>
208
209         * sysdeps/m68k/dl-machine.h (_dl_start_user): Use pc-relative
210         addressing to save GOT entries.
211
212 2003-01-21  Jakub Jelinek  <jakub@redhat.com>
213
214         * sysdeps/unix/alpha/sysdep.h (inline_syscall0,
215         inline_syscall1, inline_syscall2, inline_syscall3,
216         inline_syscall4, inline_syscall5, inline_syscall6): Add __volatile__.
217         * sysdeps/unix/sysv/linux/alpha/sysdep.h (INTERNAL_SYSCALL): Add
218         __attribute__((unused)) to ChEcK.
219
220 2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
221
222         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INTERNAL_SYSCALL):
223         Fix inline assembler constraints.
224         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (INTERNAL_SYSCALL):
225         Likewise.
226
227         * sysdeps/s390/s390-64/Makefile (pic-ccflag): Use -fpic instead of
228         -fPIC.
229
230 2003-01-20  Segher Boessenkool  <segher@koffie.nl>
231
232         * sysdeps/ieee754/dbl-64/sincos32.c (__mpcos): Really
233         compute the cosine, not the sine, even if x > 0.8.
234
235 2003-01-19  Ulrich Drepper  <drepper@redhat.com>
236
237         * nis/nss_nis/nis-spwd.c: Make _nss_nis_endspent an alias of
238         _nss_nis_setspent.  Work around the different prototypes.
239         * nis/nss_nis/nis-rpc.c (internal_nis_setrpcent): Use
240         internal_nis_endrpcent.
241         (internal_nis_endrpcent): Change return type to void.  Change callers.
242         * nis/nss_nis/nis-pwd.c: Make _nss_nis_endpwent an alias of
243         _nss_nis_setpwent.  Work around the different prototypes.
244         * nis/nss_nis/nis-proto.c (_nss_nis_endprotoent): Split out body
245         of the function to...
246         (internal_nis_endprotoent): ... here.  New function.
247         (internal_nis_setprotoent): Use internal_nis_endprotoent.
248         * nis/nss_nis/nis-network.c: Make _nss_nis_endnetent an alias of
249         _nss_nis_setnetent.  Work around the different prototypes.
250         * nis/nss_nis/nis-netgrp.c (_nss_nis_endnetgrent): Split out body
251         of the function to...
252         (internal_nis_endnetgrent): ... here.  New function.
253         (_nss_nis_setnetgrent): Use internal_nis_endnetgrent.
254
255 2003-01-19  Jim Meyering  <jim@meyering.net>
256
257         * time/strftime.c: (widen): Merge nearly-identical definitions.
258         (nl_get_alt_digit) [! defined my_strftime]: Define.
259         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
260         _nl_get_alt_digit and _nl_get_walt_digit.
261
262 2003-01-19  Ulrich Drepper  <drepper@redhat.com>
263
264         * time/strftime.c (my_strftime): Handle very large width
265         specifications for numeric values correctly.  Improve checks for
266         overflow.
267         * time/Makefile (tests): Add tst-strftime.
268         * time/tst-strftime.c: New file.
269
270 2003-01-18  Ulrich Drepper  <drepper@redhat.com>
271
272         * nis/nss_nis/nis-hosts.c: Make _nss_nis_endhostent an alias of
273         _nss_nis_sethostent.  Work around the different prototypes.
274         * nis/nss_nis/nis-grp.c: Make _nss_nis_endgrent an alias of
275         _nss_nis_setgrent.  Work around the different prototypes.
276         * nis/nss_nis/nis-ethers.c (internal_nis_endetherent): New
277         function.  Split out from _nss_nis_endetherent.
278         (internal_nis_setetherent): Use internal_nis_endetherent instead of
279         duplicating the code.
280         * nis/nss_nis/nis-alias.c: Make _nss_nss_nis_endaliasent an alias
281         of _nss_nis_setaliasent.
282         * nis/nss_nis/nis-service.c (internal_nis_setservent): Reuse
283         internal_nis_endservent code, don't duplicate it.
284
285         * inet/rexec.c (rexec_af): Protect socket operations with
286         TEMP_FAILURE_RETRY.  Use writev instead of multiple write.
287         * inet/rcmd.c (rcmd_af): Likewise.
288
289 2003-01-17  Roland McGrath  <roland@redhat.com>
290
291         * math/libm-test.inc (sin_test, cos_test, sincos_test) [TEST_DOUBLE]:
292         Add test of value 0.80190127184058835.
293
294         * elf/dl-open.c: Fix typo ifdef -> ifndef on _dl_tls_static_size defn.
295
296 2003-01-17  Richard Henderson  <rth@redhat.com>
297
298         * sysdeps/alpha/dl-machine.h (elf_machine_type_class): Add TLS
299         relocs for class PLT.
300         * sysdeps/alpha/libc-tls.c: New file.
301         * sysdeps/unix/alpha/sysdep.S (EPILOGUE, GPSAVEREG): New.
302         (LOADGP) [!PIC]: Rewrite to preserve caller's gp.
303
304 2003-01-17  Jakub Jelinek  <jakub@redhat.com>
305
306         * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init): Use
307         __libc_lock_{,un}lock_recursive instead of __libc_lock_{,un}lock
308         on _dl_static_lock.
309
310 2003-01-17  Andreas Jaeger  <aj@suse.de>
311
312         * stdio-common/bug14.c: Include stdlib.h for exit prototype.
313
314 2003-01-16  Steven Munroe  <sjmunroe@us.ibm.com>
315
316         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: New file.
317         * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: New file.
318         * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: New file.
319         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: New file.
320         * sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h: New file.
321         * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: New file.
322         * sysdeps/unix/sysv/linux/configure.in: Minimum kernel for PPC64
323         is 2.4.21.
324
325 2003-01-16  Ulrich Drepper  <drepper@redhat.com>
326
327         * sysdeps/generic/glob.c (glob): Assume sysconf() always returns
328         values != -1 for _LIBC.  Use extend_alloca to reallocate alloca'ed
329         buffers.
330
331         * sysdeps/generic/sysconf.c: Unconditionally implement
332         _SC_GETPW_R_SIZE_MAX and _SC_GETGR_R_SIZE_MAX.
333         * sysdeps/posix/sysconf.c: Likewise.
334
335 2003-01-16  Jakub Jelinek  <jakub@redhat.com>
336
337         * posix/regcomp.c (parse_bracket_exp): If build_charclass fails,
338         set *err to the returned error, not to REG_ESPACE unconditionally.
339         (build_word_op): Likewise.
340         * posix/Makefile (tests): Add bug-regex16.
341         * posix/bug-regex16.c: New test.
342
343 2003-01-16  Jakub Jelinek  <jakub@redhat.com>
344
345         * elf/dl-load.c (_dl_map_object_from_fd): Use
346         GL(dl_tls_dtv_slotinfo_list) != NULL to check whether TLS has
347         been already initialized.
348
349 2003-01-15  Dmitry V. Levin  <ldv@altlinux.org>
350
351         * sysdeps/unix/sysv/linux/ptsname.c: Fix typo in comment.
352
353 2003-01-16  Jakub Jelinek  <jakub@redhat.com>
354
355         * posix/regcomp.c (re_compile_internal): If clearing buffer, clear
356         allocated too.  Reported by Al Viro <aviro@redhat.com>.
357
358 2003-01-16  Roland McGrath  <roland@redhat.com>
359
360         Tweak merged .abilist file format to merge duplicate symbols in
361         different sets into multi-version stanzas with new "| SET regexp..."
362         header continuation lines.
363         * scripts/merge-abilist.awk: Rewritten for new format.
364         * scripts/extract-abilist.awk: Likewise.
365
366 2003-01-15  Ulrich Drepper  <drepper@redhat.com>
367
368         * nscd/connections.c (nscd_run): Remove bogus return which isn't
369         necessary with gcc 3.2+.
370         (nscd_init): Don't use error() to print message, use dbg_log.
371
372         * iconv/gconv_simple.c (STORE_REST): Explicitly store the total
373         expected size into state.
374         (UNPACK_BYTES): Do the reverse.
375         * iconv/loop.c: Use CLEAR_STATE if defined to clear __state element.
376         * wcsmbs/tst-mbrtowc.c (utf8_test_1): Add test for the bug.
377         Reported by Al Viro <aviro@redhat.com>.
378
379         * stdio-common/Makefile (tests): Add bug14.
380         * stdio-common/bug14.c: New file.
381
382         * stdio-common/vfscanf.c: When recognizing multibyte characters in
383         string reset the byte counter after mbrtowc reported it is not a
384         partial character.  Reported by Al Viro <aviro@redhat.com>.
385
386 2003-01-15  Steven Munroe  <sjmunroe@us.ibm.com>
387
388         * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Include
389         sysdep-cancel.h, not sysdep.h.
390
391 2003-01-15  Ulrich Drepper  <drepper@redhat.com>
392
393         * nscd/connections.c (nscd_run): Protect accept call with
394         TEMP_FAILURE_RETRY.
395
396 2003-01-15  Andreas Schwab  <schwab@suse.de>
397
398         * sysdeps/unix/Makefile: Include $(common-objpfx)s-proto-bp.d.
399         (common-generated): Add s-proto-bp.d.
400         * sysdeps/unix/make-syscalls.sh: Use s-proto-bp.d for dependencies
401         of bp thunks.
402         * sysdeps/unix/s-proto-bp.S: New file.
403         * sysdeps/generic/bp-thunks.h: Don't include <sys/vm86.h> here.
404         Use <io/sys/sendfile.h> instead of <sys/sendfile.h>.
405         * sysdeps/unix/sysv/linux/i386/bp-thunks.h: New file.
406
407 2003-01-15  Roland McGrath  <roland@redhat.com>
408
409         * Makerules: Use -include for tls.make, suppresses warning.
410         Move gen-as-const-headers rules up so before-compile is set in time.
411         (sed-remove-dotdot): Fix to work right for subdirs or top dir.
412
413 2003-01-15  Ulrich Drepper  <drepper@redhat.com>
414
415         * nscd/nscd.c (main): Make code to close all file descriptors
416         faster and more robust.
417
418         * nscd/nscd_getpw_r.c (nscd_getpw_r): Consolidate writing of the
419         request with one writev call.  Protect all read calls with
420         TEMP_FAILURE_RETRY.
421         * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
422         * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
423
424         * nscd/hstcache.c: Use extend_alloca to reallocate alloca'd buffer.
425         Protect writev calls with TEMP_FAILURE_RETRY.
426         * nscd/grpcache.c: Likewise.
427         * nscd/pwdcache.c: Likewise.
428
429         * nscd/hstcache.c (addhstbynamev6): Don't interpret hostname as
430         IPv6 address in debug output.
431
432 2003-01-14  Roland McGrath  <roland@redhat.com>
433
434         * Makerules (check-abi-%): Use two rules for $(common-objpfx) and
435         $(objpfx) directories, and get rid of vpath directives.  The previous
436         arrangement resulted in files being written to the source directories
437         when run in a clean build.  Find all .abilist files in $(..)abilist/.
438         (update-abi-%): Likewise.
439         (generated): Don't add .symlist files, they'll be intermediates.
440
441         * sysdeps/generic/init-first.c: Add a comment.
442
443         * elf/Makefile ($(objpfx)ld.so): Pass -z defs in link.
444
445         * scripts/gen-as-const.awk: Grok lone "--" as a separator between
446         #includes and expressions.
447
448         * scripts/merge-abilist.awk: Omit cpu-.*-os.*/modifier from merged
449         config list when it already contains cpu-.*-os.* without / part.
450
451         * Makerules (sed-remove-dotdot): New variable.
452         ($(common-objpfx)%.make): Use it.  Depend on $(before-compile).
453         ($(common-objpfx)%.h $(common-objpfx)%.h.d): Likewise.
454         (check-abi-config): New variable, append /tls or /notls to the tuple.
455         (check-abi-%): Use that for -v config value.
456         Find .abilist files in abilist/libfoo.abilist, not in subdir.
457         * Rules: Move bits/stdio_lim.h generation rules to Makerules.
458
459 2003-01-14  Ulrich Drepper  <drepper@redhat.com>
460
461         * manual/install.texi: Correct description of header preparation for
462         Linux build.  Patch by mhwood@Ameritech.Net [PR libc/4941].
463
464 2003-01-14  Guido Guenther  <agx@sigxcpu.org>
465
466         * sysdeps/unix/sysv/linux/mips/sysdep.h (INTERNAL_SYSCALL,
467         INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
468         INTERNAL_SYSCALL_ERROR_P, INLINE_SYSCALL): Define.
469
470 2003-01-14  Steven Munroe  <sjmunroe@us.ibm.com>
471
472         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
473         (INTERNAL_SYSCALL): Make use of ERR parameter.
474         (INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
475         INTERNAL_SYSCALL_ERROR_P): Adjust accordingly.
476         (INLINE_SYSCALL): Make use of INTERNAL_SYSCALL.
477         * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: New file.
478
479 2003-01-14  Ulrich Drepper  <drepper@redhat.com>
480
481         * sunrpc/pm_getport.c (pmap_getport): Open TCP socket if protocol
482         == IPPROTO_TCP.
483         Patch by James Strandboge <jamie@tpptraining.com> [PR libc/4943].
484
485         * sysdeps/unix/sysv/linux/i386/dl-procinfo.c (_dl_x86_cap_flags):
486         Fix entry for bit 31.
487
488         * iconvdata/Makefile: Add rules to build IBM866NAV.
489         * iconvdata/ibm866nav.c: New file.
490         * iconvdata/tst-tables.sh: Add IBM866NAV.
491         * iconvdata/gconv-modules: Add entries for IBM866NAV.
492
493 2003-01-13  Ulrich Drepper  <drepper@redhat.com>
494
495         * string/tester.c (test_strcpy): Use the previously #if 0'ed code
496         to test void* parameters.
497
498         * sysdeps/i386/i486/bits/string.h (__STRING_SMALLL_GET16): Cast
499         source pointer before dereferencing.
500         (__STRING_SMALLL_GET32): Likewise.
501         (__memset_gc): Add missing parenthesis around macro arguments.
502         Patch by Denis Zaitsev <zzz@cd-club.ru>.
503
504         * sysdeps/i386/i486/bits/string.h (__strspn_cg): Tell the compiler
505         that %eax is modified.  Reported by Denis Zaitsev <zzz@cd-club.ru>.
506
507 2003-01-14  Jakub Jelinek  <jakub@redhat.com>
508
509         * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL): Undefined before
510         defining.
511
512 2003-01-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
513
514         * sysdeps/s390/s390-64/initfini.c: Avoid unterminated string literals.
515         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (L): Don't define it
516         here.
517         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (L): Likewise.
518
519 2003-01-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
520
521         * sysdeps/s390/s390-32/sysdep.h (JUMPTARGET): Move branch instructions
522         from here...
523         (PSEUDO): ... to here.
524         * sysdeps/s390/s390-64/sysdep.h (JUMPTARGET): Move branch instruction
525         from here...
526         (PSEUDO): ... to here.
527
528 2003-01-13  Ulrich Drepper  <drepper@redhat.com>
529
530         * locale/programs/charmap-dir.c (charmap_readdir): Use struct
531         dirent64 instead of struct dirent for dirent.  Call readdir64
532         instead of readdir.
533
534         * locale/programs/locfile.c (siblings_uncached): Use struct
535         dirent64 instead of struct dirent for other_dentry.  Call
536         readdir64 instead of readdir.
537
538         * elf/ldconfig.c (direntry): Change type to struct dirent64.
539         (search_dir): Use readdir64 instead of readdir.
540         Patch by Zhangfan Xing <xing@pacific.jpl.nasa.gov>.
541
542 2003-01-12  Roland McGrath  <roland@redhat.com>
543
544         * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Use strtoul,
545         not strtol.  The former is usable in ld.so, the latter not.
546
547         * include/fcntl.h: Declare __libc_creat.
548
549         * sysdeps/mach/hurd/Makefile (libmachuser-link.so-no-z-defs,
550         libhurduser-link.so-no-z-defs): New variables.
551
552         * malloc/malloc.c: Revert last change.
553         * malloc/malloc.h (_int_*): Move these decls to ...
554         * include/malloc.h: ... here.  Add attribute_hidden.
555         (_int_valloc): Declare it too.
556
557 2003-01-12  Ulrich Drepper  <drepper@redhat.com>
558
559         * elf/dl-close.c (_dl_close): Fix typo, must be == not = in
560         search for removed searchlist.  Reported by Roland McGrath.
561
562         * io/ftwtest-sh: Add test for case of symlink to nonexisting file
563         given as start file.
564
565         * io/ftw.c (ftw_startup): Use correct name in check for symlink
566         without existing target.  Patch by Jim Meyering.
567
568         * Makerules (build-shlib-helper): Don't use -z defs linker option
569         if no-z-defs is defined either.
570
571 2003-01-10  Martin Schwidefsky  <schwidefsky@de.ibm.com>
572
573         * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: Remove unused
574         file.
575
576 2003-01-10  Martin Schwidefsky  <schwidefsky@de.ibm.com>
577
578         * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Add vfork.
579         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
580
581 2003-01-12  Ulrich Drepper  <drepper@redhat.com>
582
583         * io/ftwtest-sh: Add test case for relative path with /. at the end.
584
585 2003-01-12  Jim Meyering  <jim@meyering.net>
586
587         * io/ftw.c (ftw_startup): When trying to stat the starting directory,
588         use the basename if we've already chdir'd into its parent directory.
589
590 2003-01-12  Ulrich Drepper  <drepper@redhat.com>
591
592         * io/ftw.c (process_entry): Use relative path when using chdir()
593         to change directory after call to ftw_dir.
594         * io/ftwtest-sh: Add test for relative path argument to nftw()
595         with FTW_CHDIR option.
596
597 2002-01-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
598
599         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL):
600         Define for powerpc.
601         * sysdeps/unix/sysv/linux/powerpc/syscall.S: Take register alignment
602         into account.
603         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
604         (INTERNAL_SYSCALL): Make use of ERR parameter.
605         (INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
606         INTERNAL_SYSCALL_ERROR_P): Adjust accordingly.
607         (INLINE_SYSCALL): Make use of INTERNAL_SYSCALL.
608         * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: New file.
609
610 2002-01-09  Richard Henderson  <rth@redhat.com>
611
612         * sysdeps/alpha/dl-machine.h (elf_machine_rela): Compute
613         DTPREL64 and TPREL64 without loadbase applied.
614
615 2002-01-09  Richard Henderson  <rth@redhat.com>
616
617         * sysdeps/unix/alpha/sysdep.S: Use correct definition of errno
618         for NOT_IN_libc.
619
620         * sysdeps/unix/sysv/linux/alpha/sysdep.h: Move inline syscall bits...
621         * sysdeps/unix/alpha/sysdep.h: ... here.
622         (PSEUDO_LOADGP): Remove.
623         (PSEUDO_PROLOGUE): Load GP in non-pic case.
624         (SYSCALL_ERROR_LABEL): New.
625         (PSEUDO): Use it in error branch.
626         (PSEUDO_END): Add $syscall_error label.
627
628 2003-01-12  Andreas Jaeger  <aj@suse.de>
629
630         * math/bits/mathcalls.h: Round is a const function.
631
632 2003-01-11  Jim Meyering  <jim@meyering.net>
633
634         * io/ftw.c [HAVE_CONFIG_H]: Include <config.h>.
635         [HAVE_SYS_PARAM_H || _LIBC]: Guard inclusion of <sys/param.h>.
636         Include <sys/stat.h>, not <include/sys/stat.h>, if !_LIBC.
637         [!_LIBC] (__chdir, __closedir, __fchdir, __getcwd, __opendir): Define.
638         [!_LIBC] (__readdir64, __tdestroy, __tfind, __tsearch): Define.
639         [!_LIBC] (internal_function, dirent64, MAX): Define.
640         (__set_errno): Define if not already defined.
641         (open_dir_stream): When FTW_CHDIR is enabled, invoke opendir on
642         the basename, not the entire file name.
643         (process_entry): When FTW_CHDIR is enabled, invoke XSTAT or LXSTAT on
644         the basename, not the entire file name.
645
646 2003-01-12  Ulrich Drepper  <drepper@redhat.com>
647
648         * string/tester.c (test_strcpy): Disable last added strcpy until
649         it is fixed.
650
651 2003-01-11  Philip Blundell  <philb@gnu.org>
652
653         * sysdeps/unix/sysv/linux/arm/socket.S: Add cancellation support.
654
655 2003-01-11  Andreas Schwab  <schwab@suse.de>
656
657         * Makerules: Add vpath for %.dynsym and %.so so that the
658         implicit rule chaining for check-abi works.
659
660 2003-01-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
661
662         * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
663         Add non-PIC case.
664
665 2003-01-11  Jakub Jelinek  <jakub@redhat.com>
666
667         * elf/tls-macros.h [__ia64__] (__TLS_CALL_CLOBBERS): Define.
668         [__ia64__] (TLS_LE, TLS_IE): Fix typos.  Add ;; at start of asm if
669         gp is used early.
670         [__ia64__] (TLS_LD, TLS_GD): Likewise.  Use __TLS_CALL_CLOBBERS.
671         * elf/Makefile ($(objpfx)tst-tlsmod5.so, $(objpfx)tst-tlsmod6.so):
672         Ensure libc.so in DT_NEEDED.
673         * sysdeps/alpha/dl-machine.h (elf_machine_rela): Move
674         CHECK_STATIC_TLS before l_tls_offset use.
675         * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
676         Likewise.
677         * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
678         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage) [TLS_DTV_AT_TP]:
679         Allocate TLS_PRE_TCB_SIZE bytes below result.
680         (_dl_deallocate_tls) [TLS_DTV_AT_TP]: Adjust before freeing.
681         * sysdeps/generic/libc-tls.c (__libc_setup_tls): If
682         TLS_INIT_TP_EXPENSIVE is not defined, allocate even if no PT_TLS
683         segment has been found.  If TLS_DTV_AT_TP, allocate TLS_PRE_TCB_SIZE
684         bytes below result and add tcb_offset to memsz.
685         * sysdeps/ia64/dl-tls.h (__tls_get_addr): New prototype.
686         * sysdeps/ia64/dl-machine.h: Include tls.h.
687         (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs
688         too.
689         (elf_machine_rela): Assume if sym_map != NULL sym is non-NULL too.
690         Handle R_IA64_DTPMOD*, R_IA64_DTPREL* and R_IA64_TPREL* relocations.
691         * sysdeps/ia64/libc-tls.c: New file.
692
693 2003-01-10  Steven Munroe  <sjmunroe@us.ibm.com>
694
695         * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_RET): Add branch hit.
696         * sysdeps/unix/sysv/linux/powerpc/bits/stat.h (STAT_VER_LINUX):
697         Fix type.  Move definition out of #if.
698         * sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: New file.
699         * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: New file.
700         * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: New file.
701         * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: New file.
702         * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: New file.
703         * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Add cancellation
704         support.
705         * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Remove
706         ftruncate64, pread64, pwrite64, truncate64 entries.
707         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
708         (INLINE_SYSCALL): New version that supports function call like
709         syscalls.  Add __builtin_expect.
710         (LOADARGS_n): Add argument size safety checks.
711         (INTERNAL_SYSCALL): New Macro.
712         * sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: New file.
713         * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [__PPC_ELF_H]: Avoid
714         redefinition of elf_fpreg_t and elf_fpregset_t.
715
716 2003-01-12  Ulrich Drepper  <drepper@redhat.com>
717
718         * elf/dl-close.c (_dl_close): Add several asserts.  Correct and
719         simplify test for unloading.  If loader of a DSO is unloaded do not
720         use its scope anymore.  Fall back to own scope and adjust opencounts.
721         Fix several comments.
722         * elf/dl-deps.c (_dl_map_object_deps): Always allocate memory for
723         the l_searchlist, not only for l_initfini.
724
725         * elf/dl-lookup.c (add_dependencies): Avoid creating relocation
726         dependencies if objects cannot be removed.  Remove object with the
727         definition as not unloadable if necessary.
728
729         * elf/reldep6.c: Create relocation dependency before closing the first
730         module.
731
732 2003-01-10  Guido Günther  <agx@sigxcpu.org>
733
734         * sysdeps/unix/mips/fork.S: Add PSEUDO_END.
735         * sysdeps/unix/mips/brk.S: Likewise.
736         * sysdeps/unix/mips/pipe.S: Likewise.
737
738 2003-01-10  Andreas Schwab  <schwab@suse.de>
739
740         * sysdeps/unix/sysv/linux/m68k/getsysstats.c: New file.
741
742         * sysdeps/unix/sysv/linux/m68k/vfork.S: Optimize for kernels which
743         are known to have the vfork syscall.
744
745         * sysdeps/m68k/sysdep.h (JUMPTARGET): Undefine before defining it.
746
747         * sysdeps/unix/sysv/linux/kernel-features.h
748         (__ASSUME_MMAP2_SYSCALL, __ASSUME_TRUNCATE64_SYSCALL)
749         (__ASSUME_STAT64_SYSCALL, __ASSUME_FCNTL64)
750         (__ASSUME_VFORK_SYSCALL): Define for m68k kernels >= 2.4.12.
751
752 2003-01-09  Jakub Jelinek  <jakub@redhat.com>
753
754         * elf/Makefile: Add rules to build and run reldep9 test.
755         * elf/reldep9.c: New file.
756         * elf/reldep9mod1.c: New file.
757         * elf/reldep9mod2.c: New file.
758         * elf/reldep9mod3.c: New file.
759
760 2003-01-09  Jakub Jelinek  <jakub@redhat.com>
761
762         * elf/Makefile: Add rules to build and run nodelete2 test.
763         * elf/nodelete2.c: New file.
764         * elf/nodel2mod1.c: New file.
765         * elf/nodel2mod2.c: New file.
766         * elf/nodel2mod3.c: New file.
767
768 2003-01-09  Jakub Jelinek  <jakub@redhat.com>
769
770         * posix/test-vfork.c (noop): Add __attribute_noinline__.
771         * sysdeps/generic/sysdep.h (JUMPTARGET): Define if not defined.
772         * sysdeps/i386/sysdep.h (JUMPTARGET): Undefine JUMPTARGET before
773         defining it.
774         * sysdeps/powerpc/powerpc32/sysdep.h (JUMPTARGET): Likewise.
775         * sysdeps/powerpc/powerpc64/sysdep.h (JUMPTARGET): Likewise.
776         * sysdeps/s390/s390-32/sysdep.h (JUMPTARGET): Likewise.
777         * sysdeps/s390/s390-64/sysdep.h (JUMPTARGET): Likewise.
778         * sysdeps/x86_64/sysdep.h (JUMPTARGET): Likewise.
779
780 2003-01-09  Andreas Schwab  <schwab@suse.de>
781
782         * sysdeps/m68k/fpu/libm-test-ulps: Regenerated.
783
784 2003-01-08  Ulrich Drepper  <drepper@redhat.com>
785
786         * sysdeps/unix/sysv/linux/arm/sysdep.h (INTERNAL_SYSCALL,
787         INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Add err
788         argument.
789         (INTERNAL_SYSCALL_DECL): Define.
790
791 2003-01-06  Jakub Jelinek  <jakub@redhat.com>
792
793         * sysdeps/unix/sysv/linux/ia64/sysdep.h (INTERNAL_SYSCALL,
794         INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Add err
795         argument.
796         (INTERNAL_SYSCALL_DECL): Define.
797         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
798         * sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise.
799         * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
800         (INLINE_SYSCALL): Adjust.
801         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
802         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
803         * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
804         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
805         * elf/dl-misc.c (_dl_debug_vdprintf): Add INTERNAL_SYSCALL_DECL,
806         add err argument to INTERNAL_SYSCALL* macros.
807         * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Likewise.
808         * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Likewise.
809         * sysdeps/unix/sysv/linux/m68k/brk.c (__brk): Likewise.
810         * sysdeps/unix/sysv/linux/m68k/getpagesize.c  (__getpagesize):
811         Likewise.
812         * sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Likewise.
813         * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Use
814         INLINE_SYSCALL instead of INTERNAL_SYSCALL and setting errno.
815
816 2003-01-07  Ulrich Drepper  <drepper@redhat.com>
817
818         Unify symbols in user namespace exported by libc.so and libc.a.
819         * argp/argp-fmtstream.c: Don't define argp_make_fmtstream,
820         argp_fmtstream_free, and argp_fmtstream_printf.
821         * argp/argp-fs-xinl.c: Don't define argp_fmtstream_putc,
822         argp_fmtstream_puts, argp_fmtstream_write, argp_fmtstream_set_lmargin,
823         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin, and
824         argp_fmtstream_point.
825         * gmon/gmon.c: Don't define write_profiling.
826         * libio/genops.c: Don't define _cleanup.
827
828         * intl/explodename.c (_nl_find_language.c): Mark as static.
829         * intl/loadinfo.h: Remove _nl_find_language prototype.
830
831         * libio/fileops.c (_IO_file_seekoff_maybe_mmap): Mark as static.
832         * libio/libioP.h: Remove declaration.
833
834         * libio/iopopen.c (_IO_proc_jumps): Mark as static.
835         * libio/libioP.h: Remove declaration.
836
837         * sysdeps/generic/unwind-dw2.c: Mark __frame_state_for with STATIC.
838         * sysdeps/generic/framestate.c: Define STATIC before including
839         unwind-dw2.c.
840
841         * time/Versions [GLIBC_2.3.2] (libc): Export strptime_l.
842
843 2003-01-06  Philip Blundell  <philb@gnu.org>
844
845         * sysdeps/unix/arm/sysdep.S (syscall_error): Optimise a little.
846         [__LIBC_REENTRANT]: Unify PIC and non-PIC cases.
847
848         * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Remove .type
849         directive.
850         (PSEUDO_RET): Use SYSCALL_ERROR in place of __syscall_error.
851         (SYSCALL_ERROR): New.
852         (SYSCALL_ERROR_HANDLER) [NOT_IN_libc]: Provide local copy of error
853         handling code.
854         (INTERNAL_SYSCALL): Define.
855         (INLINE_SYSCALL): Use it.
856         (INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define.
857         * sysdeps/unix/sysv/linux/arm/socket.S (__socket): Use
858         SYSCALL_ERROR in place of __syscall_error.
859
860 2003-01-07  Jakub Jelinek  <jakub@redhat.com>
861
862         * sysdeps/ia64/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16,
863         __bswap_32, __bswap_64): Put x into temporary variable
864         to avoid warnings.
865         [!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static
866         (inline) functions.
867         * sysdeps/s390/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16,
868         __bswap_32, __bswap_64): Put x into temporary variable
869         to avoid warnings.
870         [!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static
871         (inline) functions.
872         * sysdeps/i386/bits/byteswap.h [!__GNUC__] (__bswap_16, __bswap_32):
873         Likewise.
874
875 2003-01-07  Jakub Jelinek  <jakub@redhat.com>
876
877         * sysdeps/unix/sysv/linux/alpha/adjtime.c (ntp_adjtime): New weak
878         alias.
879
880 2003-01-07  Jakub Jelinek  <jakub@redhat.com>
881
882         * elf/rtld.c (_rtld_global): Remove _dl_dynamic_weak initializer.
883         * elf/dl-support.c (_dl_dynamic_weak): Initialize to 0.
884
885 2003-01-07  Ulrich Drepper  <drepper@redhat.com>
886
887         * math/libm-test.inc (significand_test): New function.
888         (main): Call it.
889
890 2003-01-06  Roland McGrath  <roland@redhat.com>
891
892         * sysdeps/i386/i486/bits/string.h (memset): Add parens around macro
893         arguments.
894         (memcpy, memrchr, strcpy, __stpcpy, strncpy, strcat): Likewise.
895         (strcmp, strncat, strncmp, strchr, __strchrnul, strchrnul): Likewise.
896         (index, strrchr, rindex, strcspn, strspn, strpbrk, strstr): Likewise.
897
898         * string/tester.c (test_strcpy): Add test with `void *' arguments.
899
900 2003-01-06  Ulrich Drepper  <drepper@redhat.com>
901
902         * sysdeps/i386/fpu/s_significandl.c (__significandl): Really
903         return significand and not the exponent.
904         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
905
906         * elf/dl-misc.c (_dl_debug_vdprintf): Help PPC port by explicitly
907         taking address of iov in INTERNAL_SYSCALL call.  Patch by Franz Sirl.
908
909         * malloc/malloc.c: Mark all _int_* functions as static.
910
911 2003-01-06  Jakub Jelinek  <jakub@redhat.com>
912
913         * sysdeps/unix/alpha/sysdep.h (PSEUDO): Use PSEUDO_PREPARE_ARGS.
914         * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Add cancellation
915         handling.
916         * sysdeps/unix/sysv/linux/alpha/select.S: Likewise.
917
918 2003-01-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
919
920         * sysdeps/powerpc/powerpc32/sysdep.h (PSEUDO_RET): Add branch hint.
921         * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: Add cancellation
922         support.
923         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Remove
924         ftruncate64, truncate64, pread64 and pwrite64 entries.
925         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
926         (INLINE_SYSCALL): Add __builtin_expect.
927         (LOADARGS_n): Add argument size safety checks.
928         * sysdeps/unix/sysv/linux/powerpc/powerpc32/ftruncate64.c: New file.
929         * sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c: New file.
930         * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c: New file.
931         * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c: New file.
932         * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c: New file.
933         * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c: New file.
934
935 2003-01-06  Jakub Jelinek  <jakub@redhat.com>
936
937         * sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_HANDLED): Define.
938         * sysdeps/generic/creat.c: Include sysdep-cancel.h.
939         (LIBC_CANCEL_HANDLED): Add.
940
941         * sysdeps/unix/sysv/linux/alpha/sysdep.h
942         (inline_syscall_r0_constraint): Rename to...
943         (inline_syscall_r0_out_constraint): ... this.  Add =.
944         (inline_syscall[0-6]): Use inline_syscall_r0_out_constraint.
945
946 2003-01-06  Andreas Schwab  <schwab@suse.de>
947
948         * sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Make
949         sure this is always inlined.
950         (elf_machine_rela): Likewise.
951
952         * sysdeps/m68k/Makefile (sysdep-CFLAGS): Increase inline limit.
953
954 2003-01-04  Roland McGrath  <roland@redhat.com>
955
956         * Makeconfig (+mkdep): Add -MP flag.
957         Suggested by Art Haas <ahaas@airmail.net>.
958
959 2003-01-05  Andreas Schwab  <schwab@suse.de>
960
961         * sysdeps/m68k/Makefile (CFLAGS-.oS): Append -fPIC.
962
963 2003-01-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
964
965         * sysdeps/unix/sysv/linux/sh/clone.S (__clone): Use
966         SYSCALL_ERROR_HANDLER.
967         * sysdeps/unix/sysv/linux/sh/pipe.S (__libc_pipe): Likewise.
968         * sysdeps/unix/sysv/linux/sh/socket.S (__socket): Likewise.
969         Add support for cancellation handling.
970         * sysdeps/unix/sysv/linux/sh/syscall.S (__syscall): Use
971         SYSCALL_ERROR_HANDLER.
972         * sysdeps/unix/sysv/linux/sh/vfork.S (__vfork): Likewise.
973         * sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Likewise.
974         Add support for cancellation handling.
975         (SYSCALL_ERROR_HANDLER): Define PIC variants.
976
977 2003-01-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
978
979         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Mark
980         __syscall_pread64 and __syscall_pwrite64 cancelable.
981         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
982         (INTERNAL_SYSCALL): New macro.
983         (LOADARGS_0, LOADARGS_1): Fix.
984
985 2003-01-05  Ulrich Drepper  <drepper@redhat.com>
986
987         * Makerules (build-shlip-helper): Unless told otherwise, add
988         -Wl,-z,defs to linker command line.
989         * rt/Makefile (librt.so): Link with ld.so.
990         * dlfcn/Makefile (libdl.so): Likewise.
991
992 2003-01-05  Jakub Jelinek  <jakub@redhat.com>
993
994         * sysdeps/unix/sysv/linux/s390/s390-32/socket.S: Add support for
995         cancellation handling.
996         * sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise.
997         * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: Likewise.
998
999 2003-01-04  Ulrich Drepper  <drepper@redhat.com>
1000
1001         * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Correct
1002         order of parameters passed to kill.
1003
1004 2003-01-04  Andreas Schwab  <schwab@suse.de>
1005
1006         * sysdeps/unix/sysv/linux/m68k/bits/stat.h: Add nanosecond fields.
1007
1008 2002-01-03  Paul Eggert  <eggert@twinsun.com>
1009
1010         * malloc/obstack.h (__INT_TO_PTR) [__STDC__]: Cast result to
1011         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
1012         when compiling Bison 1.875's `bitset bset = obstack_alloc
1013         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
1014
1015 2003-01-04  Ulrich Drepper  <drepper@redhat.com>
1016
1017         * sysdeps/posix/system.c (do_system): Minor optimizations.  Remove
1018         unnecessary code.
1019         Correct reference counter in case SIGQUIT handler installation failed.
1020
1021 2003-01-03  Ulrich Drepper  <drepper@redhat.com>
1022
1023         * include/libc-symbols.h [HAVE_WEAK_SYMBOLS] (_weak_extern):
1024         Define using _Pragma(weak ...).
1025
1026 2003-01-03  Andreas Jaeger  <aj@suse.de>, Jakub Jelinek <jakub@redhat.com>
1027
1028         * resolv/res_libc.c: Provide declaration for __res_init_weak and
1029         reorder declarations.
1030
1031 2003-01-03  Art Haas  <ahaas@airmail.net>
1032
1033         * localedata/tests-mbwc/dat_iswalnum.c: Convert GCC extension
1034         initializer syntax to C99.
1035         * localedata/tests-mbwc/dat_iswalpha.c: Likewise.
1036         * localedata/tests-mbwc/dat_iswcntrl.c: Likewise.
1037         * localedata/tests-mbwc/dat_iswctype.c: Likewise.
1038         * localedata/tests-mbwc/dat_iswdigit.c: Likewise.
1039         * localedata/tests-mbwc/dat_iswgraph.c: Likewise.
1040         * localedata/tests-mbwc/dat_iswlower.c: Likewise.
1041         * localedata/tests-mbwc/dat_iswprint.c: Likewise.
1042         * localedata/tests-mbwc/dat_iswpunct.c: Likewise.
1043         * localedata/tests-mbwc/dat_iswspace.c: Likewise.
1044         * localedata/tests-mbwc/dat_iswupper.c: Likewise.
1045         * localedata/tests-mbwc/dat_iswxdigit.c: Likewise.
1046         * localedata/tests-mbwc/dat_mblen.c: Likewise.
1047         * localedata/tests-mbwc/dat_mbrlen.c: Likewise.
1048         * localedata/tests-mbwc/dat_mbrtowc.c: Likewise.
1049         * localedata/tests-mbwc/dat_mbsrtowcs.c: Likewise.
1050         * localedata/tests-mbwc/dat_mbstowcs.c: Likewise.
1051         * localedata/tests-mbwc/dat_mbtowc.c: Likewise.
1052         * localedata/tests-mbwc/dat_strcoll.c: Likewise.
1053         * localedata/tests-mbwc/dat_strfmon.c: Likewise.
1054         * localedata/tests-mbwc/dat_strxfrm.c: Likewise.
1055         * localedata/tests-mbwc/dat_swscanf.c: Likewise.
1056         * localedata/tests-mbwc/dat_towctrans.c: Likewise.
1057         * localedata/tests-mbwc/dat_towlower.c: Likewise.
1058         * localedata/tests-mbwc/dat_towupper.c: Likewise.
1059         * localedata/tests-mbwc/dat_wcrtomb.c: Likewise.
1060         * localedata/tests-mbwc/dat_wcscat.c: Likewise.
1061         * localedata/tests-mbwc/dat_wcschr.c: Likewise.
1062         * localedata/tests-mbwc/dat_wcscmp.c: Likewise.
1063         * localedata/tests-mbwc/dat_wcscoll.c: Likewise.
1064         * localedata/tests-mbwc/dat_wcscpy.c: Likewise.
1065         * localedata/tests-mbwc/dat_wcscspn.c: Likewise.
1066         * localedata/tests-mbwc/dat_wcslen.c: Likewise.
1067         * localedata/tests-mbwc/dat_wcsncat.c: Likewise.
1068         * localedata/tests-mbwc/dat_wcsncmp.c: Likewise.
1069         * localedata/tests-mbwc/dat_wcsncpy.c: Likewise.
1070         * localedata/tests-mbwc/dat_wcspbrk.c: Likewise.
1071         * localedata/tests-mbwc/dat_wcsrtombs.c: Likewise.
1072         * localedata/tests-mbwc/dat_wcsspn.c: Likewise.
1073         * localedata/tests-mbwc/dat_wcsstr.c: Likewise.
1074         * localedata/tests-mbwc/dat_wcstod.c: Likewise.
1075         * localedata/tests-mbwc/dat_wcstok.c: Likewise.
1076         * localedata/tests-mbwc/dat_wcstombs.c: Likewise.
1077         * localedata/tests-mbwc/dat_wcswidth.c: Likewise.
1078         * localedata/tests-mbwc/dat_wcsxfrm.c: Likewise.
1079         * localedata/tests-mbwc/dat_wctob.c: Likewise.
1080         * localedata/tests-mbwc/dat_wctomb.c: Likewise.
1081         * localedata/tests-mbwc/dat_wctrans.c: Likewise.
1082         * localedata/tests-mbwc/dat_wctype.c: Likewise.
1083         * localedata/tests-mbwc/dat_wcwidth.c: Likewise.
1084
1085 2003-01-03  Richard Henderson  <rth@redhat.com>
1086
1087         * sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall_r0_asm): New.
1088         (inline_syscall_r0_constraint): New.
1089         (inline_syscall[0-6]): Use them.
1090
1091 2003-01-03  Jakub Jelinek  <jakub@redhat.com>
1092
1093         * sysdeps/generic/ldsodefs.h (_dl_allocate_tls, _dl_deallocate_tls):
1094         Add rtld_hidden_proto.
1095         * sysdeps/generic/dl-tls.c (_dl_deallocate_tls): Add rtld_hidden_def.
1096         (_dl_allocate_tls): Likewise.  Remove INTDEF.
1097
1098 2002-07-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1099
1100         * sysdeps/sh/memcpy.S: Optimize.  Based on a patch by Toshiyasu
1101         Morita <toshiyasu.morita@hsa.hitachi.com>.
1102         * sysdeps/sh/memcpy.S: Likewise.
1103
1104 2003-01-02  Ulrich Drepper  <drepper@redhat.com>
1105
1106         * sysdeps/pthread/aio_suspend.c (aio_suspend): Don't quite remove
1107         any, but unify the test.
1108
1109 2003-01-02  Jakub Jelinek  <jakub@redhat.com>
1110
1111         * sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction,
1112         sigaction): Protect weak_alias and libc_hidden_weak with
1113         #ifndef LIBC_SIGACTION.
1114         * sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction,
1115         sigaction): Likewise.
1116         * sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction,
1117         sigaction): Likewise.
1118         * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction,
1119         sigaction): Likewise.
1120         * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction,
1121         sigaction): Likewise.
1122         * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction,
1123         sigaction): Likewise.
1124         * sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction,
1125         sigaction): Likewise.
1126         * sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction,
1127         sigaction): Likewise.  Remove SIGCANCEL handling here.
1128         * sysdeps/unix/sysv/linux/sigaction.c (__sigaction, sigaction):
1129         Likewise.
1130
1131 2003-01-02  Art Haas  <ahaas@airmail.net>
1132
1133         * login/tst-utmp.c: Convert GCC extension initializer syntax to C99.
1134
1135 2003-01-02  Ulrich Drepper  <drepper@redhat.com>
1136
1137         * posix/getconf.c: Update copyright year.
1138         * nss/getent.c: Likewise.
1139         * nscd/nscd_nischeck.c: Likewise.
1140         * iconv/iconvconfig.c: Likewise.
1141         * iconv/iconv_prog.c: Likewise.
1142         * elf/ldconfig.c: Likewise.
1143         * catgets/gencat.c: Likewise.
1144         * csu/version.c: Likewise.
1145         * elf/ldd.bash.in: Likewise.
1146         * elf/sprof.c (print_version): Likewise.
1147         * locale/programs/locale.c: Likewise.
1148         * locale/programs/localedef.c: Likewise.
1149         * nscd/nscd.c (print_version): Likewise.
1150         * debug/xtrace.sh: Likewise.
1151         * malloc/memusage.sh: Likewise.
1152         * malloc/mtrace.pl: Likewise.
1153
1154 2003-01-01  Jakub Jelinek  <jakub@redhat.com>
1155
1156         * io/sys/stat.h: Include time.h with __need_timespec even if
1157         __USE_MISC is defined but __USE_XOPEN is not.
1158
1159 2003-01-01  Andreas Jaeger  <aj@suse.de>
1160
1161         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Use union
1162         type to avoid strict aliasing problem.
1163         (_nss_dns_gethostbyname2_r): Likewise.
1164         * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise.
1165         (_nss_dns_getnetbyname_r): Likewise.
1166         * resolv/gethnamaddr.c (_gethtent): Likewise.
1167         (gethostbyname2): Likewise.
1168
1169 2002-12-31  Ulrich Drepper  <drepper@redhat.com>
1170
1171         * string/string-inlines.c: Define __memcpy_g and __strchr_g macros
1172         to avoid using the exported symbols.  Define aliases with the
1173         original names separately.
1174
1175         * include/time.h: Add libc_hidden_proto for __strftime_l.
1176         * include/wchar.h: Add libc_hidden_proto for __wcsftime_l.
1177         * time/strftime.c: Always use libc_hidden_def if _LIBC.
1178
1179         * libio/libioP.h: Add libc_hidden_proto for _IO_file_open.
1180         * libio/fileops.c: Add libc_hidden_def for _IO_file_open.
1181
1182         * malloc/mtrace.c: Add libc_hidden_proto and libc_hidden_def for
1183         tr_break.
1184
1185         * csu/Makefile (routines): Add dso_handle.
1186         * csu/dso_handle.c: New file.
1187
1188 2002-12-31  Roland McGrath  <roland@redhat.com>
1189
1190         * Makerules (compile.S, COMPILE.S): Remove -DASSEMBLER here.
1191         Use $(S-CPPFLAGS) in place of $(asm-CPPFLAGS).
1192         (S-CPPFLAGS): Add -DASSEMBLER here instead.
1193         (generate-md5, +make-deps): Fix magic to get $(S-CPPFLAGS).
1194
1195 2002-12-31  Ulrich Drepper  <drepper@redhat.com>
1196
1197         * malloc/thread-m.h [SHARED] (thread_atfork): Assume __dso_handle
1198         is available.
1199
1200 2002-12-31  Andreas Jaeger  <aj@suse.de>
1201
1202         * sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: Sync
1203         with Linux kernel.
1204         * sysdeps/unix/sysv/linux/sparc/sparc32/kernel_stat.h: Likewise.
1205         * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: Likewise.
1206         * sysdeps/unix/sysv/linux/hppa/kernel_stat.h: Likewise.
1207
1208         * sysdeps/unix/sysv/linux/kernel_stat.h
1209         (_HAVE_STAT_NSEC,_HAVE_STAT_NSEC64): New.
1210
1211         * sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv): Re-add
1212         __unused[1-3] since they're needed by some platforms.  Handle
1213         _HAVE_STAT_NSEC and _HAVE_STAT_NSEC64.
1214
1215         * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Add nsec resolution
1216         for structs stat and stat64.
1217         * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
1218         * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
1219         * sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
1220         * sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
1221
1222         * io/sys/stat.h [__USE_MISC]: Define __need_timespec for struct stat.
1223
1224         * sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv): Adjust for
1225         nsec resolution changes.
1226         (xstat64_conv): Likewise.
1227         (xstat32_conv): Likewise.
1228
1229         * sysdeps/unix/sysv/linux/kernel_stat.h: Add nsec resolution for
1230         struct kernel_stat.
1231
1232         * sysdeps/unix/sysv/linux/bits/stat.h: Add nsec resolution for
1233         structs stat and stat64.
1234
1235         * time/time.h (__timespec_defined): Define for __USE_MISC.
1236
1237 2002-12-31  Ulrich Drepper  <drepper@redhat.com>
1238
1239         * include/signal.h: Add libc_hidden_proto for __libc_current_sigrtmin
1240         and __libc_current_sigrtmax.
1241
1242 2002-12-31  Jakub Jelinek  <jakub@redhat.com>
1243
1244         * include/errno.h (__errno_location): Add prototype.
1245         Use libc_hidden_proto unconditionally.
1246         * include/netdb.h (__h_errno_location): Use libc_hidden_proto
1247         unconditionally.
1248         * include/resolv.h (__res_state): Likewise.
1249
1250         * hurd/errno-loc.c (__errno_location): Add libc_hidden_def.
1251         * include/sys/socket.h (accept): Add libc_hidden_proto.
1252         * include/errno.h (__errno_location): Likewise.
1253         * include/netdb.h (__h_errno_location): Likewise.
1254         * include/resolv.h (__res_state): Likewise.
1255         * include/unistd.h (__lseek): Likewise.
1256         * sysdeps/generic/errno-loc.c (__errno_location): Add libc_hidden_def.
1257         * sysdeps/generic/herrno-loc.c (__h_errno_location): Likewise.
1258         * sysdeps/generic/res-state.c (__res_state): Likewise.
1259         * sysdeps/generic/accept.c (accept): Likewise.
1260         * sysdeps/generic/lseek.c (__lseek): Likewise.
1261         * sysdeps/generic/allocrtsig.c (__libc_current_sigrtmin,
1262         __libc_current_sigrtmax): Likewise.
1263         * sysdeps/mach/hurd/accept.c (accept): Likewise.
1264         * sysdeps/mach/hurd/lseek.c (__lseek): Likewise.
1265         * sysdeps/unix/sysv/aix/accept.c (accept): Likewise.
1266         * sysdeps/unix/sysv/aix/lseek.c (__lseek): Likewise.
1267         * sysdeps/unix/sysv/linux/accept.S (accept): Likewise.
1268         * sysdeps/unix/inet/syscalls.list (__GI_accept): New alias to accept.
1269         * sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI_accept): Likewise.
1270         * sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI_accept): Likewise.
1271         * sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___lseek): New
1272         alias to llseek.
1273         (__GI_accept): New alias to accept.
1274         * sysdeps/unix/sysv/linux/mips/syscalls.list (__GI_accept): Likewise.
1275         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___lseek):
1276         New alias to llseek.
1277         (__GI_accept): New alias to accept.
1278         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (__GI_accept):
1279         Likewise.
1280         * sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI_accept):
1281         Likewise.
1282         * sysdeps/unix/syscalls.list (__GI___lseek): New alias to lseek.
1283
1284         * sysdeps/alpha/setjmp.S : Use libc_hidden_def(name) instead of
1285         strong_alias (name, __GI_name).
1286         * sysdeps/arm/bsd-_setjmp.S : Likewise.
1287         * sysdeps/hppa/bsd-_setjmp.S : Likewise.
1288         * sysdeps/i386/bsd-_setjmp.S : Likewise.
1289         * sysdeps/mips/mips64/bsd-_setjmp.S : Likewise.
1290         * sysdeps/mips/bsd-_setjmp.S : Likewise.
1291         * sysdeps/powerpc/powerpc32/bsd-_setjmp.S : Likewise.
1292         * sysdeps/powerpc/powerpc64/setjmp.S : Likewise.
1293         * sysdeps/s390/s390-32/elf/setjmp.S : Likewise.
1294         * sysdeps/s390/s390-32/bsd-_setjmp.S : Likewise.
1295         * sysdeps/s390/s390-64/elf/setjmp.S : Likewise.
1296         * sysdeps/s390/s390-64/bsd-_setjmp.S : Likewise.
1297         * sysdeps/sh/bsd-_setjmp.S : Likewise.
1298         * sysdeps/sparc/sparc32/setjmp.S : Likewise.
1299         * sysdeps/unix/arm/fork.S : Likewise.
1300         * sysdeps/unix/bsd/hp/m68k/vfork.S : Likewise.
1301         * sysdeps/unix/bsd/i386/vfork.S : Likewise.
1302         * sysdeps/unix/bsd/osf/alpha/fork.S : Likewise.
1303         * sysdeps/unix/bsd/sun/m68k/vfork.S : Likewise.
1304         * sysdeps/unix/bsd/ultrix4/mips/vfork.S : Likewise.
1305         * sysdeps/unix/bsd/vax/vfork.S : Likewise.
1306         * sysdeps/unix/i386/fork.S : Likewise.
1307         * sysdeps/unix/mips/fork.S : Likewise.
1308         * sysdeps/unix/sparc/fork.S : Likewise.
1309         * sysdeps/unix/sparc/vfork.S : Likewise.
1310         * sysdeps/unix/sysv/linux/arm/vfork.S : Likewise.
1311         * sysdeps/unix/sysv/linux/cris/vfork.S : Likewise.
1312         * sysdeps/unix/sysv/linux/i386/vfork.S : Likewise.
1313         * sysdeps/unix/sysv/linux/ia64/fork.S : Likewise.
1314         * sysdeps/unix/sysv/linux/ia64/setjmp.S : Likewise.
1315         * sysdeps/unix/sysv/linux/ia64/vfork.S : Likewise.
1316         * sysdeps/unix/sysv/linux/m68k/vfork.S : Likewise.
1317         * sysdeps/unix/sysv/linux/sh/vfork.S : Likewise.
1318         * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S : Likewise.
1319         * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S : Likewise.
1320         * sysdeps/unix/sysv/linux/sparc/fork.S : Likewise.
1321         * sysdeps/unix/sysv/linux/sparc/vfork.S : Likewise.
1322         * sysdeps/unix/sysv/linux/x86_64/vfork.S : Likewise.
1323         * sysdeps/unix/fork.S : Likewise.
1324         * sysdeps/vax/bsd-_setjmp.S : Likewise.
1325         * sysdeps/x86_64/bsd-_setjmp.S : Likewise.
1326
1327         * sysdeps/unix/sysv/linux/ia64/sysdep.h: Guard against multiple
1328         inclusion.
1329
1330 2002-12-31  Ulrich Drepper  <drepper@redhat.com>
1331
1332         * include/unistd.h: Add libc_hidden_proto for __fork and __vfork.
1333         * sysdeps/generic/fork.c: Add libc_hidden_def for __fork.
1334         * sysdeps/mach/hurd/fork.c: Likewise.
1335         * sysdeps/unix/sysv/aix/fork.c: Likewise.
1336         * sysdeps/unix/fork.S: Add __GI___fork alias.
1337         * sysdeps/unix/arm/fork.S: Likewise.
1338         * sysdeps/unix/bsd/osf/alpha/fork.S: Likewise.
1339         * sysdeps/unix/i386/fork.S: Likewise.
1340         * sysdeps/unix/mips/fork.S: Likewise.
1341         * sysdeps/unix/sparc/fork.S: Likewise.
1342         * sysdeps/unix/sysv/linux/ia64/fork.S: Likewise.
1343         * sysdeps/unix/sysv/linux/sparc/fork.S: Likewise.
1344         * sysdeps/unix/sysv/linux/syscalls.list: Likewise.
1345         * sysdeps/generic/vfork.c: Add libc_hidden_def for __vfork.
1346         * sysdeps/unix/bsd/hp/m68k/vfork.S: Add __GI___vfork alias.
1347         * sysdeps/unix/bsd/i386/vfork.S: Likewise.
1348         * sysdeps/unix/bsd/sun/m68k/vfork.S: Likewise.
1349         * sysdeps/unix/bsd/ultrix4/mips/vfork.S: Likewise.
1350         * sysdeps/unix/bsd/vax/vfork.S: Likewise.
1351         * sysdeps/unix/sparc/vfork.S: Likewise.
1352         * sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.
1353         * sysdeps/unix/sysv/linux/cris/vfork.S: Likewise.
1354         * sysdeps/unix/sysv/linux/i386/vfork.S: Likewise.
1355         * sysdeps/unix/sysv/linux/ia64/vfork.S: Likewise.
1356         * sysdeps/unix/sysv/linux/m68k/vfork.S: Likewise.
1357         * sysdeps/unix/sysv/linux/sh/vfork.S: Likewise.
1358         * sysdeps/unix/sysv/linux/sparc/vfork.S: Likewise.
1359         * sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.
1360
1361         * include/time.h: Add libc_hidden_proto for __nanosleep.
1362         * sysdeps/generic/nanosleep.c: Add libc_hidden_def for __nanosleep.
1363         * sysdeps/mach/nanosleep.c: Likewise.
1364         * sysdeps/unix/sysv/aix/nanosleep.c: Likewise.
1365         * sysdeps/unix/sysv/linux/syscalls.list: Add __GI___nanosleep alias.
1366
1367         * libio/libioP.h: Add libc_hidden_proto for _IO_list_lock,
1368         _IO_list_unlock, and _IO_list_resetlock.
1369         * libio/genops.c: Add libc_hidden_def for _IO_list_lock,
1370         _IO_list_unlock, and _IO_list_resetlock.
1371
1372         * libio/libioP.h: Add libc_hidden_proto for _IO_iter_begin,
1373         _IO_iter_end, _IO_iter_next, and _IO_iter_file.
1374         * libio/genops.c: Add libc_hidden_def for _IO_iter_begin,
1375         _IO_iter_end, _IO_iter_next, and _IO_iter_file.
1376
1377         * include/setjmp.h: Add libc_hidden_proto for __libc_longjmp.
1378         * sysdeps/generic/longjmp.c: Add libc_hidden_def for __longjmp.
1379         * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add
1380         __GI___longjmp alias.
1381
1382         * include/setjmp.h: Add libc_hidden_proto for _setjmp.
1383         * sysdeps/alpha/setjmp.S: Add __GI__setjmp alias.
1384         * sysdeps/arm/bsd-_setjmp.S: Likewise.
1385         * sysdeps/generic/bsd-_setjmp.c: Likewise.
1386         * sysdeps/hppa/bsd-_setjmp.S: Likewise.
1387         * sysdeps/i386/bsd-_setjmp.S: Likewise.
1388         * sysdeps/m68k/bsd-_setjmp.c: Likewise.
1389         * sysdeps/mips/bsd-_setjmp.S: Likewise.
1390         * sysdeps/mips/mips64/bsd-_setjmp.S: Likewise.
1391         * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise.
1392         * sysdeps/powerpc/powerpc64/setjmp.S: Likewise.
1393         * sysdeps/s390/s390-32/bsd-_setjmp.S: Likewise.
1394         * sysdeps/s390/s390-32/elf/setjmp.S: Likewise.
1395         * sysdeps/s390/s390-64/bsd-_setjmp.S: Likewise.
1396         * sysdeps/s390/s390-64/elf/setjmp.S: Likewise.
1397         * sysdeps/sh/bsd-_setjmp.S: Likewise.
1398         * sysdeps/sparc/sparc32/setjmp.S: Likewise.
1399         * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise.
1400         * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise.
1401         * sysdeps/vax/bsd-_setjmp.S: Likewise.
1402         * sysdeps/x86_64/bsd-_setjmp.S: Likewise.
1403
1404 2002-12-30  Ulrich Drepper  <drepper@redhat.com>
1405
1406         * malloc/thread-m.h (thread_atfork): Define using __register_atfork.
1407
1408 2002-12-30  Roland McGrath  <roland@redhat.com>
1409
1410         * Rules (generated): Target removed.
1411         * mach/Makefile (generated): Define it here instead.
1412
1413         * math/Makefile (generated): Add m_*l and m_*f variants too.
1414
1415 2002-12-30  Ulrich Drepper  <drepper@redhat.com>
1416
1417         * elf/dl-close.c (_dl_close): Handle relocation dependencies among
1418         the to-be-deleted objects right away instead of later separately.
1419         The latter fails because the scope data structures of the DSO
1420         might already be gone.
1421
1422         * elf/Makefile: Add rules to build and run reldep8 test.
1423         * elf/reldep8.c: New file.
1424         * elf/reldep8mod1.c: New file.
1425         * elf/reldep8mod2.c: New file.
1426         * elf/reldep8mod3.c: New file.
1427         Contributed by Jakub Jelinek.
1428
1429 2002-12-24  GOTO Masanori  <gotom@debian.or.jp>
1430
1431         * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Fix condition
1432         checking of return value ENOSYS from getdents64.
1433
1434 2002-12-28  Andreas Schwab  <schwab@suse.de>
1435
1436         * sysdeps/unix/Makefile: Include $(common-objpfx)s-proto-cancel.d.
1437         ($(common-objpfx)s-%.d): Generalized from
1438         $(common-objpfx)s-proto.d rule.
1439         (common-generated): Add s-proto-cancel.d.
1440         * sysdeps/unix/make-syscalls.sh: Use s-proto-cancel.d for
1441         cancellable syscalls.
1442         * sysdeps/unix/s-proto-cancel.S: New file.
1443
1444 2002-12-29  Roland McGrath  <roland@redhat.com>
1445
1446         * resolv/res_libc.c: Move _res defn magic after res_init defn
1447         so _res macro is in effect for that code.
1448
1449         * Makerules ($(common-objpfx)%.h $(common-objpfx)%.h.d): Fix sed
1450         pattern for prepending $(..) so it doesn't affect $(foo).
1451
1452         * math/Makefile (generated): Add $(addsuffix .c .S,$(calls:s_%=m_%)).
1453
1454 2002-12-29  Jakub Jelinek  <jakub@redhat.com>
1455
1456         * elf/cache.c (add_to_cache): Don't loop forever with 1ULL << 63 set
1457         in hwcap.
1458
1459 2002-12-28  Ulrich Drepper  <drepper@redhat.com>
1460
1461         * misc/sys/cdefs.h (__attribute_deprecated__): New #define.
1462
1463 2002-12-28  Andreas Jaeger  <aj@suse.de>
1464
1465         * sysdeps/generic/readelflib.c (process_elf_file): Cast value to
1466         avoid warning.
1467         * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Likewise.
1468
1469 2002-12-27  Jakub Jelinek  <jakub@redhat.com>
1470
1471         * inet/herrno.c (__h_errno_location): Remove.
1472         * inet/Makefile (routines): Add herrno-loc.
1473         * resolv/res_libc.c (__res_state): Remove.
1474         * resolv/Makefile (routines): Add res-state.
1475         * sysdeps/generic/herrno-loc.c: New file.
1476         * sysdeps/generic/res-state.c: New file.
1477
1478 2002-12-27  Jakub Jelinek  <jakub@redhat.com>
1479
1480         * sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER):
1481         Only define if USE_DL_SYSINFO is defined.
1482
1483 2002-12-22  Jakub Jelinek  <jakub@redhat.com>
1484
1485         * sysdeps/unix/sysv/linux/ia64/sysdep.h (INLINE_SYSCALL,
1486         INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERROR):
1487         Define. Patch by Richard Henderson and Jes Sorensen.
1488         (PSEUDO): Remove unnecessary ;;.
1489         * elf/rtld.c (dl_main): Initialize TLS even if no PT_TLS segments
1490         are found unless TLS_INIT_TP_EXPENSIVE.  Use NONTLS_INIT_TP.
1491         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Use NONTLS_INIT_TP
1492         if not initializing thread pointer.
1493         [!USE_TLS && NONTLS_INIT_TP] (__pthread_initialize_minimal): New.
1494         * sysdeps/generic/libc-start.c (__pthread_initialize_minimal): Don't
1495         make it weak also if NONTLS_INIT_TP.
1496         * sysdeps/unix/common/pause.c: Handle cancellation.
1497         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h [DONT_LOAD_G1]
1498         (LOADSYSCALL): Remove.
1499         (SYSCALL_ERROR_HANDLER_ENTRY): Define.
1500         (SYSCALL_ERROR_HANDLER): Use it.
1501         (PSEUDO): Don't jump around error handler.
1502         * sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__libc_pipe): Don't
1503         jump around error handler.
1504         * sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S (syscall): Likewise.
1505         * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S (__socket): Branch
1506         to __syscall_error_handler on failure.
1507         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h [DONT_LOAD_G1]
1508         (LOADSYSCALL): Remove.
1509         (SYSCALL_ERROR_HANDLER_ENTRY): Define.
1510         (SYSCALL_ERROR_HANDLER): Use it.
1511         (PSEUDO): Don't jump around error handler.
1512         * sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__libc_pipe): Don't
1513         jump around error handler.
1514         * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S (syscall): Likewise.
1515         * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S (__socket): Branch
1516         to __syscall_error_handler on failure.
1517
1518 2002-12-27  Roland McGrath  <roland@redhat.com>
1519
1520         * scripts/gen-as-const.awk: New file.
1521         * Makefile (distribute): Add it.
1522         * Makerules ($(common-objpfx)%.h %.h.d: %.sym): New pattern rule.
1523         (before-compile): Add $(gen-as-const-headers:%.sym=$(common-objpfx)%.h)
1524         to the list.
1525         (+depfiles): Add $(addprefix $(common-objpfx),$(gen-as-const-headers)).
1526
1527 2002-12-27  Andreas Schwab  <schwab@suse.de>
1528
1529         * sysdeps/unix/sysv/linux/m68k/socket.S: Add cancellation support.
1530
1531 2002-12-27  Jakub Jelinek  <jakub@redhat.com>
1532
1533         * malloc/arena.c (ptmalloc_init): Don't call next_env_entry if
1534         _environ is NULL.
1535
1536 2002-12-27  Andreas Schwab  <schwab@suse.de>
1537
1538         * Makerules ($(common-objpfx)%.make): Filter through
1539         $(sed-remove-objpfx).
1540
1541 2002-12-23  Roland McGrath  <roland@redhat.com>
1542
1543         * scripts/abilist.awk: Produce a more compact format, divided into
1544         stanzas for each version set, the set name listed only once.
1545         * scripts/extract-abilist.awk: New file.
1546         * scripts/merge-abilist.awk: New file.
1547         * Makerules (check-abi-%, update-abi-%): New pattern rules.
1548         (update-abi, check-abi): New targets.
1549         * Makefile (+subdir_targets): Add subdir_{check,update}-abi.
1550
1551 2002-12-19  Roland McGrath  <roland@redhat.com>
1552
1553         * Makerules (%.symlist): Use LC_ALL=C when running awk script.
1554
1555         * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Cast result of
1556         INTERNAL_SYSCALL.
1557
1558 2002-12-21  Andreas Schwab  <schwab@suse.de>
1559
1560         * elf/check-textrel.c (handle_file): Swap p_type.
1561
1562 2002-12-21  Andreas Schwab  <schwab@suse.de>
1563
1564         * sysdeps/unix/sysv/linux/m68k/sysdep.h (INTERNAL_SYSCALL): Define.
1565         (INLINE_SYSCALL): Use it.
1566         (INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define.
1567         (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant.
1568
1569         * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Use INTERNAL_SYSCALL.
1570         * sysdeps/unix/sysv/linux/m68k/brk.c: Likewise.
1571
1572 2002-12-20  Art Haas  <ahaas@airmail.net>
1573
1574         * sysdeps/gnu/siglist.c: Convert GCC extension initializer
1575         syntax to C99.
1576
1577 2002-12-21  Philip Blundell  <philb@gnu.org>
1578
1579         * sysdeps/arm/elf/start.S (_start): Optimise a little.  Push stack
1580         top as seventh arg to __libc_start_main.
1581         Reported by paulnash@wildseed.com.
1582
1583         * sysdeps/unix/sysv/linux/arm/clone.S: Small optimisation.
1584
1585         * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Elide
1586         compatibility cruft when new enough kernel is assumed.
1587
1588 2002-12-20  Jakub Jelinek  <jakub@redhat.com>
1589
1590         * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Use INTERNAL_SYSCALL
1591         instead of INLINE_SYSCALL.
1592
1593 2002-12-20  Ulrich Drepper  <drepper@redhat.com>
1594
1595         * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Fix
1596         typo.
1597
1598         * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Define SHM_HUGETLB.
1599         * sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
1600         * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Likewise.
1601         * sysdeps/unix/sysv/linux/ia64/bits/shm.h: Likewise.
1602         * sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise.
1603         * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
1604         * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
1605         * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
1606         * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
1607         Patch by William Lee Irwin <wli@holomorphy.com>.
1608
1609 2002-12-20  Andreas Schwab  <schwab@suse.de>
1610
1611         * locale/programs/ld-measurement.c (measurement_output): Fix
1612         index calculation.
1613
1614 2002-12-20  Ulrich Drepper  <drepper@redhat.com>
1615
1616         * include/libio.h [_IO_MTSAFE_IO && _IO_lock_inexpensive]:
1617         Redefine _IO_flockifle and _IO_funlockfile as inlines.
1618
1619         * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): For TLS
1620         builds add "tls" in the search path.
1621         * elf/ldconfig.c (is_hwcap_platform): Also recognize "tls".
1622         (path_hwcap): Recognize "tls".
1623
1624 2002-12-19  Ulrich Drepper  <drepper@redhat.com>
1625
1626         * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Use
1627         __waitpid instead of waitpid.
1628
1629         * sysdeps/unix/sysv/linux/i386/_exit.S: Use ENTER_KERNEL instead of
1630         int $0x80.
1631         * sysdeps/unix/sysv/linux/i386/getcontext.S: Likewise.
1632         * sysdeps/unix/sysv/linux/i386/setcontext.S: Likewise.
1633         * sysdeps/unix/sysv/linux/i386/swapcontext.S: Likewise.
1634
1635         * sysdeps/unix/sysv/linux/i386/sysdep.h: Add support to use AT_SYSINFO
1636         information for system calls.
1637
1638         * sysdeps/generic/dl-sysdep.h: Define RTLD_PRIVATE_ERRNO to 1 only
1639         for ld.so.
1640
1641         * elf/rtld.c (_dl_start) [USE___THREAD]: Define initdtv.
1642
1643 2002-12-19  Roland McGrath  <roland@redhat.com>
1644
1645         * iconvdata/ibm856.h: Convert GCC extension initializer syntax to C99.
1646         * iconvdata/ibm922.h: Likewise.
1647         * iconvdata/ibm930.h: Likewise.
1648         * iconvdata/ibm932.h: Likewise.
1649         * iconvdata/ibm933.h: Likewise.
1650         * iconvdata/ibm935.h: Likewise.
1651         * iconvdata/ibm937.h: Likewise.
1652         * iconvdata/ibm939.h: Likewise.
1653         * iconvdata/ibm943.h: Likewise.
1654         * iconvdata/isiri-3342.h: Likewise.
1655
1656 2002-12-19  Ulrich Drepper  <drepper@redhat.com>
1657
1658         * test-skeleton.c (main): Make sure correct value is seen as
1659         argv[0] after adjustment of argv, and argc.
1660
1661         * elf/rtld.c: Don't initialize _dl_dynamic_weak to 1 if
1662         RTLD_CORRECT_DYNAMIC_WEAK is defined.
1663
1664 2002-12-19  Jakub Jelinek  <jakub@redhat.com>
1665
1666         * nscd/connections.c (nscd_run): Shut up warning.
1667         * tst-ungetc.c (assert): Undefined before redefining.
1668
1669 2002-12-19  Ulrich Drepper  <drepper@redhat.com>
1670
1671         * posix/regex.c: Use __builtin_expect even outside glibc if gcc 3
1672         is used.
1673
1674 2002-12-17  Art Haas  <ahaas@airmail.net>
1675
1676         * iconvdata/cp737.h: Convert GCC extension initializer syntax to C99.
1677         * iconvdata/cp775.h: Likewise.
1678         * iconvdata/ibm1046.h: Likewise.
1679         * iconvdata/ibm1124.h: Likewise.
1680         * iconvdata/ibm1129.h: Likewise.
1681         * iconvdata/ibm1132.h: Likewise.
1682         * iconvdata/ibm1133.h: Likewise.
1683         * iconvdata/ibm1160.h: Likewise.
1684         * iconvdata/ibm1161.h: Likewise.
1685         * iconvdata/ibm1162.h: Likewise.
1686         * iconvdata/ibm1163.h: Likewise.
1687         * iconvdata/ibm1164.h: Likewise.
1688
1689 2002-12-19  Ulrich Drepper  <drepper@redhat.com>
1690
1691         * sysdeps/unix/sysv/linux/i386/system.c: Define FORK only if
1692         __ASSUME_CLONE_THREAD_FLAGS is defined.
1693         * sysdeps/unix/sysv/linux/kernel-features.h
1694         (__ASSUME_CLONE_THREAD_FLAGS): Define for x86 and kernel >= 2.5.50.
1695
1696 2002-12-18  Ulrich Drepper  <drepper@redhat.com>
1697
1698         * sysdeps/unix/sysv/linux/i386/brk.c: Use INTERNAL_SYSCALL instead
1699         of asm.
1700         * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
1701
1702         * elf/dl-support.c [NEED_DL_SYSINFO]: Define and initialize
1703         _dl_sysinfo.
1704         [DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
1705         code.
1706         * elf/rtld.c [DL_NEED_SYSINFO]: Initialize _dl_sysinfo element of
1707         _rtld_global.
1708         [DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
1709         code.
1710         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
1711         Check for AT_SYSINFO and set _dl_sysinfo appropriately.
1712         * sysdeps/generic/ldsodefs.h (struct rtld_global) [NEED_DL_SYSINFO]:
1713         Add _dl_sysinfo.
1714
1715 2002-12-18  Jakub Jelinek  <jakub@redhat.com>
1716
1717         * misc/Versions [libc: GLIBC_2.3.1]: Move __libc_readv and
1718         __libc_writev to...
1719         [libc: GLIBC_PRIVATE]: ...here.
1720         * sysvipc/Versions [libc: GLIBC_2.3.1]: Move __libc_msgrcv and
1721         __libc_msgsnd to...
1722         [libc: GLIBC_PRIVATE]: ...here.
1723
1724 2002-12-18  Ulrich Drepper  <drepper@redhat.com>
1725
1726         * sysdeps/unix/sysv/linux/i386/sysdep.h: Define ENTER_KERNEL macro.
1727         Use it instead of directly int $0x80.
1728         * sysdeps/unix/sysv/linux/i386/brk.c: Use ENTER_KERNEL.
1729         * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
1730         * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
1731         * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
1732         * sysdeps/unix/sysv/linux/i386/socket.S: Likewise.
1733         * sysdeps/unix/sysv/linux/i386/syscall.S: Likewise.
1734
1735 2002-12-17  Ulrich Drepper  <drepper@redhat.com>
1736
1737         * malloc/malloc.c (mALLOPt): Make sure malloc is initialized.
1738
1739         * elf/elf.h (AT_SYSINFO): New define.
1740         * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Add support for
1741         AT_SYSINFO.
1742
1743 2002-12-17  Jakub Jelinek  <jakub@redhat.com>
1744
1745         * sysdeps/unix/sysv/linux/alpha/syscalls.list (msgrcv, msgsnd):
1746         Make cancelable.
1747         * sysdeps/unix/sysv/linux/hppa/syscalls.list (msgrcv, msgsnd):
1748         Likewise.
1749         * sysdeps/unix/sysv/linux/ia64/syscalls.list (msgrcv, msgsnd):
1750         Likewise.
1751         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (msgrcv, msgsnd):
1752         Likewise.
1753         * sysdeps/unix/sysv/linux/x86_64/syscalls.list (msgrcv, msgsnd):
1754         Likewise.
1755         * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend): Likewise.
1756
1757         * malloc/thread-m.h (mutex_init, mutex_lock, mutex_trylock,
1758         mutex_unlock): If not building NPTL, use __libc_maybe_call2 if
1759         available, otherwise __libc_maybe_call.
1760         * sysdeps/unix/sysv/linux/x86_64/recv.c: Add support for
1761         cancellation handling.
1762         * sysdeps/unix/sysv/linux/x86_64/send.c: Likewise.
1763
1764 2002-12-17  Isamu Hasegawa  <isamu@yamato.ibm.com>
1765
1766         * posix/regcomp.c (free_workarea_compile): Free the new member
1767         ORG_INDICES.
1768         (analyze): Initialize ORG_INDICES.
1769         (duplicate_node_closure): Search for a existing node, which is
1770         duplicated from the node ORG_DEST and satisfies the constraint
1771         CONSTRAINT.  And use it to avoid inifimite loop.
1772         (search_duplicated_node): New function.
1773         (duplicate_node): Store the index of the original node.
1774         * posix/regex_internal.c (re_dfa_add_node): Realloc ORG_INDICES
1775         if needed.
1776         * posix/regex_internal.h (re_dfa_t): Add new members.
1777
1778 2002-12-17  Ulrich Drepper  <drepper@redhat.com>
1779
1780         * stdio-common/tst-fdopen.c: Undefine assert before redefining it.
1781
1782 2002-12-16  Ulrich Drepper  <drepper@redhat.com>
1783
1784         * sysdeps/posix/system.c (do_system): Add support for installation
1785         of cancellation handlers.
1786         * sysdeps/unix/sysv/linux/i386/system.c: New file.
1787
1788         * stdlib/Makefile (tests): Add tst-system.
1789         * stdlib/tst-system.c: New file.
1790
1791         * sysdeps/unix/sysv/linux/i386/socket.S [NEED_CANCELLATION &&
1792         CENABLE]: Don't lose content of %ebx.
1793
1794 2002-12-17  Jakub Jelinek  <jakub@redhat.com>
1795
1796         * sysdeps/unix/sysv/linux/i386/socket.S: Use SINGLE_THREAD_P
1797         macro instead of comparing %gs:MULTIPLE_THREADS_OFFSET directly.
1798
1799 2002-12-16  Ulrich Drepper  <drepper@redhat.com>
1800
1801         * sysdeps/posix/getaddrinfo.c (gaih_inet): If __nss_lookup_function
1802         fails to return a function pointer don't use it.
1803
1804 2002-12-16  Art Haas  <ahaas@airmail.net>
1805
1806         * io/ftw.c: Convert GCC extension initializer syntax to C99.
1807         * iconvdata/iso-ir-165.c: Likewise.
1808         * iconvdata/jis0208.c: Likewise.
1809         * iconvdata/jis0212.c: Likewise.
1810
1811 2002-12-16  Ulrich Drepper  <drepper@redhat.com>
1812
1813         * sysdeps/unix/sysv/linux/syscalls.list: Add epoll_create,
1814         epoll_ctl, and epoll_wait.
1815         * sysdeps/unix/sysv/linux/Versions [libc: GLIBC_2.3.2]: Add
1816         epoll_create, epoll_ctl, and epoll_wait.
1817         * sysdeps/unix/sysv/linux/sys/epoll.h: New file.  Written by
1818         Davide Libenzi <davidel@xmailserver.org>.
1819         * sysdeps/unix/sysv/linux/Dist: Add sys/epoll.h.
1820         * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
1821         Add sys/epoll.h.
1822
1823 2002-12-16  Art Haas  <ahaas@airmail.net>
1824
1825         * sysdeps/generic/bp-semctl.h: Convert GCC extension initializer
1826         syntax to C99
1827         * sysdeps/unix/sysv/aix/settimer.c: Likewise.
1828         * sysdeps/unix/sysv/aix/sleep.c: Likewise.
1829         * sysdeps/unix/sysv/aix/usleep.c: Likewise.
1830
1831 2002-12-16  Ulrich Drepper  <drepper@redhat.com>
1832
1833         * stdio-common/Makefile (routines): Remove lockfile.  Add
1834         flockfile, ftrylockfile, and funlockfile.
1835         * sysdeps/generic/lockfile.c: Removed.  Each function has its own file.
1836         * sysdeps/generic/flockfile.c: New file.
1837         * sysdeps/generic/ftrylockfile.c: New file.
1838         * sysdeps/generic/funlockfile.c: New file.
1839
1840 2002-12-16  Jakub Jelinek  <jakub@redhat.com>
1841
1842         * sysdeps/unix/sysv/linux/i386/socket.S: Use CENABLE and CDISABLE
1843         macros instead of doing the calls directly.
1844         * sysdeps/unix/make-syscalls.sh: Add ptw-*.$o target name to rules.
1845         * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for ptw-%
1846         targets.
1847
1848 2002-12-16  Jakub Jelinek  <jakub@redhat.com>
1849
1850         * sysdeps/i386/fpu/bits/mathinline.h: Backout last change.
1851         * sysdeps/ieee754/bits/nan.h: Likewise.
1852
1853         * sysdeps/unix/sysv/linux/ia64/syscalls.list (__syscall_open,
1854         __syscall_wait4, __syscall_ioctl, __syscall_write): Add.
1855
1856 2002-12-16  Roland McGrath  <roland@redhat.com>
1857
1858         * sunrpc/xdr_mem.c (xdrmem_inline): Fix argument type.
1859         * sunrpc/xdr_rec.c (xdrrec_inline): Likewise.
1860         * sunrpc/xdr_stdio.c (xdrstdio_inline): Likewise.
1861
1862         * sysdeps/unix/sysv/linux/syscalls.list: Add getpmsg, putpmsg.
1863         * sysdeps/unix/sysv/linux/mips/syscalls.list: Remove s_getpmsg,
1864         s_putpmsg.
1865         * sysdeps/unix/sysv/linux/i386/getpmsg.c: File removed.
1866         * sysdeps/unix/sysv/linux/i386/putpmsg.c: File removed.
1867         * sysdeps/unix/sysv/linux/m68k/getpmsg.c: File removed.
1868         * sysdeps/unix/sysv/linux/m68k/putpmsg.c: File removed.
1869         * sysdeps/unix/sysv/linux/mips/getpmsg.c: File removed.
1870         * sysdeps/unix/sysv/linux/mips/putpmsg.c: File removed.
1871         * sysdeps/unix/sysv/linux/powerpc/getpmsg.c: File removed.
1872         * sysdeps/unix/sysv/linux/powerpc/putpmsg.c: File removed.
1873
1874 2002-12-13  Paul Eggert  <eggert@twinsun.com>
1875
1876         * sunrpc/rpc/xdr.h (struct XDR.xdr_ops.x_inline): 2nd arg
1877         is now u_int, not int.
1878         (struct XDR.x_handy): Now u_int, not int.
1879         * sunrpc/xdr_mem.c: Include <limits.h>.
1880         (xdrmem_getlong, xdrmem_putlong, xdrmem_getbytes, xdrmem_putbytes,
1881         xdrmem_inline, xdrmem_getint32, xdrmem_putint32):
1882         x_handy is now unsigned, not signed.
1883         Do not decrement x_handy if no change is made.
1884         (xdrmem_setpos): Check for int overflow.
1885         * sunrpc/xdr_sizeof.c (x_inline): 2nd arg is now unsigned.
1886         (xdr_sizeof): Remove cast that is now unnecessary, now that
1887         x_handy is unsigned.
1888
1889 2002-12-15  Art Haas  <ahaas@airmail.net>
1890
1891         * iconv/gconv_conf.c: Convert GCC extension initializer syntax to C99.
1892         * iconvdata/gap.awk: Likewise.
1893         * iconvdata/gen-8bit-gap-1.sh: Likewise.
1894         * iconvdata/gen-8bit-gap.sh: Likewise.
1895         * locale/C-address.c: Likewise.
1896         * locale/C-collate.c: Likewise.
1897         * locale/C-ctype.c: Likewise.
1898         * locale/C-identification.c: Likewise.
1899         * locale/C-measurement.c: Likewise.
1900         * locale/C-messages.c: Likewise.
1901         * locale/C-monetary.c: Likewise.
1902         * locale/C-name.c: Likewise.
1903         * locale/C-numeric.c: Likewise.
1904         * locale/C-paper.c: Likewise.
1905         * locale/C-telephone.c: Likewise.
1906         * locale/C-time.c: Likewise.
1907         * nscd/connections.c: Likewise.
1908         * nscd/grpcache.c: Likewise.
1909         * nscd/hstcache.c: Likewise.
1910         * nscd/pwdcache.c: Likewise.
1911         * stdio-common/vfprintf.c: Likewise.
1912         * stdlib/random.c: Likewise.
1913         * sysdeps/generic/siglist.c: Likewise.
1914         * sysdeps/i386/fpu/bits/mathinline.h: Likewise.
1915         * sysdeps/ieee754/bits/nan.h: Likewise.
1916         * sysdeps/posix/sprofil.c: Likewise.
1917         * sysdeps/unix/sysv/linux/sleep.c: Likewise.
1918         * sysdeps/unix/sysv/linux/sysctl.c: Likewise.
1919         * sysdeps/unix/sysv/linux/usleep.c: Likewise.
1920
1921 2002-12-15  Roland McGrath  <roland@redhat.com>
1922
1923         * sysdeps/unix/sysv/linux/readv.c (do_readv): Use prototype defn.
1924
1925         * sysdeps/unix/sysv/linux/wait.c: Don't include <nptl/pthreadP.h> or
1926         <tls.h> here, no need for it.
1927         * sysdeps/unix/sysv/linux/waitpid.c: Likewise.
1928
1929         * sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): Take ARG as void *
1930         parameter, not varargs parameter.
1931
1932         * sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_RESET): Evaluate the
1933         argument so it's not an unused variable.
1934
1935         * resolv/resolv.h (__p_key_syms, __p_cert_syms, __p_class_syms,
1936         __p_type_syms, __p_rcode_syms): Remove decls, never really intended
1937         for users.
1938
1939         * resolv/Versions (libresolv: GLIBC_2.3.2): New set, add __p_rcode.
1940
1941 2002-12-15  Ulrich Drepper  <drepper@redhat.com>
1942
1943         * sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): This is the
1944         original __libc_fcntl code.  Just renamed.
1945
1946 2002-12-15  Andreas Schwab  <schwab@suse.de>
1947
1948         * sysdeps/unix/sysv/linux/m68k/clone.S: Make inline syscall to _exit.
1949
1950 2002-12-14  Olaf Hering  <olh@suse.de>
1951
1952         * sysdeps/powerpc/bits/setjmp.h: Include <bits/wordsize.h>.
1953         * sysdeps/powerpc/powerpc64/setjmp.S: Fix typo in r18 load.
1954
1955 2002-12-15  Ulrich Drepper  <drepper@redhat.com>
1956
1957         * sysdeps/unix/sysv/linux/libc_fatal.c: New file.
1958
1959         * sysdeps/generic/sysdep-cancel.h: Add dummy definitions for
1960         SINGLE_THREAD_P, LIBC_CANCEL_ASYNC, and LIBC_CANCEL_RESET.
1961
1962         * sysdeps/unix/sysv/linux/open64.c: New file.
1963
1964         * sysdeps/generic/pselect.c: Add support for cancellation handling.
1965         * sysdeps/posix/open64.c: Likewise.
1966         * sysdeps/posix/sigpause.c: Likewise.
1967         * sysdeps/posix/sigwait.c: Likewise.
1968         * sysdeps/posix/system.c: Likewise.
1969         * sysdeps/posix/waitid.c: Likewise.
1970         * sysdeps/unix/sysv/linux/accept.S: Likewise.
1971         * sysdeps/unix/sysv/linux/connect.S: Likewise.
1972         * sysdeps/unix/sysv/linux/llseek.c: Likewise.
1973         * sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
1974         * sysdeps/unix/sysv/linux/msgsnd.c: Likewise.
1975         * sysdeps/unix/sysv/linux/poll.c: Likewise.
1976         * sysdeps/unix/sysv/linux/pread.c: Likewise.
1977         * sysdeps/unix/sysv/linux/pread64.c: Likewise.
1978         * sysdeps/unix/sysv/linux/pwrite.c: Likewise.
1979         * sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
1980         * sysdeps/unix/sysv/linux/readv.c: Likewise.
1981         * sysdeps/unix/sysv/linux/recv.S: Likewise.
1982         * sysdeps/unix/sysv/linux/recvfrom.S: Likewise.
1983         * sysdeps/unix/sysv/linux/recvmsg.S: Likewise.
1984         * sysdeps/unix/sysv/linux/send.S: Likewise.
1985         * sysdeps/unix/sysv/linux/sendmsg.S: Likewise.
1986         * sysdeps/unix/sysv/linux/sendto.S: Likewise.
1987         * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1988         * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
1989         * sysdeps/unix/sysv/linux/sigwait.c: Likewise.
1990         * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
1991         * sysdeps/unix/sysv/linux/tcdrain.c: Likewise.
1992         * sysdeps/unix/sysv/linux/wait.c: Likewise.
1993         * sysdeps/unix/sysv/linux/waitpid.c: Likewise.
1994         * sysdeps/unix/sysv/linux/writev.c: Likewise.
1995         * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
1996         * sysdeps/unix/sysv/linux/i386/socket.S: Likewise.
1997
1998 2002-12-14  Jakub Jelinek  <jakub@redhat.com>
1999
2000         * sysdeps/generic/sysdep-cancel.h: New file.
2001         * sysdeps/unix/make-syscalls.sh: Handle C at start of args as
2002         cancelable syscall.
2003         * sysdeps/unix/inet/syscalls.list (accept, connect, recv, recvfrom,
2004         recvmsg, send, sendmsg, sendto): Make cancelable.
2005         * sysdeps/unix/mman/syscalls.list (msync): Likewise.
2006         * sysdeps/unix/sysv/linux/alpha/syscalls.list (llseek, pread,
2007         pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg,
2008         sendto, osf_select): Likewise.
2009         * sysdeps/unix/sysv/linux/hppa/syscalls.list (accept, connect, recv,
2010         recvfrom, recvmsg, send, sendmsg, sendto): Likewise.
2011         * sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek, pread,
2012         pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg,
2013         sendto): Likewise.
2014         * sysdeps/unix/sysv/linux/mips/syscalls.list (accept, connect, recv,
2015         recvfrom, recvmsg, send, sendmsg, sendto): Likewise.
2016         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (llseek, pread,
2017         pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg,
2018         sendto): Likewise.
2019         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (llseek, pread,
2020         pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg,
2021         sendto, select): Likewise.
2022         * sysdeps/unix/sysv/linux/x86_64/syscalls.list (llseek, pread,
2023         pwrite, accept, connect, recvfrom, recvmsg, sendmsg, sendto):
2024         Likewise.
2025         * sysdeps/unix/sysv/linux/syscalls.list (creat, nanosleep, pause,
2026         select, fcntl): Likewise.
2027         * sysdeps/unix/sysv/syscalls.list (pause, poll): Likewise.
2028         * sysdeps/unix/syscalls.list (close, fcntl, fsync, lseek, open,
2029         read, readv, select, sigsuspend, write, writev): Likewise.
2030
2031 2002-12-14  Jakub Jelinek  <jakub@redhat.com>
2032
2033         * dirent/bug-readdir1.c: Include unistd.h.
2034
2035 2002-12-13  Jakub Jelinek  <jakub@redhat.com>
2036
2037         * locale/programs/locale.c: Include locarchive.h.
2038         (ARCHIVE_NAME): Define.
2039         (write_archive_locales): New function.
2040         (write_locales): Use it.  Ensure the same locale is not printed
2041         multiple times in verbose mode.
2042         Mode LC_IDENTIFICATION and LC_CTYPE printing into...
2043         (print_LC_IDENTIFICATION, print_LC_CTYPE): ... these helper
2044         functions.
2045         (struct nameent): New type.
2046         (nameentcmp): New function.
2047
2048 2002-12-14  Jakub Jelinek  <jakub@redhat.com>
2049
2050         * posix/regex_internal.c (re_string_context_at): Guard wide char
2051         code with #ifdef RE_ENABLE_I18N.
2052
2053 2002-11-22  Paolo Bonzini  <bonzini@gnu.org>
2054
2055         * posix/regcomp.c (regcomp): __re_compile_fastmap -> re_compile_fastmap
2056
2057 2002-12-13  Roland McGrath  <roland@redhat.com>
2058
2059         * posix/bug-regex15.c: New file.
2060         * posix/Makefile (tests): Add it.
2061
2062         * test-skeleton.c (TEST_DATA_LIMIT): New macro, default to 64MB.
2063         (main): Set RLIMIT_DATA limit to TEST_DATA_LIMIT (or lower if need be).
2064
2065 2002-12-13  Ulrich Drepper  <drepper@redhat.com>
2066
2067         * elf/dl-misc.c (_dl_debug_vdprintf): Don't depend on 5-digit PIDs.
2068
2069         * misc/syslog.c (log_cleanup): Don't use parameter in
2070         __libc_lock_unlock call, use syslog_lock directly.  Adjust callers to
2071         pass NULL instead of a pointer to syslog_lock.
2072
2073 2002-12-12  Ulrich Drepper  <drepper@redhat.com>
2074
2075         * iconvdata/Makefile: iconv-rules: Add definition to use gconv.map
2076         linker map for all iconv modules.
2077         (distribute): Add gconv.map.
2078         * iconvdata/gconv.map: New file.
2079
2080         * elf/Makefile: Also check all iconv modules for text relocations.
2081
2082         * stdlib/Makefile: Remove code to automatically import GMP.
2083
2084         * elf/Makefile (tests): Add rules to build and run check-textrel.
2085         * elf/check-textrel.c: New file.
2086
2087         * sysdeps/unix/sysv/linux/i386/sysdep.h (SETUP_PIC_REG): Add .size
2088         directive.
2089
2090 2002-12-11  Jakub Jelinek  <jakub@redhat.com>
2091
2092         * io/test-utime (main): If stnow.st[am]time is wrong, print it and
2093         not st.st[am]time.
2094
2095 2002-04-30  Bruno Haible  <bruno@clisp.org>
2096
2097         * intl/loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT to
2098         the encoding if it already has slashes.
2099         Reported by Perry Rapp <prapp@erols.com>.
2100
2101 2002-12-11  Roland McGrath  <roland@redhat.com>
2102
2103         * csu/Makefile ($(objpfx)elf-init.oS): Remove target, braino.
2104         (CPPFLAGS-elf-init.oS, CFLAGS-elf-init.oS): New variables.
2105         Turn off PIC for compiling this file.
2106
2107 2002-12-11  Ulrich Drepper  <drepper@redhat.com>
2108
2109         * malloc/thread-m.h: Remove thread_id type and MUTEX_INITIALIZER
2110         definitions.  Not needed.
2111         [_LIBC]: Use definitions from libc-lock.h instead of referencing
2112         pthread routines directly.
2113         * malloc/arena.c (ptmalloc_unlock_all2): Don't add (void) to
2114         mutex_init calls.
2115         (arena_get2): Don't look at return value of mutex_lock.
2116
2117 2002-12-11  Roland McGrath  <roland@redhat.com>
2118
2119         * csu/Makefile ($(objpfx)elf-init.oS): New target, just clone
2120         elf-init.o instead of compiling a PIC version.
2121
2122 2002-12-11  Bruno Haible  <bruno@clisp.org>
2123
2124         * intl/gettext.h: Renamed to ...
2125         * intl/gmo.h: ... here.
2126         * intl/Makefile (distribute): Add gmo.h, remove gettext.h.
2127         * intl/gettextP.h: Update.
2128         * intl/loadmsgcat.c: Update.
2129
2130         * intl/gettextP.h (PARAMS): Make more portable.
2131         (attribute_hidden): Define as empty macro if not already defined.
2132         * intl/hash-string.h (PARAMS): Make more portable.
2133         * intl/loadinfo.h (PARAMS): Likewise.
2134         * intl/plural-exp.h (PARAMS): Likewise.
2135         (attribute_hidden): Move definition near the definition of
2136         internal_function.
2137
2138         * intl/gettextP.h (_nl_locale_name) [!_LIBC]: New declaration.
2139         * intl/plural-exp.h (plural_eval) [!_LIBC]: New declaration.
2140
2141 2002-07-13  Bruno Haible  <bruno@clisp.org>
2142
2143         * intl/dcigettext.c (freea): New macro.
2144         (FREE_BLOCKS): Free also the registered blocks.
2145         (DCIGETTEXT): Free the 'search' variable.
2146         Reported by Andreas Fischer <a.fischer@asentics.de>.
2147
2148 2002-04-27  Bruno Haible  <bruno@clisp.org>
2149
2150         * intl/gettextP.h [! _LIBC]: Use prefix libintl_ instead of suffix __.
2151         * intl/dcigettext.c: Likewise.
2152         * intl/dcgettext.c: Likewise.
2153         * intl/dgettext.c: Likewise.
2154         * intl/gettext.c: Likewise.
2155         * intl/dcngettext.c: Likewise.
2156         * intl/dngettext.c: Likewise.
2157         * intl/ngettext.c: Likewise.
2158         * intl/textdomain.c: Likewise.
2159         * intl/bindtextdom.c: Likewise.
2160         * intl/plural-exp.h: Likewise.
2161
2162 2002-01-02  Bruno Haible  <bruno@clisp.org>
2163
2164         * intl/loadmsgcat.c (_nl_init_domain_conv): Use PARAMS in extern decl.
2165
2166 2001-04-30  Bruno Haible  <bruno@clisp.org>
2167
2168         * intl/dcigettext.c (getuid, getgid, geteuid, getegid): Provide
2169         default macro definitions.  Needed for mingw32.
2170
2171 2002-12-10  Ulrich Drepper  <drepper@redhat.com>
2172
2173         * sysdeps/i386/bits/byteswap.h (__bswap_64): Apply
2174         __builtin_constant_p to macro parameter.
2175
2176         * sysdeps/generic/sigpause.c: Define all functions as weak.
2177         * sysdeps/posix/sigpause.c: Likewise.
2178
2179         * elf/tst-tls7.c (do_test): Adjustments for l_tls_modid being of
2180         type size_t.
2181
2182 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
2183
2184         * elf/tst-array1.c (preinit_array, init_array, fini_array):
2185         Explicitly align the array to sizeof (void *).
2186         * elf/tst-array2dep.c (init_array, fini_array): Likewise.
2187
2188         * include/libc-symbols.h: Fix a comment typo.
2189
2190         * sysdeps/unix/sysv/linux/alpha/select.S (__libc_select): New alias.
2191         * sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__libc_sigsuspend):
2192         Likewise.
2193         * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__libc_sigsuspend):
2194         Likewise.
2195         * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c
2196         (__libc_sigsuspend): Likewise.
2197         * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c
2198         (__libc_sigsuspend): Likewise.
2199         * sysdeps/generic/creat.c (__libc_creat): Renamed from creat.
2200         (creat): New weak alias.
2201
2202 2002-12-10  Roland McGrath  <roland@redhat.com>
2203
2204         * manual/libc-texinfo.sh: Emit @set ADD-ON for each ADD-ON that
2205         contributes a manual chapter.
2206         * manual/signal.texi (Process Signal Mask): Use @ifset linuxthreads
2207         around xref to it.
2208
2209         * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Refer to
2210         and move contents to ...
2211         (EXTRA_LD_ENVVARS_LINUX): ... this new macro.  Add break for nonmatch.
2212         * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): Use
2213         it instead of duplicating its contents.
2214         (EXTRA_LD_ENVVARS): Likewise.  Add break for nonmatch.
2215
2216 2002-12-09  Jakub Jelinek  <jakub@redhat.com>
2217
2218         * elf/dl-support.c (_dl_non_dynamic_init): Add DL_OSVERSION_INIT if
2219         defined.
2220         * sysdeps/unix/sysv/linux/dl-librecon.h (_dl_osversion_init): New
2221         function.
2222         (EXTRA_LD_ENVVARS): Use it.
2223         (DL_OSVERSION_INIT): Define.
2224         * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Include linux
2225         dl-librecon.h.
2226         (EXTRA_LD_ENVVARS): Undef before defining.  Use _dl_osversion_init.
2227
2228 2002-12-10  Ulrich Drepper  <drepper@redhat.com>
2229
2230         * Versions.def: No new symbols in 2.3.1, but some new ones in 2.3.2.
2231
2232         * sysdeps/unix/closedir.c (__closedir): Remove __libc_lock_lock
2233         call.  It is not allowed to destroy pthread mutexes which are
2234         still in use even though it is safe for our implementations.  If
2235         somebody still uses the descriptor it is a bug.
2236
2237 2002-12-09  Richard Henderson  <rth@redhat.com>
2238
2239         * csu/abi-note.S: Use .p2align, not .align.
2240
2241 2002-12-09  Ulrich Drepper  <drepper@redhat.com>
2242
2243         * sysdeps/unix/sysv/linux/syscalls.list: Add __libc_creat and
2244         __libc_select aliases.
2245
2246         * sysdeps/unix/sysv/linux/sigwaitinfo.c: Define __libc_sigwaitinfo
2247         alias.
2248
2249         * sysdeps/unix/sysv/linux/sigwait.c: Define __libc_sigwait alias.
2250
2251         * sysdeps/unix/sysv/linux/sigsuspend.c: Define __libc_sigsuspend alias.
2252
2253         * sysdeps/unix/sysv/linux/poll.c: Define __libc_poll alias.
2254
2255         * sysdeps/unix/syscalls.list: Define __libc_select alias.
2256
2257         * sysdeps/posix/waitid.c: Define __libc_waitid alias.
2258
2259         * sysdeps/posix/sigpause.c: Define __libc_sigpause and
2260         __libc___xpg_sigpause aliases.
2261
2262         * sysdeps/generic/pselect.c: Define __libc_pselect alias.
2263
2264         * misc/error.c: Remove use of USE_IN_LIBIO.
2265
2266 2002-12-08  Roland McGrath  <roland@redhat.com>
2267
2268         * elf/Makefile (tests): Uncomment tst-array[123].
2269         * Makeconfig (CPPFLAGS-.oS): Add -DLIBC_NONSHARED=1.
2270         * csu/elf-init.c: New file.
2271         * csu/Makefile (routines, static-only-routines): Add elf-init.
2272         * sysdeps/alpha/elf/start.S: Use __libc_csu_init in place of _init
2273         and __libc_csu_fini in place of _fini.
2274         * sysdeps/arm/elf/start.S: Likewise.
2275         * sysdeps/cris/elf/start.S: Likewise.
2276         * sysdeps/hppa/elf/start.S: Likewise.
2277         * sysdeps/i386/elf/start.S: Likewise.
2278         * sysdeps/ia64/elf/start.S: Likewise.
2279         * sysdeps/m68k/elf/start.S: Likewise.
2280         * sysdeps/mach/hurd/powerpc/static-start.S: Likewise.
2281         * sysdeps/mips/elf/start.S: Likewise.
2282         * sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
2283         * sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
2284         * sysdeps/s390/s390-32/elf/start.S: Likewise.
2285         * sysdeps/s390/s390-64/elf/start.S: Likewise.
2286         * sysdeps/sh/elf/start.S: Likewise.
2287         * sysdeps/sparc/sparc32/elf/start.S: Likewise.
2288         * sysdeps/sparc/sparc64/elf/start.S: Likewise.
2289         * sysdeps/x86_64/elf/start.S: Likewise.
2290
2291         * sysdeps/pthread/aio_notify.c (notify_func_wrapper): Take a malloc'd
2292         struct containing function ptr and value, free it.
2293         (__aio_notify_only): Allocate that and copy values from SIGEV into it.
2294         It's not safe to let the new thread use the SIGEV pointer.
2295
2296 2001-10-20  Paul Eggert  <eggert@twinsun.com>
2297
2298         * misc/error.c (strerror_r): Do not declare unless [!_LIBC].
2299         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
2300         Use strerror_r that is only a macro, even if it is not a function.
2301         (strerror): Check for HAVE_DECL_STRERROR before declaring.
2302         (private_strerror): Use prototypes, not old-style function definition.
2303         (print_errno_message): New function.
2304         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
2305         char*-flavored one.
2306         (error_tail, error, error_at_line): Use it.
2307
2308 2002-12-07  Carlos O'Donell  <carlos@baldric.uwo.ca>
2309
2310         * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Added SHMLBA #define.
2311
2312 2002-12-08  Ulrich Drepper  <drepper@redhat.com>
2313
2314         * scripts/output-format.sed: Fix bug in one of the s expressions
2315         which used / for one too many things.
2316
2317         * include/unistd.h: Declare __libc_close.
2318
2319 2002-12-07  Ulrich Drepper  <drepper@redhat.com>
2320
2321         * sysdeps/generic/bits/stdio-lock.h (_IO_lock_trylock): New define.
2322
2323 2002-12-07  Roland McGrath  <roland@redhat.com>
2324
2325         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Reintroduce changes
2326         from 2002-12-06, but remove unnecessary memset call without removing
2327         necessary copy of initialization image.
2328
2329         * Makerules ($(common-objpfx)format.lds): New target.
2330         (common-generated): Add it.
2331         ($(inst_libdir)/libc.so): Depend on that, and cat it into the result.
2332         * scripts/output-format.sed: New file.
2333         * Makefile (distribute): Add it.
2334
2335 2002-12-07  Ulrich Drepper  <drepper@redhat.com>
2336
2337         * sysdeps/generic/libc-tls.c: Include <sys/param.h>.
2338         Reported by Art Haas <ahaas@airmail.net>.
2339
2340 2002-12-07  Kenneth W. Chen  <kenneth.w.chen@intel.com>
2341
2342         * sysdeps/ia64/strncpy.S (strncpy): Clear ar.ec.  Fix .recovery4.
2343
2344 2002-12-07  Jakub Jelinek  <jakub@redhat.com>
2345
2346         * string/test-strncpy.c (do_random_tests): Improve test coverage.
2347
2348 2002-12-06  Ulrich Drepper  <drepper@redhat.com>
2349
2350         * test-skeleton.c (timeout_handler): Allow expected signal to be
2351         SIGALRM.
2352
2353         * wctype/wcfuncs.c: Add libc_hidden_def for iswalnum.
2354
2355         * sysdeps/posix/raise.c: Add libc_hidden_def for raise.
2356
2357 2002-12-07  Jakub Jelinek  <jakub@redhat.com>
2358
2359         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h [RTLD_PRIVATE_ERRNO]
2360         (SYSCALL_ERROR_HANDLER): Fix a pasto.
2361         Reported by Jeff Bailey <jbailey@nisa.net>.
2362
2363 2002-12-06  Ulrich Drepper  <drepper@redhat.com>
2364
2365         * sysdeps/generic/libc-tls.c: Undo last patch.
2366
2367         * include/wctype.h: Define iswalnum with libc_hidden_proto.
2368
2369         * include/signal.h: Define raise with libc_hidden_proto.
2370
2371         * sysdeps/unix/sysv/linux/fexecve.c (fexecve): Use __snprintf and
2372         __execve instead of snprintf and execve.
2373
2374         * sysdeps/x86_64/fpu/libm-test-ulps: Relax errors for float and double
2375         again a bit.
2376
2377 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
2378
2379         * posix/Makefile (annexc.out): Add -I../dir for all sorted-dirs.
2380         * posix/annexc.c (fmt, testfmt): Remove -D_LIBC.
2381
2382 2002-12-06  Ulrich Drepper  <drepper@redhat.com>
2383
2384         * misc/syslog.c (log_cleanup): New function.
2385         (openlog): Use log_cleanup instead of __libc_mutex_unlock.
2386         (closelog): Likewise.
2387
2388         * elf/dl-close.c: Use __rtld_lock_* macros instead of __libc_lock_*.
2389         * elf/dl-iteratephdr.c: Likewise.
2390         * elf/dl-lookup.c: Likewise.
2391         * elf/dl-misc.c: Likewise.
2392         * elf/dl-open.c: Likewise.
2393         * elf/dl-support.c: Likewise.
2394         * elf/rtld.c: Likewise.
2395         * sysdeps/generic/ldsodefs.h: Likewise.
2396         * sysdeps/generic/bits/libc-lock.h: Define __rtld_lock_* macros.
2397         * sysdeps/mach/bits/libc-lock.h: Likewise.
2398         * sysdeps/mach/hurd/bits/libc-lock.h: Likewise.
2399
2400 2002-12-06  Roland McGrath  <roland@redhat.com>
2401
2402         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Cope with zero ALIGN.
2403
2404         * malloc/hooks.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]
2405         (malloc_starter, memalign_starter, free_starter): Don't define these.
2406         * malloc/malloc.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]:
2407         Don't declare them either.
2408         * malloc/arena.c (ptmalloc_init) [_LIBC && USE_TLS]: Don't call
2409         __pthread_initialize, so no need to set hooks to *_starter.
2410         (ptmalloc_init_minimal): New function, broken out of ptmalloc_init.
2411         [_LIBC && SHARED && USE_TLS && !USE___THREAD]
2412         (__libc_malloc_pthread_startup): New function.
2413         * malloc/Versions (libc: GLIBC_PRIVATE): New set, add that function.
2414
2415         * malloc/hooks.c (memalign_starter): New function.
2416         * malloc/malloc.c: Declare it.
2417         * malloc/arena.c (save_memalign_hook): New variable.
2418         (ptmalloc_init): Set __memalign_hook to memalign_starter.
2419
2420         * elf/dl-minimal.c (free): Clear the memory.
2421         (calloc): Just call malloc, knowing all memory it returns is cleared.
2422
2423         * sysdeps/generic/dl-tls.c (allocate_dtv): Use calloc instead of
2424         malloc and memset; calloc can avoid the zeroing when redundant.
2425         (_dl_tls_setup): Likewise.
2426         * elf/dl-load.c (decompose_rpath): Likewise.
2427         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Comment out memset
2428         call, since memory from sbrk at startup is already zero.
2429
2430         * elf/rtld.c (_dl_start, dl_main): TLS_INIT_TP macro now returns an
2431         error string for failure, null for success.  Update callers.
2432         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.
2433         * elf/dl-load.c (_dl_map_object_from_fd): Likewise.
2434
2435 2002-12-05  Jakub Jelinek  <jakub@redhat.com>
2436
2437         * sysdeps/unix/sysv/linux/x86_64/syscalls.list (sendfile): Change
2438         args to i:iipi.
2439         (readahead): Change args to i:iii.
2440         * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list (readahead):
2441         Change args to i:iii.
2442         * sysdeps/unix/sysv/linux/mips/syscalls.list (readahead): Change
2443         args to i:iiii.
2444
2445 2002-12-05  Roland McGrath  <roland@redhat.com>
2446
2447         * stdlib/cxa_finalize.c (__cxa_finalize): When given a null argument,
2448         call all functions rather than none.
2449         Reported by Mark P. Mitchell <mark@codesourcery.com>.
2450
2451 2002-12-04  Roland McGrath  <roland@redhat.com>
2452
2453         * locale/localeinfo.h [NL_CURRENT_INDIRECT]: Use attribute_tls_model_ie
2454         on _nl_current_LC_* variables.
2455
2456 2002-12-05  Ulrich Drepper  <drepper@redhat.com>
2457
2458         * dirent/bug-readdir1.c (main): Don't call closedir, just close
2459         the file descriptor.  This is testing what the bug report was about.
2460
2461 2002-12-04  Ulrich Drepper  <drepper@redhat.com>
2462
2463         * po/be.po: New file.
2464
2465         * argp/Makefile (tests): Add tst-argp1.
2466
2467         * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: (struct sigevent):
2468         Change type of _attribute to void*.
2469         * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise.
2470         * sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise.
2471         * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise.
2472         * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise.
2473         * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise.
2474
2475 2002-12-04  Roland McGrath  <roland@redhat.com>
2476
2477         * sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS]
2478         members to the end, so a libpthread compiled with !USE_TLS will still
2479         find other members properly.
2480
2481         * sysdeps/i386/i486/bits/string.h (__strcpy_g): Add dummy output
2482         operand for DEST memory.  Fix dummy input operand to use SRC.
2483         Reported by Davin McCall <davmac@ozonline.com.au>.
2484
2485         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Account for TCB
2486         alignment when initializing the DTV entry.
2487
2488         * elf/dl-load.c (_dl_map_object_from_fd): If we hit a TLS segment
2489         when TLS has not been set up, try to set it up if we can.
2490         * elf/tst-tls4.c: Revert last change.
2491         * elf/tst-tls5.c: Likewise.
2492         * elf/tst-tls6.c: Likewise.
2493         * elf/tst-tls7.c: Likewise.
2494         * elf/tst-tls8.c: Likewise.
2495         * elf/tst-tls9.c: Likewise.
2496
2497         * sysdeps/generic/dl-tls.c [SHARED] (_dl_tls_setup): New function.
2498         * sysdeps/generic/ldsodefs.h: Declare it.
2499         * elf/Versions (ld: GLIBC_PRIVATE): Add it.
2500         * sysdeps/generic/libc-tls.c (init_slotinfo): New static inline
2501         function, broken out of __libc_setup_tls.
2502         (init_static_tls): Likewise.
2503         (__libc_setup_tls): Call them.
2504         (_dl_tls_setup): New function, uses new subroutines.
2505
2506         * elf/dl-close.c (free_slotinfo): Make argument pointer to pointer.
2507         Clear the pointer when returning true.
2508         (libc_freeres_fn) [SHARED]: If GL(dl_initial_dtv) is null, free the
2509         first element of the slotinfo list too.
2510
2511         * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Define only if
2512         [SHARED].
2513
2514         * sysdeps/generic/ldsodefs.h (_dl_next_tls_modid): Declare as hidden.
2515         (_dl_determine_tlsoffset): Likewise.
2516
2517         * elf/rtld.c (_dl_initial_error_catch_tsd): Renamed from
2518         startup_error_tsd, made global.
2519         (dl_main): Update initialization.
2520         * elf/dl-tsd.c: Likewise.
2521         * sysdeps/generic/ldsodefs.h: Declare it.
2522
2523 2002-12-03  Ulrich Drepper  <drepper@redhat.com>
2524
2525         * manual/texinfo.tex: Update from latest upstream version.
2526
2527 2002-12-03  Roland McGrath  <roland@redhat.com>
2528
2529         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Include static TLS
2530         area surplus in calculation for sbrk call.
2531
2532         * iconvdata/cp1125.c: New file.
2533         * iconvdata/Makefile (distribute): Add it.
2534         (modules): Add CP1125.
2535         (gen-8bit-gap-modules): Add cp1125.
2536         * iconvdata/gconv-modules: Add CP1125, alias RUSCII.
2537         * iconvdata/tst-tables.sh: Add CP1125 to the list to test.
2538
2539 2002-12-03  Andreas Jaeger  <aj@suse.de>
2540
2541         * sysdeps/x86_64/fpu/libm-test-ulps: Regenerated.
2542
2543 2002-12-03  Ulrich Drepper  <drepper@redhat.com>
2544
2545         * sysdeps/posix/system.c (do_system): Make signal handler
2546         installation thread safe.
2547
2548 2002-12-02  Roland McGrath  <roland@redhat.com>
2549
2550         * sysdeps/unix/sysv/linux/alpha/syscalls.list (readahead): Change
2551         caller from EXTRA to -.
2552         * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
2553         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
2554         * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
2555
2556 2002-12-02  Carlos O'Donell  <carlos@baldric.uwo.ca>
2557
2558         * sysdeps/hppa/fpu/fesetround.c (fesetround): Use ~FE_DOWNWARD so both
2559         bits of RM are cleared.
2560
2561 2002-12-02  Roland McGrath  <roland@redhat.com>
2562
2563         * elf/tst-tls4.c: Define an unused TLS variable here, so that no lazy
2564         TLS setup is required.
2565         * elf/tst-tls5.c: Likewise.
2566         * elf/tst-tls6.c: Likewise.
2567         * elf/tst-tls7.c: Likewise.
2568         * elf/tst-tls8.c: Likewise.
2569         * elf/tst-tls9.c: Likewise.
2570
2571         * elf/rtld.c (dl_main): Remove [! SHARED] conditional from
2572         `if (GL(dl_tls_max_dtv_idx) > 0)' tests for doing TLS setup.
2573         * elf/dl-close.c (libc_freeres_fn): Check GL(dl_tls_dtv_slotinfo_list)
2574         for being null before calling free_slotinfo.
2575         * elf/dl-load.c (_dl_map_object_from_fd) [SHARED]: For PT_TLS in
2576         dynamic loading, bail with error if GL(dl_tls_max_dtv_idx) is zero.
2577
2578 2002-11-30  Bruno Haible  <bruno@clisp.org>
2579
2580         * iconv/gconv.h (__gconv_btowc_fct): New typedef.
2581         (struct __gconv_step): New field __btowc_fct.
2582         * wcsmbs/btowc.c (__btowc): Use the __btowc_fct shortcut if possible.
2583         * iconv/gconv_int.h (__BUILTIN_TRANSFORM): Renamed from
2584         __BUILTIN_TRANS.
2585         (__gconv_btwoc_ascii): New declaration.
2586         * iconv/gconv_simple.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument.
2587         (__gconv_btwoc_ascii): New function.
2588         * iconv/gconv_builtin.h: Add BtowcFct argument to all
2589         BUILTIN_TRANSFORMATION invocations.
2590         * iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument.
2591         * iconv/iconvconfig.c (BUILTIN_TRANSFORMATION): Likewise.
2592         * iconv/gconv_builtin.c (map): New field btowc_fct.
2593         (BUILTIN_TRANSFORMATION): Add BtowcFct argument. Use it to initialize
2594         btowc_fct field.
2595         (__gconv_get_builtin_trans): Initialize __btowc_fct field.
2596         * iconv/gconv_cache.c (find_module): Initialize __btowc_fct field.
2597         * iconv/gconv_db.c (gen_steps, increment_counter): Likewise.
2598         * wcsmbs/wcsmbsload.c (to_wc, to_mb): Likewise.
2599         * iconv/skeleton.c: Document STORE_REST and FROM_ONEBYTE.
2600         (gconv_init): Initialize __btowc_fct field.
2601         Undefine EXTRA_LOOP_ARGS and FROM_ONEBYTE at the end.
2602         * iconv/loop.c: Document ONEBYTE_BODY.
2603         (gconv_btowc, FROM_ONEBYTE): Define if ONEBYTE_BODY is defined.
2604         Undefine ONEBYTE_BODY at the end.
2605         * iconvdata/8bit-generic.c (ONEBYTE_BODY): New macro.
2606         * iconvdata/8bit-gap.c (NONNUL): New macro.
2607         (BODY for FROM_LOOP): Use it.
2608         (ONEBYTE_BODY): New macro.
2609         * iconvdata/isiri-3342.c (HAS_HOLES): Set to 1.
2610         (NONNUL): New macro.
2611         * iconvdata/ansi_x3.110.c (ONEBYTE_BODY): New macro.
2612         * iconvdata/armscii-8.c (ONEBYTE_BODY): New macro.
2613         * iconvdata/cp1255.c (ONEBYTE_BODY): New macro.
2614         * iconvdata/cp1258.c (ONEBYTE_BODY): New macro.
2615         * iconvdata/tcvn5712-1.c (ONEBYTE_BODY): New macro.
2616         * iconvdata/big5.c (ONEBYTE_BODY): New macro.
2617         * iconvdata/big5hkscs.c (ONEBYTE_BODY): New macro.
2618         * iconvdata/euc-cn.c (ONEBYTE_BODY): New macro.
2619         * iconvdata/euc-jp.c (ONEBYTE_BODY): New macro.
2620         * iconvdata/euc-jisx0213.c (ONEBYTE_BODY): New macro.
2621         * iconvdata/euc-kr.c (ONEBYTE_BODY): New macro.
2622         * iconvdata/euc-tw.c (ONEBYTE_BODY): New macro.
2623         * iconvdata/gbk.c (ONEBYTE_BODY): New macro.
2624         * iconvdata/gb18030.c (ONEBYTE_BODY): New macro.
2625         * iconvdata/ibm932.c: Include <stdbool.h>.
2626         (TRUE, FALSE): Remove macros.
2627         (BODY for FROM_LOOP): Remove unused variable rp1.
2628         (ONEBYTE_BODY): New macro.
2629         (BODY for TO_LOOP): Use bool.
2630         * iconvdata/ibm932.h (__ibm932sb_to_ucs4_idx): Remove array.
2631         * iconvdata/ibm943.c: Include <stdbool.h>.
2632         (TRUE, FALSE): Remove macros.
2633         (BODY for FROM_LOOP): Remove unused variable rp1.
2634         (ONEBYTE_BODY): New macro.
2635         (BODY for TO_LOOP): Use bool.
2636         * iconvdata/ibm943.h (__ibm943sb_to_ucs4_idx): Remove array.
2637         * iconvdata/iso8859-1.c (ONEBYTE_BODY): New macro.
2638         * iconvdata/iso_6937-2.c (ONEBYTE_BODY): New macro.
2639         * iconvdata/iso_6937.c (ONEBYTE_BODY): New macro.
2640         * iconvdata/johab.c (ONEBYTE_BODY): New macro.
2641         * iconvdata/sjis.c (ONEBYTE_BODY): New macro.
2642         * iconvdata/shift_jisx0213.c (ONEBYTE_BODY): New macro.
2643         * iconvdata/t.61.c (ONEBYTE_BODY): New macro.
2644         * iconvdata/uhc.c (ONEBYTE_BODY): New macro.
2645         * iconvdata/gbbig5.c: Tweak comment.
2646
2647 2002-12-02  Ulrich Drepper  <drepper@redhat.com>
2648
2649         * po/fi.po: Update from translation team.
2650
2651 2002-12-01  Roland McGrath  <roland@redhat.com>
2652
2653         * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Fix condition
2654         testing getdents64 return value.
2655
2656         * scripts/versions.awk: Don't pass -n flag to sort command.
2657
2658         * posix/bug-regex13.c: Include <string.h>.
2659
2660         * sysdeps/generic/libc-start.c (__libc_start_main): Do
2661         DL_SYSDEP_OSCHECK here.
2662         * sysdeps/unix/sysv/linux/init-first.c (init): Not here.
2663         * sysdeps/unix/sysv/linux/dl-osinfo.h: Include <fcntl.h>.
2664
2665         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Bail if
2666         argument TCBSIZE <= TLS_INIT_TCB_SIZE, not just if it's zero.
2667
2668         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Check l_tls_offset
2669         instead of l_type to decide whether to use TLS_DTV_UNALLOCATED.
2670
2671         * include/link.h: Comment typo fix.
2672
2673 2002-12-01  Roland McGrath  <roland@frob.com>
2674
2675         * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_FSYNC): Set to 200112L.
2676         (_POSIX_SPAWN, _POSIX_MAPPED_FILES, _POSIX_MEMLOCK_RANGE,
2677         _POSIX_MEMORY_PROTECTION): Likewise.
2678         (_POSIX_POLL, _POSIX_SELECT): Removed.
2679
2680 2002-11-28  Ulrich Drepper  <drepper@redhat.com>
2681
2682         * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define macros which
2683         require it to 200112L.  Remove _POSIX_POLL and _POSIX_SELECT.
2684
2685 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
2686
2687         * sysdeps/unix/alpha/sysdep.S: Change defined(USE___THREAD) to
2688         USE___THREAD.
2689         * sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall*): Avoid
2690         "=v" constraints.
2691
2692 2002-11-28  Ulrich Drepper  <drepper@redhat.com>
2693
2694         * sysdeps/unix/sysv/linux/x86_64/vfork.S: Don't trash the CPU's
2695         branch prediction buffers by using unpaired call/ret.
2696
2697 2002-11-27  Ulrich Drepper  <drepper@redhat.com>
2698
2699         * sysdeps/unix/sysv/linux/i386/sysdep.h (ASMFMT_2): Fix typo in
2700         first parameters constraint string.
2701         (ASMFMT_3): Likewise.  Patch by stefan.lauterbach@mincom.de.
2702
2703 2002-11-27  Isamu Hasegawa  <isamu@yamato.ibm.com>
2704
2705         * posix/regcomp.c (parse_expression): Set the bit since the back
2706         reference is used in the regular expression.
2707         * posix/regex_internal.c (re_node_set_init_1): Make it clean in case
2708         of malloc failure.
2709         (re_node_set_init_copy): Likewise.
2710         * posix/regex_internal.h (state_array_t): New structure.
2711         (re_sub_match_last_t): Likewise.
2712         (re_sub_match_top_t): Likewise.
2713         (re_match_context_t): Add new members.
2714         (re_dfa_t): Likewise.
2715         * posix/regexec.c (re_search_internal): Invoke prune_impossible_nodes
2716         to check the matching is really correct, and retry if failed.
2717         Move the routin pruning the impossible nodes from here, ...
2718         (prune_impossible_nodes): To this function.
2719         (check_matching): Invoke check_subexp_matching_top, and replace
2720         redundant checking with transit_state_bkref invocation.
2721         (proceed_next_node): Replace strncmp with memcmp.  Reported by
2722         Paolo Bonzini  <bonzini@gnu.org>.
2723         (update_cur_sifted_state): Remove search_subexp invocation.
2724         (search_subexp): Remove this function.
2725         (check_dst_limits_calc_pos): Use search_cur_bkref_entry for
2726         optimization.
2727         (sift_states_bkref): Use search_cur_bkref_entry for optimization.
2728         Remove unused invocation of match_ctx_add_entry.
2729         (transit_state): Invoke check_subexp_matching_top.
2730         (check_subexp_matching_top): New function.
2731         (transit_state_bkref): Remove unused array.
2732         Merge transit_state_bkref_loop.
2733         (transit_state_bkref_loop): Use get_subexp instead of
2734         sift_states_backward.  Use search_cur_bkref_entry for optimization.
2735         Merge this function to transit_state_bkref.
2736         (get_subexp): New function.
2737         (get_subexp_sub): Likewise.
2738         (find_subexp_node): Likewise.
2739         (check_arrival): Likewise.
2740         (check_arrival_expand_ecl): Likewise.
2741         (check_arrival_expand_ecl_sub): Likewise.
2742         (expand_bkref_cache): Likewise.
2743         (match_ctx_init): Initialize new members.
2744         (match_ctx_clean): New function.
2745         (match_ctx_free): Release new members.
2746         (match_ctx_free_subtops): New function.
2747         (match_ctx_add_entry): Fix indent.
2748         (search_cur_bkref_entry): New function.
2749         (match_ctx_add_subtop): Likewise.
2750         (match_ctx_add_sublast): Likewise.
2751
2752 2002-11-25  Ulrich Drepper  <drepper@redhat.com>
2753
2754         * iconv/Makefile (tests): Remove tst-iconv4.c
2755         * iconv/tst-iconv4.c: Moved to...
2756         * iconvdata/tst-iconv4.c: ...here.  New file.
2757         * iconvdata/Makefile (tests): Add tst-iconv4.  Add dependencies.
2758
2759 2002-11-25  Roland McGrath  <roland@redhat.com>
2760
2761         * inet/test-ifaddrs.c (main: addr_string): Handle null SA.
2762         Grok AF_LINK if defined.
2763         From Momchil Velikov <velco@fadata.bg>.
2764
2765         * sysdeps/gnu/ifaddrs.c (getifaddrs): If ioctl fails for netmask,
2766         brdaddr, or dstaddr, just set those pointers to null and don't fail.
2767         Reported by Momchil Velikov <velco@fadata.bg>.
2768
2769         * sysdeps/generic/ifreq.h (__if_nextreq) [_HAVE_SA_LEN]: If sa_len
2770         is > sizeof IFR->ifa_addr, advance past the whole longer length.
2771         (__ifreq): Count up NIFS that way too.
2772         Reported by Momchil Velikov <velco@fadata.bg>.
2773
2774         * sysdeps/mach/hurd/lchmod.c: Include <fcntl.h>.
2775
2776         * sysdeps/mach/hurd/i386/init-first.c: Include <ldsodefs.h>
2777         and <fpu_control.h>.
2778
2779 2002-11-24  Ulrich Drepper  <drepper@redhat.com>
2780
2781         * elf/elf.h (EM_ST19): Fix typo.
2782
2783 2002-11-25  Jakub Jelinek  <jakub@redhat.com>
2784
2785         * include/errno.h (__set_errno): Define as errno = val
2786         unconditionally.
2787
2788 2002-11-24  Roland McGrath  <roland@redhat.com>
2789
2790         * sysdeps/posix/readv.c: Include <errno.h>, use __set_errno macro.
2791         * sysdeps/posix/writev.c: Likewise.
2792         From Momchil Velikov <velco@fadata.bg>.
2793
2794         * elf/dl-error.c [! _LIBC_REENTRANT]: Use a static variable instead of
2795         calling *GL(dl_error_catch_tsd) for a thread-local location.
2796         * elf/rtld.c (startup_error_tsd): Conditionalize on [_LIBC_REENTRANT].
2797         (dl_main): Same for GL(dl_error_catch_tsd) initialization.
2798         * elf/dl-tsd.c: Conditionalize contents on [_LIBC_REENTRANT].
2799
2800         * libio/iofflush.c: Add libc_hidden_def.
2801         * libio/iofwrite.c: Likewise.
2802         * sysdeps/generic/sigtimedwait.c: Likewise.
2803         * sysdeps/generic/sigwaitinfo.c: Likewise.
2804         * sysdeps/posix/sigwait.c: Likewise.
2805         Reported by Momchil Velikov <velco@fadata.bg>.
2806
2807         * inet/inet_lnaof.c (inet_lnaof): Change return type to in_addr_t
2808         to match <arpa/inet.h> declaration.
2809         * inet/inet_netof.c (inet_netof): Likewise.
2810         * inet/inet_mkadr.c (inet_makeaddr): Likewise for argument types.
2811         Reported by Momchil Velikov <velco@fadata.bg>.
2812
2813         * configure.in: Skip AUTOCONF check under --without-cvs.
2814         * configure: Regenerated.
2815
2816         * posix/Makefile (headers): Add bits/pthreadtypes.h.
2817         * sysdeps/unix/sysv/linux/Makefile (sysdep_heaers): Don't add it here.
2818         * sysdeps/unix/sysv/linux/Dist: Remove it from the list.
2819
2820 2002-11-24  Andreas Schwab  <schwab@suse.de>
2821
2822         * sysdeps/unix/sysv/linux/m68k/sysdep.h: Support inline syscall
2823         with six arguments.
2824
2825 2002-11-19  Jim Meyering  <jim@meyering.net>
2826
2827         * time/mktime.c (__mon_yday, __mktime_internal) [!_LIBC]: Declare
2828         as `static'.
2829         * time/strptime.c (__mon_yday) [!_LIBC]: Declare as `static'.
2830
2831 2002-11-23  Roland McGrath  <roland@redhat.com>
2832
2833         * scripts/abilist.awk: Avoid strtonum function, not there in mawk.
2834         Just produce hex output for datum sizes.
2835
2836         * elf/Makefile ($(objpfx)librtld.mk): Tighten up regexp.
2837         Reported by Luca Barbieri <ldb@ldb.ods.org>.
2838
2839 2002-11-20  Steven Munroe  <sjmunroe@us.ibm.com>
2840
2841         * sysdeps/unix/sysv/linux/powerpc/bits/msq.h (msqid_ds)
2842         [__WORDSIZE == 32]: Only PPC32 requires __unused1, __unused2,
2843         and __unused3 fields.
2844         * sysdeps/unix/sysv/linux/powerpc/bits/sem.h (semid_ds)
2845         [__WORDSIZE == 32]: Only PPC32 requires __unused1
2846         and __unused2 fields.
2847         * sysdeps/unix/sysv/linux/powerpc/bits/shm.h (shmid_ds)
2848         [__WORDSIZE == 32]: Only PPC32 requires __unused1, __unused2,
2849         __unused3, and __unused4 fields.
2850
2851         * csu/gmon-start.c (__gmon_start__): Always use TEXT_START macro to
2852         obtain lowest address for profiling in __monstartup call.
2853
2854 2002-11-21  Roland McGrath  <roland@redhat.com>
2855
2856         * sysdeps/ia64/fpu/Makefile (libm-sysdep_routines): Remove redunant
2857         $(calls) $(calls:=f) $(long-c-$(long-double-fcts)).
2858
2859         * locale/localeinfo.h (struct locale_data): Revert last change.
2860
2861         * sysdeps/unix/sysv/linux/ia64/syscalls.list (s_exit_group): Add it.
2862         From Ian Wienand <ianw@gelato.unsw.edu.au>.
2863
2864         * sysdeps/unix/sysv/linux/ia64/sysdep.h (__NR_pread): Define to
2865         __NR_pread64 if not defined.
2866         (__NR_pwrite): Define to __NR_pwrite64 if not defined.
2867         From Ian Wienand <ianw@gelato.unsw.edu.au>.
2868
2869 2002-11-21  Roland McGrath  <roland@frob.com>
2870
2871         * sysdeps/mach/hurd/i386/init-first.c (posixland_init): Set
2872         __libc_multiple_libcs here.  Call __setfpucw.
2873
2874 2002-11-21  Ulrich Drepper  <drepper@redhat.com>
2875
2876         * elf/Makefile (tests): Don't run test-arrayX tests for now.
2877
2878         * sysdeps/unix/sysv/linux/bits/sched.h: Add new CLONE_* flags.
2879         * sysdeps/unix/sysv/linux/i386/clone.S: Add support for
2880         CLONE_CHILD_*TID flags.
2881
2882 2002-11-20  Andreas Jaeger  <aj@suse.de>
2883
2884         * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT):
2885         We pass struct ucontext on x86-64.
2886         (GET_PC): Adjust.
2887         (GET_FRAME): Adjust.
2888         (GET_STACK): Adjust.
2889
2890 2002-11-20  Roland McGrath  <roland@redhat.com>
2891
2892         * sysdeps/powerpc/powerpc32/dl-machine.c [! SHARED]: Further
2893         conditionalize [! DO_VERSIONING] #error.
2894
2895         * scripts/abilist.awk: Grok function descriptor symbols.
2896
2897         * intl/tst-gettext.c (main): Check return values from setlocale.
2898         Add necessary unsetenv's to make LANG=existing-locale check work.
2899
2900         * intl/tst-gettext.sh: Use mkdir -p.  Copy test files unconditionally,
2901         so aborted prior runs don't confuse things.
2902
2903         * locale/localeinfo.h (struct locale_data: union locale_data_value):
2904         Use uintptr_t instead of unsigned int for `word' member.
2905         (_NL_CURRENT_WORD): Cast to uint32_t.
2906
2907         * posix/bug-regex5.c (main): Use union to extract _NL_COLLATE_NRULES
2908         value.
2909
2910 2002-11-20  Ulrich Drepper  <drepper@redhat.com>
2911
2912         * elf/tls-macros.h: Add IA-64 definitions.
2913         Patch by Ian Wienand <ianw@gelato.unsw.edu.au>.
2914
2915         * iconv/Makefile (tests): Add tst-iconv4.
2916         * iconv/tst-iconv4.c: New file.
2917
2918         * iconv/gconv_simple.c (internal_ucs4le_loop_unaligned): Return
2919         __GCONV_EMPTY_INPUT only if input is really empty.  Otherwise
2920         __GCONV_INCOMPLETE_INPUT.
2921         (ucs4le_internal_loop): Likewise.
2922         (ucs4le_internal_loop_unaligned): Likewise.
2923         * iconvdata/unicode.c (PREPARE_LOOP): Likewise.
2924         * iconvdata/utf-16.c (PREPARE_LOOP): Likewise.
2925         * iconvdata/utf-32.c (PREPARE_LOOP): Likewise.
2926
2927         * iconv/loop.c (LOOPFCT): First test for empty input then for full
2928         output buffer.
2929
2930         * inet/getnameinfo.c: Use extend_alloca where appropriate.
2931         * sysdeps/posix/getaddrinfo.c: Likewise.
2932
2933         * include/alloca.h (extend_alloca): New define.  Based on stack
2934         direction it'll try to append to the previouls allocated buffer.
2935
2936 2002-11-07  Thorsten Kukuk  <kukuk@suse.de>
2937
2938         * sysdeps/posix/getaddrinfo.c (gaih_inet): If AF_UNSPEC is set,
2939         use the same service for AF_INET and AF_INET6.
2940
2941 2002-11-19  Ulrich Drepper  <drepper@redhat.com>
2942
2943         * intl/localealias.c (read_alias_file): Use only about 400 bytes
2944         of stack space instead of 16k.
2945
2946 2002-11-18  Wolfram Gloger  <wg@malloc.de>
2947
2948         * malloc/arena.c
2949         (ptmalloc_lock_all, ptmalloc_unlock_all, ptmalloc_unlock_all2): Do
2950         nothing if not initialized.  Bug report from Marcus Brinkmann
2951         <Marcus.Brinkmann@ruhr-uni-bochum.de>.
2952
2953 2002-11-19  Roland McGrath  <roland@redhat.com>
2954
2955         * posix/Versions (libc: GLIBC_2.3.2): Add sched_getaffinity and
2956         sched_setaffinity.
2957
2958         * configure.in (libc_cv_gcc_dwarf2_unwind_info check): Use libraries
2959         `-lgcc -lgcc_eh -lgcc', not just `-lgcc -lgcc_eh' in link commands for
2960         test leading to libc_cv_gcc_dwarf2_unwind_info=no_registry_needed.
2961         * configure: Regenerated.
2962
2963 2002-11-19  Ulrich Drepper  <drepper@redhat.com>
2964
2965         * include/dlfcn.h: __libc_dlopen is now a macro calling
2966         __libc_dlopen_mode with the extra parameter RTLD_LAZY.
2967         (__libc_dlopen_mode): New prototype.
2968         * elf/dl-libc.c (__libc_dlopen_mode): Renamed from __libc_dlopen.  Add
2969         new parameter.  Store new parameter in mode field of structure passed
2970         to do_dlopen.
2971         (struct do_dlopen_args): Add new field mode.
2972         (do_dlopen): Pass mode from parameter structure to _dl_open.
2973
2974 2002-11-11  Randolf Chung  <tausq@debian.org>
2975
2976         * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h [__USE_FILE_OFFSET64]
2977         (F_GETLK, F_SETLK, F_SETLKW): Define to F_*64 versions.
2978         * sysdeps/unix/sysv/linux/hppa/fcntl.c: New file.
2979
2980         * sysdeps/hppa/fpu/libm-test-ulps: New file (generated).
2981
2982         * sysdeps/hppa/Makefile (CFLAGS-rtld.c): New variable.
2983         Set -mdisable-fpregs for this file.
2984
2985 2002-11-11  Carlos O'Donell  <carlos@baldric.uwo.ca>
2986
2987         * sysdeps/unix/sysv/linux/configure.in:
2988         Make 2.4.19 minimum linux kernel for hppa, and add unwind symbols
2989         from gcc-3.0 era for backwards compatibility.
2990         * sysdeps/unix/sysv/linux/configure: Regenerate.
2991
2992         * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h:
2993         Define mcontext_t as a sigcontext.
2994
2995 2002-11-18  Roland McGrath  <roland@redhat.com>
2996
2997         * dlfcn/dlerror.c (fini): New function, __attribute__ ((destructor)).
2998         Free memory in `last_result' if it was used.
2999
3000         * resolv/nss_dns/dns-network.c (getanswer_r): In BYNAME case, search
3001         all aliases for one that matches the "<dotted-quad>.IN-ADDR.ARPA" form.
3002         Do the parsing inline instead of copying strings and calling
3003         inet_network, and properly skip all alias names not matching the form.
3004
3005         * manual/pattern.texi (Variable Substitution): Fix # and ## examples.
3006
3007 2002-11-17  Ulrich Drepper  <drepper@redhat.com>
3008
3009         * manual/pattern.texi (Wordexp Example): Fix sample code.
3010
3011         * sysdeps/unix/sysv/linux/i386/clone.S: Initialize word in the
3012         childs stack which will be loaded into the %esi register.
3013
3014 2002-11-14  Paul Eggert  <eggert@twinsun.com>
3015
3016         * resolv/nss_dns/dns-network.c (getanswer_r): Check for buffer
3017         overflow when skipping the question part and when unpacking aliases.
3018
3019 2002-11-15  Roland McGrath  <roland@redhat.com>
3020
3021         * math/Makefile (libm-calls): Remove s_copysign, s_isinf, s_isnan,
3022         s_finite, s_modf, s_scalbn, s_frexp, m_ldexp, s_signbit.
3023         Instead add $(calls:s_%=m_%) to get m_* versions of them all.
3024
3025 2002-11-15  Jakub Jelinek  <jakub@redhat.com>
3026
3027         * sysdeps/i386/dl-machine.h (elf_machine_rela): Handle R_386_COPY.
3028         * sysdeps/arm/dl-machine.h (elf_machine_rela): Handle R_ARM_COPY.
3029
3030 2002-11-15  Roland McGrath  <roland@redhat.com>
3031
3032         * math/Makefile (libm-calls): Change s_ldexp to m_ldexp.
3033         * Makerules ($(+sysdir_pfx)sysd-rules): Emit pattern rules for m_%.[Sc]
3034         from sysdeps/.../s_%.[Sc] with commands $(+make-include-of-dep).
3035         (+make-include-of-dep): New canned sequence.
3036
3037         * stdlib/canonicalize.c (__realpath): Check for malloc failure.
3038         From Dmitry V. Levin <ldv@altlinux.org>.
3039
3040 2002-11-14  Roland McGrath  <roland@redhat.com>
3041
3042         * sysdeps/generic/errno.c (__libc_errno): Remove alias.
3043         * inet/herrno.c (__libc_h_errno): Likewise.
3044         * resolv/res_libc.c (__libc_res): Likewise.
3045         [USE___THREAD]: Use this in place of [USE_TLS && HAVE___THREAD].
3046         (__res_state) [! USE___THREAD]: Don't define as weak.
3047         * csu/Versions: Revert last change.
3048         * resolv/Versions: Revert last change.
3049
3050         * Makerules ($(common-objpfx)%.make): New pattern rule.
3051         * tls.make.c: New file.
3052         * Makefile (distribute): Add it.
3053
3054         * sysdeps/generic/errno.c [! USE___THREAD]
3055         [HAVE_ELF && SHARED && DO_VERSIONING] (errno, _errno): Declare these
3056         with compat_symbol so they are not link-time visible.
3057         [! USE___THREAD] (__libc_errno): New alias for errno.
3058         * csu/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
3059         Add __libc_errno here.
3060         * inet/herrno.c [USE___THREAD]: Use this conditional
3061         in place of [USE_TLS && HAVE___THREAD].
3062         [! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING]
3063         (h_errno, _h_errno): Declare these with compat_symbol so they are not
3064         link-time visible.
3065         [! USE___THREAD] (__libc_h_errno): New alias for h_errno.
3066         * resolv/res_libc.c [! USE___THREAD]
3067         [HAVE_ELF && SHARED && DO_VERSIONING] (_res): Likewise.
3068         (_res): Use __attribute__ ((section (".bss"))) so we can have an alias.
3069         (__libc_res): Define as alias for _res.
3070         * resolv/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
3071         Add __libc_h_errno and __libc_res here.
3072
3073 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
3074
3075         * csu/Versions (errno): Move STT_TLS symbol to GLIBC_PRIVATE for now.
3076         * resolv/Versions (h_errno, _res): Likewise.
3077
3078 2002-11-14  Roland McGrath  <roland@redhat.com>
3079
3080         * Makerules (%.dynsym): Remove $(objpfx) from target and dep.
3081         (%.symlist): Likewise.
3082
3083 2002-11-13  Roland McGrath  <roland@redhat.com>
3084
3085         * scripts/abilist.awk: New file.
3086         * Makefile (distribute): Add it.
3087         * Makerules ($(objpfx)%.dynsym, $(objpfx)%.symlist): New rules.
3088         (tests): Depend on .symlist file for each $(install-lib.so-versioned).
3089         [$(subdir) = elf] (tests): Depend on libc.symlist.
3090         (generated, common-generated): Add those files.
3091
3092         * aclocal.m4 (LIBC_PROG_BINUTILS): Check for objdump, set OBJDUMP.
3093         * configure: Regenerated.
3094         * config.make.in (OBJDUMP): New variable, substituted by configure.
3095
3096         * malloc/mcheck.c (struct hdr): New members `block' and `magic2'.
3097         (mallochook, reallochook): Set them up.
3098         (checkhdr): Check HDR->magic2 value.
3099         (freehook): Reset HDR->magic2.
3100         (memalignhook): New static function.
3101         (old_memalign_hook): New static variable.
3102         (mcheck, reallochook): Set __memalign_hook to memalignhook.
3103
3104         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Zero the space
3105         for the new TCB.
3106
3107 2002-11-13  Andreas Jaeger  <aj@suse.de>
3108
3109         * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Check for visibility
3110         attribute.
3111         * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
3112
3113 2002-11-11  Paul Eggert  <eggert@twinsun.com>
3114
3115         * manual/crypt.texi (Cryptographic Functions): Mention that
3116         the MD5 one-way algorithm is compatible with BSD's.
3117
3118 2002-11-11  Isamu Hasegawa  <isamu@yamato.ibm.com>
3119
3120         * posix/regex_internal.c (re_string_skip_chars): Also return the last
3121         wide character.
3122         (re_string_reconstruct): Calculate the context by itself when the
3123         offset points out of the valid range.
3124         (re_string_context_at): Use wide character when MB_CUR_MAX > 1.
3125         * posix/regex_internal.h (WIDE_NEWLINE_CHAR): New macro.
3126         (IS_WIDE_WORD_CHAR): New macro.
3127         (IS_WIDE_NEWLINE): New macro.
3128
3129 2002-11-12  Andreas Jaeger  <aj@suse.de>
3130
3131         * sysdeps/x86_64/strchr.S: Don't use one register for two
3132         purposes, this fixes a bug noticed by test-strchr.c.
3133
3134         * sysdeps/x86_64/strcat.S: Fix algorithm to align source pointer
3135         correctly.
3136
3137 2002-11-12  Roland McGrath  <roland@redhat.com>
3138
3139         * libio/libioP.h [_LIBC && !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]
3140         (_G_IO_NO_BACKWARD_COMPAT): Define it.
3141
3142         * sysdeps/ia64/dl-fptr.c [_LIBC_REENTRANT]: Include <ia64intrin.h>
3143         instead of <pt-machine.h>.
3144         [_LIBC_REENTRANT] (lock, unlock): Use __sync_lock_* macros instead of
3145         testandset.
3146         From Ian Wienand <ianw@gelato.unsw.edu.au>.
3147
3148 2002-11-10  Roland McGrath  <roland@redhat.com>
3149
3150         * libio/bug-wfflush.c (do_test): Call rewind instead of fsetpos.
3151         Call fputs instead of fwprintf (simpler to follow in debugger).
3152
3153         * crypt/md5-crypt.c: Doc fix.
3154
3155         * sysdeps/unix/make-syscalls.sh: Insert $(make-target-directory) at
3156         the beginning of generated target commands.
3157
3158         * csu/Makefile ($(objpfx)crti.o, $(objpfx)crtn.o): Add explicit
3159         dependencies for these in case implicit rule search skipped the
3160         nonexistent source directory.
3161         * sysdeps/gnu/Makefile ($(objpfx)errlist.d): Give this rule all the
3162         files with $(object-suffixes) as targets too.
3163         * Makerules [no_deps && objpfx] (before-compile): Add $(objpfx).
3164         and a target for it using $(make-target-directory).
3165
3166         * Rules (before-compile): Add $(common-objpfx)bits/stdio-lim.h.
3167
3168 2002-11-10  Roland McGrath  <roland@frob.com>
3169
3170         * sysdeps/unix/sysv/linux/bits/pthreadtypes.h: Moved to ...
3171         * sysdeps/generic/bits/pthreadtypes.h: ... here.
3172
3173         * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Treat a struct flock with
3174         l_start == 0 and l_len == 1 as we do l_len == 0.
3175
3176 2002-11-10  Ulrich Drepper  <drepper@redhat.com>
3177
3178         * po/da.po: Update from translation team.
3179
3180 2002-11-10  Roland McGrath  <roland@redhat.com>
3181
3182         * config.make.in (includedir): New variable, substituted by configure.
3183         Reported missing by Jocelyn Fournier <joc@presence-pc.com>.
3184         * Makeconfig (includedir): Use $(prefix), not $(exec_prefix).
3185
3186 2002-11-10  Andreas Jaeger  <aj@suse.de>
3187
3188         * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h (enum): Add
3189         REG_OLDMASK and REG_CR2 to synch with kernel header.
3190         (NGREG): Increase.
3191
3192         * nss/getXXent.c (GETFUNC_NAME): Use union type to avoid strict
3193         aliasing problem.
3194         * nss/getXXbyYY_r.c (INTERNAL): Likewise.
3195         * nss/getnssent_r.c (__nss_getent_r): Likewise.
3196         (__nss_setent): Likewise.
3197         (__nss_getent_r): Likewise.
3198         * inet/getnetgrent_r.c (innetgr): Likewise.
3199         (__internal_setnetgrent_reuse): Likewise.
3200         (internal_getnetgrent_r): Likewise.
3201         * inet/ether_hton.c (ether_hostton): Likewise.
3202         * inet/ether_ntoh.c (ether_ntohost): Likewise.
3203         * sunrpc/netname.c (netname2user): Likewise.
3204         * sunrpc/publickey.c (getpublickey): Likewise.
3205         (getsecretkey): Likewise.
3206
3207 2002-11-09  Marcus Brinkmann  <marcus@gnu.org>
3208
3209         * sysdeps/mach/hurd/i386/ioperm.c (ioperm): Correct off by one
3210         error in range calculation.
3211
3212 2002-10-09  Jakub Jelinek  <jakub@redhat.com>
3213
3214         * string/test-strspn.c (do_test): Ensure zero termination.
3215         * string/test-strpbrk.c (do_test): Likewise.
3216         * string/test-strncmp.c (stupid_strncmp): Use strnlen, not strlen.
3217         * string/test-strncpy.c (stupid_strncpy): Likewise.
3218         * string/test-stpncpy.c (stupid_stpncpy): Likewise.
3219
3220 2002-10-08  Roland McGrath  <roland@redhat.com>
3221
3222         * string/test-string.h (test_init): Fill BUF1 and BUF2 with
3223         nonzero characters.
3224
3225 2002-09-22  H.J. Lu  <hjl@gnu.org>
3226
3227         * sysdeps/unix/sysv/linux/mmap64.c (MMAP2_PAGE_SHIFT): Renamed
3228         from PAGE_SHIFT.  Define if not defined.  Check MMAP2_PAGE_SHIFT
3229         only if __NR_mmap2 is defined.
3230
3231         * sysdeps/unix/sysv/linux/powerpc/mmap64.c: Moved to ...
3232         * sysdeps/unix/sysv/linux/mmap64.c: ... here.
3233         * sysdeps/unix/sysv/linux/hppa/mmap64.c: File removed.
3234         * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: FIle removed,
3235
3236 2002-11-08  Jakub Jelinek  <jakub@redhat.com>
3237
3238         * posix/bug-regex13.c (tests): Add new test.
3239
3240         * string/test-strchr.c (stupid_strchr): New function.
3241         (do_random_tests): Make sure the string is zero terminated.
3242         * string/test-strpbrk.c (stupid_strpbrk): New function.
3243         (do_random_tests): Make sure the string is zero terminated.
3244         * string/test-strcmp.c (stupid_strcmp): New function.
3245         (do_random_tests): Make sure the strings are zero terminated.
3246         * string/test-strspn.c (stupid_strspn): New function.
3247         (simple_strspn): Rename rej argument to acc.
3248         (do_random_tests): Make sure the string is zero terminated.
3249         * string/test-strcspn.c (stupid_strcspn): New function.
3250         * string/test-strncpy.c (stupid_strncpy): New function.
3251         * string/test-stpncpy.c (stupid_stpncpy): New function.
3252         * string/test-strncmp.c (stupid_strncmp): New function.
3253         (do_random_tests): Make sure the strings are zero terminated.
3254         * string/test-string.h (impl_t): Change test into long.
3255         (IMPL): Add __attribute__((aligned (sizeof (void *)))).
3256
3257 2002-11-08  Roland McGrath  <roland@redhat.com>
3258
3259         * sysdeps/ia64/elf/configure.in: Add TLS check.
3260         From Ian Wienand <ianw@cse.unsw.edu.au>.
3261         * sysdeps/ia64/elf/configure: Regenerated.
3262
3263 2002-11-07  Roland McGrath  <roland@redhat.com>
3264
3265         * libio/fileops.c (_IO_new_file_overflow): Use INTUSE(_IO_do_write) in
3266         place of _IO_new_do_write.
3267         [_LIBC] (_IO_do_write): Define as macro for _IO_new_do_write and
3268         #undef before versioned_symbol use.
3269
3270 2002-11-07  Richard Henderson  <rth@redhat.com>
3271
3272         * configure.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove test.
3273         * configure: Regenerated.
3274         * config.h.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove #undef.
3275         * sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Use !samegp.
3276         (RTLD_START): Likewise.  Access _dl_skip_args, _rtld_local, and
3277         _dl_fini via gp-relative relocations.
3278         * sysdeps/alpha/fpu/e_sqrt.c: Use !samegp.
3279
3280         * elf/tls-macros.h: Add alpha versions.
3281         * sysdeps/alpha/dl-machine.h (elf_machine_rela): Handle TLS relocs.
3282         * sysdeps/unix/alpha/sysdep.S: Support USE___THREAD.
3283         * sysdeps/unix/alpha/sysdep.h: Likewise.  Add SYSCALL_ERROR_HANDLER.
3284         * sysdeps/unix/sysv/linux/alpha/brk.S: Use it.
3285         * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise.
3286         * sysdeps/unix/sysv/linux/alpha/getitimer.S: Likewise.
3287         * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise.
3288         * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise.
3289         * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise.
3290         * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
3291         * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Likewise.
3292         * sysdeps/unix/sysv/linux/alpha/select.S: Likewise.
3293         * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise.
3294         * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise.
3295         * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise.
3296         * sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise.
3297         * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise.
3298         * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise.
3299
3300         * sysdeps/unix/sysv/linux/alpha/sysdep.h: Re-include protect.
3301         Kill argument registers across the inline syscall.
3302
3303         * sysdeps/unix/sysv/linux/alpha/clone.S: Add user_tid and tls args.
3304
3305         * linuxthreads/sysdeps/alpha/tls.h: New file.
3306         * sysdeps/alpha/dl-tls.h: New file.
3307
3308 2002-10-29  David Mosberger  <davidm@hpl.hp.com>
3309
3310         * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY]
3311         (gmon_initializer): New function.
3312         (.init prologue): If HAVE_INITFINI_ARRAY is true, don't call
3313         __gmon_start__ here.  Call it from gmon_initializer() instead.
3314
3315 2002-03-12  H.J. Lu  <hjl@gnu.org>
3316
3317         * elf/Makefile [$(have-initfini-array) = yes] (tests): Add tst-array1,
3318         tst-array2, and tst-array3.
3319         [$(have-initfini-array) = yes] (tests-static): Add tst-array3.
3320         [$(have-initfini-array) = yes] (modules-names): Add tst-array2dep.
3321         ($(objpfx)tst-array1.out): New target.
3322         ($(objpfx)tst-array2): Likewise.
3323         ($(objpfx)tst-array2.out): Likewise.
3324         ($(objpfx)tst-array3.out): Likewise.
3325         * elf/tst-array1.c: New file.
3326         * elf/tst-array1.exp: Likewise.
3327         * elf/tst-array2.c: Likewise.
3328         * elf/tst-array2dep.c: Likewise.
3329         * elf/tst-array2.exp: Likewise.
3330         * elf/tst-array3.c: Likewise.
3331
3332 2002-10-28  David Mosberger  <davidm@hpl.hp.com>
3333
3334         * elf/dl-fini.c (_dl_fini): Invoke fini_array in _reverse_ order.
3335         Don't add L->l_addr to array entry values.
3336
3337 2002-11-07  Jakub Jelinek  <jakub@redhat.com>
3338
3339         * string/test-string.h: New file.
3340         * string/test-strlen.c: New file.
3341         * string/test-string.h: New file.
3342         * string/test-strcmp.c: New file.
3343         * string/test-strchr.c: New file.
3344         * string/test-strrchr.c: New file.
3345         * string/test-strcpy.c: New file.
3346         * string/test-stpcpy.c: New file.
3347         * string/test-strncpy.c: New file.
3348         * string/test-stpncpy.c: New file.
3349         * string/test-strpbrk.c: New file.
3350         * string/test-strcspn.c: New file.
3351         * string/test-strspn.c: New file.
3352         * string/test-strcat.c: New file.
3353         * string/test-strncmp.c: New file.
3354         * string/test-memchr.c: New file.
3355         * string/test-memcmp.c: New file.
3356         * string/test-memset.c: New file.
3357         * string/test-memcpy.c: New file.
3358         * string/test-mempcpy.c: New file.
3359         * string/test-memmove.c: New file.
3360         * string/Makefile (strop-tests): New variable.
3361         (tests): Add strop-tests.
3362         (distribute): Add test-string.h.
3363
3364 2002-11-06  Ulrich Drepper  <drepper@redhat.com>
3365
3366         * posix/regcomp.c: Use tabs instead of spaces.
3367         * posix/regexec.c: Likewise.
3368         * posix/regex_internal.h: Likewise.
3369
3370         * posix/regcomp.c (re_compile_fastmap_iter): Use __wcrtomb not wctomb.
3371
3372 2002-11-06  Jakub Jelinek  <jakub@redhat.com>
3373
3374         * posix/regcomp.c (re_compile_pattern): Don't set regs_allocated
3375         here.
3376         (regcomp): Don't set can_be_null here.
3377         (re_comp): Clear whole re_comp_buf with the exception of fastmap.
3378         (re_compile_internal): Clear can_be_null, set regs_allocated.
3379
3380         * posix/regcomp.c (re_set_fastmap): New function.
3381         (re_compile_fastmap_iter): Use it.  Remove redundant type ==
3382         COMPLEX_BRACKET check.
3383         * posix/regexec.c (re_search_internal): Optimize searching with
3384         fastmap.  Call re_string_reconstruct even if match_first is
3385         smaller than raw_mbs_idx.
3386
3387 2002-11-06  Isamu Hasegawa  <isamu@yamato.ibm.com>
3388
3389         * posix/regcomp (free_dfa_content): Use free_state.
3390         * posix/regex_internal.c (re_string_realloc_buffers): Don't edit
3391         pointers in case that realloc failed.
3392         (re_node_set_merge): Likewise.
3393         (register_state): Likewise.
3394         (create_newstate_common): Invoke memory release functions in case of
3395         error conditions.
3396         (create_ci_newstate): Likewise.
3397         (create_cd_newstate): Likewise.
3398         (free_state): New function.
3399         * posix/regexec.c (re_search_internal): Invoke memory release
3400         functions in case of error conditions.
3401         (sift_states_backward): Likewise.
3402         (merge_state_array): Likewise.
3403         (add_epsilon_src_nodes): Likewise.
3404         (sub_epsilon_src_nodes): Likewise.
3405         (search_subexp): Likewise.
3406         (sift_states_bkref): Likewise.
3407         (transit_state_sb): Likewise.
3408         (transit_state_mb): Likewise.
3409         (transit_state_bkref_loop): Likewise.
3410         (group_nodes_into_DFAstates): Likewise.
3411         (push_fail_stack): Don't edit pointers in case that realloc failed.
3412         (extend_buffers): Likewise.
3413         (match_ctx_add_entry): Likewise.
3414
3415 2002-11-06  Roland McGrath  <roland@redhat.com>
3416
3417         * sysdeps/unix/sysv/linux/mips/configure.in: File removed.
3418         * sysdeps/unix/sysv/linux/mips/configure: Likewise.
3419
3420         * configure.in: Add checks on as and ld for binutils 2.13 or later.
3421         * configure: Regenerated.
3422
3423 2002-11-06  Ulrich Drepper  <drepper@redhat.com>
3424
3425         * posix/regcomp.c (regcomp): __re_compile_fastmap can never fail.
3426         If re_compile_internal failed free fastmap buffer.
3427         (free_dfa_content): Broken out of regfree function.  Frees all dfa
3428         related data.
3429         (regfree): Add free_dfa_content.
3430         (re_compile_internal): If any of the called functions fails free
3431         all dfa related memory.
3432
3433 2002-11-05  Ulrich Drepper  <drepper@redhat.com>
3434
3435         * sysdeps/unix/sysv/linux/sys/sysctl.h: Add ugly hacks to prevent
3436         warnings from the kernel headers.
3437
3438 2002-11-05  Roland McGrath  <roland@redhat.com>
3439
3440         * sysdeps/unix/mips/sysdep.h [! __PIC__] (PSEUDO): Add nop after jump.
3441         From Johannes Stezenbach <js@convergence.de>.
3442
3443         * sysdeps/unix/sysv/linux/mips/Versions (libc: GLIBC_2.0): Change
3444         #errlist-compat magic comment to give 123 as size.
3445         (libc: GLIBC_2.1): Remove this set, moving #errlist-compat magic to ...
3446         (libc: GLIBC_2.2): ... here.
3447         (libc: GLIBC_2.3): Likewise.
3448
3449 2002-11-05  Ulrich Drepper  <drepper@redhat.com>
3450
3451         * elf/dl-fini.c (_dl_fini): Correct the increment of l_opencount
3452         which happens at the beginning so that we can unload modules in
3453         __libc_freeres.
3454
3455 2002-11-06  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3456
3457         * sysdeps/sh/bits/setjmp.h (JB_SIZE): Define only
3458         under [__USE_MISC || _ASM].
3459
3460         * elf/elf.h: Remove the obsolete SH TLS relocations.
3461
3462 2002-11-05  Ulrich Drepper  <drepper@redhat.com>
3463
3464         * posix/regcomp.c (regcomp): Initialize preg->can_be_null to zero.
3465
3466 2002-11-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3467
3468         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Handle
3469         __NR_pread64 and __NR_pwrite64.
3470         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
3471         * sysdeps/unix/sysv/linux/powerpc/pread.c: Remove __NR_pread64
3472         and __NR_pwrite64.
3473         Revert change to use INLINE_SYSCALL.
3474         * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
3475         * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise.
3476         * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.
3477         * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Revert change to use
3478         INLINE_SYSCALL.
3479         * sysdeps/unix/sysv/linux/powerpc/truncate64.c: Likewise.
3480
3481         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
3482         Update clobber list and add a comment about the syscall ABI.
3483
3484         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_pread64,
3485         s_pwrite64, s_ftruncate, s_truncate): Re-add.
3486
3487 2002-11-05  Jakub Jelinek  <jakub@redhat.com>
3488
3489         * iconv/gconv_dl.c (free_mem): Clear loaded.
3490         * locale/loadarchive.c (_nl_archive_subfreeres): Call locale_data's
3491         cleanup if any.
3492
3493 2002-11-05  Ulrich Drepper  <drepper@redhat.com>
3494
3495         * sysdeps/unix/sysv/linux/fexecve.c: Include <stdio.h>.
3496
3497         * libio/ioseekoff.c: Remove INTDEF.  Define _IO_seekoff_unlocked.  Same
3498         as old code without locking.  _IO_seekoff calls this function after
3499         locking the stream.
3500         * libio/ioseekpos.c: Likewise for _IO_seekpos.
3501         * libio/libioP.h: Replace _IO_seekoff_internal and _IO_seekpos_internal
3502         prototypes with _IO_seekoff_unlocked and _IO_seekpos_unlocked
3503         prototypes.
3504         * libio/iolibio.h (_IO_fseek): Call _IO_seekoff_unlocked instead
3505         of _IO_seekoff_internal.
3506         (_IO_rewind): Likewise.
3507         * libio/ioftell.c: Likewise.
3508         * libio/ftello.c: Likewise.
3509         * libio/ftello64.c: Likewise.
3510         * libio/iofgetpos.c: Likewise.
3511         * libio/iofgetpos64.c: Likewise.
3512         * libio/oldiofgetpos.c: Likewise.
3513         * libio/oldiofgetpos64.c: Likewise.
3514         * libio/iofsetpos.c: Call _IO_seekpos_unlocked instead of
3515         _IO_seekpos_internal.
3516         * libio/iofsetpos64.c: Likewise.
3517         * libio/oldiofsetpos.c: Likewise.
3518         * libio/oldiofsetpos64.c: Likewise.
3519
3520 2002-11-04  Roland McGrath  <roland@redhat.com>
3521
3522         * sysdeps/unix/sysv/linux/powerpc/chown.c: Use INLINE_SYSCALL macro.
3523         * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Likewise.
3524         * sysdeps/unix/sysv/linux/powerpc/ioctl.c: Likewise.
3525         * sysdeps/unix/sysv/linux/powerpc/pread.c: Likewise.
3526         * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
3527         * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise.
3528         * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.
3529         * sysdeps/unix/sysv/linux/powerpc/tcgetattr.c: Likewise.
3530         * sysdeps/unix/sysv/linux/powerpc/tcsetattr.c: Likewise.
3531         * sysdeps/unix/sysv/linux/powerpc/truncate64.c: Likewise.
3532         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_ioctl,
3533         s_chown, s_ftruncate64, s_mmap2, s_pread64, s_pwrite64, s_truncate64,
3534         sys_fstat, sys_lstat, sys_mknod, sys_readv, sys_stat, sys_writev):
3535         Remove these, no longer used.
3536
3537 2002-11-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3538
3539         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_ipc,
3540         s_llseek, s_readahead, s_execve, s_fcntl, s_fcntl64, s_fstat64,
3541         s_getcwd, s_getdents, s_getdents64, s_getpmsg, s_getpriority,
3542         s_getrlimit, s_lstat64, s_poll, s_ptrace, s_putpmsg, s_reboot,
3543         s_setrlimit, s_sigaction, s_sigpending, s_sigprocmask, s_sigsuspend,
3544         s_stat64, s_sysctl, s_ugetrlimit, s_ustat, s_vfork): Remove now unused
3545         syscall stubs.
3546
3547         * sysdeps/unix/sysv/linux/pwrite.c: Fix typo.
3548         * sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
3549         * sysdeps/unix/sysv/linux/powerpc/pread.c: Handle both __NR_pread64
3550         and __NR_pread.
3551         * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
3552         * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Handle both __NR_pwrite64
3553         and __NR_pwrite.
3554         * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.
3555
3556 2002-11-03  Roland McGrath  <roland@redhat.com>
3557
3558         * sysdeps/generic/ldsodefs.h (struct rtld_global): New member
3559         `_dl_tls_static_used'.
3560         * sysdeps/generic/libc-tls.c (_dl_tls_static_used): New variable.
3561         (__libc_setup_tls): Initialize it.  Let the initial value of
3562         _dl_tls_static_size indicate some surplus space in the computed value.
3563         * elf/dl-open.c (_dl_tls_static_size): New variable.
3564         * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Initialize
3565         _dl_tls_static_used.  Add some surplus space into _dl_tls_static_size.
3566         * elf/dl-reloc.c [USE_TLS] (allocate_static_tls): New function.
3567         (CHECK_STATIC_TLS): Use it.
3568         * elf/dl-close.c (_dl_close): Adjust _dl_tls_static_used when the
3569         closed objects occupied a trailing contiguous chunk of static TLS area.
3570
3571 2002-10-18  Bruno Haible  <bruno@clisp.org>
3572
3573         * charmaps/ISO_5428: Use Greek characters introduced in Unicode 3.0.
3574
3575 2002-11-04  Ulrich Drepper  <drepper@redhat.com>
3576
3577         * libio/wfileops.c (_IO_wfile_seekoff): Don't modify _offset and
3578         _wide_data->_IO_read_end if adjustment can be made in the current
3579         buffer.
3580
3581         * sysdeps/unix/sysv/linux/fexecve.c: New file.
3582
3583         * libio/bug-wfflush.c (do_test): Using fseek is not allowed when
3584         wide oriented streams are used.
3585
3586         * nss/getXXent_r.c (ENDFUNC_NAME): Don't do anything if the
3587         service hasn't been used [PR libc/4744].
3588
3589         * include/features.h: Use __STDC_VERSION__ not __STDC_VERSION.
3590         Reported by Miloslav Trmac <mitr@volny.cz> [PR libc/4766].
3591
3592         * manual/examples/dir.c: Don't include <stddef.h>.
3593         * manual/examples/select.c: Include <errno.h> for TEMP_FAILURE_RETRY.
3594         Reported by Frédéric Delanoy <delanoy_f@yahoo.com>.
3595
3596 2002-11-02  H.J. Lu  <hjl@gnu.org>
3597
3598         * stdio-common/reg-printf.c: Include <stddef.h>.
3599
3600 2002-11-03  Ulrich Drepper  <drepper@redhat.com>
3601
3602         * sysdeps/generic/libc-tls.c: Define _dl_tls_static_used.
3603
3604         * po/ca.po: Update from translation team.
3605         * po/es.po: Likewise.
3606
3607         * sysdeps/generic/segfault.c (catch_segfault): If HAVE_PROC_SELF
3608         is defined write out memory map.
3609         * sysdeps/unix/sysv/linux/segfault.c: New file.
3610
3611 2002-11-02  Roland McGrath  <roland@redhat.com>
3612
3613         * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Use union type for
3614         pointers that can alias.
3615         Reported by Daniel Jacobowitz <drow@mvista.com>.
3616
3617         * sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h: New file.
3618
3619 2002-11-02  Roland McGrath  <roland@redhat.com>
3620
3621         * manual/filesys.texi (Reading/Closing Directory): Rewrite readdir_r
3622         description to be clearer and to say that *RESULT is set to ENTRY.
3623
3624 2002-10-30  Jakub Jelinek  <jakub@redhat.com>
3625
3626         * posix/regexec.c (build_trtable): Alloca or malloc dests_node and
3627         dests_ch arrays together.  Alloca or malloc dest_states,
3628         dest_states_word and dest_states_nl arrays together.  Free memory on
3629         error exit.
3630
3631 2002-10-29  Daniel Jacobowitz  <drow@mvista.com>
3632
3633         * crypt/crypt_util.c (__init_des_r): Initialize current_salt
3634         and current_saltbits.
3635
3636 2002-11-02  Roland McGrath  <roland@redhat.com>
3637
3638         * stdio-common/reg-printf.c: Include <stdlib.h>.
3639
3640 2002-11-02  H.J. Lu  <hjl@gnu.org>
3641
3642         * sysdeps/unix/sysv/linux/mips/syscalls.list (s_execve): Set
3643         caller to EXTRA instead of execve.
3644
3645 2002-11-01  Roland McGrath  <roland@redhat.com>
3646
3647         * sysdeps/generic/errno-loc.c [! USE___THREAD]: Use this conditional
3648         in place of [!(USE_TLS && HAVE___THREAD)].
3649         (__errno_location) [! USE___THREAD]: Define as strong, not weak.
3650
3651 2002-10-31  Roger Sayle  <roger@eyesopen.com>
3652
3653         * sysdeps/i386/soft-fp/sfp-machine.h (_FP_NANFRAC_Q, _FP_NANSIGN_Q):
3654         New macros.
3655         * sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise.
3656
3657         * soft-fp/soft-fp.h: Allow sfp-machine.h to define FP_RND_NEAREST
3658         without defining FP_ROUNDMODE.
3659
3660 2002-10-29  Jakub Jelinek  <jakub@redhat.com>
3661
3662         * sysdeps/gnu/siglist.c (PTR_SIZE_STR): Remove.
3663         (__old_sys_siglist, __old_sys_sigabbrev): Use strong_alias and
3664         declare_symbol.
3665         * sysdeps/mach/hurd/siglist.h (OLD_SIGLIST_SIZE_STR): Remove.
3666         (OLD_SIGLIST_SIZE): Define.
3667         * sysdeps/unix/sysv/linux/siglist.h (OLD_SIGLIST_SIZE_STR): Remove.
3668         (OLD_SIGLIST_SIZE): Define.
3669         * sysdeps/unix/sysv/linux/arm/siglist.c: Remove.
3670
3671 2002-11-01  Jakub Jelinek  <jakub@redhat.com>
3672
3673         * sysdeps/ia64/strncpy.S: Fix recovery code.
3674
3675 2002-10-30  Jakub Jelinek  <jakub@redhat.com>
3676
3677         * include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn):
3678         New macros.
3679         * elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove
3680         text_set_element.
3681         * elf/dl-libc.c (free_mem): Likewise.
3682         * iconv/gconv_conf.c (free_mem): Likewise.
3683         * iconv/gconv_db.c (free_mem): Likewise.
3684         * iconv/gconv_dl.c (free_mem): Likewise.
3685         * iconv/gconv_cache.c (free_mem): Likewise.
3686         * intl/finddomain.c (free_mem): Likewise.
3687         * intl/dcigettext.c (free_mem): Likewise.
3688         * locale/setlocale.c (free_mem): Likewise.
3689         * misc/fstab.c (fstab_free): Likewise.
3690         * nss/nsswitch.c (free_mem): Likewise.
3691         * posix/regcomp.c (free_mem): Likewise.
3692         * resolv/gai_misc.c (free_res): Likewise.
3693         * stdlib/fmtmsg.c (free_mem): Likewise.
3694         * sunrpc/clnt_perr.c (free_mem): Likewise.
3695         * sysdeps/generic/setenv.c (free_mem): Likewise.
3696         * sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise.
3697         * sysdeps/pthread/aio_misc.c (free_res): Likewise.
3698         * time/tzset.c (free_mem): Likewise.
3699         * malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section.
3700         * locale/loadarchive.c (_nl_archive_subfreeres): Likewise.
3701         * malloc/set-freeres.c (__libc_freeres): Likewise.
3702
3703         * login/getutent.c: Include stdlib.h instead of stddef.h.
3704         (buffer): Change into pointer to utmp, add libc_freeres_ptr.
3705         (__getutent): Allocate buffer the first time it is run.
3706         * login/getutid.c: Include stdlib.h instead of stddef.h.
3707         (buffer): Change into pointer to utmp, add libc_freeres_ptr.
3708         (__getutid): Allocate buffer the first time it is run.
3709         * login/getutline.c: Include stdlib.h instead of stddef.h.
3710         (buffer): Change into pointer to utmp, add libc_freeres_ptr.
3711         (__getutline): Allocate buffer the first time it is run.
3712         * malloc/mtrace.c (malloc_trace_buffer): Change into char *.
3713         (mtrace): Allocate malloc_trace_buffer.
3714         * resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf.
3715         * resolv/ns_print.c (ns_sprintrrf): Decrease size of t.
3716         * string/strerror.c: Include libintl.h and errno.h.
3717         (buf): New variable.
3718         (strerror): Only allocate buffer if actually needed (unknown error).
3719         * time/tzfile.c (transitions): Add libc_freeres_ptr.
3720         (freeres): Remove.
3721
3722 2002-10-25  Jakub Jelinek  <jakub@redhat.com>
3723
3724         * include/libc-symbols.h (libc_freeres_ptr): New macro.
3725         * malloc/set-freeres.c (__libc_freeres_ptrs): Define using
3726         symbol_set_define.
3727         (__libc_freeres): Free all pointers in that section.
3728         * Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed
3729         commands when creating .lds script.
3730         (LDSEDCMD-c.so): New variable.
3731         * inet/rcmd.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
3732         (rcmd_af): Use strdup to allocate ahostbuf.
3733         * inet/rexec.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
3734         (rexec_af): Use strdup to allocate ahostbuf.
3735         * stdio-common/reg-printf.c (printf_funcs): Remove.
3736         (__printf_arginfo_table): Change into printf_arginfo_function **.
3737         Add libc_freeres_ptr.
3738         (__register_printf_function): Allocate __printf_arginfo_table
3739         and __printf_function_table the first time it is called.
3740         * stdio-common/printf-parse.h (__printf_arginfo_table): Change into
3741         printf_arginfo_function **.
3742         (parse_one_spec): Add __builtin_expect.
3743         * grp/fgetgrent.c (buffer): Add libc_freeres_ptr.
3744         (free_mem): Remove.
3745         * inet/getnetgrent.c (buffer): Add libc_freeres_ptr.
3746         (free_mem): Remove.
3747         * intl/localealias.c (libc_freeres_ptr): Define if !_LIBC.
3748         (string_space, map): Add libc_freeres_ptr.
3749         (free_mem): Remove.
3750         * misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr.
3751         (free_mem): Remove.
3752         * misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr.
3753         (free_mem): Remove.
3754         * crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC.
3755         (buffer): Add libc_freeres_ptr.
3756         (free_mem): Remove for _LIBC.
3757         * nss/getXXbyYY.c (buffer): Add libc_freeres_ptr.
3758         (free_mem): Remove.
3759         * nss/getXXent.c (buffer): Add libc_freeres_ptr.
3760         (free_mem): Remove.
3761         * pwd/fgetpwent.c (buffer): Add libc_freeres_ptr.
3762         (free_mem): Remove.
3763         * resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr.
3764         (free_mem): Remove.
3765         * shadow/fgetspent.c (buffer): Add libc_freeres_ptr.
3766         (free_mem): Remove.
3767         * sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr.
3768         (free_mem): Remove.
3769         * sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add
3770         libc_freeres_ptr.
3771         (free_mem): Remove.
3772         * sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add
3773         libc_freeres_ptr.
3774         (free_mem): Remove.
3775
3776 2002-10-30  Jakub Jelinek  <jakub@redhat.com>
3777
3778         * malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias
3779         instead of duplicating the whole function in libc.
3780
3781 2002-10-31  Roland McGrath  <roland@redhat.com>
3782
3783         * sysdeps/i386/bits/byteswap.h [__GNUC__ < 2] (__bswap_32):
3784         Renamed from __bswap_16 (typo fix).  Reported by <dens@stl.sarov.ru>.
3785
3786 2002-10-30  Jakub Jelinek  <jakub@redhat.com>
3787
3788         * sysdeps/unix/sysv/linux/Makefile (syscall-%.h): Add -D for each
3789         32bit-predefine when creating .new32 list and -U for each
3790         32bit-predefine when creating .new64 list.
3791         * sysdeps/unix/sysv/linux/x86_64/Makefile (32bit-predefine): New.
3792
3793 2002-10-29  Andreas Schwab  <schwab@suse.de>
3794
3795         * sysdeps/generic/allocrtsig.c: Include <testrtsig.h>, not
3796         "testrtsig.h".  Reported by Daniel Jacobowitz <dan@debian.org>.
3797
3798 2002-10-25  Roland McGrath  <roland@redhat.com>
3799
3800         * sysdeps/unix/sysv/linux/configure.in: Fix typo in last change.
3801         * sysdeps/unix/sysv/linux/configure: Regenerated.
3802
3803         * sysdeps/generic/ldsodefs.h: Remove [! SHARED] conditional from
3804         _dl_starting_up decl.
3805
3806 2002-10-20  H.J. Lu  <hjl@gnu.org>
3807
3808         * sysdeps/unix/sysv/linux/configure.in: Don't check
3809         /lib/modules/`uname -r`/build/include for kernel headers if
3810         cross compiling.
3811         * sysdeps/unix/sysv/linux/configure: Regenerated.
3812
3813 2002-10-25  Roland McGrath  <roland@redhat.com>
3814
3815         * math/math.h (M_LOG2El): Correct the value.
3816         From Stephen L Moshier <steve@moshier.net>.
3817
3818         * sysdeps/unix/sysv/linux/init-first.c (init): Remove [! SHARED]
3819         conditional from __libc_multiple_libcs access.  Remove kludge for weak
3820         symbol access with old compilers we no longer support.
3821         * sysdeps/unix/sysv/aix/init-first.c (init): Likewise.
3822         * sysdeps/generic/libc-start.c (__libc_start_main): Likewise.
3823
3824 2002-10-25  Roland McGrath  <roland@redhat.com>
3825
3826         * sysdeps/posix/sigvec.c [SA_RESETHAND]: Disable wrapper hacks and
3827         implement SV_RESETHAND by translating it to SA_RESETHAND.
3828
3829 2002-10-23  Alexandre Oliva  <aoliva@redhat.com>
3830
3831         * elf/dl-reloc.c (_dl_reloc_bad_use): Print the full 32-bit relocation
3832         type on ELF64 platforms.
3833
3834 2002-10-24  Ulrich Drepper  <drepper@redhat.com>
3835
3836         * elf/elf.h (R_X86_64_GOTTPOFF): Renamed from r_x86_64_GOTTPOFF.
3837
3838         * elf/elf.h: Define ELF_NOTE_OS_FREEBSD and NT_TASKSTRUCT.
3839
3840 2002-10-24  Jakub Jelinek  <jakub@redhat.com>
3841
3842         * elf/dl-misc.c: Include <sysdep.h>.
3843         (_dl_debug_vdprintf): Only take dl_load_lock if not _dl_starting_up.
3844
3845         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INTERNAL_SYSCALL,
3846         INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros.
3847         (INLINE_SYSCALL): Use that.
3848         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (INTERNAL_SYSCALL,
3849         INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros.
3850         (INLINE_SYSCALL): Use that.
3851         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL,
3852         INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros.
3853         (INLINE_SYSCALL): Use that.
3854         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Include
3855         dl-sysdep.h.
3856         (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant.
3857         (__INTERNAL_SYSCALL_STRING): Define.
3858         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Include
3859         dl-sysdep.h.
3860         (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant.
3861         (__INTERNAL_SYSCALL_STRING): Define.
3862         * sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_SYSCALL): Pass
3863         __SYSCALL_STRING to inline_syscall*.
3864         (INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO):
3865         New macros.
3866         (inline_syscall0, inline_syscall1, inline_syscall2, inline_syscall3,
3867         inline_syscall4, inline_syscall5, inline_syscall6): Add string
3868         argument.
3869
3870 2002-10-24  Roland McGrath  <roland@redhat.com>
3871
3872         * sysdeps/generic/ldsodefs.h (_dl_starting_up): Declare it here.
3873         * sysdeps/unix/sysv/linux/init-first.c: Not here.
3874         * sysdeps/powerpc/elf/libc-start.c: Or here.
3875         * sysdeps/unix/sysv/aix/libc-start.c: Or here.
3876         * sysdeps/unix/sysv/aix/start-libc.c: Or here.
3877         * sysdeps/unix/sysv/aix/init-first.c: Or here.
3878         * sysdeps/generic/libc-start.c: Or here.
3879         * sysdeps/unix/sysv/linux/init-first.c (init): Protect _dl_starting_up
3880         access with [! SHARED].
3881         * sysdeps/unix/sysv/aix/init-first.c (init): Likewise.
3882
3883         * libio/bug-wfflush.c: New file.
3884         * libio/Makefile (tests): Add bug-wfflush.
3885
3886 2002-10-23  Roland McGrath  <roland@redhat.com>
3887
3888         * stdio-common/tst-fphex.c: New file.
3889         * stdio-common/Makefile (tests): Add tst-fphex.
3890         * sysdeps/generic/printf_fphex.c (__printf_fphex): Fix initialization
3891         of WNUMEND.  Fix counting of decimal point in WIDTH.  Print '0' pad
3892         chars always before the value digits.
3893         Reported by James Antill <james.antill@redhat.com>.
3894
3895 2002-10-24  Jakub Jelinek  <jakub@redhat.com>
3896
3897         * posix/regcomp.c (re_comp): Call __regfree on re_comp_buf.
3898         (free_mem): New function.
3899         * posix/Makefile (tests): Add bug-regex14.  Add bug-regex14-mem
3900         if not cross compiling.
3901         (generated): Add bug-regex14-mem and bug-regex14.mtrace.
3902         (bug-regex14-ENV): Set.
3903         (bug-regex14-mem): New target.
3904         * posix/bug-regex14.c: New file.
3905
3906 2002-10-23  Roland McGrath  <roland@redhat.com>
3907
3908         * elf/Makefile ($(objpfx)librtld.map): Use temporary file for output
3909         target, so we don't touch it when the link fails.
3910
3911         * libio/ftello.c (ftello): Use _IO_off64_t for type of POS.
3912         Check for the result overflowing off_t and fail with EOVERFLOW.
3913         * libio/ioftell.c (_IO_ftell): Likewise.
3914         * libio/iofgetpos.c (_IO_new_fgetpos): Likewise.
3915
3916         * login/logwtmp.c (logwtmp): If sizeof ut_tv != sizeof struct timeval,
3917         use a temporary timeval on the stack for gettimeofday and copy it.
3918         * login/logout.c (logout): Likewise.
3919         Reported by Steven Munroe <sjmunroe@us.ibm.com>.
3920
3921         * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs):
3922         Use __SWORD_TYPE instead of int for member types.
3923         (struct statfs64): Likewise.
3924         * sysdeps/unix/sysv/linux/alpha/bits/statfs.h: New file.
3925         * sysdeps/unix/sysv/linux/s390/bits/statfs.h: New file.
3926         * sysdeps/unix/sysv/linux/ia64/bits/statfs.h: File removed.
3927         * sysdeps/unix/sysv/linux/sparc/bits/statfs.h: File removed.
3928         * sysdeps/unix/sysv/linux/x86_64/bits/statfs.h: File removed.
3929
3930         * sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: Moved to ...
3931         * sysdeps/unix/sysv/linux/bits/statvfs.h: ... here.
3932         (ST_NODIRATIME): Restore fixed value of 2048.
3933         * sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: File removed.
3934         * sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: File removed.
3935
3936         Rearranged <bits/types.h> definitions to reduce duplication.
3937         * sysdeps/generic/bits/types.h: Rewritten, using macros from
3938         <bits/wordsize.h> and new header <bits/typesizes.h>.
3939         * posix/Makefile (headers): Add bits/typesizes.h here.
3940         * sysdeps/generic/bits/typesizes.h: New file.
3941         * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: New file.
3942         * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: New file.
3943         * sysdeps/mach/hurd/bits/typesizes.h: New file.
3944         * sysdeps/unix/sysv/linux/alpha/bits/types.h: File removed.
3945         * sysdeps/unix/sysv/linux/bits/types.h: File removed.
3946         * sysdeps/unix/sysv/linux/ia64/bits/types.h: File removed.
3947         * sysdeps/unix/sysv/linux/mips/bits/types.h: File removed.
3948         * sysdeps/unix/sysv/linux/s390/bits/types.h: File removed.
3949         * sysdeps/unix/sysv/linux/sparc/bits/types.h: File removed.
3950         * sysdeps/unix/sysv/linux/x86_64/bits/types.h: File removed.
3951         * posix/sys/types.h [__USE_POSIX199506 || __USE_UNIX98]: Include
3952         <bits/pthreadtypes.h> here, not in <bits/types.h>.
3953         * signal/signal.h: Likewise.
3954
3955         * streams/stropts.h: Include <bits/xtitypes.h>.
3956         * streams/Makefile (headers): Add bits/xtitypes.h here.
3957         * sysdeps/generic/bits/xtitypes.h: New file.
3958         * sysdeps/s390/bits/xtitypes.h: New file.
3959         * sysdeps/ia64/bits/xtitypes.h: New file.
3960         * sysdeps/x86_64/bits/xtitypes.h: New file.
3961
3962         * sysvipc/Makefile (headers): Add bits/ipctypes.h here.
3963         * sysdeps/generic/bits/ipctypes.h: New file.
3964         * sysdeps/mips/bits/ipctypes.h: New file.
3965         * sysdeps/gnu/bits/shm.h: Include <bits/ipctypes.h>.
3966         * sysdeps/gnu/bits/msq.h: Likewise.
3967         * sysvipc/sys/ipc.h: Likewise.
3968
3969 2002-10-22  Ulrich Drepper  <drepper@redhat.com>
3970
3971         * elf/dl-load.c (struct filebuf): For buf element to have the
3972         alignment of ElfXX_Ehdr since this is what will be stored in it.
3973
3974 2002-10-22  Jakub Jelinek  <jakub@redhat.com>
3975
3976         * locale/programs/locarchive.c (add_alias): Change locrec_offset arg
3977         into pointer to locrec_offset.
3978         (add_locale_to_archive): Adjust callers.  Free normalized_name right
3979         before returning, not immediately after add_locale, pass it to
3980         add_alias if not NULL instead of name.  Rename second normalized_name
3981         occurence to nnormalized_codeset_name.
3982
3983         * locale/programs/locarchive.c (enlarge_archive): Make sure
3984         string_size is always a multiple of 4.
3985         Reported by Andreas Schwab <schwab@suse.de>.
3986
3987 2002-10-21  Andreas Schwab  <schwab@suse.de>
3988
3989         * sysdeps/unix/sysv/linux/ia64/syscalls.list (s_execve): Set
3990         caller to EXTRA instead of execve, since the latter has a
3991         higher-priority implementation in linuxthreads.
3992
3993 2002-10-21  Roland McGrath  <roland@redhat.com>
3994
3995         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize the static
3996         slotinfo list's len member to the proper size, not just 1.
3997         Initialize static_map.l_tls_initimage.
3998
3999         * elf/dl-open.c (dl_open_worker): Fix loop searching for
4000         dtv_slotinfo_list element containing new modules' l_tls_modid.
4001
4002         * elf/tst-tls9.c, elf/tst-tls9-static.c: New files.
4003         * elf/tst-tlsmod5.c, elf/tst-tlsmod6.c: New files.
4004         * elf/Makefile (tests): Add tst-tls9.
4005         (tests-static): Add tst-tls9-static.
4006         (tst-tls9-static-ENV): New variable.
4007         ($(objpfx)tst-tls9-static, $(objpfx)tst-tls9-static.out): New targets.
4008
4009         * elf/dl-close.c (remove_slotinfo): Remove an assert; the number of
4010         modids used by partially loaded modules being closed can't be known.
4011
4012 2002-10-21  Isamu Hasegawa  <isamu@yamato.ibm.com>
4013
4014         * posix/Makefile: Add a test case for the bug reported by Aharon
4015         Robbins <arnold@skeeve.com>.
4016         * posix/bug-regex13.c: New file.
4017         * posix/regcomp.c (peek_token_bracket): Skip the byte already read.
4018
4019 2002-10-21  Ulrich Drepper  <drepper@redhat.com>
4020
4021         * csu/gmon-start.c: Pretty printing.
4022
4023 2002-10-19  Art Haas  <ahaas@neosoft.com>
4024
4025         * configure.in: Replace AC_CONFIG_HEADER with AC_CONFIG_HEADERS,
4026         add AC_HELP_STRING to all AC_ARG_WITH and AC_ARG_ENABLE macros,
4027         add autoconf quotes to the AC_CONFIG_AUX_DIR macro.
4028         * configure: Regenerated.
4029
4030 2002-10-19  Roland McGrath  <roland@redhat.com>
4031
4032         * configure.in: Call AC_CONFIG_SUBDIRS with empty argument
4033         and then set $subdirs directly, because the new Autoconf breaks
4034         compatibility in every way imaginable and insists on whining
4035         about usage that worked since the dawn of time.
4036         * configure: Regenerated.
4037
4038         * configure: Regenerated (using Autoconf 2.54).
4039         * sysdeps/alpha/elf/configure: Likewise.
4040         * sysdeps/generic/configure: Likewise.
4041         * sysdeps/i386/elf/configure: Likewise.
4042         * sysdeps/ia64/elf/configure: Likewise.
4043         * sysdeps/mach/hurd/configure: Likewise.
4044         * sysdeps/mach/configure: Likewise.
4045         * sysdeps/unix/configure: Likewise.
4046         * sysdeps/unix/common/configure: Likewise.
4047         * sysdeps/unix/sysv/aix/configure: Likewise.
4048         * sysdeps/unix/sysv/linux/configure: Likewise.
4049         * sysdeps/unix/sysv/linux/mips/configure: Likewise.
4050         * sysdeps/x86_64/elf/configure: Likewise.
4051
4052         * config.make.in: Nix completely-soft nonsense.
4053         * configure.in: Likewise.  Under --without-fp, use nofpu subdirectory
4054         of machine directories instead of fpu subdirectory.
4055         * sysdeps/powerpc/soft-fp/Makefile: Remove cruft added in last change.
4056         * sysdeps/powerpc/nofpu/Makefile: Put it in this new file instead.
4057         * sysdeps/powerpc/soft-fp/sim-full.c: Moved to ...
4058         * sysdeps/powerpc/nofpu/sim-full.c: ... here.
4059         * sysdeps/powerpc/soft-fp/fraiseexcpt.c: Moved to ...
4060         * sysdeps/powerpc/nofpu/fraiseexcpt.c: ... here.
4061         * sysdeps/powerpc/soft-fp/fegetexcept.c: Moved to ...
4062         * sysdeps/powerpc/nofpu/fegetexcept.c: ... here.
4063         * sysdeps/powerpc/soft-fp/fclrexcpt.c: Moved to ...
4064         * sysdeps/powerpc/nofpu/fclrexcpt.c: ... here.
4065         * sysdeps/powerpc/soft-fp/ftestexcept.c: Moved to ...
4066         * sysdeps/powerpc/nofpu/ftestexcept.c: ... here.
4067         * sysdeps/powerpc/soft-fp/fgetexcptflg.c: Moved to ...
4068         * sysdeps/powerpc/nofpu/fgetexcptflg.c: ... here.
4069         * sysdeps/powerpc/soft-fp/fsetexcptflg.c: Moved to ...
4070         * sysdeps/powerpc/nofpu/fsetexcptflg.c: ... here.
4071         * sysdeps/powerpc/soft-fp/fedisblxcpt.c: Moved to ...
4072         * sysdeps/powerpc/nofpu/fedisblxcpt.c: ... here.
4073         * sysdeps/powerpc/soft-fp/feenablxcpt.c: Moved to ...
4074         * sysdeps/powerpc/nofpu/feenablxcpt.c: ... here.
4075         * sysdeps/powerpc/soft-fp/fegetenv.c: Moved to ...
4076         * sysdeps/powerpc/nofpu/fegetenv.c: ... here.
4077         * sysdeps/powerpc/soft-fp/fesetenv.c: Moved to ...
4078         * sysdeps/powerpc/nofpu/fesetenv.c: ... here.
4079         * sysdeps/powerpc/soft-fp/fegetround.c: Moved to ...
4080         * sysdeps/powerpc/nofpu/fegetround.c: ... here.
4081         * sysdeps/powerpc/soft-fp/fesetround.c: Moved to ...
4082         * sysdeps/powerpc/nofpu/fesetround.c: ... here.
4083         * sysdeps/powerpc/soft-fp/feupdateenv.c: Moved to ...
4084         * sysdeps/powerpc/nofpu/feupdateenv.c: ... here.
4085         * sysdeps/powerpc/soft-fp/feholdexcpt.c: Moved to ...
4086         * sysdeps/powerpc/nofpu/feholdexcpt.c: ... here.
4087         * sysdeps/powerpc/soft-fp/fenv_const.c: Moved to ...
4088         * sysdeps/powerpc/nofpu/fenv_const.c: ... here.
4089         * sysdeps/powerpc/soft-fp/libm-test-ulps: Moved to ...
4090         * sysdeps/powerpc/nofpu/libm-test-ulps: ... here.
4091         * sysdeps/powerpc/soft-fp/soft-supp.h: Moved to ...
4092         * sysdeps/powerpc/nofpu/soft-supp.h: ... here.
4093         * sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Moved to ...
4094         * sysdeps/powerpc/nofpu/Versions: ... here, new file.
4095
4096 2002-10-19  Bruno Haible  <bruno@clisp.org>
4097
4098         * sysdeps/unix/bsd/bsd4.4/freebsd/sys/sysmacros.h: New file.
4099
4100 2002-10-18  Roland McGrath  <roland@redhat.com>
4101
4102         * io/Makefile (routines): Add lchmod.
4103         * io/sys/stat.h [__USE_BSD] (lchmod): Declare it.
4104         * sysdeps/generic/lchmod.c: New file.
4105         * sysdeps/mach/hurd/lchmod.c: New file.
4106         * io/Versions (libc: GLIBC_2.3.2): New set, add lchmod.
4107
4108 2002-10-18  Art Haas  <ahaas@neosoft.com>
4109
4110         * configure.in: Remove remaining AC_FD_CC macros, and replace
4111         AC_FD_MSG with AS_MESSAGE_FD.
4112
4113 2002-10-18  Roland McGrath  <roland@redhat.com>
4114
4115         * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): Fix
4116         typos: VALUE -> FINALADDR.
4117
4118         * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL, INLINE_SYSCALL1)
4119         (inline_syscall_clobbers, inline_syscall0, inline_syscall1)
4120         (inline_syscall2, inline_syscall3, inline_syscall4, inline_syscall5)
4121         (inline_syscall6): Move these macros ...
4122         * sysdeps/unix/sysv/linux/alpha/sysdep.h: ... to here.
4123
4124         * configure.in (libc_link_dests, libc_link_sources): Remove these
4125         variables and the AC_LINK_FILES call.
4126
4127         * sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Fix last
4128         change to put new symbols here instead of in GLIBC_2.2.
4129         * sysdeps/powerpc/Subdirs: Move this file ...
4130         * sysdeps/powerpc/soft-fp/Subdirs: ... here.
4131
4132 2002-10-07  Roland McGrath  <roland@redhat.com>
4133
4134         * sysdeps/generic/bits/time.h: Replaced with contents of the
4135         sysdeps/unix/sysv/linux/i386/bits/time.h file.  All the following
4136         files were identical except for the absence of CLOCK_THREAD_CPUTIME_ID
4137         and CLOCK_PROCESS_CPUTIME_ID in .../linux/bits/time.h; adding these
4138         macros is ok even for architectures that don't now implement them.
4139         * sysdeps/mach/hurd/bits/time.h: File removed.
4140         * sysdeps/unix/sysv/linux/bits/time.h: File removed.
4141         * sysdeps/unix/sysv/linux/i386/bits/time.h: File removed.
4142         * sysdeps/unix/sysv/linux/ia64/bits/time.h: File removed.
4143         * sysdeps/unix/sysv/linux/sparc/bits/time.h: File removed.
4144         * sysdeps/unix/sysv/linux/x86_64/bits/time.h: File removed.
4145
4146 2002-10-18  Jeff Bailey  <jbailey@gnu.org>
4147
4148         * configure.in: Replace obsolete AC_OUTPUT syntax with
4149         AC_CONFIG_FILES, AC_CONFIG_COMMANDS, and new-type AC_OUTPUT trio.
4150
4151         * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDEs for
4152         _AS_PATH_SEPARATOR_PREPARE and _AS_TEST_PREPARE.
4153
4154         * configure.in: Replace AC_FD_CC with AS_MESSAGE_LOG_FD.
4155         * sysdeps/alpha/elf/configure.in: Likewise.
4156         * sysdeps/i386/elf/configure.in: Likewise.
4157         * sysdeps/mach/hurd/configure.in: Likewise.
4158         * sysdeps/x86_64/elf/configure.in: Likewise.
4159
4160         * configure.in: Use AC_CONFIG_SRCDIR and new AC_INIT syntax.
4161
4162         * sysdeps/alpha/elf/configure.in: Remove unneeded sinclude statement.
4163         * sysdeps/generic/configure.in: Likewise.
4164         * sysdeps/i386/elf/configure.in: Likewise.
4165         * sysdeps/ia64/elf/configure.in: Likewise.
4166         * sysdeps/mach/configure.in: Likewise.
4167         * sysdeps/mach/hurd/configure.in: Likewise.
4168         * sysdeps/unix/configure.in: Likewise.
4169         * sysdeps/unix/common/configure.in: Likewise.
4170         * sysdeps/unix/sysv/aix/configure.in: Likewise.
4171         * sysdeps/unix/sysv/linux/configure.in: Likewise.
4172         * sysdeps/unix/sysv/linux/mips/configure.in: Likewise.
4173         * sysdeps/x86_64/elf/configure.in: Likewise.
4174
4175         * aclocal.m4: Use just the bits from AS_INIT that are needed for the
4176         GLIBC_PROVIDES.  Use plain comment instead of HEADER-COMMENT so
4177         that it's obvious when extra autoconf machinery is being dragged in.
4178
4179 2002-10-18  Roland McGrath  <roland@redhat.com>
4180
4181         * configure.in: Remove bogus echo included in
4182         2002-10-08  Aldy Hernandez  <aldyh@redhat.com> change.
4183         * configure: Regenerated.
4184
4185 2002-10-18  Jakub Jelinek  <jakub@redhat.com>
4186
4187         * sysdeps/unix/sysv/linux/pathconf.h (statfs_link_max): Add inline.
4188         (statfs_filesize_max): New function.
4189         * sysdeps/unix/sysv/linux/linux_fsinfo.h (JFFS_SUPER_MAGIC,
4190         JFFS2_SUPER_MAGIC, JFS_SUPER_MAGIC, NTFS_SUPER_MAGIC,
4191         ROMFS_SUPER_MAGIC, UDF_SUPER_MAGIC): Define.
4192         * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use
4193         statfs_filesize_max.
4194         * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
4195         * sysdeps/unix/sysv/linux/alpha/fpathconf.c: Removed.
4196         * sysdeps/unix/sysv/linux/alpha/pathconf.c: Removed.
4197
4198 2002-10-17  Roland McGrath  <roland@redhat.com>
4199
4200         * configure.in (MIG): Just AC_SUBST it here.
4201         * configure: Regenerated.
4202         * sysdeps/mach/configure.in (MIG): Do the AC_CHECK_TOOL here.
4203         Adding final - argument to all AC_CHECK_HEADER uses for .defs files.
4204         * sysdeps/mach/configure: Regenerated.
4205
4206         * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_TR_SH_PREPARE])
4207         and AC_PROVIDE([_AS_CR_PREPARE]).
4208
4209         * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_ECHO_N_PREPARE]).
4210         Remove AC_LANG(C) call, instead just define([_AC_LANG], [C]).
4211
4212         * elf/dl-support.c: Move _dl_tls_* variables to ...
4213         * sysdeps/generic/libc-tls.c: ... here.
4214
4215         * elf/dl-close.c (remove_slotinfo): Take new argument.  If false,
4216         allow IDX to be one past the current last slotinfo entry.
4217         (_dl_close): Pass IMAP->l_init_called for that parameter.
4218
4219 2002-10-07  Andreas Schwab  <schwab@suse.de>
4220
4221         * aclocal.m4: Fix for autoconf 2.53.
4222         * configure.in: Likewise.  Require autoconf 2.53.
4223
4224 2002-10-08  Richard Henderson  <rth@redhat.com>
4225
4226         * soft-fp/op-4.h: Handle carry correctly in
4227         __FP_FRAC_ADD_3, __FP_FRAC_ADD_4, __FP_FRAC_SUB_3,
4228         __FP_FRAC_SUB_4, __FP_FRAC_DEC_3, __FP_FRAC_DEC_4.
4229         * soft-fp/op-common.h: New macros _FP_DIV_MEAT_N_loop.
4230
4231 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
4232
4233         * configure.in: Compute completely-soft.
4234         * config.make.in: Make completely-soft available to sub-makes.
4235         * sysdeps/powerpc/soft-fp/Makefile: Add gcc-single-routines and
4236         gcc-double-routines.  Add sim-full.c.  Add fenv_const and
4237         fe_nomask to libm-support.
4238         * sysdeps/powerpc/soft-fp/sim-full.c: New file.
4239         * sysdeps/powerpc/soft-fp/fraiseexcpt.c: New file.
4240         * sysdeps/powerpc/soft-fp/fegetexcept.c: New file.
4241         * sysdeps/powerpc/soft-fp/fclrexcpt.c: New file.
4242         * sysdeps/powerpc/soft-fp/ftestexcept.c: New file.
4243         * sysdeps/powerpc/soft-fp/fgetexcptflg.c: New file.
4244         * sysdeps/powerpc/soft-fp/fsetexcptflg.c: New file.
4245         * sysdeps/powerpc/soft-fp/fedisblxcpt.c: New file.
4246         * sysdeps/powerpc/soft-fp/feenablxcpt.c: New file.
4247         * sysdeps/powerpc/soft-fp/fegetenv.c: New file.
4248         * sysdeps/powerpc/soft-fp/fesetenv.c: New file.
4249         * sysdeps/powerpc/soft-fp/fegetround.c: New file.
4250         * sysdeps/powerpc/soft-fp/fesetround.c: New file.
4251         * sysdeps/powerpc/soft-fp/feupdateenv.c: New file.
4252         * sysdeps/powerpc/soft-fp/feholdexcpt.c: New file.
4253         * sysdeps/powerpc/soft-fp/fenv_const.c: New file.
4254         * sysdeps/powerpc/soft-fp/libm-test-ulps: New file.
4255         * sysdeps/powerpc/soft-fp/soft-supp.h: New file.
4256         * sysdeps/powerpc/soft-fp/Versions: Add libgcc soft-float
4257         symbols.  Add __sim_disabled_exceptions, __sim_exceptions,
4258         __sim_round_mode.
4259         * sysdeps/powerpc/soft-float/Dist: Add sim-full.c, fenv_const.c.
4260         * sysdeps/powerpc/soft-float/sfp-machine.h: Define
4261         FP_HANDLE_EXCEPTIONS.
4262         Define FP_ROUNDMODE.
4263         Redefine FP_* macros to correspond to the FE_* bit positions.
4264         Define FP_DIV_MEAT_S to _FP_DIV_MEAT_1_loop.
4265         Define externs for __sim_exceptions, __sim_disabled_exceptions,
4266         __sim_round_mode, __simulate_exceptions.
4267         * sysdeps/powerpc/fpu/bits/fenv.h: Move file from here...
4268         * sysdeps/powerpc/bits/fenv.h: ...to here.
4269
4270 2002-10-06  Jakub Jelinek  <jakub@redhat.com>
4271
4272         * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela):
4273         Store R_PPC_UADDR32 and R_PPC_UADDR16 one byte at a time.
4274         Use __builtin_expect for R_PPC_ADDR24 overflow check.  Fix
4275         R_PPC_ADDR16, R_PPC_UADDR16 and R_PPC_ADDR14* overflow check, use
4276         __builtin_expect.
4277
4278 2002-10-15  Jakub Jelinek  <jakub@redhat.com>
4279
4280         * include/resolv.h (__libc_res_nquery, __libc_res_nsearch,
4281         __libc_res_nsend): New prototypes.
4282         * resolv/res_query.c (QUERYSIZE): Define.
4283         (__libc_res_nquery): Renamed from res_nquery.  Added answerp
4284         argument.  Allocate only QUERYSIZE bytes first, if res_nmkquery
4285         fails use MAXPACKET buffer.  Call __libc_res_nsend instead of
4286         res_nsend, pass answerp.
4287         (res_nquery): Changed into wrapper around __libc_res_nquery.
4288         (__libc_res_nsearch): Renamed from res_nsearch.  Added answerp
4289         argument.  Call __libc_res_nquerydomain and __libc_res_nquery
4290         instead of the non-__libc_ variants, pass them answerp.
4291         (res_nsearch): Changed into wrapper around __libc_res_nsearch.
4292         (__libc_res_nquerydomain): Renamed from res_nquerydomain.
4293         Added answerp argument.  Call __libc_res_nquery instead of
4294         res_nquery, pass answerp.
4295         (res_nquerydomain): Changed into wrapper around
4296         __libc_res_nquerydomain.
4297         * resolv/res_send.c: Include sys/ioctl.h.
4298         (MAXPACKET): Define.
4299         (send_vc): Change arguments.  Reallocate answer buffer if it is
4300         too small.
4301         (send_dg): Likewise.
4302         (__libc_res_nsend): Renamed from res_nsend.  Added ansp argument.
4303         Reallocate answer buffer if it is too small and hooks are in use.
4304         Adjust calls to send_vc and send_dg.
4305         (res_nsend): Changed into wrapper around __libc_res_nsend.
4306         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Allocate
4307         just 1K answer buffer on the stack, use __libc_res_nsearch instead
4308         of res_nsearch.
4309         (_nss_dns_gethostbyaddr_r): Similarly with __libc_res_nquery.
4310         * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise.
4311         (_nss_dns_getnetbyname_r): Similarly with __libc_res_nsearch.
4312         * resolv/gethnamaddr.c (gethostbyname2): Likewise.
4313         (gethostbyaddr): Similarly with __libc_res_nquery.
4314         * resolv/Versions (libresolv): Export __libc_res_nquery and
4315         __libc_res_nsearch at GLIBC_PRIVATE.
4316
4317 2002-10-17  Roland McGrath  <roland@redhat.com>
4318
4319         * configure.in: Grok --without-__thread and disable HAVE___THREAD.
4320         * configure: Regenerated.
4321
4322         * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Do CHECK_STATIC_TLS
4323         before performing the reloc, not after.
4324         * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
4325
4326 2002-10-17  Ulrich Drepper  <drepper@redhat.com>
4327
4328         * locale/programs/locale.c (write_locales): Use 'm' flag in fopen call.
4329         * locale/programs/linereader.c (lr_open): Likewise.
4330         * locale/programs/charmap-dir.c (charmap_open): Likewise.
4331         * locale/programs/locarchive.c (add_locale_to_archive): Likewise.
4332
4333 2002-10-17  Isamu Hasegawa  <isamu@yamato.ibm.com>
4334
4335         * posix/bug-regex11.c: Add a test case for the bug reported by
4336         Paolo Bonzini <bonzini@gnu.org>.
4337         * posix/regexec.c (sift_states_bkref): Use correct destination of
4338         the back reference.
4339
4340 2002-10-17  Roland McGrath  <roland@redhat.com>
4341
4342         * elf/dl-load.c (_dl_map_object_from_fd): Don't check DF_STATIC_TLS.
4343         * elf/dl-reloc.c (_dl_relocate_object: CHECK_STATIC_TLS): New macro
4344         to signal error if an IE-model TLS reloc resolved to a dlopen'd module.
4345         * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
4346         Call it after performing TPOFF relocs.
4347         * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
4348         * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
4349         * elf/dl-conflict.c (CHECK_STATIC_TLS): New macro (no-op).
4350
4351         * elf/dl-close.c (remove_slotinfo): Change asserts so as not to crash
4352         when closing a partially-initialized object.
4353
4354         * elf/dl-load.c (_dl_map_object_from_fd) [! USE_TLS]: Call lose
4355         instead of _dl_fatal_printf when we see PT_TLS.
4356
4357         * Makeconfig (CPPFLAGS): Fix last change to use $(libof-$(<F))
4358         instead of $(libof-$<).
4359
4360 2002-10-16  Roland McGrath  <roland@redhat.com>
4361
4362         * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed.
4363         instead of += to append, to be sure $(lib) gets expanded at defn time.
4364         (libof-$(cpp-src)): New variable, define this instead.
4365         * extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup.
4366         (lib): Don't use override.
4367         (CPPFLAGS-$(lib)): New variable, put -D's here.
4368         * Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename.
4369         Also add $(CPPFLAGS-LIB) before the file-specific flags, for each
4370         LIB found by $(libof-*) for basename, target, or source.
4371         * Makerules (CPPFLAGS-nonlib): New variable.
4372         * nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk.
4373         * locale/Makefile (lib): Likewise.
4374         * sunrpc/Makefile (lib): Likewise.
4375
4376         * sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ...
4377         * sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here.
4378         * sysdeps/unix/sysv/linux/pathconf.h: New file.
4379         (statfs_link_max): New function, guts from fpathconf.c.
4380         * sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that.
4381         * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
4382         * sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten
4383         to use the linux/pathconf.c code by #include rather than duplication.
4384         * sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise.
4385
4386 2002-10-16  Jakub Jelinek  <jakub@redhat.com>
4387
4388         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
4389         Use __libc_errno only for libc itself.
4390
4391 2002-10-16  Andreas Jaeger  <aj@suse.de>
4392
4393         * sysdeps/x86_64/_mcount.S: Fix off-by-1 error in argument access.
4394
4395 2002-10-16  Ulrich Drepper  <drepper@redhat.com>
4396
4397         * sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
4398         Use __libc_errno only for libc itself.
4399
4400 2002-10-15  Roland McGrath  <roland@redhat.com>
4401             Jakub Jelinek  <jakub@redhat.com>
4402
4403         * sysdeps/unix/sysv/linux/Makefile
4404         ($(objpfx)syscall-%.h $(objpfx)syscall-%.d): Take code from
4405         sparc/Makefile to produce a bi-arch file as needed.
4406         That's now parameterized by the variable $(64bit-predefine).
4407         Use LC_ALL=C for `comm' commands in that rule.
4408         No longer conditional on [$(no_syscall_list_h)].
4409         * sysdeps/unix/sysv/linux/sparc/Makefile: Remove replacement rules.
4410         (64bit-predefine): New variable.
4411         * sysdeps/unix/sysv/linux/x86_64/Makefile: Likewise.
4412         * sysdeps/unix/sysv/linux/s390/Makefile: New file.
4413         * sysdeps/unix/sysv/linux/powerpc/Makefile
4414         (64bit-predefine): New variable.
4415
4416 2002-10-15  Roland McGrath  <roland@redhat.com>
4417
4418         * sysdeps/unix/sysv/linux/Makefile
4419         ($(objpfx)syscall-%.h $(objpfx)syscall-%.d)
4420
4421         * login/utmp-private.h: Declare __libc_utmp_lock.
4422         * sysdeps/unix/getlogin_r.c (getlogin_r): Take __libc_utmp_lock once
4423         and call __libc_utmp_jump_table functions directly, instead of using
4424         __setutent et al.
4425
4426         * sysdeps/unix/sysv/linux/configure.in: Use case instead of if.
4427         * sysdeps/unix/sysv/linux/configure: Regenerated.
4428
4429         * sysdeps/gnu/bits/utmp.h: Include <bits/wordsize.h>.
4430         (struct lastlog) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]:
4431         Use int32_t for ll_time.
4432         (struct utmp) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]:
4433         Use int32_t instead of long int for ut_session.
4434         Use an anonymous struct with 32-bit fields for ut_tv.
4435         * sysdeps/gnu/bits/utmpx.h: Include <bits/wordsize.h>.
4436         (struct utmpx) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]: Do the same
4437         here as in utmp.h for `struct utmp'.
4438         * sysdeps/unix/sysv/linux/powerpc/bits/utmp.h: File removed.
4439         * sysdeps/unix/sysv/linux/powerpc/bits/utmpx.h: File removed.
4440         * sysdeps/unix/sysv/linux/sparc/bits/utmp.h: File removed.
4441         * sysdeps/unix/sysv/linux/sparc/bits/utmpx.h: File removed.
4442         * sysdeps/unix/sysv/linux/x86_64/bits/utmp.h: File removed.
4443         * sysdeps/unix/sysv/linux/x86_64/bits/utmpx.h: File removed.
4444
4445         * sysdeps/unix/sysv/linux/bits/resource.h: Replaced with the contents
4446         of the sysdeps/unix/sysv/linux/i386/bits/resource.h file.
4447         All the following files were identical or equivalent to it.
4448         * sysdeps/unix/sysv/linux/i386/bits/resource.h: File removed.
4449         * sysdeps/unix/sysv/linux/arm/bits/resource.h: File removed.
4450         * sysdeps/unix/sysv/linux/cris/bits/resource.h: File removed.
4451         * sysdeps/unix/sysv/linux/hppa/bits/resource.h: File removed.
4452         * sysdeps/unix/sysv/linux/ia64/bits/resource.h: File removed.
4453         * sysdeps/unix/sysv/linux/m68k/bits/resource.h: File removed.
4454         * sysdeps/unix/sysv/linux/powerpc/bits/resource.h: File removed.
4455         * sysdeps/unix/sysv/linux/s390/bits/resource.h: File removed.
4456         * sysdeps/unix/sysv/linux/sh/bits/resource.h: File removed.
4457         * sysdeps/unix/sysv/linux/x86_64/bits/resource.h: File removed.
4458
4459         * sysdeps/unix/sysv/linux/bits/socket.h (struct msghdr): Use size_t
4460         instead of int for msg_iovlen, instead of socklen_t for msg_controllen.
4461         Other than the previously incorrect sign of msg_iovlen, this is a
4462         no-op on 32-bit platforms.  On 64-bit platforms it makes this header
4463         match their layouts as well, so the following are now identical to it.
4464         * sysdeps/unix/sysv/linux/s390/bits/socket.h: File removed.
4465         * sysdeps/unix/sysv/linux/sparc/bits/socket.h: File removed.
4466         * sysdeps/unix/sysv/linux/x86_64/bits/socket.h: File removed.
4467         * sysdeps/unix/sysv/linux/ia64/bits/socket.h: File removed.
4468         * sysdeps/unix/sysv/linux/alpha/bits/socket.h: File removed.
4469
4470 2002-10-15  Ulrich Drepper  <drepper@redhat.com>
4471
4472         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL):
4473         Define for 2.4+ kernels.
4474
4475         * sysdeps/unix/sysv/linux/i386/vfork.S: Optimize for kernels which
4476         are known to have the vfork syscall.  Don't confuse the CPUs
4477         branch prediction unit by jumping to the return address.
4478
4479         * sysdeps/unix/sysv/linux/alpha/fpathconf.c (__fpathconf): Add
4480         support for reiserfs and xfs.
4481
4482         * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Add case for
4483         XFS link count.
4484         * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define XFS_SUPER_MAGIC
4485         and XFS_LINK_MAX.
4486         Patch by Eric Sandeen <sandeen@sgi.com> [PR libc/4706].
4487
4488 2002-10-16  Jakub Jelinek  <jakub@redhat.com>
4489
4490         * include/libc-symbols.h (attribute_tls_model_ie): Define.
4491         * include/errno.h (errno): Define to __libc_errno in libc.so.
4492         Add attribute_tls_model_ie.
4493         * include/netdb.h (h_errno): Define to __libc_h_errno in libc.so.
4494         Add attribute_tls_model_ie.
4495         * include/resolv.h (_res): Define to __libc_res in libc.so.  Add
4496         attribute_tls_model_ie.
4497         * inet/herrno.c (__libc_h_errno): Add hidden alias to h_errno.
4498         (h_errno): Define.
4499         * resolv/res_libc.c (__libc_res): Add hidden alias to _res.
4500         (_res): Define.
4501         * sysdeps/generic/bits/libc-tsd.h (__libc_tsd_define): Add
4502         attribute_tls_model_ie.
4503         * sysdeps/generic/errno-loc.c (errno): Only undefine if not using
4504         __thread.
4505         * sysdeps/generic/errno.c (__libc_errno): Add hidden alias to errno.
4506         * sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER): Use
4507         __libc_errno in USE___THREAD case.
4508         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
4509         Likewise.
4510         * configure.in (HAVE_TLS_MODEL_ATTRIBUTE): Check for
4511         __attribute__((tls_model (""))).
4512         * configure: Rebuilt.
4513         * config.h.in (HAVE_TLS_MODEL_ATTRIBUTE): Add.
4514
4515 2002-10-15  Ulrich Drepper  <drepper@redhat.com>
4516
4517         * timezone/asia: Update from tzdata2002d.
4518         * timezone/australasia: Likewise.
4519         * timezone/iso3166.tab: Likewise.
4520         * timezone/southamerica: Likewise.
4521         * timezone/zone-tab: Likewise.
4522
4523 2002-10-15  Roland McGrath  <roland@redhat.com>
4524
4525         * sysdeps/generic/dl-tls.c (_dl_deallocate_tls) [TLS_TCB_AT_TP]:
4526         Adjust TCB pointer before calling free, so we get the whole block.
4527
4528 2002-10-14  Roland McGrath  <roland@redhat.com>
4529
4530         * sysdeps/unix/sysv/linux/x86_64/sigaction.c
4531         [HAVE_HIDDEN && !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]: Declare restore_rt
4532         extern using attribute_hidden instead of static, avoids warning.
4533
4534 2002-10-09  Jakub Jelinek  <jakub@redhat.com>
4535
4536         * sysdeps/unix/sysv/linux/configure.in: Use */lib64 for s390x too.
4537         * sysdeps/unix/sysv/linux/configure: Rebuilt.
4538
4539 2002-10-14  Ulrich Drepper  <drepper@redhat.com>
4540
4541         * po/sv.po: Update from translation team.
4542
4543 2002-10-12  H.J. Lu  <hjl@gnu.org>
4544
4545         * sunrpc/thrsvc.c (PROCQUIT): New.
4546         (struct rpc_arg): New.
4547         (dispatch): Call exit (0) if request->rq_proc == PROCQUIT.
4548         (test_one_call): Take struct rpc_arg * instead of CLIENT *c.
4549         (thread_wrapper): Modified for struct rpc_arg * and call PROCQUIT.
4550         (main): Modified for struct rpc_arg *.
4551
4552 2002-10-14  Ulrich Drepper  <drepper@redhat.com>
4553
4554         * dirent/scandir.c: Rearrange code a bit to reduce binary size.
4555
4556 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
4557
4558         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Include tls.h.
4559         (SYSCALL_ERROR_HANDLER): Use RTLD_PRIVATE_ERRNO sequence
4560         in ld.so even if __thread is supported.
4561
4562 2002-10-13  Jakub Jelinek  <jakub@redhat.com>
4563
4564         * sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter):
4565         Add hack to prevent the compiler from clobbering the signal context.
4566         * sysdeps/unix/sysv/linux/sh/profil-counter.h (profil_counter):
4567         Likewise.
4568         * sysdeps/unix/sysv/linux/x86_64/profil-counter.h (profil_counter):
4569         Likewise.
4570
4571 2002-10-14  Andreas Jaeger  <aj@suse.de>
4572
4573         * sysdeps/mips/fpu/libm-test-ulps: Regenerated by
4574         Guido Guenther <agx@sigxcpu.org>.
4575
4576 2002-10-14  Ulrich Drepper  <drepper@redhat.com>
4577
4578         * po/sk.po: Update from translation team.
4579
4580 2002-09-26  Roland McGrath  <roland@redhat.com>
4581
4582         * elf/dl-load.c (_dl_dst_count, _dl_dst_substitute): Handle $LIB
4583         dynamic string tag.
4584         * elf/Makefile ($(objpfx)trusted-dirs.st): Make the output define
4585         DL_DST_LIB based on $(slibdir).
4586
4587 2002-10-13  Roland McGrath  <roland@frob.com>
4588
4589         * elf/rtld-Rules ($(objpfx)rtld-libc.a): Use $(verbose) in ar command.
4590
4591         * sysdeps/mach/hurd/getresuid.c: New file.
4592         * sysdeps/mach/hurd/getresgid.c: New file.
4593         * sysdeps/mach/hurd/setresuid.c: New file.
4594         * sysdeps/mach/hurd/setresgid.c: New file.
4595
4596         * posix/unistd.h [__USE_GNU] (getresuid, getresgid, setresuid,
4597         setresgid): Declare them.
4598         * NEWS: Mention it.
4599         * include/unistd.h
4600         (__getresuid, __getresgid, __setresuid, __setresgid): Declare them,
4601         add libc_hidden_proto.
4602         * posix/Versions (libc: GLIBC_2.3.2): New set.  Add
4603         getresuid, getresgid, setresuid, setresgid here.
4604         * Versions.def (libc): Define GLIBC_2.3.2 set.
4605         * sysdeps/generic/getresuid.c (__getresuid): Fix argument types.
4606         Add libc_hidden_def.
4607         * sysdeps/generic/getresgid.c (__getresgid): Likewise.
4608         * sysdeps/generic/setresgid.c: New file.
4609         * sysdeps/generic/setresuid.c: New file.
4610         * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
4611         (sysdep_routines): Don't add getresuid and getresgid here.
4612         * sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = misc]
4613         (sysdep_routines): Don't add setresuid and setresgid here.
4614         * sysdeps/unix/sysv/linux/cris/Makefile: Likewise.
4615         * sysdeps/unix/sysv/linux/sh/Makefile: Likewise.
4616         * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
4617         * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise.
4618         * sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
4619         * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
4620         * posix/Makefile (routines): Add them all here instead.
4621         * sysdeps/unix/sysv/linux/i386/getresuid.c (getresuid): Renamed to
4622         __getresuid.  Add libc_hidden_def for that, and weak alias to old name.
4623         * sysdeps/unix/sysv/linux/i386/getresgid.c (getresgid): Renamed to
4624         __getresgid.  Add libc_hidden_def for that, and weak alias to old name.
4625         * sysdeps/unix/sysv/linux/i386/setresuid.c: Add libc_hidden_def.
4626         [! __NR_setresuid]: Include generic file.
4627         * sysdeps/unix/sysv/linux/i386/setresgid.c (setresgid): Renamed to
4628         __setresgid.  Add libc_hidden_def for that, and weak alias to old name.
4629         [! __NR_setresuid]: Include generic file.
4630         * sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid):
4631         Caller is - now, not EXTRA.
4632         * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
4633         (setresuid, setresgid, getresuid, getresgid): Likewise.
4634         * sysdeps/unix/sysv/linux/syscalls.list (getresuid, getresgid):
4635         Add these calls here.
4636         * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove them here.
4637         * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
4638         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
4639         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
4640         * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
4641         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise.
4642         * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
4643         * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
4644         * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
4645
4646         * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
4647         (sysdep_routines): Add setfsuid and setfsgid here.
4648         * sysdeps/unix/sysv/linux/arm/Makefile: Not here.
4649         * sysdeps/unix/sysv/linux/sparc/sparc32/Makefile: Likewise.
4650         * sysdeps/unix/sysv/linux/cris/Makefile: Likewise.
4651         * sysdeps/unix/sysv/linux/sh/Makefile: Likewise.
4652         * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
4653         * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise.
4654         * sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
4655         * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
4656
4657         * hurd/errno.c: Renamed to ...
4658         * hurd/errno-loc.c: ... this.
4659         * hurd/Makefile (routines): errno -> errno-loc
4660
4661 2002-10-13  Ulrich Drepper  <drepper@redhat.com>
4662
4663         * po/de.po: Update from translation team.
4664
4665         * MakeTAGS: Add -E flag to xgettext runs.
4666
4667 2002-10-12  Ulrich Drepper  <drepper@redhat.com>
4668
4669         * po/fr.po: Update from translation team.
4670
4671         * sysdeps/posix/system.c: Remove support for old and buggy SCO systems.
4672         Optimize a bit for use in glibc.
4673
4674 2002-10-12  Roland McGrath  <roland@redhat.com>
4675
4676         * stdio-common/tst-rndseek.c (TIMEOUT): Increase to 10 seconds.
4677         Some machines are slow.  Guido Guenther <agx@sigxcpu.org> has one.
4678
4679 2002-10-12  Ulrich Drepper  <drepper@redhat.com>
4680
4681         * po/sv.po: Update from translation team.
4682
4683 2002-10-11  Isamu Hasegawa  <isamu@yamato.ibm.com>
4684
4685         * posix/regcomp.c (re_compile_fastmap_iter): Remove the handling
4686         OP_CONTEXT_NODE.
4687         (regfree): Likewise.
4688         (create_initial_state): Likewise.
4689         (analyze): Remove the substitutions which became useless.
4690         (calc_first): Likewise.
4691         (calc_epsdest): Use edests of OP_BACK_REF in case that it has
4692         epsilon destination.
4693         (duplicate_node_closure): New function.
4694         (duplicate_node): Remove the handling OP_CONTEXT_NODE.
4695         (calc_inveclosure): Likewise.
4696         (calc_eclosure): Likewise.
4697         (calc_eclosure_iter): Invoke duplicate_node_closure instead of
4698         direct invocation of duplicate_node.
4699         (parse): Don't use comma operator in the return to avoid compiler
4700         warning.
4701         (parse_reg_exp): Likewise.
4702         (parse_branch): Likewise.
4703         (parse_expression): Likewise.
4704         (parse_sub_exp): Likewise.
4705         (parse_dup_op): Likewise.
4706         * posix/regex_internal.c (re_dfa_add_node): Remove the substitutions
4707         which became useless.
4708         (create_ci_newstate): Remove the handling OP_CONTEXT_NODE.
4709         (create_cd_newstate): Likewise.
4710         * posix/regex_internal.h (re_token_type_t): Remove the obsolete type.
4711         (re_token_t): Likewise.
4712         (re_dfa_t): Likewise.
4713         (re_node_set_remove): New macro.
4714         * posix/regexec.c (check_matching): Remove the handling
4715         OP_CONTEXT_NODE.
4716         (check_halt_node_context): Likewise.
4717         (proceed_next_node): Likewise.
4718         (pop_fail_stack): Fix the memory leak.
4719         (set_regs): Likewise.
4720         (free_fail_stack_return): New function.
4721         (sift_states_backward): Fix the memory leak.  Remove the handling
4722         OP_CONTEXT_NODE.
4723         (update_cur_sifted_state): Append some if clause to avoid redundant
4724         call.
4725         (sub_epsilon_src_nodes): Use IS_EPSILON_NODE since it might be a
4726         back reference.
4727         (check_dst_limits): Remove the handling OP_CONTEXT_NODE.
4728         (check_subexp_limits): Likewise.
4729         (search_subexp): Likewise.
4730         (sift_states_bkref): Likewise.
4731         (transit_state_mb): Likewise.
4732         (transit_state_bkref_loop): Likewise.
4733         (transit_state_bkref_loop): Likewise.
4734         (group_nodes_into_DFAstates): Likewise.
4735         (check_node_accept): Likewise.
4736         (sift_ctx_init): Add initializing.
4737
4738 2002-10-12  Ulrich Drepper  <drepper@redhat.com>
4739
4740         * sysdeps/unix/sysv/linux/i386/sysdep.h (INLINE_SYSCALL): Use
4741         __builtin_expect.
4742
4743 2002-10-11  Ulrich Drepper  <drepper@redhat.com>
4744
4745         * elf/dl-load.c (_dl_map_object_from_fd): Remove unnecessarily
4746         duplicated variable c.
4747
4748         * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use INTERNAL_SYSCALL
4749         if possible.
4750
4751         * sysdeps/unix/sysv/linux/i386/sysdep.h
4752         (INTERNAL_SYSCALL_ERROR_P): New define.
4753         (INTERNAL_SYSCALL_ERRNO): Likewise.
4754
4755         * sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter):
4756         Add hack to prevent the compiler from clobbering the signal context.
4757
4758 2002-10-11  Roland McGrath  <roland@redhat.com>
4759
4760         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
4761         Fix typos.
4762
4763         * sysdeps/generic/dl-lookupcfg.h: Include <tls.h>.
4764         * sysdeps/sh/dl-lookupcfg.h: File removed.
4765         * sysdeps/i386/dl-lookupcfg.h: File removed.
4766
4767         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Add
4768         missing labels and ; from last change.
4769
4770         * stdio-common/tst-sscanf.c (val_double): Append .0 to large whole
4771         number literals, so they are doubles instead of ints.
4772
4773 2002-10-09  Roland McGrath  <roland@redhat.com>
4774
4775         * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional
4776         changed from [USE_TLS && HAVE___THREAD].
4777
4778         * sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel):
4779         Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD].
4780         * sysdeps/x86_64/dl-machine.h
4781         (elf_machine_type_class, elf_machine_rela): Likewise.
4782         * sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela):
4783         Likewise.
4784
4785         * include/link.h (struct link_map): Remove member l_tls_tp_initialized.
4786         * elf/rtld.c (_dl_start_final, dl_main): Don't use it.
4787         (_dl_start): Conditionalize PT_TLS check on [USE___THREAD].
4788
4789         * sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal
4790         instead of ___tls_get_addr.
4791         (___tls_get_addr_internal): Add attribute_hidden to decl.
4792
4793         * sysdeps/generic/ldsodefs.h (struct rtld_global): New variable
4794         _dl_error_catch_tsd.
4795         * elf/rtld.c (startup_error_tsd): New function.
4796         (dl_main): Point _dl_error_catch_tsd at that.
4797         * elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR,
4798         use new function pointer instead.
4799         * elf/dl-tsd.c: New file.
4800         * elf/Makefile (routines): Add it.
4801
4802 2002-10-07  Roland McGrath  <roland@redhat.com>
4803
4804         * elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for
4805         writev if it's available.  Otherwise if [RTLD_PRIVATE_ERRNO] then
4806         take _dl_load_lock around calling __writev.
4807
4808         * sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro.
4809         (INLINE_SYSCALL): Use that.
4810
4811         * sysdeps/generic/dl-sysdep.h: New file.
4812         * sysdeps/mach/hurd/dl-sysdep.h: New file.
4813         * sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>.
4814         * include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ...
4815         [RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and
4816         access it directly.
4817         * elf/dl-minimal.c (__errno_location): Removed.
4818         * sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
4819         Use GOTOFF access for errno.
4820         * sysdeps/unix/sysv/linux/i386/sysdep.h
4821         [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
4822
4823         * sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
4824         Use PC-relative access for errno.
4825         * sysdeps/unix/sysv/linux/x86_64/sysdep.h
4826         [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
4827
4828         * include/tls.h: New file.
4829         (USE___THREAD): New macro.
4830         Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling
4831         libc or libpthread.
4832         * sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional
4833         changed from [USE_TLS && HAVE___THREAD].
4834         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
4835         * sysdeps/unix/i386/sysdep.S: Likewise.
4836         * sysdeps/unix/x86_64/sysdep.S: Likewise.
4837         * include/errno.h: Likewise.
4838         * include/netdb.h: Likewise.
4839         * include/resolv.h: Likewise.
4840
4841         * sysdeps/generic/errno.c: New file.
4842         * csu/Makefile (aux): New variable, list errno.
4843         * sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
4844         * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
4845         * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
4846         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
4847         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
4848         * sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
4849         * sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
4850         * sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
4851         * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
4852         * sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
4853         * sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
4854         * sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
4855         * sysdeps/unix/alpha/sysdep.S: Likewise.
4856         * sysdeps/generic/start.c: Likewise.
4857         * sysdeps/unix/start.c: Likewise.
4858         * sysdeps/unix/arm/start.c: Likewise.
4859         * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
4860         * sysdeps/unix/sparc/start.c: Likewise.
4861         * sysdeps/unix/sysv/irix4/start.c: Likewise.
4862         * sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.
4863
4864         * manual/search.texi (Tree Search Function, Hash Search Function):
4865         Mention search.h clearly.
4866
4867 2002-10-05  Roland McGrath  <roland@redhat.com>
4868
4869         * elf/dl-fxstat64.c: File removed.
4870         * elf/dl-xstat64.c: File removed.
4871         * elf/Makefile (rtld-routines): Remove them.
4872         * sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals.
4873         Instead, use strong_alias instead of versioned_symbol in the
4874         !SHLIB_COMPAT case.
4875         * sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
4876         * sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
4877
4878         * include/shlib-compat.h
4879         (SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero.
4880         [! NOT_IN_libc] (IS_IN_libc): Define it.
4881         * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx.
4882         * elf/Makefile (CPPFLAGS-.os): Likewise.
4883
4884         * sunrpc/rpc_main.c (main): Don't declare with noreturn attribute.
4885         Return the status instead of calling exit.
4886
4887         * Makeconfig (CFLAGS): Prepend -std=gnu99.
4888         * Makerules (+make-deps): Use $(CFLAGS) only for .c sources.
4889         Remove superfluous rm command, whose @ plus make bugs hid
4890         all these commands from the make output.
4891
4892         * include/stubs-prologue.h: New file.  Give #error under #ifdef _LIBC.
4893         * Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
4894         Use that file's contents instead of literal echo's for the prologue.
4895         * include/features.h: Include <gnu/stubs.h> unconditionally.
4896         * include/gnu/stubs.h: New file.
4897
4898 2002-09-30  Roland McGrath  <roland@redhat.com>
4899
4900         * elf/rtld-Rules: New file.
4901         * elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk,
4902         $(objpfx)rtld-libc.a): New targets.
4903         (generated): Add them.
4904         (reloc-link): Remove -o $@ from the variable.
4905         ($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link).
4906         (distribute): Add rtld-Rules.
4907         (CPPFLAGS-.os): Define this instead of CFLAGS-.os.
4908         * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets.
4909         (common-mostlyclean, common-clean): Clean up rtld-* files.
4910         * sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
4911
4912 2002-10-11  Roland McGrath  <roland@redhat.com>
4913
4914         * sysdeps/generic/dl-tls.c (__tls_get_addr): After freeing block in
4915         now-unused dtv slot, reset the slot to TLS_DTV_UNALLOCATED.
4916
4917         * elf/tls-macros.h [__x86_64__] (TLS_GD): Fix the sequence with the
4918         proper set of no-op insn prefixes.
4919
4920         * elf/tst-tls8.c (do_test): Use %zd format for l_tls_modid members.
4921
4922 2002-10-11  Ulrich Drepper  <drepper@redhat.com>
4923
4924         * sysdeps/unix/sysv/linux/execve.c: Don't try calling
4925         __pthread_kill_other_threads_np.
4926
4927         * sysdeps/generic/pselect.c: Avoid unnecessary sigprocmask calls.
4928
4929 2002-10-08  Roland McGrath  <roland@redhat.com>
4930
4931         * locale/newlocale.c (__newlocale): If setting all categories to "C",
4932         just return &_nl_C_locobj instead of copying it.
4933         * locale/freelocale.c (__freelocale): Check for &_nl_C_locobj.
4934         * locale/duplocale.c (__duplocale): Likewise.
4935
4936 2002-10-07  Roland McGrath  <roland@frob.com>
4937
4938         * config.h.in (HAVE_I386_SET_GDT): New #undef.
4939         * sysdeps/mach/configure.in: Define it with new check for i386_set_gdt.
4940         * sysdeps/mach/configure: Regenerated.
4941
4942 2002-10-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4943
4944         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
4945         Add all necessary register outputs for syscall-clobbered registers.
4946
4947 2002-10-02  David Mosberger  <davidm@hpl.hp.com>
4948
4949         * sysdeps/ia64/bzero.S: Rewritten by Sverre Jarp to tune for
4950         Itanium 2 (and Itanium).
4951         Fix unwind directives and make it fit in 80 columns.
4952         * sysdeps/ia64/memset.S: Likewise.
4953         * sysdeps/ia64/memcpy.S: Likewise.
4954         Move jump table to .rodata section.
4955
4956 2002-10-03  Roland McGrath  <roland@frob.com>
4957
4958         * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Add
4959         clobbers to asm.
4960
4961 2002-10-10  Andreas Jaeger  <aj@suse.de>
4962
4963         * sysdeps/x86_64/_mcount.S: Restore correct registers.
4964
4965 2002-10-10  Ulrich Drepper  <drepper@redhat.com>
4966
4967         * posix/Versions (libc) [GLIBC_PRIVATE]: Add __pselect.
4968
4969 2002-10-09  Ulrich Drepper  <drepper@redhat.com>
4970
4971         * sysdeps/generic/ldsodefs.h: Remove attribute_hidden from
4972         _dl_allocate_tls_init.  Add rtld_hidden_proto.
4973         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add
4974         rtld_hidden_def.
4975         * elf/Versions (ld) [GLIBC_PRIVATE]: Add _dl_allocate_tls_init.
4976
4977         * version.h (VERSION): Bump to 2.3.1.
4978
4979         * Make-dist: Add back one of the tar invocations removed before.
4980
4981         * stdlib/Makefile (distribute): Add allocalim.h.
4982
4983         * sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)]
4984         (__libc_tsd_address): Use correct variable name.
4985         Patch by Stefan Jones <stefan.jones@multigig.com>.
4986
4987         * sysdeps/unix/sysv/linux/ia64/getcontext.S: Add missing ;;.
4988         Reported by edwardsg@sgi.com [PR libc/4678].
4989
4990         * Versions.def (libc): Add GLIBC_2.3.1.
4991         (libpthread): Add GLIBC_2.3.1.
4992
4993         * include/signal.h: Add libc_hidden_proto for __sigwait, __sigwaitinfo,
4994         and __sigtimedwait.
4995         * signal/Versions: Add __sigtimedwait, __sigwait, and __sigwaitinfo.
4996         * sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Add
4997         libc_hidden_def.
4998         * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Likewise.
4999         * sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise.
5000
5001         * include/sys/msg.h: Declare __libc_msgrcv and __libc_msgsnd.
5002         * sysdeps/unix/sysv/linux/msgrcv.c (__msgrcv): Rename to __libc_msgrcv
5003         and make old name an alias.
5004         * sysdeps/unix/sysv/linux/msgsnd.c (__msgsnd): Rename to __libc_msgsnd
5005         and make old name an alias.
5006         * sysvipc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_msgrcv and
5007         __libc_msgsnd.
5008
5009         * include/sys/uio.h: Declare __libc_readv and __libc_writev.
5010         * misc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_readv and
5011         __libc_writev.
5012         * sysdeps/generic/readv.c (__readv): Rename to __libc_readv and make
5013         old name an alias.
5014         * sysdeps/posix/readv.c: Likewise
5015         * sysdeps/unix/sysv/aix/readv.c: Likewise.
5016         * sysdeps/unix/sysv/linux/readv.c: Likewise.
5017         * sysdeps/generic/writev.c (__writev): Rename to __libc_writev and make
5018         old name an alias.
5019         * sysdeps/posix/writev.c: Likewise
5020         * sysdeps/unix/sysv/aix/writev.c: Likewise.
5021         * sysdeps/unix/sysv/linux/writev.c: Likewise.
5022
5023         * include/sys/wait.h: Declare __waitid.
5024         * posix/Versions (libc) [GLIBC_PRIVATE]: Add __waitid.
5025         * sysdeps/generic/waitid.c (waitid): Rename to __waitid and make old
5026         name an alias.
5027         * sysdeps/posix/waitid.c: Likewise.
5028         * sysdeps/unix/sysv/aix/waitid.c: Likewise.
5029
5030         * sysdeps/unix/sysv/linux/syscalls.list: Add creat syscall.
5031
5032 2002-10-07  Jakub Jelinek  <jakub@redhat.com>
5033
5034         * include/alloca.h (__libc_use_alloca, __libc_alloca_cutoff): New
5035         prototypes.
5036         (__MAX_ALLOCA_CUTOFF): Define.
5037         Include allocalim.h.
5038         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
5039         _nss_dns_gethostbyaddr_r): Use alloca or malloc to allocate
5040         host_buffer depending on __libc_use_alloca.
5041         * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
5042         _nss_dns_getnetbyaddr_r): Use alloca or malloc to allocate
5043         net_buffer depending on __libc_use_alloca.
5044         * resolv/res_query.c (res_nquery): Use alloca or malloc to allocate
5045         buf depending on __libc_use_alloca.
5046         * resolv/gethnamaddr.c (gethostbyname2, gethostbyaddr): Likewise.
5047         * stdio-common/vfprintf.c (vfprintf): Use __libc_use_alloca
5048         instead of hardcoded constants.
5049         Pass proper size argument to alloca and compute end for wide char
5050         version.
5051         * stdio-common/printf_fp.c (__printf_fp): Use __libc_use_alloca
5052         instead of hardcoded constants.
5053         * string/strcoll.c (strcoll): Likewise.
5054         * string/strxfrm.c (strxfrm): Likewise.
5055         * sysdeps/posix/readv.c (__readv): Likewise.
5056         * sysdeps/posix/writev.c (__writev): Likewise.
5057         * sysdeps/generic/allocalim.h: New file.
5058
5059 2002-10-08  Roland McGrath  <roland@redhat.com>
5060
5061         * configure.in (aux_missing warning): Change "too old" to
5062         "incompatible versions", since for autoconf it's "too new" right now.
5063         * configure: Regenerated.
5064
5065         * configure.in (AUTOCONF): New check to set it.  Set to "no" if the
5066         one found doesn't work on our configure.in.
5067         * configure: Regenerated.
5068         * config.make.in (AUTOCONF): New substituted variable.
5069         * Makefile (autoconf-it-cvs): New canned sequence, broken out of ...
5070         (autoconf-it): ... here, use that instead of defining conditionally.
5071         Use $(AUTOCONF) instead of literal autoconf.
5072         [$(AUTOCONF) != no] (configure, %/configure): Protect these rules
5073         with this condition.
5074         * Make-dist (autoconf-it, configure, %/configure): Copy those changes.
5075
5076 2002-10-08  Ulrich Drepper  <drepper@redhat.com>
5077
5078         * Make-dist (dist): Cleanup a bit.  We are not interested in the
5079         14 char filename limit anymore.  Remove intermediate files and
5080         symlinks.
5081
5082 2002-10-05  Ulrich Drepper  <drepper@redhat.com>
5083
5084         * po/sk.po: Update from translation team.
5085         * po/tr.po: Likewise.
5086         * po/gl.po: Likewise.
5087
5088 2002-10-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5089
5090         * elf/tls-macros.h: Fix SH version of macros so as to match ABI syntax.
5091
5092 2002-10-03  Ulrich Drepper  <drepper@redhat.com>
5093
5094         * version.h (RELEASE): Change to stable.
5095
5096 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
5097
5098         * sysdeps/unix/sysv/linux/_exit.c (__syscall_exit,
5099         __syscall_exit_group): New prototypes.
5100
5101 2002-10-03  Ulrich Drepper  <drepper@redhat.com>
5102
5103         * glibc 2.3 released.
5104
5105
5106 See ChangeLog.13 for earlier changes.