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