.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 2004-12-05  Roland McGrath  <roland@frob.com>
2
3         * Makeconfig: Comment typo fix.
4
5 2004-11-30  Andreas Schwab  <schwab@suse.de>
6
7         * nis/ypclnt.c (ypprot_err): Remove unused entries.
8
9 2004-11-30  Paolo Bonzini  <bonzini@gnu.org>
10
11         * posix/regexec.c (check_dst_limits_calc_pos_1): Check for
12         bkref_idx == -1, and don't recurse in that case.
13
14 2004-11-30  GOTO Masanori  <gotom@debian.or.jp>
15
16         * posix/confstr.c: Enclose #error message with double quote
17         for gcc-3.3 and lower.
18
19 2004-12-04  Ulrich Drepper  <drepper@redhat.com>
20
21         * sysdeps/unix/sysv/linux/i386/clone.S: Add support for NPTL where
22         the PID is stored at userlevel and needs to be reset when CLONE_THREAD
23         is not used.
24         * sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
25
26 2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
27
28         * sysdeps/arm/sysdep.h: Define __USE_BX__ if bx is available.
29         Use it instead of __THUMB_INTERWORK__.  Make RETINSTR take
30         only a condition and a register.
31         * sysdeps/arm/dl-machine.h: Use __USE_BX__ instead of
32         __THUMB_INTERWORK__.
33         (_dl_start_user): Use BX.
34         * sysdeps/arm/strlen.S: Use DO_RET.
35         * sysdeps/unix/arm/brk.S: Likewise.
36         * sysdeps/unix/arm/fork.S: Likewise.
37         * sysdeps/unix/arm/sysdep.S: Likewise.
38         * sysdeps/unix/arm/sysdep.h: Likewise.
39         * sysdeps/unix/sysv/linux/arm/clone.S: Update uses of RETINSTR.
40         * sysdeps/unix/sysv/linux/arm/mmap.S: Likewise.
41         * sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise.
42         * sysdeps/unix/sysv/linux/arm/socket.S: Likewise.
43         * sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise.
44         * sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.
45
46 2004-12-02  Roland McGrath  <roland@redhat.com>
47
48         * extra-lib.mk (object-suffixes-$(lib)): Add .oS when
49         $(lib)-static-only-routines is nonempty.
50         (extra-objs, o-iterator.mk rule): Filter out .oS from generators.
51         Add a special rule for .oS objects -> _nonshared.a library.
52
53 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
54
55         * time/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
56         convert T2, not T.
57         * time/Makefile (tests): Add tst-mktime3.
58         * time/tst-mktime3.c: New test.
59
60 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
61
62         * stdlib/stdlib.h (realpath): Remove nonnull attribute.
63
64         * posix/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
65         normal_bracket label.
66
67         * time/tst-mktime2.c (bigtime_test): Initialize tm.tm_isdst to -1.
68
69 2004-12-01  Roland McGrath  <roland@redhat.com>
70
71         * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.c):
72         Do $(make-target-directory).
73
74 2004-11-29  Roland McGrath  <roland@redhat.com>
75
76         * posix/confstr.c: Avoid punctuation in #error text.
77
78 2004-11-27  Ulrich Drepper  <drepper@redhat.com>
79
80         * posix/Makefile (tests): Add tst-sysconf.
81         * posix/tst-sysconf.c: New file.
82
83         * posix/getconf.c (vars): Add support for _SC_IPV6 and
84         _SC_RAW_SOCKETS.
85         * sysdeps/posix/sysconf.c (__sysconf): Add support for _SC_IPV6
86         and _SC_RAW_SOCKETS.
87         * sysdeps/generic/bits/confname.h: Define _SC_IPV6 and
88         _SC_RAW_SOCKETS.
89
90 2004-11-26  Jakub Jelinek  <jakub@redhat.com>
91
92         * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add GETCONF_DIR.
93
94 2004-11-26  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
95
96         * sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if
97         NO_SGIDEFS_H isn't defined.  Don't include sgidefs.h twice.
98         * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
99         * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
100         * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
101
102 2004-11-27  Ulrich Drepper  <drepper@redhat.com>
103
104         * include/dlfcn.h (__libc_dlopen): Add __RTLD_DLOPEN to the mode
105         parameter.  Reported by VY Newsum <newsum@fel.tno.nl>.
106
107 2004-11-10  Daniel Jacobowitz  <dan@debian.org>
108
109         * libio/iolibio.h (_IO_fclose, _IO_new_fclose, _IO_old_fclose,
110         _IO_fflush, _IO_fgetpos, _IO_fgetpos64, _IO_fgets, _IO_fopen,
111         _IO_old_fopen, _IO_new_fopen, _IO_fopen64, __fopen_internal,
112         _IO_fprintf, _IO_fputs, _IO_fsetpos, _IO_fsetpos64, _IO_ftell,
113         _IO_fread, _IO_fwrite, _IO_gets, _IO_printf, _IO_puts, _IO_scanf,
114         _IO_fflush_internal, _IO_ftell_internal, _IO_fputs_internal)
115         _IO_fwrite_internal): Remove incorrect __THROW.
116         * libio/libioP.h (_IO_default_xsputn, _IO_wdefault_xsputn,
117         _IO_default_xsgetn, _IO_wdefault_xsgetn, _IO_default_write,
118         _IO_default_read, _IO_getline, _IO_getline_info, _IO_getwline,
119         _IO_getwline_info, _IO_file_read_internal, _IO_sgetn_internal,
120         _IO_wdo_write_internal, _IO_do_write_internal,
121         _IO_getline_info_internal, _IO_getline_internal,
122         _IO_vfprintf_internal, _IO_putc_internal, _IO_read, _IO_write,
123         _IO_close): Likewise.
124
125 2004-11-26  Jakub Jelinek  <jakub@redhat.com>
126
127         * posix/Makefile (install-others): Add $(inst_libexecdir)/getconf.
128         (CFLAGS-sysconf.c): Add -D_GETCONF_DIR.
129         (CFLAGS-getconf.c): New.
130         ($(inst_libexecdir)/getconf): New.
131         * posix/confstr.c (confstr): Use __sysconf to query specifications
132         that don't have _POSIX_V6_* macros defined.  Use __*_{C,LD}FLAGS
133         macros defined in bits/environments.h.
134         * sysdeps/posix/sysconf.c: Include stdlib.h, string.h and
135         sys/stat.h.
136         (__sysconf_check_spec): New routine.
137         (__sysconf): Use it.
138         * posix/getconf.c (specs): Change into structure array.
139         (main): If -v is not given, try to get default from
140         $(libexecdir)/getconf/default.  If specification is not
141         supported by this getconf, try to execute
142         $(libexecdir)/getconf/$(specification).
143         * sysdeps/unix/bsd/bsd4.4/freebsd/bits/environments.h: New file.
144         * sysdeps/unix/sysv/linux/s390/bits/environments.h: New file.
145         * sysdeps/unix/sysv/linux/powerpc/bits/environments.h: New file.
146         * sysdeps/unix/sysv/linux/sparc/bits/environments.h: New file.
147         * sysdeps/unix/sysv/linux/i386/bits/environments.h: New file.
148         * sysdeps/unix/sysv/linux/x86_64/bits/environments.h: New file.
149         * sysdeps/generic/bits/environments.h (__ILP32_OFFBIG_CFLAGS):
150         Define.
151
152         * stdlib/stdlib.h (setenv): Use nonnull only for second argument.
153         (unsetenv): Remove.
154
155 2004-11-23  Paolo Bonzini  <bonzini@gnu.org>
156
157         * posix/regcomp.c (analyze_tree): Always call calc_epsdest.
158         (calc_inveclosure): Use re_node_set_insert_last.
159         (parse_dup_op): Lower X{1,5} to (X(X(X(XX?)?)?)?)?
160         rather than X?X?X?X?X?.
161         * posix/regex_internal.h (re_node_set_insert_last): New declaration.
162         * posix/regex_internal.c (re_node_set_insert_last): New function.
163         * posix/PCRE.tests: Add testcases.
164
165 2004-11-25  Ulrich Drepper  <drepper@redhat.com>
166
167         * dlfcn/dlfcn.h: Remove nonnull attribute from dlopen.
168
169         * posix/confstr.c (confstr): Return appropriate strings for
170         _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, and _CS_LFS64_LINTFLAGS.
171
172 2004-11-05  Maciej W. Rozycki  <macro@mips.com>
173
174         * sysdeps/mips/dl-machine.h: Include <sgidefs.h>.  Use _ABIO32,
175         _ABIN32 and _ABI64 for ABI selection throughout.
176         * sysdeps/mips/elf/start.S: Likewise.
177         * sysdeps/mips/mips64/__longjmp.c: Likewise.
178         * sysdeps/mips/mips64/bsd-_setjmp.S: Likewise.
179         * sysdeps/mips/mips64/bsd-setjmp.S: Likewise.
180         * sysdeps/mips/mips64/setjmp.S: Likewise.
181         * sysdeps/mips/mips64/setjmp_aux.c: Likewise.
182         * sysdeps/mips/sys/regdef.h: Likewise.
183         * sysdeps/mips/sys/ucontext.h: Likewise.
184         * sysdeps/unix/mips/sysdep.h: Likewise.
185         * sysdeps/unix/sysv/linux/kernel-features.h: Likewise.
186         * sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
187         * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
188         * sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise.
189         * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
190         * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
191         * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
192         * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise.
193         * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise.
194
195         * sysdeps/mips/atomicity.h: Use _ABIO32, _ABIN32 and _ABI64 for
196         ABI selection throughout.
197         * sysdeps/mips/bits/setjmp.h: Likewise.
198         * sysdeps/mips/fpu/bits/mathdef.h: Likewise.
199         * sysdeps/mips/machine-gmon.h: Likewise.
200         * sysdeps/mips/sys/asm.h: Likewise.
201         * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
202         * sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Likewise.
203         * sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise.
204         * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise.
205         * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise.
206         * sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Likewise.
207         * sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise.
208         * sysdeps/unix/sysv/linux/mips/sys/user.h: Likewise.
209
210         * sysdeps/mips/sgidefs.h: Prevent <asm/sgidefs.h> from being
211         included by kernel headers and undo its settings if already
212         included.  Define _ABIO32, _ABIN32 and _ABI64 if missing and use
213         them to define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32 and
214         _MIPS_SIM_ABI64 for compatibility.
215         * sysdeps/unix/sysv/linux/mips/Makefile: Use _ABIO32, _ABIN32 and
216         _ABI64 for ABI selection in generated syscall-list.h
217         * sysdeps/unix/sysv/linux/mips/configure.in: Use _ABIO32, _ABIN32
218         and _ABI64 for ABI selection in generated asm-unistd.h.
219         * sysdeps/unix/sysv/linux/mips/configure: Regenerate.
220
221         * sysdeps/unix/sysv/linux/mips/pwrite.c (__libc_pwrite): Correct
222         an inverted _MIPS_SIM conditional.
223
224 2004-11-23  Alexandre Oliva  <aoliva@redhat.com>
225
226         * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Use free
227         range even if it doesn't match exactly.
228
229 2004-11-23  Jakub Jelinek  <jakub@redhat.com>
230
231         * nss/nss_files/files-XXX.c (internal_getent): If parse_line returned
232         -1, also do H_ERRNO_SET (NETDB_INTERNAL).
233
234 2004-11-22  Ulrich Drepper  <drepper@redhat.com>
235
236         * sysdeps/i386/fpu_control.h: Add volatile to the asms.
237         Patch by Alexander Stohr.
238
239 2004-11-22  Jakub Jelinek  <jakub@redhat.com>
240
241         * nscd/nscd_getai (__nscd_getai): Avoid memory and file descriptor
242         leaks.
243         * sysdeps/posix/getaddrinfo.c (gaih_inet): Free air.
244
245 2004-11-15  Maciej W. Rozycki  <macro@mips.com>
246
247         * sysdeps/unix/sysv/linux/mips/bits/siginfo.h (__SI_MAX_SIZE):
248         Define appropriately based on __WORDSIZE.
249         [struct siginfo] (__pad0): Add for explicit padding.
250
251         * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Formatting fixes
252         throughout.
253
254 2004-11-22  Ulrich Drepper  <drepper@redhat.com>
255
256         * dirent/dirent.h: Add nonnull attributes.
257         * dlfcn/dlfcn.h: Likewise.
258
259 2004-11-20  Jakub Jelinek  <jakub@redhat.com>
260
261         * sysdeps/ieee754/k_standard.c: Document code 50.
262         (__kernel_standard) <case 50>: Avoid raising div-by-zero
263         exception again.
264
265 2004-11-19  H.J. Lu  <hongjiu.lu@intel.com>
266
267         [BZ #552]
268         * math/libm-test.inc (tgamma_test): Update tgamma (0) and
269         tgamma (-0).
270         * sysdeps/generic/w_tgamma.c (__tgamma): Properly handle |x| == 0.
271         * sysdeps/generic/w_tgammaf.c (__tgammaf): Likewise.
272         * sysdeps/generic/w_tgammal.c (__tgammal): Likewise.
273         * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): Likewise.
274         * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise.
275         * sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise.
276         * sysdeps/ieee754/ldbl-96/e_gammal_r.c: Likewise.
277         * sysdeps/ieee754/k_standard.c (__kernel_standard): Handle
278         tgamma (0) and tgamma (-0).
279
280 2004-11-20  Ulrich Drepper  <drepper@redhat.com>
281
282         * time/tzfile.c (__tzfile_read): Avoid open for checking whether
283         the file we already use changed.
284
285         * misc/syslog.c: Remove !USE_IN_LIBIO code.
286
287 2004-11-20  Jakub Jelinek  <jakub@redhat.com>
288
289         * signal/signal.h (__sysv_signal, sysv_signal, signal, bsd_signal,
290         ssignal): Remove __nonnull attribute.
291
292 2004-11-20  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
293
294         * sysdeps/unix/sysv/linux/sh/sys/procfs.h: New file.
295
296 2004-11-20  Ulrich Drepper  <drepper@redhat.com>
297
298         * signal/signal.h: Add nonnull attributes.
299
300         * signal/signal.h: Add deprecated attributes to sigstack,
301         sigpause, sigblock, sigsetmask, siggetmask.
302
303 2004-11-20  Jakub Jelinek  <jakub@redhat.com>
304
305         * sysdeps/unix/sysv/linux/bits/socket.h (SCM_RIGHTS): Avoid
306         comma at the end of enum if __USE_BSD is not defined.
307
308 2004-11-19  Ulrich Drepper  <drepper@redhat.com>
309
310         * malloc/malloc.c (_int_malloc): Check for corruption of chunk
311         which is about to be returned.
312
313         * malloc/malloc.c (_int_free): Add a few more cheap tests for
314         corruption.
315
316 2004-11-17  Randolph Chung  <tausq@debian.org>
317
318         * sysdeps/hppa/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind
319         annotations.
320
321 2004-11-18  Jakub Jelinek  <jakub@redhat.com>
322
323         [BZ #544]
324         * posix/regex.h (RE_NO_SUB): New define.
325         * posix/regex_internal.h (OP_DELETED_SUBEXP): New.
326         (re_dfa_t): Add subexp_map.
327         * posix/regcomp.c (struct subexp_optimize): New type.
328         (optimize_subexps): New routine.
329         (re_compile_internal): Call it.
330         (re_compile_pattern): Set preg->no_sub to 1 if RE_NO_SUB.
331         (free_dfa_content): Free subexp_map.
332         (calc_inveclosure, calc_eclosure): Skip OP_DELETED_SUBEXP nodes.
333         * posix/regexec.c (re_search_internal): If subexp_map
334         is not NULL, duplicate registers as needed.
335         * posix/Makefile: Add rules to build and run tst-regex2.
336         * posix/tst-regex2.c: New test.
337         * posix/rxspencer/tests: Fix last two tests (\0 -> \1).
338         Add some new tests for nested subexpressions.
339
340 2004-11-18  Ulrich Drepper  <drepper@redhat.com>
341
342         * libio/libio.h (_IO_FLAGS2_FORTIFY): Renamed from
343         _IO_FLAGS2_CHECK_PERCENT_N.
344         * debug/fprintf_chk.c: Adjust all users.
345         * debug/printf_chk.c: Likewise.
346         * debug/vfprintf_chk.c: Likewise.
347         * debug/vprintf_chk.c: Likewise.
348         * debug/vsnprintf_chk.c: Likewise.
349         * debug/vsprintf_chk.c: Likewise.
350         * stdio-common/vfprintf.c: Likewise.  Detect missing %N$ formats.
351         * debug/tst-chk1.c: Test detection of missing %N$ formats.
352
353 2004-11-15  Jakub Jelinek  <jakub@redhat.com>
354
355         * posix/bug-regex24.c: Include string.h.
356
357         * nis/nis_clone_obj.c (nis_clone_object): Rename out3 label to out2
358         and out2 to out.  Remove out label.  Formatting.
359
360 2004-11-15  Ulrich Drepper  <drepper@redhat.com>
361
362         * include/stdio.h: Do not mark __libc_message as noreturn.
363         * sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Add loop to
364         fool gcc.  Include <stdbool.h>.
365         * sysdeps/posix/libc_fatal.c (__libc_fatal): Add loop to fool gcc.
366         (__libc_message): Fix typo.
367
368 2004-11-13  Ulrich Drepper  <drepper@redhat.com>
369
370         * malloc/malloc.c (malloc_state): stat_lock_* elements need only
371         be defined if THREAD_STATS is defined.  Remove pad0_ since it does
372         not align with cache line sizes in general anyway.
373
374 2004-11-13  Jakub Jelinek  <jakub@redhat.com>
375
376         * elf/rtld.c (print_statistics): Avoid segfaults if not all namespaces
377         are used.  Fix computation of num_relative_relocations on RELA
378         architectures other than IA-64 and Alpha.
379
380 2004-11-13  Ulrich Drepper  <drepper@redhat.com>
381
382         * malloc/malloc.c (_int_free): Use munmap_chunk for handling
383         mmaped memory.
384
385 2004-11-12  Ulrich Drepper  <drepper@redhat.com>
386
387         * malloc/malloc.c (_int_free): Remove test for NULL parameter.
388         (_int_realloc): Call _int_free only if memory parameter is not NULL.
389
390         * sysdeps/unix/sysv/linux/libc_fatal.c: Add new function __libc_message
391         which performs the printing and simple format string handling.  The
392         string is written to tty, stderr, syslog in this order, stopping after
393         the first successful output.
394         (__libc_fatal): Call __libc_message.
395         * include/stdio.h: Declare __libc_message.
396         * malloc/malloc.c (malloc_printerr): Use __libc_message.
397         * debug/chk_fail.c: Also print message with __libc_message.
398         * debug/test-strcpy_chk.c: Ensure that debug messages are not printed
399         to the terminal or stderr.
400         * debug/tst-chk1.c: Likewise.
401
402         * posix/Makefile: Remove gpl2lgpl variable.
403
404 2004-11-12  Martin Schwidefsky  <schwidefsky@de.ibm.com>
405
406         * elf/elf.h: Add 20 bit relocations R_390_*20.
407
408 2004-11-12  Jakub Jelinek  <jakub@redhat.com>
409
410         * sysdeps/unix/sysv/linux/i386/setuid.c: Include linux/posix_types.h.
411         * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
412         * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
413         * sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
414         * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
415         * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
416
417 2004-11-12  Andreas Schwab  <schwab@suse.de>
418
419         * nis/ypclnt.c (ypprot_err): Fix "minor optimizations".
420
421 2004-11-12  Ulrich Drepper  <drepper@redhat.com>
422
423         * posix/Makefile (tests): Add bug-regex24.
424         * posix/bug-regex24.c: New file.
425
426 2004-11-12  Paolo Bonzini  <bonzini@gnu.org>
427
428         * posix/regexec.c (check_dst_limits_calc_pos_1): Use the map to
429         cut recursive paths.  Make exit condition more precise.
430         (match_ctx_add_entry): Initialize the map.
431         * posix/regex_internal.h (struct re_backref_cache_entry): Add a map of
432         reachable subexpression nodes from each backreference cache entry.
433
434 2004-11-10  Jakub Jelinek  <jakub@redhat.com>
435
436         * sysdeps/unix/sysv/linux/setreuid.c: Remove sys/syscall.h,
437         sys/types.h, linux/posix_types.h, sysdep.h and pthread-functions.h
438         includes.  Include setxid.h.  Use INLINE_SETXID_SYSCALL macro
439         instead of INLINE_SYSCALL, kill the HAVE_PTR__NPTL_SETXID guarded
440         snippets.
441         * sysdeps/unix/sysv/linux/setegid.c: Likewise.
442         * sysdeps/unix/sysv/linux/setuid.c: Likewise.
443         * sysdeps/unix/sysv/linux/seteuid.c: Likewise.
444         * sysdeps/unix/sysv/linux/setgid.c: Likewise.
445         * sysdeps/unix/sysv/linux/setresuid.c: Likewise.
446         * sysdeps/unix/sysv/linux/setresgid.c: Likewise.
447         * sysdeps/unix/sysv/linux/setregid.c: Likewise.
448         * sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
449         * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
450         * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
451         * sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
452         * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
453         * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
454         * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
455         * sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
456         * sysdeps/unix/sysv/linux/alpha/setreuid.c: Likewise.
457         Formatting.  Change signed int into int.
458         * sysdeps/unix/sysv/linux/alpha/setresuid.c: Likewise.
459         * sysdeps/unix/sysv/linux/alpha/setresgid.c: Likewise.
460         * sysdeps/unix/sysv/linux/alpha/setregid.c: Likewise.
461         * sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid):
462         Remove.
463         * sysdeps/unix/setxid.h: New file.
464
465         * Rules (binaries-static): Add xtests-static.
466         * Makeconfig (run-program-prefix): Filter also xtests-static.
467
468 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu.
469
470         [BZ #535]
471         * time/difftime.c: Fix a double-rounding bug on hosts with
472         64-bit time_t and long double being IEEE double.  Also, port
473         to more valid C99 hosts, even those that have padding bits.
474         Don't include <values.h> since it is marked as an obsolescent
475         interface.  Include <limits.h>, <float.h>, and <stdint.h> instead.
476         (TYPE_BITS, TYPE_FLOATING, TYPE_SIGNED): New macros.
477         (subtract): New static function, that works correctly without
478         double-rounding, even on hosts with 64-bit time_t.  Also cater
479         to hosts with padding bits.
480         (__difftime): Use it.  Use DBL_MANT_DIG and LDBL_MANT_DIG to
481         determine whether floating types are wide enough: the old
482         test (which used sizeof) could in theory report the wrong results
483         on hosts with padding bits in floating-point values.
484
485 2004-11-11  Simon Josefsson  <jas@extundo.com>
486
487         [BZ #542]
488         * sysdeps/generic/strtok_r.c [HAVE_CONFIG_H]: Include config.h.
489         [!_LIBC]: Include strtok_r.h (in gnulib), map __strtok_r to
490         strtok_r and __rawmemchr to strch.
491         (__strtok_r): Use C89 prototype.
492         [weak_alias]: Move calls to libc_hidden_def and weak_alias into
493         this #ifdef.
494
495 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
496
497         [BZ #541]
498         * time/mktime.c (SHR): New macro, which is a portable
499         substitute for >> that should work even on Crays.
500         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
501         Problem reported by Mark D. Baushke in
502         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
503
504 2004-11-09  Paolo Bonzini  <bonzini@gnu.org>
505
506         * posix/regexec.c (match_ctx_free_subtops): Remove, merge into...
507         (match_ctx_clean): ... this function.
508         (match_ctx_free): Call match_ctx_clean.
509
510         * posix/regexec.c (transit_state): Remove the check for
511         out-of-bounds buffers.
512         (check_matching): Check here for out-of-bounds buffers.
513         (re_search_internal): Store into match_kind a set of bits
514         indicating which incantation of fastmap scanning must be
515         used.  Use a switch statement instead of multiple ifs.
516         Exit the final "for (;;)" with goto free_return unless
517         the match succeeded, thus simplifying some conditionals.
518
519         * posix/regex_internal.c (re_string_reconstruct,
520         re_string_context_at): Add several branch predictions for
521         case-sensitive matching and no transition table being used.
522
523 2004-11-10  Ulrich Drepper  <drepper@redhat.com>
524
525         * posix/tst-waitid.c: Don't use error to print error message, they
526         won't end up in the .out file.
527
528 2004-11-09  Ulrich Drepper  <drepper@redhat.com>
529
530         * nscd/nscd-client.h (libc_locked_map_ptr): Add new first
531         parameter, used as class for definition.
532         * nscd/nscd_getpw_r.c: Adjust for libc_locked_map_ptr change.
533         (pw_map_free): Ensure no crash after memory is freed.
534         * nscd/nscd_getgr_r.c: Likewise.  Make map externally visible.
535         * nscd/nscd_gethst_r.c: Likewise.
536         * nscd/nscd_getai.c: Use map from nscd_gethost.c.
537         * nscd/nscd_initgroups.c: Use map from nscd_getgr.c.
538
539         * nscd/nscd_getai.c: Add some checks to detect corrupt databases.
540         * nscd/nscd_getgr_r.c: Likewise
541         * nscd/nscd_gethst_r.c: Likewise.
542         * nscd/nscd_getpw_r.c: Likewise
543
544 2004-11-09  Jakub Jelinek  <jakub@redhat.com>
545
546         * posix/regcomp.c (calc_eclosure_iter): Don't access
547         dfa->edests[node].elems[0] if dfa->edests[node].nelem == 0.
548         * posix/rxspencer/tests: Add 5 new tests.
549
550 2004-11-09  Ulrich Drepper  <drepper@redhat.com>
551
552         * sysdeps/unix/sysv/linux/ifaddrs.c: Determine sin6_scope_id field
553         value correctly.  Patch by Mitsuru Kanda <mk@karaba.org>.
554
555 2004-11-04  Jakub Jelinek  <jakub@redhat.com>
556
557         * libio/fileops.c (_IO_new_file_seekoff): If mode is 0 and
558         fp->_offset == _IO_pos_BAD, just call _IO_SYSSEEK (fp, 0, dir)
559         and if successful set fp->_offset.
560         * libio/Makefile (tests): Add bug-ungetc3.
561         * libio/bug-ungetc3.c: New test.
562
563 2004-11-03  Marcus Brinkmann  <marcus@gnu.org>
564
565         * sysdeps/gnu/_G_config.h (_G_HAVE_MREMAP): Define symbol.
566         * sysdeps/mach/hurd/_G_config.h: New file.
567         * libio/fileops.c (mmap_remap_check) [__linux__]: Replaced with
568         [_G_HAVE_MREMAP].
569
570 2004-11-08  Ulrich Drepper  <drepper@redhat.com>
571
572         * posix/regcomp.c (utf8_sb_map): Define.
573         (free_dfa_content): Don't free dfa->sb_char if it's a pointer to
574         utf8_sb_map.
575         (init_dfa): Use utf8_sb_map instead of initializing memory when the
576         encoding is UTF-8.
577
578 2004-11-03  Paolo Bonzini  <bonzini@gnu.org>
579
580         * posix/regcomp.c (init_dfa): Get the codeset name outside glibc as
581         well.  Check if it is spelled UTF8 as well as UTF-8, and check
582         case-insensitively.  Set dfa->map_notascii manually when outside
583         glibc.
584         * posix/regex_internal.c (build_wcs_upper_buffer) [!_LIBC]: Enable
585         optimizations based on map_notascii.
586         * posix/regex_internal.h [HAVE_LANGINFO_H || HAVE_LANGINFO_CODESET
587         || _LIBC]: Include langinfo.h.
588
589         * posix/regex_internal.h (struct re_backref_cache_entry): Add "more"
590         field.
591         * posix/regexec.c (check_dst_limits): Hoist computation of the source
592         and destination bkref_idx out of the loop.  Pass it to
593         check_dst_limits_calc_pos.
594         (check_dst_limits_calc_pos_1): New function, containing the recursive
595         loop of check_dst_limits_calc_pos; uses the "more" field of
596         struct re_backref_cache to control the loop.
597         (check_dst_limits_calc_pos): Store into "boundaries" the position
598         relative to lim's start and end positions.  Do not accept eclosures,
599         accept bkref_idx instead.  Call check_dst_limits_calc_pos_1 to do the
600         work.
601         (sift_states_bkref): Use the "more" field of struct re_backref_cache
602         to control the loop.  A big "if" was turned into a continue and the
603         function was reindented.
604         (get_subexp): Use the "more" field of struct re_backref_cache
605         to control the loop.
606         (match_ctx_add_entry): Initialize the bkref_ents' "more" field.
607         (search_cur_bkref_entry): Return -1 if out of bounds.
608
609         * posix/regexec.c (empty_set): Remove.
610         (sift_states_backward): Remove cur_src variable.  Move inner loop
611         to build_sifted_states.
612         (build_sifted_states): Extract from sift_states_backward.  Do not
613         use empty_set.
614         (update_cur_sifted_state): Do not use empty_set.  Special case
615         dest_nodes->nelem == 0.
616
617         * posix/regex_internal.h (struct re_backref_cache_entry): Remove flag
618         field.
619         (struct re_sift_context_t): Remove cur_bkref, cls_subexp_idx,
620         check_subexp fields.  Move limits last.
621         * posix/regexec.c (match_ctx_clear_flag): Remove.
622         (sift_ctx_init): Remove check_subexp parameter.  Do not set removed
623         fields.  Callers adjusted.
624         (expand_bkref_cache): Remove last_str parameter.  Callers adjusted.
625         (re_search_internal): Remove fast_translate variable.
626         (update_cur_sifted_state): Pass candidates as the final parameter
627         to sift_states_bkref.
628         (sift_states_bkref): Change last unused parameter to be "candidates",
629         do not fetch candidates into a local variable.
630         Remove dead test for "node == sctx->bkref", and the cur_bkref_idx
631         variable.
632         Remove loops that set/reset the flag field of backref cache entries.
633         (check_arrival_add_next_nodes): Use a signed int to hold the return
634         value of re_node_set_insert.
635         (group_nodes_into_DFAstates): Likewise.
636         (match_ctx_add_entry): Do not set the flag field of the new entry.
637
638 2004-11-05  Roland McGrath  <roland@redhat.com>
639
640         * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Define
641         _dl_sysinfo_dso under [NEED_DL_SYSINFO_DSO] as well.
642         * elf/rtld.c (dl_main): Set up GLRO(dl_sysinfo_dso) under
643         [NEED_DL_SYSINFO_DSO] as well.
644         * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Always include
645         AT_SYSINFO and AT_SYSINFO_EHDR in name table.
646         (_dl_sysdep_start) [NEED_DL_SYSINFO_DSO]: Match AT_SYSINFO_EHDR.
647         * elf/dl-support.c (_dl_sysinfo_dso): Define also under
648         [NEED_DL_SYSINFO_DSO].
649         (_dl_aux_init) [NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO]:
650         Match AT_SYSINFO_EHDR and set GL(dl_sysinfo_dso).
651
652 2004-11-05  Roland McGrath  <roland@redhat.com>
653
654         * manual/errno.texi (Error Codes): Revert last change for now.
655         * sysdeps/gnu/errlist.c: Regenerated.
656
657 2004-11-04  Roland McGrath  <roland@frob.com>
658
659         * Makeconfig (link-libc, rpath-dirs): Remove AIX cruft definitions.
660         (LDFLAGS-rpath-ORIGIN, LDFLAGS-soname-fname): Likewise.
661         (LDFLAGS-rdynamic, LDFLAGS-Bsymbolic): Likewise.
662         ($(common-objpfx)gnu/lib-names.stmp): Likewise.
663
664 2004-11-01  Jakub Jelinek  <jakub@redhat.com>
665
666         * sysdeps/unix/sysv/linux/x86_64/sys/procfs.h [__WORDSIZE == 32]
667         (elf_fpxregset_t): New type.
668         (struct elf_prpsinfo): If __WORDSIZE == 32, change pr_[ug]id type
669         to unsigned short int.
670         * sysdeps/unix/sysv/linux/x86_64/sys/user.h
671         (struct user_fpregs_struct): Fix comment.
672         * sysdeps/i386/fpu/bits/mathdef.h (float_t, double_t): If
673         __FLOAT_EVAL_METHOD__ is defined and 0, typedef to float resp. double.
674         * sysdeps/x86_64/fpu/bits/mathdef.h: Include bits/wordsize.h.
675         (float_t, double_t): If -m32 and not -mfpmath=sse, typedef to
676         long double.
677         * sysdeps/x86_64/fpu/bits/fenv.h: Include bits/wordsize.h.
678         (fenv_t): Remove __mxcsr field for -m32.
679
680 2004-11-04  Jakub Jelinek  <jakub@redhat.com>
681
682         * libio/ftello.c (ftello): Don't subtract save_end - save_base
683         if pos is _IO_pos_BAD.
684         * libio/ftello64.c (ftello64): Likewise.
685         * libio/iofgetpos.c (_IO_new_fgetpos): Likewise.
686         * libio/iofgetpos64.c (_IO_new_fgetpos64): Likewise.
687         * libio/oldiofgetpos.c (_IO_old_fgetpos): Likewise.
688         * libio/oldiofgetpos64.c (_IO_old_fgetpos64): Likewise.
689         * libio/ioftell.c (_IO_ftell): Likewise.
690         Cast to long int instead of off_t when checking for overflow.
691
692 2004-11-04  Richard Henderson  <rth@redhat.com>
693
694         * sysdeps/unix/sysv/linux/alpha/register-dump.h (regnames): Align.
695         (linefeed): Remove.
696         (register_dump): Rewrite to generate into a flat buffer instead
697         of into iovecs.
698
699 2004-11-02  Jakub Jelinek  <jakub@redhat.com>
700
701         * debug/tst-chk1.c (ret): New volatile variable.
702         (CHK_FAIL_END): Remove redundant ret setting.
703         (do_test): Remote ret variable.
704
705 2004-01-03  Paolo Bonzini  <bonzini@gnu.org>
706
707         * posix/regex_internal.h (__regfree) [!_LIBC]: Define to regfree.
708
709 2004-11-03  Marcus Brinkmann  <marcus@gnu.org>
710
711         * sysdeps/generic/utime.c: Include <stddef.h>.
712
713         * sysdeps/generic/sysconf.c: Include <grp.h> and <pwd.h>.
714
715         * sysdeps/generic/tempname.c (__path_search): Add missing argument
716         TRY_TMPDIR.
717
718 2004-10-31  Mariusz Mazur <mmazur@kernel.pl>
719
720         * sysdeps/unix/sysv/linux/alpha/setregid.c: New file.
721         * sysdeps/unix/sysv/linux/alpha/setresgid.c: New file.
722         * sysdeps/unix/sysv/linux/alpha/setresuid.c: New file.
723         * sysdeps/unix/sysv/linux/alpha/setreuid.c: New file.
724
725 2004-10-27  Derek R. Price  <derek@ximbiot.com>
726
727         [BZ #487] This change is imported from gnulib.
728         * time/mktime.c (not_equal_tm) [DEBUG]: Remove redundant check.
729
730 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
731
732         [BZ #473]
733         * time/tst-mktime.c (main): Don't assume that mktime fails
734         when given time stamps before 1970.  It returns negative
735         time_t values instead, for compatibility with BSD.
736
737         * time/tst-mktime2.c: New file.
738         * time/Makefile (tests): Add it.
739
740         [BZ #473] Import from gnulib.  Revamp to avoid several problems near
741         time_t extrema, and on hosts with 64-bit time_t and 32-bit int.
742         This fixes Debian bug 177940.
743         * time/mktime.c (TIME_T_MIDPOINT): New macro.
744         (ydhms_diff): Renamed from ydhms_tm_diff, with a new signature,
745         which avoids overflow problems on hosts with 64-bit time_t and
746         32-bit int.  All callers changed.  Now an inline function.
747         Verify at compile-time that long int is wide enough to avoid
748         these overflow problems.
749         (guess_time_tm): New function.
750         (__mktime_internal): Use it.  Avoid overflow when computing yday on
751         hosts with 64-bit long and 32-bit int.  Remove tests for 69;
752         no longer needed.  Use if rather than #ifdef for LEAP_SECONDS_POSSIBLE
753         so that the code is checked by more compilers.
754         Do not rely on floating point to probe: stick to integer arithmetic,
755         to avoid potential porting problems.
756         Repair potential overflow correctly in the Southern Hemisphere.
757         (localtime_offset): Add a FIXME for the case where time_t is unsigned.
758
759 2004-10-30  Andreas Schwab  <schwab@suse.de>
760
761         * sysdeps/m68k/dl-machine.h (elf_machine_rela)
762         (elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto
763         instead of static.
764
765 2004-10-30  Andreas Schwab  <schwab@suse.de>
766
767         * sysdeps/unix/sysv/linux/waitid.c: Include <stddef.h> for NULL.
768
769 2004-10-30  Ulrich Drepper  <drepper@redhat.com>
770
771         * malloc/malloc.c (_int_free): Use unique comments for the error
772         cases.
773
774 2004-10-28  Roland McGrath  <roland@frob.com>
775
776         * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_fork): Use i386_thread_state
777         instead of machine_thread_state.
778
779 2004-10-28  Roland McGrath  <roland@redhat.com>
780
781         * sysdeps/unix/sysv/linux/syscalls.list: Remove setaltroot.
782
783 2004-10-28  Ulrich Drepper  <drepper@redhat.com>
784
785         * elf/dl-open.c (dl_open_worker): Remove reference to glibcbug script.
786
787 2004-10-27  Ulrich Drepper  <drepper@redhat.com>
788
789         * elf/dl-load.c (_dl_map_object): Use cache_rpath to check for
790         existing rpath in main executable, not explicit test.
791
792 2004-10-27  Jakub Jelinek  <jakub@redhat.com>
793
794         * include/resolv.h (_res_opcodes): New extern.
795         Add libresolv_hidden_proto.
796         * resolv/res_debug.c (_res_opcodes): Remove.
797         (__p_class_syms, __p_type_syms): Add libresolv_hidden_proto
798         and libresolv_hidden_data_def.  Remove attribute_hidden.
799         * resolv/res_mkquery (_res_opcodes): Remove.
800         * resolv/res_data.c (_res_opcodes): Remove attribute_hidden.
801         Add libresolv_hidden_data_def.
802
803 2004-10-27  Ulrich Drepper  <drepper@redhat.com>
804
805         * elf/dl-open.c (_dl_open): Don't allow explicitly opening a DSO
806         into an empty namespace.
807
808         * elf/dl-fini.c (_dl_fini): Fix search for map in maps array.
809         Reverse order of namespaces.
810         * elf/Makefile: Add rules to build and run tst-dlmopen3.
811         * elf/tst-dlmopen3.c: New file.
812         * elf/tst-dlmopen1mod.c: Add check whether constructor runs.
813
814 2004-10-27  Jakub Jelinek  <jakub@redhat.com>
815
816         * sysdeps/generic/glob.c (globfree): Clear gl_pathv after freeing it.
817         * posix/Makefile: Add rules to build and run bug-glob2 test.
818         * posix/bug-glob2.c: New test.
819
820 2004-10-27  Roland McGrath  <roland@frob.com>
821
822         * sysdeps/mach/hurd/i386/tls.h (HURD_TLS_DESC_DECL): New macro.
823         (_hurd_tls_init): Use it.
824         (_hurd_tls_fork): New function.
825         * sysdeps/mach/hurd/fork.c (__fork) [USE_TLS]: Call it.
826
827 2004-10-26  Roland McGrath  <roland@frob.com>
828
829         * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Initialize TCB->tcb.
830
831 2004-10-26  Jakub Jelinek  <jakub@redhat.com>
832
833         * sysdeps/gnu/netinet/udp.h (struct udphdr): Use u_int16_t
834         type instead of uint16_t.  Formatting.
835
836 2004-10-25  Roland McGrath  <roland@redhat.com>
837
838         * login/openpty.c (openpty): Add libutil_hidden_def.
839
840         * nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define to
841         either libc_hidden_def or libnss_files_hidden_def, not hidden_def.
842         This file is also compiled into libnss_hesiod by #include.
843
844 2004-10-25  Roland McGrath  <roland@frob.com>
845
846         * sysdeps/unix/bsd/hp: Directory and all files removed.
847         These are now in the ports repository.
848         * sysdeps/unix/bsd/osf: Likewise.
849         * sysdeps/unix/bsd/sequent: Likewise.
850         * sysdeps/unix/bsd/sony: Likewise.
851         * sysdeps/unix/bsd/ultrix4: Likewise.
852         * sysdeps/unix/sysv/aix: Likewise.
853         * sysdeps/unix/sysv/hpux: Likewise.
854         * sysdeps/unix/sysv/irix4: Likewise.
855         * sysdeps/unix/sysv/isc2.2: Likewise.
856         * sysdeps/unix/sysv/minix: Likewise.
857         * sysdeps/unix/sysv/sco3.2.4: Likewise.
858         * sysdeps/unix/sysv/sco3.2: Likewise.
859         * sysdeps/unix/sysv/sysv4: Likewise.
860
861         * configure.in (ASM_LINE_SEP): Move this setting to ...
862         * sysdeps/hppa/configure.in: ... here, new file.
863         * sysdeps/hppa/configure: New generated file.
864         * configure: Regenerated.
865
866 2004-10-25  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
867
868         * sysdeps/sh/dl-machine.h: Include sysdep.h.
869         (ELF_MACHINE_RUNTIME_TRAMPOLINE): Add CFI directives.
870         (elf_machine_runtime_setup): Add always_inline attribute.
871         (_dl_start_user): Pass the correct environ.
872         (elf_machine_rela): Replace static inline by auto inline, add
873         always_inline attribute.
874         (elf_machine_rela_relative): Likewise.
875         (elf_machine_lazy_rel): Likewise.
876
877 2004-10-24  Ulrich Drepper  <drepper@redhat.com>
878
879         * nis/nis_call.c: Pretty printing.  Minor cleanups.
880         * nis/nis_addmember.c (nis_addmember): Add assert to check buffer
881         bounds.
882
883         * resolv/nss_dns/dns-host.c: Avoid using PLTs.
884         * include/libc-symbols.h: Define hidden attribute macros for
885         libnss_nisplus and libutil.
886         * include/utmp.h: Add libutil_hidden_proto for login_tty.
887         * login/login_tty.c: Add libutil_hidden_def.
888         * nis/nisplus-parser.h: Add libnss_nisplus_hidden_proto for parsers.
889         * nis/nss_nisplus/nisplus-parser.c: Add libnss_nisplus_hidden_def.
890         * include/pty.h: New file.
891         * include/rpcsvc/yp.h: New file.
892         * include/rpcsvc/ypclnt.h: New file.
893         * include/rpcsvc/ypupd.h: New file.
894         * include/libc-symbols.h: Define hidden attribute macros for libnsl.
895         * include/rpcsvc/nislib.h: Use libnsl_hidden_proto for various
896         functions.
897         * nis/nis_add.c: Add libnsl_hidden_def.  Minor optimizations.
898         * nis/nis_call.c: Likewise.
899         * nis/nis_clone_obj.c: Likewise.
900         * nis/nis_defaults.c: Likewise.
901         * nis/nis_domain_of_r.c: Likewise.
902         * nis/nis_error.c: Likewise.
903         * nis/nis_file.c: Likewise.
904         * nis/nis_free.c: Likewise.
905         * nis/nis_local_names.c: Likewise.
906         * nis/nis_lookup.c: Likewise.
907         * nis/nis_modify.c: Likewise.
908         * nis/nis_print.c: Likewise.
909         * nis/nis_remove.c: Likewise.
910         * nis/nis_subr.c: Likewise.
911         * nis/nis_table.c: Likewise.
912         * nis/nis_util.c: Likewise.
913         * nis/yp_xdr.c: Likewise.
914         * nis/ypclnt.c: Likewise.
915         * nis/ypupdate_xdr.c: Likewise.
916
917         * resolv/res_send.c (send_dg): Cope with failures.
918
919         * include/libc-symbols.h: Define hidden attribute macros for
920         libnss_files.
921         * include/netdb.h: Use libnss_files_hidden_proto for the parsers
922         defined in libnss_files, not libc_hidden_proto.
923         * include/netinet/ether.h: Likewise.
924         * include/rpc/netdb.h: Likewise.
925         * nss/nss_files/files-parse.c: Use hidden_def in parser definitions
926         instead of libc_hidden_def.
927         * nss/nss_files/files-netgrp.c: Add libnss_files_hidden_def to
928         _nss_netgroup_parseline definition.
929
930 2004-10-23  Roland McGrath  <roland@frob.com>
931
932         * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Don't return early
933         after an RPC succeeds.
934
935         * sysdeps/vax, sysdeps/unix/bsd/vax: Directories and all files removed.
936         These are now in the ports repository.
937         * sysdeps/tahoe, sysdeps/unix/bsd/tahoe: Likewise.
938         * sysdeps/cris, sysdeps/unix/sysv/linux/cris: Likewise.
939         * sysdeps/am29k, sysdeps/i860, sysdeps/i960, sysdeps/m88k: Likewise.
940         * sysdeps/standalone, sysdeps/z8000: Likewise.
941
942 2004-10-23  Ulrich Drepper  <drepper@redhat.com>
943
944         * resolv/res_send.c (send_dg): Combine write and read to socket
945         into one loop.
946
947 2004-10-22  Roland McGrath  <roland@frob.com>
948
949         * Makefile (%.bz2, %.gz): Move these pattern rules ...
950         * Makerules: ... to here.
951
952 2001-10-31  Alexandre Oliva  <aoliva@redhat.com>
953
954         * elf/elf.h: Add R_MN10300_* relocation numbers.
955
956 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
957
958         [BZ #471] Fix imported from gnulib.
959         * time/mktime.c (leapyear, ydms_tm_diff): Year is of type
960         long int, not int, to avoid problems when tm_year == INT_MAX
961         and tm_mon > 12.
962         (__mktime_intenral): Compute year using long int arithmetic,
963         not int arithmetic, to avoid problems on hosts where time_t
964         and long are 64 bits but int is 32.
965
966         [BZ #468] Import a fix from gnulib.
967         * time/mktime.c [! DEBUG]: Do not include <string.h>.
968         It's needed only if DEBUG is nonzero.
969
970         [BZ #470] Import fix from gnulib.
971         * time/mktime.c [!_LIBC] (__mktime_internal): Define to
972         mktime_internal, to avoid clashes with any __mktime_internal
973         function defined in the standard library.
974
975         [BZ #469] Imported from gnulib.
976         * time/mktime.c (__isleap): Remove; all uses replaced by:
977         (leapyear): New function, which avoids overflow by not adding
978         1900 to year before testing whether it is a leap year.
979
980         [BZ #472] Imported from gnulib.
981         * time/mktime.c (Local Variables): Remove -DHAVE_TIME_R_POSIX;
982         no longer used.
983
984 2004-10-22  Ulrich Drepper  <drepper@redhat.com>
985
986         * resolv/res_send.c: Remove compatibility code which is unused in
987         glibc and probably bitrotten.
988
989         * debug/execinfo.h: Remove __THROW from backtrace prototype.
990
991 2004-10-22  Jakub Jelinek  <jakub@redhat.com>
992
993         * sysdeps/i386/Makefile (CFLAGS-backtrace.c): Add -fexceptions.
994         * sysdeps/i386/backtrace.c: Include <bits/libc-lock.h>, <dlfcn.h>,
995         <stdlib.h> and <unwind.h>.  Remove <bp-checks.h> include.
996         (struct trace_arg): New type.
997         (unwind_backtrace, unwind_getip, unwind_getcfa, unwind_getgr): New
998         fn pointers resp. macros.
999         (init, backtrace_helper): New functions.
1000         (__backtrace): Rewritten to use _Unwind_Backtrace first and fall
1001         back to frame pointer walking.
1002
1003 2004-10-22  Ulrich Drepper  <drepper@redhat.com>
1004
1005         * sysdeps/unix/sysv/linux/Versions: Things are still in flux, it
1006         seems.  Undo last additions.
1007
1008 2004-10-21  Ulrich Drepper  <drepper@redhat.com>
1009
1010         * posix/execvp.c (execvp): Also ignore ENODEV and ETIMEDOUT errno
1011         values.
1012
1013 2004-10-20  Roland McGrath  <roland@redhat.com>
1014
1015         * Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also
1016         $(config-sysdirs) for shlib-versions files.
1017
1018         * Makeconfig ($(common-objpfx)soversions.i): Replace shell loop with
1019         use of ...
1020         * scripts/soversions.awk: ... this new file.  Collect lib info and
1021         match any DEFAULT line before emitting anything, so DEFAULT can come
1022         later in the concatenation of shlib-versions files.
1023
1024         * manual/errno.texi (Error Codes): Add ENOKEY, EKEYEXPIRED,
1025         EKEYREVOKED, EKEYREJECTED.
1026         * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.3.4): New errlist.
1027         * sysdeps/gnu/errlist.c: Regenerated
1028
1029         * sysdeps/gnu/errlist-compat.awk: Don't bail if Versions gives a count
1030         higher than ERR_MAX reports.  Instead, emit a #define ERR_MAX.
1031         * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.h): New target.
1032         (generated): Add errlist-compat.h.
1033         * sysdeps/gnu/errlist.awk: Make output #include <errlist-compat.h> to
1034         define ERR_MAX and use that for table size.
1035
1036 2004-10-20  Ulrich Drepper  <drepper@redhat.com>
1037
1038         * sysdeps/unix/sysv/linux/syscalls.list: Add entries for setaltroot,
1039         key_add, key_request, and keyctl syscalls.
1040         * sysdeps/unix/sysv/linux/Versions: Export them.
1041
1042 2004-10-19  Roland McGrath  <roland@frob.com>
1043
1044         * sysdeps/mach/readonly-area.c: New file.
1045
1046 2004-10-19  Ulrich Drepper  <drepper@redhat.com>
1047
1048         * elf/Versions [ld, GLIBC_PRIVATE]: Add _dl_debug_state.
1049         * elf/dl-debug.c (_dl_debug_state): Add rtld_hidden_def.
1050         * sysdeps/generic/ldsodefs.h (_dl_debug_state): Don't mark as
1051         hidden but use rtld_hidden_proto.
1052
1053 2004-10-19  Alfred M. Szmidt  <ams@gnu.org>
1054
1055         * sysdeps/generic/readonly-area.c (__readonly_str): Renamed to ...
1056         (__readonly_area): ... this.
1057
1058 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
1059
1060         * sysdeps/generic/strcpy_chk.c (__strcpy_chk): Speed up by checking
1061         destlen only every 4 bytes.
1062
1063 2004-10-19  Ulrich Drepper  <drepper@redhat.com>
1064
1065         * nss/getent.c (hosts_keys): Let inet_pton decide whether the
1066         string is an address or not.
1067
1068 2004-10-19  Jakub Jelinek  <jakub@redhat.com>
1069
1070         * elf/dl-addr.c (_dl_addr): Don't look at STT_TLS symbols.
1071         Use DL_SYMBOL_ADDRESS to set dli_saddr.
1072
1073         * debug/Makefile (catchsegv): Prefix $LIB with a backslash.
1074
1075 2004-10-19  Ulrich Drepper  <drepper@redhat.com>
1076
1077         * debug/Makefile ($(objpfx)catchsegv): To support multilib
1078         platforms, use $LIB in path to slibdir.
1079
1080 2004-10-19  Jakub Jelinek  <jakub@redhat.com>
1081
1082         * debug/catchsegv.sh: Update copyright year.
1083         Use mktemp to create segv_output file.
1084
1085 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
1086
1087         * elf/dl-libc.c (__libc_dlsym_private, __libc_register_dl_open_hook):
1088         New functions.
1089         (__libc_dlopen_mode): Call __libc_register_dl_open_hook and
1090         __libc_register_dlfcn_hook.
1091         * dlfcn/Makefile (routines, elide-routines.os): Set.
1092         Add rules to build and test tststatic2.
1093         * dlfcn/tststatic2.c: New test.
1094         * dlfcn/modstatic2.c: New test module.
1095         * dlfcn/dladdr.c: Call _dlfcn_hook from libdl.so if not NULL.
1096         Define __ prefixed routine in libc.a and in libdl.a just call it.
1097         * dlfcn/dladdr1.c: Likewise.
1098         * dlfcn/dlclose.c: Likewise.
1099         * dlfcn/dlerror.c: Likewise.
1100         * dlfcn/dlinfo.c: Likewise.
1101         * dlfcn/dlmopen.c: Likewise.
1102         * dlfcn/dlopen.c: Likewise.
1103         * dlfcn/dlopenold.c: Likewise.
1104         * dlfcn/dlsym.c: Likewise.
1105         * dlfcn/dlvsym.c: Likewise.
1106         * dlfcn/sdladdr.c: New file.
1107         * dlfcn/sdladdr1.c: New file.
1108         * dlfcn/sdlclose.c: New file.
1109         * dlfcn/sdlerror.c: New file.
1110         * dlfcn/sdlinfo.c: New file.
1111         * dlfcn/sdlopen.c: New file.
1112         * dlfcn/sdlsym.c: New file.
1113         * dlfcn/sdlvsym.c: New file.
1114         * dlfcn/Versions (libdl): Export _dlfcn_hook@GLIBC_PRIVATE.
1115         * include/dlfcn.h (DL_CALLER_DECL, DL_CALLER RETURN_ADDRESS): Define.
1116         (struct dlfcn_hook): New type.
1117         (_dlfcn_hook): New extern decl.
1118         (__dlopen, __dlclose, __dlsym, __dlerror, __dladdr, __dladdr1,
1119         __dlinfo, __dlmopen, __libc_dlsym_private,
1120         __libc_register_dl_open_hook, __libc_register_dlfcn_hook): New
1121         prototypes.
1122         (__dlvsym): Use DL_CALLER_DECL.
1123         * include/libc-symbols.h: Define libdl_hidden_proto and friends.
1124
1125         * malloc/arena.c (_dl_open_hook): Extern decl.
1126         (ptmalloc_init): Don't call _dl_addr when dlopened from statically
1127         linked programs but don't use brk for them either.
1128
1129 2004-10-18  Roland McGrath  <roland@redhat.com>
1130
1131         * dlfcn/bug-dlsym1.c (main): Remove bogus setenv call.
1132
1133 2004-10-18  Ulrich Drepper  <drepper@redhat.com>
1134
1135         * elf/dl-open.c (dl_open_worker): Avoid dereferencing map in
1136         statically linked code if there might none be found.
1137
1138 2004-10-06  Maciej W. Rozycki  <macro@mips.com>
1139
1140         * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
1141         (__SYSCALL_CLOBBERS): Add "memory".
1142         * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
1143         (__SYSCALL_CLOBBERS): Likewise.
1144         * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
1145         (__SYSCALL_CLOBBERS): Likewise.
1146
1147 2004-10-17  Ulrich Drepper  <drepper@redhat.com>
1148
1149         * include/libc-symbols.h: Define libresolv_hidden_proto and friends.
1150         * include/resolv.h: Add libresolv_hidden_proto for symbols defined,
1151         used, and exported in libresolv.
1152         * resolv/base64.c: Add libresolv_hidden_def.
1153         * resolv/gethnamaddr.c: Likewise.
1154         * resolv/ns_name.c: Likewise.
1155         * resolv/ns_netint.c: Likewise.
1156         * resolv/res_comp.c: Likewise.
1157         * resolv/res_data.c: Likewise.
1158         * resolv/res_debug.c: Likewise.
1159         * resolv/res_mkquery.c: Likewise.
1160         * resolv/res_query.c: Likewise.
1161         * resolv/res_send.c: Likewise.
1162
1163 2004-10-15  Jakub Jelinek  <jakub@redhat.com>
1164
1165         * elf/dl-minimal.c (__chk_fail): New.  Add rtld_hidden_def.
1166         * sysdeps/unix/sysv/linux/readonly-area.c: New file.
1167         * sysdeps/i386/i686/memmove.S (__memmove_chk): Add checking
1168         routine.
1169         * sysdeps/i386/i686/memcpy.S (__memcpy_chk): Likewise.
1170         * sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise.
1171         * sysdeps/i386/i686/memset.S (__memset_chk): Likewise.
1172         * sysdeps/i386/i686/memmove-chk.S: New file.
1173         * sysdeps/i386/i686/memcpy-chk.S: Likewise.
1174         * sysdeps/i386/i686/mempcpy-chk.S: Likewise.
1175         * sysdeps/i386/i686/memset-chk.S: Likewise.
1176         * sysdeps/generic/strcat-chk.c (__strcat_chk): Don't __chk_fail
1177         if exactly fitting into buffer.
1178         * sysdeps/generic/strncat-chk.c (__strncat_chk): Likewise.
1179         * sysdeps/generic/readonly-area.c: New file.
1180         * sysdeps/generic/strncpy-chk.c (__strncpy_chk): Only test
1181         destlen once.
1182         * sysdeps/x86_64/memset.S (__memset_chk): Add checking routine.
1183         * sysdeps/x86_64/memcpy.S (__memcpy_chk): Likewise.
1184         * sysdeps/x86_64/mempcpy.S (__memcpy_chk): Define to __mempcpy_chk.
1185         * sysdeps/x86_64/memcpy-chk.S: New file.
1186         * sysdeps/x86_64/mempcpy-chk.S: Likewise.
1187         * sysdeps/x86_64/memset-chk.S: Likewise.
1188         * sysdeps/x86_64/strcpy-chk.S: Likewise.
1189         * sysdeps/x86_64/stpcpy-chk.S: Likewise.
1190         * argp/argp-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing.
1191         * argp/argp-fs-xinl.c (__OPTIMIZE__): Likewise.
1192         * debug/tst-chk1.c: New test.
1193         * debug/tst-chk2.c: Likewise.
1194         * debug/tst-chk3.c: Likewise.
1195         * debug/test-strcpy_chk.c: Likewise.
1196         * debug/test-stpcpy_chk.c: Likewise.
1197         * debug/vsprintf_chk.c (__vsprintf_chk): If flags > 0, request
1198         _IO_FLAGS2_CHECK_PERCENT_N.  Add libc_hidden_def.
1199         * debug/Makefile (routines): Add printf_chk, fprintf_chk, vprintf_chk,
1200         vfprintf_chk, gets_chk and readonly-area.
1201         (CFLAGS-*_chk.c): Set.
1202         (tests): Add tst-chk1, tst-chk2, tst-chk3, test-strcpy_chk and
1203         test-stpcpy_chk.
1204         * debug/vprintf_chk.c: New file.
1205         * debug/printf_chk.c: Likewise.
1206         * debug/vfprintf_chk.c: Likewise.
1207         * debug/fprintf_chk.c: Likewise.
1208         * debug/gets_chk.c: Likewise.
1209         * debug/chk_fail.c (__chk_fail): Add libc_hidden_def.
1210         * debug/snprintf_chk.c (__snprintf_chk): Fix order of arguments
1211         passed to __vsnprintf_chk.
1212         * debug/Versions (libc): Export __printf_chk, __fprintf_chk,
1213         __vprintf_chk, __vfprintf_chk and __gets_chk @GLIBC_2.3.4.
1214         * debug/vsnprintf_chk.c (__vsnprintf_chk): Don't call
1215         __vsnprintf, instead create a temporary file with
1216         _IO_strn_jumps jumptable.  If flags > 0, request
1217         _IO_FLAGS2_CHECK_PERCENT_N.  Add libc_hidden_def.
1218         * libio/Makefile (headers): Add bits/stdio2.h.
1219         * libio/stdio.h: Include <bits/stdio2.h> if __USE_FORTIFY_LEVEL.
1220         (sprintf, snprintf, vsprintf, vsnprintf): Remove defines.
1221         * libio/strfile.h (_IO_strnfile): New type.
1222         (_IO_strn_jumps): New extern.
1223         * libio/vsnprintf.c (_IO_strnfile): Remove.
1224         (_IO_strn_jumps): Remove static.
1225         * libio/bits/stdio2.h: New file.
1226         * libio/vswprintf.c (_IO_strnfile): Rename type to...
1227         (_IO_wstrnfile): ...this.  Adjust all uses.
1228         * libio/libio.h (_IO_FLAGS2_CHECK_PERCENT_N): Define.
1229         * stdio-common/vfprintf.c (STR_LEN): Define.
1230         (vfprintf): Add readonly_format variable.
1231         Handle _IO_FLAGS2_CHECK_PERCENT_N.
1232         (buffered_vfprintf): Copy _flags2.
1233         * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk,
1234         __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk,
1235         __vfprintf_chk): New prototypes.
1236         (__vsprintf_chk, __vsnprintf_chk): Add libc_hidden_proto.
1237         * include/string.h (__memcpy_chk, __memmove_chk, __mempcpy_chk,
1238         __memset_chk, __strcpy_chk, __stpcpy_chk, __strncpy_chk, __strcat_chk,
1239         __strncat_chk): New prototypes.
1240         * include/bits/string3.h: New file.
1241         * include/sys/cdefs.h (__chk_fail): Add libc_hidden_proto
1242         and rtld_hidden_proto.
1243         * string/Makefile (headers): Add bits/string3.h.
1244         * string/bits/string3.h (bcopy, bzero): New defines.
1245         (memset, memcpy, memmove, strcpy, strncpy, strcat, strncat): Change
1246         macros so that inlines are used only if unknown destination size
1247         or side-effects in destination argument.
1248         (mempcpy, stpcpy): Likewise.  Protect with #ifdef __USE_GNU.
1249
1250 2004-09-16  Ulrich Drepper  <drepper@redhat.com>
1251
1252         * debug/Makefile (routines): Add *_chk.
1253         * debug/Versions (libc): Export __chk_fail, __memcpy_chk,
1254         __memmove_chk, __mempcpy_chk, __memset_chk, __stpcpy_chk,
1255         __strcat_chk, __strcpy_chk, __strncat_chk, __strncpy_chk,
1256         __sprintf_chk, __vsprintf_chk, __snprintf_chk, __vsnprintf_chk
1257         @GLIBC_2.3.4.
1258         * debug/chk_fail.c: New file.
1259         * debug/snprintf_chk.c: Likewise.
1260         * debug/sprintf_chk.c: Likewise.
1261         * debug/vsnprintf_chk.c: Likewise.
1262         * debug/vsprintf_chk.c: Likewise.
1263         * include/features.h (_FORTIFY_SOURCE): Document, handle.
1264         (__USE_FORTIFY_LEVEL): Define.
1265         (__GNUC_PREREQ): Move to earlier location.
1266         * include/sys/cdefs.h (__chk_fail): New prototype.
1267         * libio/bits/stdio.h (sprintf, vsprintf, snprintf, vsnprintf):
1268         Define if __USE_FORTIFY_LEVEL.
1269         * misc/sys/cdefs.h (__bos, __bos0): Define.
1270         * string/string.h: Include <bits/string3.h> if __USE_FORTIFY_LEVEL.
1271         * bits/string/string3.h: New header.
1272         * sysdeps/generic/memcpy_chk.c: New file.
1273         * sysdeps/generic/memmove_chk.c: Likewise.
1274         * sysdeps/generic/mempcpy_chk.c: Likewise.
1275         * sysdeps/generic/memset_chk.c: Likewise.
1276         * sysdeps/generic/stpcpy_chk.c: Likewise.
1277         * sysdeps/generic/strcat_chk.c: Likewise.
1278         * sysdeps/generic/strcpy_chk.c: Likewise.
1279         * sysdeps/generic/strncat_chk.c: Likewise.
1280         * sysdeps/generic/strncpy_chk.c: Likewise.
1281
1282 2004-10-17  Roland McGrath  <roland@frob.com>
1283
1284         * manual/memory.texi (Page Lock Functions): Typo fix.
1285         Reported by Carlos Maziero <maziero@ppgia.pucpr.br>
1286
1287 2004-10-16  Alfred M. Szmidt  <ams@kemisten.nu>
1288
1289         * sysdeps/mach/hurd/Makefile (link-libc-static): Use
1290         `$(static-gnulib') instead of `$(gnulib)'.
1291
1292 2004-10-17  Ulrich Drepper  <drepper@redhat.com>
1293
1294         * sunrpc/rpc_clntout.c: Avoid including rcsid into binary.
1295         * sunrpc/rpc_cout.c: Likewise.
1296         * sunrpc/rpc_hout.c: Likewise.
1297         * sunrpc/rpc_main.c: Likewise.
1298         * sunrpc/rpc_parse.c: Likewise.
1299         * sunrpc/rpc_sample.c: Likewise.
1300         * sunrpc/rpc_scan.c: Likewise.
1301         * sunrpc/rpc_svcout.c: Likewise.
1302         * sunrpc/rpc_tblout.c: Likewise.
1303         * sunrpc/rpc_util.c: Likewise.
1304
1305 2004-10-15  Jakub Jelinek  <jakub@redhat.com>
1306
1307         * sysdeps/unix/sysv/linux/i386/sysdep.h (PUSHARGS_6, DOARGS_6,
1308         POPARGS_6, _PUSHARGS_6, _DOARGS_6, _POPARGS_6): Define.
1309         * sysdeps/unix/sysv/linux/i386/syscall.S (syscall): Handle 6 argument
1310         syscalls.
1311
1312 2004-10-15  Ulrich Drepper  <drepper@redhat.com>
1313
1314         * nscd/nscd.h (_PATH_NSCD_PASSWD_DB): Move to /var/db.
1315         (_PATH_NSCD_GROUP_DB): Likewise.
1316         (_PATH_NSCD_HOSTS_DB): Likewise.
1317         (_PATH_NSCD_XYZ_DB_TMP): New #define, point to /var/run.
1318         * nscd/connections.c (nscd_init): Non-persistent database files
1319         are created with the _PATH_NSCD_XYZ_DB_TMP path.
1320         * nscd/nscd.init: Create /var/db/nscd if necessary.
1321
1322 2004-10-15  Richard Henderson  <rth@redhat.com>
1323
1324         * sysdeps/unix/sysv/linux/alpha/register-dump.h: New file.
1325         * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h (SIGCONTEXT): Add
1326         _code argument, pass sigcontext by pointer.
1327         (SIGCONTEXT_EXTRA_ARGS): Likewise.
1328         (GET_PC, GET_FRAME, GET_STACK): Expect ctx as pointer.
1329
1330 2004-10-14  Richard Henderson  <rth@redhat.com>
1331
1332         * sysdeps/alpha/dl-machine.h (elf_machine_rela,
1333         elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto
1334         instead of static.
1335
1336         * sysdeps/unix/sysv/linux/adjtime.c (ADJTIME): Use prototype
1337         style definition.
1338         * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): If
1339         __ASSUME_TIMEVAL64, define __adjtime directly rather than
1340         via strong_alias.
1341
1342 2004-10-14  Ulrich Drepper  <drepper@redhat.com>
1343
1344         * nscd/Makefile: When using compilers without -fpie support, also
1345         link with -lselinux if necessary.
1346         Patch by Arkadiusz Miskiewicz <arekm@pld-linux.org>.
1347
1348         * nscd/connections.c (nscd_init): Remove file if not persistent
1349         and not shared.  Patch by Jerome Borsboom <j.borsboom@erasmusmc.nl>.
1350
1351 2004-10-14  Jakub Jelinek  <jakub@redhat.com>
1352
1353         * sysdeps/unix/sysv/linux/i386/setresuid.c: Handle
1354         defined __NR_setresuid32 && !defined __NR_setresuid.
1355         * sysdeps/unix/sysv/linux/i386/setresgid.c: Handle
1356         defined __NR_setresgid32 && !defined __NR_setresgid.
1357
1358         * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit,
1359         __signbitl, sqrtf, sqrt, sqrtl, fdim, fdimf): Use __NTH macro.
1360
1361         * sysdeps/generic/errno-loc.c: Don't undef #errno
1362         if RTLD_PRIVATE_ERRNO.
1363         * include/errno.h (__errno_location): If RTLD_PRIVATE_ERRNO,
1364         add attribute_hidden.
1365
1366         * dlfcn/dlinfo.c (dlinfo_doit): Replace iteration over GL(dl_loaded)
1367         chain with iteration over all namespaces' _ns_loaded chains.
1368         * sysdeps/powerpc/powerpc32/dl-machine.c (__elf_preferred_address):
1369         Likewise.
1370         * sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise.
1371
1372         * elf/rtld.c (_dl_start): Fix one last dl_loaded.
1373         * elf/dl-load.c (_dl_map_object_from_fd): Avoid definition of
1374         label when it is not needed.
1375         * elf/dl-close.c (_dl_close): Typo: & -> &&.
1376
1377 2004-10-12  Jakub Jelinek  <jakub@redhat.com>
1378
1379         * sysdeps/generic/segfault.c: Include alloca.h and stdint.h.
1380         Don't include frame.h.
1381         (CURRENT_STACK_FRAME, INNER_THAN, ADVANCE_STACK_FRAME): Remove.
1382         (catch_segfault): Use backtrace function.
1383
1384         * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Fix comment.
1385         * sysdeps/unix/sysv/linux/ia64/register-dump.h: New file.
1386         * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h (GET_PC): Return sc_ip
1387         field.
1388
1389 2004-10-13  Ulrich Drepper  <drepper@redhat.com>
1390
1391         Add support for namespaces in the dynamic linker.
1392         * dlfcn/Makefile (libdl-routines): Add dlmopen.
1393         * dlfcn/Versions [libdl, GLIBC_2.3.4]: Add dlmopen.
1394         * dlfcn/dlfcn.h: Define Lmid_t, LM_ID_BASE, and LM_ID_NEWLM.
1395         Declare dlmopen.  Document RTLD_DI_LMID.
1396         * dlfcn/dlinfo.c: Handle RTLD_DI_LMID.
1397         * dlfcn/dlmopen.c: New file.
1398         * dlfcn/dlopen.c: Pass new parameter to _dl_open.
1399         * dlfcn/dlopenold.c: Likewise.
1400         * elf/dl-addr.c: Adjust for removal of GL(dl_loaded).
1401         * elf/dl-caller.c: Likewise.
1402         * elf/dl-close.c: Likewise.
1403         * elf/dl-conflict.c: Likewise.
1404         * elf/dl-debug.c: Likewise.
1405         * elf/dl-lookup.c: Likewise.
1406         * elf/dl-sym.c: Likewise.
1407         * elf/dl-version.c: Likewise.
1408         * elf/do-lookup.h: Likewise.
1409         * elf/rtld.c: Likewise.
1410         * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
1411         * elf/dl-depsc: Likewise.  Add new parameter to _dl_map_object.
1412         * elf/dl-fini.c: Call destructors in all namespaces.
1413         * elf/dl-iteratephdr.c: Compute total nloaded.  Adjust for removal of
1414         GL(dl_loaded).
1415         * elf/dl-libc.c: Pass new parameter to _dl_open.  Adjust for removal
1416         of GL(dl_loaded).
1417         * elf/dl-load.c (_dl_map_object_from_fd): Don't load ld.so a second
1418         time.  Reuse the one from the main namespace in all others.
1419         Pass new parameter to _dl_new_object.
1420         Adjust for removal of GL(dl_loaded).
1421         * elf/dl-object.c: Take new parameter.  Use it to initialize l_ns.
1422         Adjust for removal of GL(dl_loaded).
1423         * elf/dl-open.c (_dl_open): Take new parameter.
1424         Adjust for removal of GL(dl_loaded).
1425         * elf/dl-support.c: Replace global _dl_loaded etc variables with
1426         _dl_ns variable.
1427         * include/dlfcn.h: Adjust prototype of _dl_open.
1428         Define __LM_ID_CALLER.
1429         * include/link.h: Add l_real, l_ns, and l_direct_opencount elements.
1430         * sysdeps/generic/dl-tls.c: Bump TLS_STATIC_SURPLUS.  Since libc is
1431         using TLS we need memory appropriate to the number of namespaces.
1432         * sysdeps/generic/ldsodefs.h (struct rtld_global): Replace _dl_loaded,
1433         _dl_nloaded, _dl_global_scope, _dl_main_searchlist, and
1434         _dl_global_scope_alloc with _dl_ns element.  Define DL_NNS.
1435         Adjust prototypes of _dl_map_object and member in rtld_global_ro.
1436         * malloc/malloc.c: Include <dlfcn.h>.
1437         * malloc/arena.c (ptmalloc_init): If libc is not in primary namespace,
1438         never use brk.
1439         * elf/Makefile: Add rules to build and run tst-dlmopen1 and
1440         tst-dlmopen2.
1441         * elf/tst-dlmopen1.c: New file.
1442         * elf/tst-dlmopen1mod.c: New file.
1443         * elf/tst-dlmopen2.c: New file.
1444
1445         * elf/dl-close.c: Improve reference counting by tracking direct loads.
1446         * elf/dl-lookup.c (add_dependency): Likewise.
1447         * elf/dl-open.c (dl_open_worker): Likewise.
1448         * elf/rtld.c (dl_main): Likewise.
1449
1450 2004-09-09  GOTO Masanori  <gotom@debian.or.jp>
1451
1452         [BZ #77]
1453         * elf/dl-close.c: Count down l_opencount to check not only for
1454         l_reldeps, but also l_initfini.
1455
1456 2004-10-13  Ulrich Drepper  <drepper@redhat.com>
1457
1458         * elf/dl-close.c (_dl_close): Update bug reporting instructions.
1459
1460 2004-10-11  Ulrich Drepper  <drepper@redhat.com>
1461
1462         * timezone/asia: Update from tzdata2004e.
1463         * timezone/southamerica: Likewise.
1464         * timezone/private.h: Update from tzcode2004e.
1465         * timezone/zdump.c: Likewise.
1466
1467         * stdio-common/vfscanf.c: Add support for reading localized
1468         digits.  Patch mainly by Hamed Malek <hamed@bamdad.org>.
1469
1470         * resolv/res_init.c (res_thread_freeres): Reset _res.options.
1471         [BZ #434]
1472
1473         * resolv/res_send.c (send_dg): Use nonblocking sockets.  Add
1474         appropriate poll/select calls and restart operation if necessary.
1475         Also handle EINTR.
1476
1477         * elf/tst-dlopenrpath.c (do_test): Enable code which was disabled
1478         for debugging.
1479
1480         * elf/dl-sym.c (do_sym): Avoid using global variable.
1481
1482         * elf/dl-addr.c (_dl_addr): Really use match everywhere.
1483
1484 2004-10-09  Andreas Schwab  <schwab@suse.de>
1485
1486         * sysdeps/m68k/memcopy.h (WORD_COPY_BWD): Remove use of cast as
1487         lvalue.
1488
1489         * sysdeps/m68k/fpu/bits/mathinline.h: Remove __THROW from inline
1490         definitions.
1491
1492 2004-10-07  Andreas Schwab  <schwab@suse.de>
1493
1494         * misc/sys/uio.h: Change __vector to __iovec to avoid clash with
1495         altivec.
1496
1497 2004-10-06  Alan Modra  <amodra@bigpond.net.au>
1498
1499         * gmon/Makefile (CFLAGS-mcount.c): Move before inclusion of "Rules".
1500         * sysdeps/powerpc/powerpc64/Makefile (CFLAGS-mcount.c): Add
1501         -msoft-float.
1502         * sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): New macros.
1503         (CALL_MCOUNT): Replace with a gas macro implementation.
1504         (EALIGN): Delete PROF version.
1505         * sysdeps/powerpc/powerpc64/__longjmp-common.S: Invoke CALL_MCOUNT.
1506         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Likewise.
1507         * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise.
1508         * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
1509         * sysdeps/powerpc/powerpc64/memcpy.S: Likewise.
1510         * sysdeps/powerpc/powerpc64/memset.S: Likewise.
1511         * sysdeps/powerpc/powerpc64/stpcpy.S: Likewise.
1512         * sysdeps/powerpc/powerpc64/strchr.S: Likewise.
1513         * sysdeps/powerpc/powerpc64/strcmp.S: Likewise.
1514         * sysdeps/powerpc/powerpc64/strcpy.S: Likewise.
1515         * sysdeps/powerpc/powerpc64/strlen.S: Likewise.
1516         * sysdeps/powerpc/powerpc64/strncmp.S: Likewise.
1517         * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Likewise.
1518         * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Likewise.
1519         * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise.
1520         * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Likewise.
1521         * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Likewise.
1522         * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Likewise.
1523         * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise.
1524         * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Likewise.
1525         * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Likewise.
1526         * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Likewise.
1527         * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Likewise.
1528         * sysdeps/powerpc/powerpc64/fpu/s_round.S: Likewise.
1529         * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise.
1530         * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Likewise.
1531         * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise.
1532
1533         * sysdeps/powerpc/powerpc64/setjmp-common.S: Add extra entry point
1534         past _mcount call.
1535         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Use it.
1536         * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise.
1537
1538 2004-10-06  Ulrich Drepper  <drepper@redhat.com>
1539
1540         * resolv/res_mkquery.c (res_nmkquery): Reject randombits value if
1541         low 16 bits are zero.
1542
1543 2004-10-06  Jakub Jelinek  <jakub@redhat.com>
1544
1545         * posix/tst-getaddrinfo2.c: Include stdlib.h and string.h.
1546         (do_test): Use %p instead of 0x%08X to print a pointer.
1547
1548         * malloc/malloc.c: Include stdio-common/_itoa.h.
1549
1550 2004-10-05  Ulrich Drepper  <drepper@redhat.com>
1551
1552         * elf/rtld.c (dl_main): Use _dl_debug_printf instead of _dl_printf
1553         for prelink message.
1554
1555 2004-10-05  Jakub Jelinek  <jakub@redhat.com>
1556
1557         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Include dl-sysdep.h.
1558         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
1559
1560 2004-10-05  Ulrich Drepper  <drepper@redhat.com>
1561
1562         * grp/initgroups.c: Remove duplicate group IDs.
1563         * grp/compat-initgroups.c: Likewise.
1564         * nscd/initgrcache.c: Likewise.
1565
1566 2004-10-05  Jakub Jelinek  <jakub@redhat.com>
1567
1568         * sysdeps/unix/sysv/linux/x86_64/sysconf.c (__sysconf): Return 200112L
1569         for _SC_CPUTIME or _SC_THREAD_CPUTIME.
1570
1571         * nscd/Makefile (nscd-cflags): Set to -DIS_IN_nscd=1, plus
1572         -fpie if building PIE.
1573         (CFLAGS-*.c): Use it.
1574
1575         * nscd/Makefile (relro-LDFLAGS): Add -Wl,-z,now if have-z-relro.
1576         ($(objpfx)nscd): Add $(relro-LDFLAGS).
1577
1578         * sysdeps/unix/sysv/linux/i386/sysconf.c: Include hp-timing.h.
1579         (__sysconf): Return -1 for _SC_CPUTIME or _SC_THREAD_CPUTIME if
1580         !HP_TIMING_AVAIL.
1581
1582 2004-10-05  Ulrich Drepper  <drepper@redhat.com>
1583
1584         * nscd/Makefile (distribute): Remove TODO.
1585         * nscd/TODO: Removed.
1586
1587 2004-10-04  Ulrich Drepper  <drepper@redhat.com>
1588
1589         * nscd/gai.c: Define __no_netlink_support if NEED_NETLINK is
1590         defined and __ASSUME_NETLINK_SUPPORT is zero.
1591         * sysdeps/unix/sysv/linux/Makefile (CFLAGS-gai.c): Add
1592         -DNEED_NETLINK.
1593
1594         * malloc/mtrace.pl: Avoid calling location unless it is needed for
1595         output.  Patch by Edward Bishop <binutils@gmail.com>.
1596
1597         * nscd/Makefile (CFLAGS-gai.c): Add -fpie.
1598
1599 2004-10-04  H.J. Lu  <hongjiu.lu@intel.com>
1600
1601         * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
1602         (clock_getcpuclockid): Add missing retval.
1603
1604         * sysdeps/unix/sysv/linux/ia64/sysconf.c (linux_sysconf): Fix a typo.
1605
1606 2004-10-04  Roland McGrath  <roland@redhat.com>
1607
1608         * include/errno.h [RTLD_PRIVATE_ERRNO] (errno): Rename the real symbol
1609         to rtld_errno.
1610         * sysdeps/generic/errno.c [RTLD_PRIVATE_ERRNO] (rtld_errno): Define it,
1611         and don't define any other errno names.
1612         * sysdeps/unix/alpha/sysdep.h [RTLD_PRIVATE_ERRNO]: Use rtld_errno in
1613         place of errno.
1614         * sysdeps/unix/i386/sysdep.S: Likewise.
1615         * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
1616         * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
1617         * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
1618         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
1619         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
1620         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
1621         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
1622         * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
1623         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
1624         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
1625         * sysdeps/unix/x86_64/sysdep.S: Likewise.
1626
1627         * sysdeps/generic/errno.c [! USE___THREAD] (errno): Use `nocommon'
1628         attribute instead of `section'.
1629
1630 2004-10-04  Ulrich Drepper  <drepper@redhat.com>
1631
1632         * sysdeps/unix/sysv/linux/ia64/sysconf.c: New file.
1633         * sysdeps/unix/sysv/linux/ia64/Dist: Add has_cpuclock.c.
1634         * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: Move actual
1635         testing code to...
1636         * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c: ...here.  New file.
1637         * sysdeps/unix/sysv/linux/i386/sysconf.c: Add dynamic check for
1638         _SC_CPUTIME and _SC_THREAD_CPUTIME.
1639
1640         * nscd/connections.c (start_threads): Use sysconf in case
1641         _POSIX_CLOCK_SELECTION or _POSIX_MONOTONIC_CLOCK is not greater zero.
1642
1643         * nscd/Makefile (nscd-modules): Add gai.
1644         * nscd/gai.c: New file.
1645         * nscd/nscd.c: Remove getaddrinfo stub definition.
1646
1647         * assert/assert.h: Give up on using __builtin_expect.
1648
1649         * elf/rtld.c (dl_main): Only skip => output in ldd mode if both
1650         strings are identical.
1651
1652 2004-03-18  Jakub Jelinek  <jakub@redhat.com>
1653
1654         * malloc/arena.c (aligned_heap_area): New variable.
1655         (new_heap): If aligned_heap_area != NULL, attempt to use that
1656         first.  If HEAP_MAX_SIZE << 1 area is already HEAP_MAX_SIZE bytes
1657         aligned, remember the second half in aligned_heap_area.
1658         (delete_heap): Clear aligned_heap_area if deleting the area right
1659         before aligned_heap_area.
1660
1661 2004-10-03  Juerg Billeter  <j@bitron.ch>
1662
1663         * nscd/nscd_initgroups.c (__nscd_getgrouplist): Return -1 if nscd
1664         can't be used.  [BZ #424]
1665
1666 2004-10-03  Ulrich Drepper  <drepper@redhat.com>
1667
1668         Dynamically create new threads if necessary.
1669         * nscd/connections.c (fd_ready): If no thread available for processing
1670         the request, create a new one unless the limit is reached.
1671         (start_threads): Check errors from pthread_create.
1672         * nscd/nscd.h: Declare max_nthreads.
1673         * nscd/nscd_conf.c: Parse max-nthreads entry.
1674         * nscd/nscd.conf: Add max-threads entry.
1675         * nscd/nscd_stat.c: Print current and maximum number of threads.
1676
1677         Implement paranoia mode.
1678         * nscd/connections.c (nscd_init): Mark database and socket descriptors
1679         as close on exec.
1680         (restart): New function.
1681         (restart_p): New function.
1682         (nscd_run): Add missing descrement of nready in case readylist is
1683         empty.
1684         (main_loop_poll): Call restart_p and restart.
1685         (main_loop_epoll): Likewise.
1686         (begin_drop_privileges): Save original UID and GID.
1687         * nscd/nscd.c: Define new variables paranoia, restart_time,
1688         restart_interval, oldcwd, old_gid, old_uid.
1689         (main): Disable paranoia mode if we are not forking.
1690         (check_pid): When re-execing, the PID file contains the same PID as
1691         the current process.  Do not fail in this case.
1692         * nscd/nscd.conf: Add paranoia and restart-interval entries.
1693         * nscd/nscd.h: Define RESTART_INTERVAL.  Declare new variables.
1694         * nscd/nscd_conf.c: Parse paranoia and restart-internal configurations.
1695         * nscd/nscd_stat.c: Print paranoia and restart-internal values.
1696
1697         * nscd/connections.c: Implement alternative loop for main thread
1698         which uses epoll.
1699         * sysdeps/unix/sysv/linux/Makefile [subdir=nscd]
1700         (CFLAGS-connections.c): Add -DHAVE_EPOLL.
1701
1702 2004-10-02  Ulrich Drepper  <drepper@redhat.com>
1703
1704         * nscd/Makefile (CFLAGS-initgrcache.c): Add to CFLAGS-* variables,
1705         don't replace old content.
1706
1707         * nscd/connections.c: Rewrite handling of incoming connections.  All
1708         are handled by one thread which then hands off the descriptors for the
1709         real work to the worker threads.
1710         * nscd/Makefile: Link nscd with librt.
1711
1712         * nscd/selinux.c: Pretty printing.
1713
1714         * nscd/dbg_log.c (dbg_log): Don't add unnecessary newline to
1715         output.  Let syslog do the formatting if debug_level == 0.
1716
1717         * nscd/nscd_helper.c (get_mapping): No need to check timestamp if
1718         nscd_certainly_running is nonzero.
1719
1720 2004-10-02  Simon Josefsson  <jas@extundo.com>
1721
1722         [BZ #420]
1723         * sysdeps/generic/memmem.c [!_LIBC]: Define __builtin_expect, to
1724         make the file usable inside gnulib.
1725
1726 2004-10-01  Ulrich Drepper  <drepper@redhat.com>
1727
1728         * malloc/malloc.c (public_vALLOc): Add missing use of hooks.
1729         (public_pVALLOc): Likewise.
1730
1731         * nscd/nscd_initgroups.c (__nscd_getgrouplist): Always add the
1732         group the caller provided unless there is a real problem.
1733
1734         * posix/bug-glob1.c (prepare): Fix creation of symlink.
1735
1736 2004-09-30  Ulrich Drepper  <drepper@redhat.com>
1737
1738         * posix/Makefile: Add rules to build and run bug-glob1.
1739         * posix/bug-glob1.c: New file.
1740
1741         * iconv/iconv_prog.c (main): Print progress information to stderr.
1742
1743         * nscd/nscd.c (termination_handler): Reset timestamp so that
1744         clients immediately stop using the database.
1745
1746         * nscd/nscd-client.h (__nscd_get_map_ref): Drop volatile from last
1747         parameter.
1748         (__nscd_drop_map_ref): Change second parameter to be a reference to
1749         a variable.  Update variable when cycle count changed.
1750         * nscd/nscd_helper.c (__nscd_get_map_ref): Remove volatile here, too.
1751         * nscd/nscd_getai.c: Correctly use __nscd_drop_map_ref.  Reinitialize
1752         all variables and avoid memory leak in case of retries.
1753         * nscd/nscd_getgr_r.c: Likewise.
1754         * nscd/nscd_gethst_r.c: Likewise.
1755         * nscd/nscd_getpw_r.c: Likewise.
1756         * nscd/nscd_initgroups.c: Likewise.
1757
1758         * nscd/nscd.h: Add declaration of addinitgroups and
1759         readdinitgroups.
1760
1761 2004-09-30  Andreas Jaeger  <aj@suse.de>
1762
1763         * nscd/Makefile (CFLAGS-nscd_initgroups.c): Set to -fpie.
1764         (CFLAGS-initgrcache.c): Set to -fexceptions.
1765
1766 2004-09-29  Ulrich Drepper  <drepper@redhat.com>
1767
1768         * sysdeps/generic/glob.c (glob_in_dir): Don't blindly trust
1769         readdir results; for symlinks or files of unknown type check using
1770         stat whether the file exists.
1771
1772         * posix/tst-gnuglob.c (find_file): Handle leading "./".  Fix
1773         recognition of files.
1774
1775 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
1776
1777         * time/tzfile.c (tzfile_mtime): New variable.
1778         (__tzfile_read): Reread the file if mtime is different.
1779
1780 2004-09-28  Jakub Jelinek  <jakub@redhat.com>
1781
1782         * sysdeps/alpha/fpu/bits/mathinline.h (__fdimf, __fdim, fdimf, fdim):
1783         Handle +inf/+inf.
1784         * sysdeps/powerpc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.
1785         * sysdeps/sparc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.
1786
1787 2004-09-29  Ulrich Drepper  <drepper@redhat.com>
1788
1789         * nscd/nscd_gethst_r.c (nscd_gethst_r): Use correct constant for
1790         testing result of __nscd_get_map_ref.
1791
1792 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
1793
1794         * sysdeps/i386/fpu/s_fdim.S (__fdim): Handle +inf/+inf.
1795         * sysdeps/i386/fpu/s_fdimf.S (__fdimf): Likewise.
1796         * sysdeps/i386/fpu/s_fdiml.S (__fdiml): Likewise.
1797
1798 004-09-29  Ulrich Drepper  <drepper@redhat.com>
1799
1800         * grp/initgroups.c: Move compat_call implementation...
1801         * grp/compat-initgroups.c: ...to here.  New file.
1802         * grp/Makefile (distribute): Add compat-initgroups.c.
1803         (CFLAGS-initgroups.c): Add -DUSE_NSCD=1.
1804         * mscd/initgrcache.c: New file.
1805         * nscd/nscd_initgroups.c: New file.
1806         * nscd/Makefile (routines): Add nscd_initgroups.
1807         (nscd-modules): Add initgrcache.
1808         * nscd/cache.c (prune_cache): Add support for INITGROUPS entries.
1809         * nscd/connections.c: Handle INITGROUPS requests.
1810         * nscd/nscd-client.h: Define INITGROUPS, initgr_response_header.
1811         Add initgrdata element to struct datahead.  Fix typo in comment.
1812         * nscd/nscd_proto.h: Declare __nscd_getgrouplist.  Fix parameter
1813         type in __nscd_getgrgrid_r.
1814         * nscd/selinux.c (perms): Add INITGROUPS entry.
1815
1816         * nscd/nscd_getai.c: No need to include <sys/mman.h>.
1817
1818         * sunrpc/get_myaddr.c (get_myaddress): Account for interfaces without
1819         assigned addresses.
1820         * sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
1821         * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
1822         * sunrpc/clnt_udp.c (is_network_up): Likewise.
1823
1824         * nscd/nscd.c: Define getaddrinfo hidden so that it is never found
1825         outside.
1826
1827         * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_segvflags):
1828         Renamed from si_flags due to conflict with si_flags from <elf.h>.
1829
1830 2004-09-28  Ulrich Drepper  <drepper@redhat.com>
1831
1832         * nscd/nscd_getai.c: Use NO_MAPPING instead of MAP_FAILED for test
1833         of failing __nscd_get_map_ref.  Fix a few typos.
1834
1835         * sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Make sure
1836         SIGSETXID is not blocked.
1837         * sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Likewise.
1838         * sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise.
1839         * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise.
1840         * sysdeps/generic/sigfillset.c (sigfillset): Don't set SIGSETXID.
1841
1842         * sunrpc/get_myaddr.c (get_myaddress): Fix test for failing
1843         getifaddrs call.
1844         * sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
1845         * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
1846         * sunrpc/Makefile (xtests): Add tst-getmyaddr.
1847         * sunrpc/tst-getmyaddr.c: New file.
1848
1849         * malloc/arena.c (ptmalloc_init): Allow MALLOC_CHECK_==0 to
1850         disable all checking.
1851
1852         * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_flags): Add
1853         support to get this value.
1854
1855 2004-09-28  Jakub Jelinek  <jakub@redhat.com>
1856
1857         * io/utime.h (utime): Allow second argument to be NULL.
1858
1859 2004-09-28  Ulrich Drepper  <drepper@redhat.com>
1860
1861         * sysdeps/posix/getaddrinfo.c (gaih_inet): If NAME is a numerical IP
1862         address and AI_CANONNAME is set, return copy of NAME as ai_canonname.
1863
1864 2004-09-27  Andreas Jaeger  <aj@suse.de>
1865
1866         * sysdeps/i386/dl-machine.h (elf_machine_rela_relative): Replace
1867         static inline by auto inline, add always_inline attribute.
1868         (elf_machine_rel): Likewise.
1869         (elf_machine_rela): Likewise.
1870         (elf_machine_lazy_rel): Likewise.
1871         (elf_machine_lazy_rela): Likewise.
1872         (elf_machine_rel_relative): Likewise.
1873
1874 2004-09-27  Ulrich Drepper  <drepper@redhat.com>
1875
1876         * sunrpc/xdr_intXX_t.c: Add xdr_quad_t and xdr_u_quad_t aliases.
1877         * sunrpc/rpc/xdr.h: Declare xdr_quad_t and xdr_u_quad_t.
1878         * sunrpc/rpc_parse.c (get_type): Use "quad_t" for TOK_HYPER.
1879         Otherwise isvectordef will loop infinitely if typedef hyper int64_t
1880         is seen.
1881         (unsigned_dec): Use "u_quad_t" for similar reasons.
1882         * sunrpc/Versions: Export xdr_quad_t and xdr_u_quad_t.
1883
1884 2004-09-27  Roland McGrath  <roland@redhat.com>
1885
1886         * sysdeps/generic/bits/waitstatus.h (__WIFSIGNALED): Simplify bit
1887         twiddling in last change.
1888
1889         * posix/tst-waitid.c (do_test): Add tests for waitpid with WCONTINUED.
1890
1891         [BZ #409]
1892         * posix/sys/wait.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
1893         * stdlib/stdlib.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
1894         * sysdeps/generic/bits/waitstatus.h (__W_CONTINUED): New macro.
1895         [WCONTINUED] (__WIFCONTINUED): New macro.
1896         (__WIFSIGNALED): Rewritten to exclude __W_CONTINUED value, and have no
1897         branches.
1898
1899         * sysdeps/unix/sysv/linux/waitid.c (do_waitid): Add fifth argument to
1900         all three syscall uses, not just one!
1901
1902 2004-09-26  Richard Henderson  <rth@redhat.com>
1903
1904         * sysdeps/alpha/alphaev6/memcpy.S: Mark .prologue.
1905         * sysdeps/unix/alpha/sysdep.h (LEAF, ENTRY): Align entry points
1906         to 16 byte boundaries.
1907
1908 2004-09-26  Ulrich Drepper  <drepper@redhat.com>
1909
1910         * elf/readlib.c (process_file): Before complaining about too-short
1911         file, check that it potentially be an ELF file.  Also complain about
1912         empty files.  [BZ #151].
1913
1914         * scripts/test-installation.pl: Fix ld.so recognition for new
1915         LD_TRACE_LOADED_OBJECTS output format.
1916         Patch by <jsberg04+computing.glibc@ftml.net>  [BZ #407].
1917
1918         * elf/dl-support.c (_dl_non_dynamic_init): Fix cleaning of
1919         environment.  [BZ #384]
1920
1921         * sunrpc/clnt_udp.c (is_network_up): Use getifaddrs instead of ioctl.
1922         * sunrpc/get_myaddr.c (get_myaddress): Likewise.
1923         * sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
1924         * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.  Change interface
1925         to avoid buffer overrun and remove now useless parameters.
1926         (clnt_broadcast): Adjust caller.  [BZ #381].
1927
1928         * sysdeps/generic/s_fdim.c: Handle +inf/+inf
1929         * sysdeps/generic/s_fdimf.c: Likewise.
1930         * sysdeps/generic/s_fdiml.c: Likewise.
1931         * sysdeps/i386/i686/fpu/s_fdim.S: Likewise.
1932         * sysdeps/i386/i686/fpu/s_fdimf.S: Likewise.
1933         * sysdeps/i386/i686/fpu/s_fdiml.S: Likewise.
1934         * sysdeps/powerpc/fpu/s_fdim.c: Likewise.
1935         * sysdeps/powerpc/fpu/s_fdimf.c: Likewise.
1936         * sysdeps/x86_64/fpu/s_fdiml.S: Likewise.
1937         * math/libm-test.inc (fdim_test): Add test case.  [BZ #376].
1938
1939         * sysdeps/generic/bits/types.h: Fix __SQUAD_TYPE and __UQUAD_TYPE
1940         for compilers without __GLIBC_HAVE_LONG_LONG.  [BZ #362]
1941
1942         * sysdeps/posix/getaddrinfo.c (getaddrinfo): Remove incorrect
1943         requirement on socktype and protocol.
1944         (gaih_inet): If numeric port number is given, return records for all
1945         possible socket types.
1946         * posix/tst-getaddrinfo2.c: New file.
1947         * posix/Makefile (tests): Add tst-getaddrinfo2.  [BZ #358]
1948
1949 2004-09-25  Ulrich Drepper  <drepper@redhat.com>
1950
1951         * locale/loadlocale.c (_nl_intern_locale_data): Recognize LC_CTYPE
1952         data where _nl_value_type_LC_CTYPE does not contain the type
1953         information.  Add range checks.
1954         Reported by John Lumby <johnlumby@hotmail.com> [BZ #356].
1955
1956         * libio/vasprintf.c (_IO_vasprintf): Fix condition to decide
1957         whether to realloc or not.
1958         Reported by Pavel Kankovsky <peak@argo.troja.mff.cuni.cz> [BZ #346].
1959
1960         * intl/dcigettext.c (DCIGETTEXT): Protect tfind/tsearch calls.
1961         * intl/dcigettext.c (_nl_find_msg): Call _nl_load_domain also if
1962         decided < 0.
1963         * intl/finddomain.c (_nl_find_domain): Likewise.
1964         * intl/loadmsgcat.c (_nl_load_domain): Set decided to 1 only once we
1965         are done.  First set to -1 to signal initialization is ongoing.
1966         Protect against concurrent callers with recursive lock.
1967         * intl/finddomain.c (_nl_find_domain): Protect calls to
1968         _nl_make_l10nflist.  [BZ #322]
1969
1970         * sysdeps/posix/getaddrinfo.c (getaddrinfo): If determinination of
1971         source address fails, initialized source_addr_len field so that
1972         duplicate address recognition does not copy junk.
1973
1974 2004-09-25  Jakub Jelinek  <jakub@redhat.com>
1975
1976         * sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Remove second
1977         result declaration.
1978
1979 2004-09-22  Andreas Schwab  <schwab@suse.de>
1980
1981         * sysdeps/unix/sysv/linux/ia64/sysdep.h: Adjust whitespace.
1982
1983 2004-09-24  Ulrich Drepper  <drepper@redhat.com>
1984
1985         * misc/daemon.c (daemon): Don't succeed if /dev/null cannot be
1986         opened.
1987
1988         * nis/ypclnt.c (do_ypcall): Add one missing unlock.  Simplify the
1989         code a bit.
1990
1991         * misc/daemon.c (daemon): Define errno in case /dev/null is not
1992         the correct device.
1993
1994         * nis/ypclnt.c (yp_bind_file): Optimize a bit.  Minimal cleanups.
1995
1996 2004-09-23  Andreas Jaeger  <aj@suse.de>
1997
1998         * locale/weight.h (findidx): Remove static, it's not supported
1999         anymore with GCC 4.0 in a block scope.
2000         * locale/weightwc.h (findidx): Likewise.
2001         * posix/regcomp.c (seek_collating_symbol_entry): Likewise.
2002         (lookup_collation_sequence_value): Likewise.
2003         (build_range_exp): Likewise.
2004         (build_collating_symbol): Likewise.
2005         * iconv/iconvconfig.c (write_output): Likewise.
2006         * elf/do-rel.h (elf_dynamic_do_rel): Likewise.
2007
2008         * sysdeps/x86_64/dl-machine.h (elf_machine_rela_relative): Remove
2009         static, add always_inline attribute.
2010         (elf_machine_rela): Likewise.
2011         (elf_machine_lazy_rel): Likewise.
2012
2013         * elf/dynamic-link.h (elf_get_dynamic_info): Make static dependend
2014         on !RESOLVE so that it's not defined in local scope.
2015
2016 2004-09-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2017
2018         * sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL_NCS): Define.
2019
2020 2004-09-23  Thorsten Kukuk  <kukuk@suse.de>
2021
2022         * sysdeps/unix/sysv/linux/sys/mount.h: Sync MS_RMT_MASK flag
2023         and BLK* ioctls with linux kernel headers.
2024
2025 2004-09-23  Ulrich Drepper  <drepper@redhat.com>
2026
2027         * sysdeps/generic/bits/dlfcn.h: Add RTLD_DEEPBIND.
2028         * elf/dl-object.c (_dl_new_object): Add new parameter mode.  If mode
2029         has RTLD_DEEPBIND set add local searchlist before global scope.
2030         * sysdeps/generic/ldsodefs.h (_dl_new_object): Adjust prototype.
2031         * elf/rtld.c: Adjust callers of _dl_new_object.
2032         * elf/dl-load.c: Likewise.
2033         (_dl_map_object_from_fd): If RTLD_DEEPBIND is used, don't do anything
2034         for DF_SYMBOLIC.
2035         * elf/dl-open.c (dl_open_writer): Pass RTLD_DEEPBIND flag on to
2036         _dl_map_object_deps.
2037         * elf/tst-deep1.c: New file.
2038         * elf/tst-deep1mod1.c: New file.
2039         * elf/tst-deep1mod2.c: New file.
2040         * elf/tst-deep1mod3.c: New file.
2041         * elf/Makefile: Add rules to build and run new tests.
2042
2043         * elf/dl-deps.c: Pretty printing.
2044
2045 2004-09-23  Jakub Jelinek  <jakub@redhat.com>
2046
2047         * sysdeps/unix/alpha/sysdep.h (inline_syscall[0-6]): Change name
2048         argument to numbers from syscall names.
2049         (INLINE_SYSCALL1): Pass __NR_##name to inline_syscall##nr.
2050         (INTERNAL_SYSCALL_NCS): Renamed from...
2051         (INTERNAL_SYSCALL_1): ... this.  Use INTERNAL_SYSCALL_NCS.
2052         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
2053         (INTERNAL_SYSCALL_NCS): Define.
2054         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
2055         (INTERNAL_SYSCALL_NCS): Likewise.
2056         * sysdeps/unix/sysv/linux/sparc/sysdep.h (inline_syscall[0-6]):
2057         Change name argument to numbers from syscall names.
2058         (INLINE_SYSCALL, INTERNAL_SYSCALL): Adjust.
2059         (INTERNAL_SYSCALL_NCS): Define.
2060
2061 2004-09-22  Ulrich Drepper  <drepper@redhat.com>
2062
2063         * malloc/malloc.c (malloc_printerr): Use syslog if writev failed.
2064
2065         * string/string.h: Add __nonnull annotations.
2066         * stdlib/stdlib.h: Likewise.
2067
2068 2004-09-20  H.J. Lu  <hongjiu.lu@intel.com>
2069
2070         * sysdeps/unix/sysv/linux/ia64/sysdep.h (DO_INLINE_SYSCALL):
2071         Renamed to ...
2072         (DO_INLINE_SYSCALL_NCS): This.
2073         (DO_INLINE_SYSCALL): New.
2074         (INLINE_SYSCALL): Updated.
2075         (INTERNAL_SYSCALL_NCS): Updated.
2076
2077 2004-09-21  Ulrich Drepper  <drepper@redhat.com>
2078
2079         * elf/sprof.c (load_shobj): Add support for reading symbol table
2080         from debuginfo file.
2081
2082         * elf/ldd.bash.in: Fix syntax errors.
2083
2084 2004-09-20  Ulrich Drepper  <drepper@redhat.com>
2085
2086         * sysdeps/unix/sysv/linux/dl-execstack.c
2087         (_dl_make_stack_executable): Remove some duplication.
2088
2089         * nscd/nscd.c (options): Mark S option as hidden.
2090         (parse_opt): When S option is used, print warning message.
2091         * nscd/grpcache.c (adgrptbyX): Don't handle secure mode.
2092         * nscd/hstcache.c (addhstbyX): Don't handle secure mode.
2093         * nscd/aicache.c (addhstaiX): Don't handle secure mode.
2094         * nscd/pwdcache.c (addpwbyX): Don't handle secure mode.
2095
2096 2004-09-20  Roland McGrath  <roland@frob.com>
2097
2098         * elf/dl-load.c (__stack_prot): Only use PROT_GROWSUP/PROT_GROWSDOWN
2099         in initializer #if defined.
2100
2101 2004-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2102
2103         [BZ #391]
2104         * stdlib/getsubopt.c: Merge fixes from gnulib.
2105         (__strchrnul) [!_LIBC]: Define and include "strchrnul.c".
2106         (getsubopt): Use prototypes, not K&R style.
2107         Fix bug: memcmp(A,B,N) was being invoked on a memory block B
2108         whose size might be smaller than N.  Use strncmp to avoid the bug.
2109
2110 2004-09-20  Ulrich Drepper  <drepper@redhat.com>
2111
2112         * configure.in: If selinux has not explictly been requested, don't
2113         comment on it missing.
2114
2115         * elf/dl-load.c: Define __stack_prot.
2116         * sysdeps/unix/sysv/linux/dl-execstack.c: Don't define
2117         __stack_prot here, just declare it.
2118
2119 2004-09-20  Jakub Jelinek  <jakub@redhat.com>
2120
2121         * configure.in (libc_cv_z_relro): Only set to yes if linker script
2122         contains DATA_SEGMENT_RELRO_END.
2123
2124 2004-09-20  Ulrich Drepper  <drepper@redhat.com>
2125
2126         * elf/dl-load.c (_dl_map_object_from_fd): Add some error checking.
2127         Reorder code slightly.
2128         * elf/rtld.c (dl_main): No need to check whether l_info[DT_HASH]
2129         is non-null, _dl_setup_hash will do that.
2130
2131 2004-09-19  Ulrich Drepper  <drepper@redhat.com>
2132
2133         * sysdeps/unix/sysv/linux/setegid.c [HAVE_PTR__NPTL_SETXID]: Call
2134         callback to set IDs in all other threads as well.
2135         * sysdeps/unix/sysv/linux/seteuid.c: Likewise.
2136         * sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
2137         * sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
2138         * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
2139         * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
2140         * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
2141         * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
2142         * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
2143         * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
2144         * sysdeps/unix/sysv/linux/setuid.c: New file.
2145         * sysdeps/unix/sysv/linux/setgid.c: New file.
2146         * sysdeps/unix/sysv/linux/setreuid.c: New file.
2147         * sysdeps/unix/sysv/linux/setregid.c: New file.
2148         * sysdeps/unix/sysv/linux/setresuid.c: New file.
2149         * sysdeps/unix/sysv/linux/setresgid.c: New file.
2150         * sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NCS.
2151         * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
2152         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
2153         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
2154         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
2155         * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: Use x86 version.
2156         * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: Likewise.
2157         * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: New file.
2158         * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: New file.
2159         * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove setresgid
2160         and setresuid.
2161         * nscd/aicache.c: Use pthread_seteuid_np instead of seteuid.
2162         * nscd/grpcache.c: Likewise.
2163         * nscd/hstcache.c: Likewise.
2164         * nscd/pwdcache.c: Likewise.
2165
2166         * resolv/res_mkquery.c (res_nmkquery): Fix typo.
2167
2168 2004-09-18  Ulrich Drepper  <drepper@redhat.com>
2169
2170         * sysdeps/unisx/sysv/linux/dl-execstack.c: Get protection flag
2171         from memory.
2172         * elf/dl-load.c (_dl_map_object_from_fd): Add PROT_EXEC flag to
2173         __stack_flags.
2174
2175         * sysdeps/posix/getaddrinfo.c (gaih_inet): Do not use
2176         gethostbyname3_r if we are not looking for the canonical name.
2177
2178         * resolv/res_mkquery.c (res_nmkquery): Randomize request ID every
2179         time.
2180
2181 2004-09-18  Roland McGrath  <roland@redhat.com>
2182
2183         * sysdeps/unix/sysv/linux/waitid.c (do_waitid): Pass fifth argument to
2184         system call.
2185
2186 2004-09-17  Ulrich Drepper  <drepper@redhat.com>
2187
2188         * include/link.h (struct link_map): Add l_used element.
2189         * sysdeps/generic/ldsodefs.h: Define DL_DEBUG_UNUSED.
2190         * elf/rtld.c (process_dl_debug): Recognize unused.
2191         (dl_main): When unused debug flag is set check for unused direct
2192         dependencies.
2193         When printing dependencies and SONAME starts with /, omit the SONAME =>
2194         part.
2195         * elf/dl-lookup.c (_dl_lookup_symbol_x): Mark object in which the
2196         symbol has been found as used.
2197         * elf/ldd.bash.in: Add -u option.
2198
2199 2004-09-18  Jakub Jelinek  <jakub@redhat.com>
2200
2201         * sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread):
2202         Do nothing if __NR_set_tid_address is not defined.  [BZ #390]
2203
2204 2004-09-17  Ulrich Drepper  <drepper@redhat.com>
2205
2206         * sysdeps/posix/getaddrinfo.c: Use gethostbyname3_r NSS function
2207         in case it is available.
2208
2209 2004-09-17  Jakub Jelinek  <jakub@redhat.com>
2210
2211         * nscd/nscd.c (parse_opt): Write arg string instead of (void *)
2212         key to the socket.
2213
2214 2004-09-17  Ulrich Drepper  <drepper@redhat.com>
2215
2216         * misc/sys/cdefs.h: Define __nonnull using nonnull function attribute
2217         for gcc 3.3 and higher.
2218         * io/fcntl.h: Add __nonnull where appropriate.
2219         * io/ftw.h: Likewise.
2220         * io/utime.h: Likewise.
2221         * io/sys/poll.h: Likewise.
2222         * io/sys/sendfile.h: Likewise.
2223         * io/sys/stat.h: Likewise.
2224         * io/sys/statfs.h: Likewise.
2225         * io/sys/statvfs.h: Likewise.
2226         * posix/unistd.h: Likewise.
2227         * catgets/nl_types.h: Likewise.
2228         * crypt/crypt.h: Likewise.
2229         * debug/execinfo.h: Likewise.
2230
2231 2004-09-16  Ulrich Drepper  <drepper@redhat.com>
2232
2233         * posix/glob.h: Remove cruft to make header usable outside glibc.
2234         The maintenance headache is too big.
2235
2236         * configure.in: Add test for required SELinux features.
2237         * config.make.in: Add have-selinux entry.
2238         * config.h.in: Add HAVE_SELINUX entry.
2239         * nscd/Makefile (nscd-modules): Add selinux.
2240         (CFLAGS-selinux.c): Add -fpie.
2241         Define selinux-LIBS and use in link line.
2242         * nscd/connections.c (handle_request): Check access SELinux permissions
2243         before processing request.
2244         * nscd/nscd.c (main): Initialize selinux_enabled and stop avc thread.
2245         * nscd/nscd_stat.c: Transmit and print AVC statistics.
2246         * nscd/selinux.c: New file.
2247         * nscd/selinux.h: New file.
2248         Patch mostly by Matthew Rickard <mjricka@epoch.ncsc.mil>.
2249
2250 2004-09-16  Jakub Jelinek  <jakub@redhat.com>
2251
2252         * nscd/nscd_helper.c (__nscd_unmap, get_mapping): Use __munmap
2253         instead of munmap.
2254
2255         * nscd/Makefile (CFLAGS-aicache.c): Set to -fpie.
2256
2257 2004-09-16  Thorsten Kukuk  <kukuk@suse.de>
2258
2259         * sysdeps/posix/getaddrinfo.c (gaih_inet): Check
2260         __nss_not_use_nscd_hosts variable if nscd should be used or not.
2261
2262 2004-09-16  Ulrich Drepper  <drepper@redhat.com>
2263
2264         * nscd/nscd_proto.h: Define NSS_NSCD_RETRY.
2265         Add __nscd_getai prototype.
2266         * nss/getXXbyYY_r.c: Remode definition of NSS_NSCD_RETRY.
2267         * nscd/nscd-client.h: Remove __nscd_getai prototype.
2268         * nscd/nscd_getai.c: Include nscd_proto.h.
2269
2270         * elf/ldd.bash.in: Add support for SELinux environments.
2271         Patch by Stephen Smalley <sds@epoch.ncsc.mil>.
2272
2273 2004-09-16  Roland McGrath  <roland@redhat.com>
2274
2275         * configure.in (--with-headers): Let argument contain a : separated
2276         list of directories to use, not just one.
2277         * configure: Regenerated.
2278
2279 2004-09-15  Richard Henderson  <rth@redhat.com>
2280
2281         * sysdeps/alpha/fpu/libm-test-ulps: Update.
2282         * scripts/data/c++-types-alpha-linux-gnu.data: New file.
2283
2284 2004-09-15  Ulrich Drepper  <drepper@redhat.com>
2285
2286         * nscd/aicache.c: Prefer using gethostbyname3_r NSS callback to also
2287         get ttl and canonical name.  Use these two values.
2288         * resolv/Versions: Export _nss_dns_gethostbyname3_r from libnss_dns.
2289         * resolv/nss_dns/dns-host.c (getanswer_r): Take two new parameters.
2290         If nonnull fill with TTL and pointer to canonical name respectively.
2291         (_nss_dns_gethostbyaddr_r): Pass NULL in new parameters of getanswer_r.
2292         (_nss_dns_gethostbyname2_r): Just wrapper around
2293         _nss_dns_gethostbyname3_r.
2294         (_nss_dns_gethostbyname3_r): Renamed from _nss_dns_gethostbyname2_r.
2295         Take two new parameters which as passed to getanswer_r.
2296
2297         * nscd/Makefile (rountines): Add nscd_getai.
2298         (nscd-modules): Add aicache.
2299         * nscd/aicache.c: New file.
2300         * nscd/nscd_getai.c: New file.
2301         * nscd/cache.c (prune_cache): Handle GETAI request type.
2302         * nscd/connections.c: Add GETAI support in request handling.
2303         * nscd/nscd-client.h (request_type): Add GETAI.
2304         Define ai_response_header and struct nscd_ai_result types.
2305         (struct datahead): Add aidata field.
2306         Declare __nscd_getai.
2307         * nscd/nscd.c: Add getaddrinfo definition to catch problems.
2308         * nscd/nscd.h: Declare addhstai and readdhstai.
2309
2310         * sysdeps/posix/getaddrinfo.c: Add support for using cached results.
2311         * posix/Makefile (CFLAGS-getaddrinfo.c): Add -DUSE_NSCD.
2312
2313         * nscd/nscd-client.h  (struct datahead): Use uint8_t instead of bool.
2314
2315 2004-09-14  Ulrich Drepper  <drepper@redhat.com>
2316
2317         * misc/sys/cdefs.h: Remove debugging text from __P and __PMT.
2318
2319 2004-09-13  Ulrich Drepper  <drepper@redhat.com>
2320
2321         * misc/sys/cdefs.h: Restore old definition of __P.
2322         * csu/munch.awk: Remove uses of __P and __PMT.
2323         * gmon/gmon.c: Likewise.
2324         * hesiod/hesiod.h: Likewise.
2325         * include/stdio.h: Likewise.
2326         * io/fts.c: Likewise.
2327         * libio/genops.c: Likewise.
2328         * libio/libioP.h: Likewise.
2329         * libio/fileops.c: Likewise.
2330         * libio/iolibio.h: Likewise.
2331         * libio/libio.h: Likewise.
2332         * libio/memstream.c: Likewise.
2333         * libio/oldfileops.c: Likewise.
2334         * libio/oldstdfiles.c: Likewise.
2335         * libio/iopopen.c: Likewise.
2336         * libio/vsnprintf.c: Likewise.
2337         * libio/vswprintf.c: Likewise.
2338         * libio/wgenops.c: Likewise.
2339         * libio/oldiopopen.c: Likewise.
2340         * locale/programs/xmalloc.c: Likewise.
2341         * locale/programs/xstrdup.c: Likewise.
2342         * malloc/mtrace.c: Likewise.
2343         * misc/getttyent.c: Likewise.
2344         * misc/getusershell.c: Likewise.
2345         * nis/rpcsvc/ypupd.h: Likewise.
2346         * posix/fnmatch.h: Likewise.
2347         * posix/glob.h: Likewise.
2348         * resolv/arpa/nameser.h: Likewise.
2349         * resolv/gethnamaddr.c: Likewise.
2350         * resolv/resolv.h: Likewise.
2351         * resolv/inet_net_ntop.c: Likewise.
2352         * resolv/inet_net_pton.c: Likewise.
2353         * resolv/res_init.c: Likewise.
2354         * resolv/nss_dns/dns-network.c: Likewise.
2355         * stdio-common/vfprintf.c: Likewise.
2356         * stdio-common/reg-printf.c: Likewise.
2357         * sysdeps/generic/chflags.c: Likewise.
2358         * sysdeps/generic/fchflags.c: Likewise.
2359         * sysdeps/generic/glob.c: Likewise.
2360         * sysdeps/generic/printf_fphex.c: Likewise.
2361         * sysdeps/generic/memcmp.c: Likewise.
2362         * sysdeps/generic/memcopy.h: Likewise.
2363         * sysdeps/generic/morecore.c: Likewise.
2364         * sysdeps/generic/sstk.c: Likewise.
2365         * sysdeps/posix/sigvec.c: Likewise.
2366         * sysdeps/posix/ttyname_r.c: Likewise.
2367         * sysdeps/standalone/arm/bits/errno.h: Likewise.
2368         * sysdeps/standalone/standalone.h: Likewise.
2369         * sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise.
2370         * sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise.
2371         * sysdeps/unix/arm/start.c: Likewise.
2372         * sysdeps/unix/bsd/sigaction.c: Likewise.
2373         * sysdeps/unix/bsd/sun/m68k/sigtramp.c: Likewise.
2374         * sysdeps/unix/bsd/sun/sparc/sigtramp.c: Likewise.
2375         * sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise.
2376         * sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise.
2377         * sysdeps/unix/bsd/ultrix4/sysconf.c: Likewise.
2378         * sysdeps/unix/sparc/start.c: Likewise.
2379         * sysdeps/unix/sysv/getdents.c: Likewise.
2380         * sysdeps/unix/sysv/irix4/fpathconf.c: Likewise.
2381         * sysdeps/unix/sysv/irix4/getgroups.c: Likewise.
2382         * sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
2383         * sysdeps/unix/sysv/irix4/getrusage.c: Likewise.
2384         * sysdeps/unix/sysv/irix4/pathconf.c: Likewise.
2385         * sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
2386         * sysdeps/unix/sysv/irix4/sigtramp.c: Likewise.
2387         * sysdeps/unix/sysv/irix4/start.c: Likewise.
2388         * sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
2389         * sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise.
2390         * sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise.
2391         * sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
2392         * sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise.
2393         * sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
2394         * sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
2395         * sysdeps/unix/sysv/sysv4/sethostname.c: Likewise.
2396         * sysdeps/unix/sysv/sysv4/setsid.c: Likewise.
2397         * sysdeps/unix/sysv/sysv4/sysconf.c: Likewise.
2398         * sysdeps/unix/sysv/sysv4/waitpid.c: Likewise.
2399         * sysdeps/unix/sysv/sysv4/solaris2/getdents.c: Likewise.
2400         * time/tzset.c: Likewise.
2401         * time/strftime_l.c: Likewise.
2402         * time/strptime_l.c: Likewise.
2403         * crypt/md5.h: Likewise.
2404
2405 2004-09-13  Andreas Jaeger  <aj@suse.de>
2406
2407         * configure.in: Support GCC 4.x.
2408         * configure: Regenerated.
2409
2410 2004-09-13  Thorsten Kukuk  <kukuk@suse.de>
2411
2412         * nscd/nscd_stat.c: Don't access dbs[cnt].head for disabled services.
2413
2414         * nscd/nscd.init: Fix path to socket.
2415
2416 2004-09-12  Ulrich Drepper  <drepper@redhat.com>
2417
2418         * nscd/nscd_helper.c (get_mapping): Correctly check cmsg length.
2419         Avoid file descriptor leak in case of size mismatch.
2420
2421         * nscd/nscd-client.h: Fix database structure layout for biarch.
2422         * nscd/mem.c (gc): Add casts to avoid warnings.
2423
2424         * nss/getent.c: Don't preconstruct help message.  Do it only when
2425         needed.
2426
2427         * locale/programs/locale.c: Simplify help message printing.
2428
2429 2004-09-12  Roland McGrath  <roland@frob.com>
2430
2431         * sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]: Add decls
2432         missing in last change.
2433
2434 2004-09-11  Thorsten Kukuk  <kukuk@suse.de>
2435
2436         * nis/nss_compat/compat-grp.c: Check that buflen is greater zero
2437         before writing data into the buffer with negative offset.
2438         * nis/nss_compat/compat-initgroups.c: Likewise.
2439         * nis/nss_compat/compat-pwd.c: Likewise.
2440         * nis/nss_compat/compat-spwd.c Likewise.
2441
2442 2004-09-12  Ulrich Drepper  <drepper@redhat.com>
2443
2444         * misc/syslog.c (vsyslog): Fix copying of PID in case of
2445         out-of-memory situation.  [BZ #365].
2446
2447         * sysdeps/alpha/fpu/bits/mathinline.h: Use __NTH instead of
2448         __THROW in inline function definitions.
2449
2450         * posix/spawn.h [__USE_GNU]: Define POSIX_SPAWN_USEVFORK.
2451         * posix/spawnattr_setflags.c: Check whether any unknown bit is set
2452         in FLAGS parameter and fail if this is the case.
2453         * sysdeps/posix/spawni.c: Use vfork if POSIX_SPAWN_USEVFORK flag is
2454         set.
2455
2456         * nscd/pwdcache.c (cache_addpw): Sync also negative results to disk.
2457         * nscd/grpcache.c (cache_addgr): Likewise.
2458         * nscd/hstcache.c (cache_addhst): Likewise.
2459
2460 2004-09-11  Roland McGrath  <roland@frob.com>
2461
2462         * sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]:
2463         Set _dl_phdr and _dl_phnum.
2464         (init1): When bootstrap task, bail early and never examine *D.
2465
2466 2004-09-11  Alfred M. Szmidt  <ams@kemisten.nu>
2467
2468         * sysdeps/mach/hurd/i386/tls.h (__i386_set_gdt) [!HAVE_I386_SET_GDT]:
2469         Cast THR, SEL and DESC to `void'.
2470
2471 2004-09-11  Ulrich Drepper  <drepper@redhat.com>
2472
2473         * nscd/connections.c (nscd_run): Call setup_thread only for enabled
2474         databases.
2475
2476         * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Use __NTH for __cmsg_nxthdr.
2477
2478 2004-09-10  Ulrich Drepper  <drepper@redhat.com>
2479
2480         * nscd/nscd.c (pagesize_m1): New variable.
2481         (main): Initialize it.
2482         * nscd/nscd.h: Declare pagesize_m1.
2483         * nscd/hstcache.c: Pass correctly aligned address to msync.
2484         * nscd/grpcache.c: Likewise.
2485         * nscd/pwdcache.c: Likewise.
2486
2487 2004-09-10  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2488
2489         * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Decrement
2490         __nwaiters.  If pthread_cond_destroy has been called and this is
2491         the last waiter, signal pthread_cond_destroy caller and avoid
2492         using the pthread_cond_t structure after unlock.
2493         * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
2494
2495 2004-09-10  Ulrich Drepper  <drepper@redhat.com>
2496
2497         * sysdeps/unix/sysv/linux/kernel-features.h: Don't define
2498         __ASSUME_CLONE_STOPPED.
2499
2500 2004-09-10  Jakub Jelinek  <jakub@redhat.com>
2501
2502         * misc/sys/cdefs.h (__REDIRECT_NTH): Change order of __THROW and
2503         __asm__ for C++.  [BZ #377]
2504
2505 2004-09-10  Ulrich Drepper  <drepper@redhat.com>
2506
2507         * nscd/nscd_stat.c: Improve output by also printing .shared and
2508         .persistent.
2509
2510         * nscd/connections.c: Allow cache sharing to be really disabled.
2511
2512 2004-09-10  Jakub Jelinek  <jakub@redhat.com>
2513
2514         * malloc/malloc.c (_int_free): Only do arena boundary check for
2515         contiguous arenas.
2516
2517 2004-09-10  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2518
2519         * stdlib/longlong.h [__M32R__] (add_ssaaaa, sub_ddmmss): Fix broken
2520         instruct operands.
2521         * elf/elf.h: Add R_M32R_* relocs.
2522
2523 2004-09-09  Ulrich Drepper  <drepper@redhat.com>
2524
2525         * misc/sys/cdefs.h: Despite what the gcc manual says, gcc 3.2
2526         seems not to support the nothrow attribute.  Use it only for gcc
2527         3.3 and higher.
2528
2529         * malloc/hooks.c (top_check): Print top chunk corruption as normal
2530         error message.
2531
2532         * malloc/malloc.c (malloc_printerr): Don't make informational
2533         message look like error message.
2534
2535 2004-09-09  Andreas Jaeger  <aj@suse.de>
2536
2537         * nscd/Makefile (CFLAGS-nscd_setup_thread.c): Set to -fpie.
2538
2539 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
2540
2541         * sysdeps/unix/sysv/linux/bits/socket.h (__SCM_CONNECT): Removed.
2542
2543         * malloc/malloc.c (_int_free): Add inexpensive double free and
2544         memory corruption tests.
2545         (malloc_printf_nc): Renamed to malloc_printerr.  Second parameter
2546         is no format string anymore.  Don't use stdio.  Adjust all callers.
2547         * malloc/hooks.c: Adjust malloc_printf_nc callers.
2548
2549 2004-09-08  Roland McGrath  <roland@redhat.com>
2550
2551         * malloc/mcheck.c: Don't use __P.
2552         Use prototypes definitions for static functions.
2553
2554 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
2555
2556         * sysdeps/ia64/fpu/bits/mathinline.h: Use __NTH instead of __THROW.
2557
2558 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
2559             Jakub Jelinek  <jakub@redhat.com>
2560
2561         * nscd/nscd-client.h: Add a few #includes.
2562
2563         * nscd/Makefile (nscd-modules): Add nscd_setup_thread.
2564         * nscd/connections.c (nscd_run): Call setup_thread for maintenance
2565         threads.
2566         * nscd/nscd-client.h (struct database_pers_head): Add
2567         nscd_certainly_running field.
2568         * nscd/nscd.h: Declare setup_thread.
2569         * nscd/nscd_helper.c (__nscd_get_map_ref): Avoid the time test if
2570         nscd_certainly_running is nonzero.
2571         * sysdeps/generic/nscd_setup_thread.c: New file.
2572         * sysdeps/unix/sysv/linux/nscd_setup_thread.c: New file.
2573
2574 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
2575
2576         * nscd/connections.c: Implement r/o sharing of nscd's cache with client
2577         processes via shared memory.
2578         * nscd/nscd-client.h: Likewise.
2579         * nscd/nscd.h: Likewise.
2580         * nscd/nscd_conf.c: Likewise.
2581         * nscd/nscd_getgr_r.c: Likewise.
2582         * nscd/nscd_getpw_r.c: Likewise.
2583         * nscd/nscd_gethst_r.c: Likewise.
2584         * nscd/nscd.conf: Add new config parameters.
2585         * nscd/Makefile (aux): Add nscd_helper.
2586         * nscd/nscd_helper.c: New file.
2587         * nscd/mem.c (gc): Indicate beginning and end of the gc cycle.
2588
2589         * nscd/hstcache.c: Simplify a lot.  We cache only the request itself,
2590         no derived information.
2591         * connections.c (nscd_init): Fix bug in testing size of the persistent.
2592
2593         * nis/Makefile (aux): Add nis_hash.
2594         * nis/nis_hash.c: New file.  Split out from nis_util.c.
2595         * nis/nis_util.c: Move __nis_hash code in separate file.
2596
2597         * csu/tst-atomic.c: Improve atomic_increment_val test which would
2598         not have found a ppc bug.
2599
2600         * sysdeps/s390/fpu/bits/mathinline.h: Remove unnecessary includes.
2601
2602         * malloc/arena.c: Remove __MALLOC_P uses.
2603         * malloc/malloc.c: Likewise.
2604
2605         * malloc/mtrace.c: Remove __P uses.
2606         * malloc/mcheck-init.c: Likewise.
2607
2608 2004-09-07  Jakub Jelinek  <jakub@redhat.com>
2609
2610         * sysdeps/powerpc/powerpc64/configure.in: New file.
2611         * config.h.in (USE_PPC64_OVERLAPPING_OPD): Add.
2612         * configure.in (HAVE_ASM_GLOBAL_DOT_NAME): Remove.
2613         * sysdeps/powerpc/powerpc64/sysdep.h: Formatting.
2614         (OPD_ENT, BODY_LABEL, ENTRY_1, ENTRY_2, END_2, DOT_PREFIX,
2615         BODY_PREFIX): Define.
2616         (ENTRY, DOT_LABEL, END, TRACEBACK, END_GEN_TB, EALIGN): Support
2617         HAVE_ASM_GLOBAL_DOT_NAME or no dot symbols,
2618         USE_PPC64_OVERLAPPING_OPD or never overlapping .opd entries.
2619         * sysdeps/powerpc/powerpc64/dl-machine.h: Include sysdep.h.
2620         (TRAMPOLINE_TEMPLATE, RTLD_START): Use the new sysdep.h macros.
2621
2622 2004-09-07  Ulrich Drepper  <drepper@redhat.com>
2623
2624         * malloc/malloc.h: Don't define __THROW if it is already defined.
2625
2626         * sysdeps/powerpc/bits/atomic.h (atomic_increment): Define.
2627         (atomic_decrement): Define.
2628
2629         * sysdeps/powerpc/bits/atomic.h: Implement atomic_increment_val and
2630         atomic_decrement_val.
2631         * sysdeps/powerpc/powerpc32/bits/atomic.h: Likewise.
2632         * sysdeps/powerpc/powerpc64/bits/atomic.h: Likewise.
2633
2634         * csu/tst-atomic.c (do_test): Add tests of atomic_increment_val
2635         and atomic_decrement_val.
2636
2637         * include/atomic.h: Define atomic_increment_val, atomic_decrement_val,
2638         and atomic_delay is not already defined.
2639         * sysdeps/i386/i486/bits/atomic.h: Define atomic_delay.
2640         * sysdeps/x86_64/bits/atomic.h: Likewise.
2641
2642         * miscd/sys/cdefs.h (__NTH): New macro.
2643         (__THROW): Define using nothrow attribute for C code and gcc >= 3.2.
2644         (__REDIRECT_NTH): New macro.
2645         * argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary.
2646         * ctype/ctype.h: Likewise.
2647         * dirent/dirent.h: Likewise.
2648         * io/fcntl.h: Likewise.
2649         * io/sys/sendfile.h: Likewise.
2650         * io/sys/stat.h: Likewise.
2651         * io/sys/statfs.h: Likewise.
2652         * io/sys/statvfs.h: Likewise.
2653         * libio/bits/stdio.h: Likewise.
2654         * misc/sys/mman.h: Likewise.
2655         * posix/unistd.h: Likewise.
2656         * resource/sys/resource.h: Likewise.
2657         * rt/aio.h: Likewise.
2658         * signal/signal.h: Likewise.
2659         * stdlib/stdlib.h: Likewise.
2660         * string/argz.h: Likewise.
2661         * string/string.h: Likewise.
2662         * sysdeps/generic/inttypes.h: Likewise.
2663         * sysdeps/i386/fpu/bits/mathinline.h: Likewise.
2664         * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
2665         * sysdeps/s390/fpu/bits/mathinline.h: Likewise.
2666         * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
2667         * sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
2668         * sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise.
2669         * wcsmbs/wchar.h: Likewise.
2670
2671         * sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate.
2672
2673         * resolv/gethnamaddr.c (getanswer): Remove __P use in variable
2674         definition.
2675
2676         * io/sys/poll.h: Remove __THROW from poll prototype, it's a
2677         cancellation point.
2678
2679         * io/fts.c (fts_open): Remove uses of __P.
2680
2681         * include/stdlib.h: No need to use __THROW in this header.
2682
2683 2004-09-06  Roland McGrath  <roland@frob.com>
2684
2685         * sysdeps/mach/hurd/dl-sysdep.c (__writev): Does use assert on FD
2686         validity, since __assert_fail gets to here anyway.  Just fail.
2687
2688 2004-09-06  Ulrich Drepper  <drepper@redhat.com>
2689
2690         * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix problem with
2691         AF_UNSPEC lookup with AI_CANONNAME of name which has only IPv6
2692         addresses.
2693
2694 2004-09-05  Richard Henderson  <rth@redhat.com>
2695
2696         * sysdeps/alpha/fpu/fraiseexcpt.c: Remove file.
2697         * sysdeps/unix/sysv/linux/kernel-features.h
2698         (__ASSUME_IEEE_RAISE_EXCEPTION): New.
2699         * sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c: New file.
2700         * sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h: New file.
2701         * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use it.
2702         * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
2703
2704 2004-09-05  Richard Henderson  <rth@redhat.com>
2705
2706         * sysdeps/alpha/div.S: Save and restore FPCR around fp operations.
2707         * sysdeps/alpha/divl.S, sysdeps/alpha/divq.S, sysdeps/alpha/divqu.S,
2708         sysdeps/alpha/ldiv.S, sysdeps/alpha/reml.S, sysdeps/alpha/remq.S,
2709         sysdeps/alpha/remqu.S: Likewise.
2710         * sysdeps/alpha/div_libc.h (FRAME): Increase to 64.
2711
2712 2004-09-05  Ulrich Drepper  <drepper@redhat.com>
2713
2714         * nscd/cache.c (cache_add): Correctly log GETHOSTBYADDR and
2715         GETHOSTBYADDRv6 requests.
2716
2717 2004-09-04  Ulrich Drepper  <drepper@redhat.com>
2718
2719         * nscd/pwdcache.c (cache_addpw): Use correct key length in
2720         cache_add calls.
2721         * nscd/grpcache.c (cache_addgr): Likewise.
2722
2723 2004-09-03  Alfred M. Szmidt  <ams@kemisten.nu>
2724
2725         * sysdeps/mach/hurd/i386/tls.h (THREAD_DTV): Changed type of _DTV
2726         to `dtv_t *'.
2727
2728 2004-09-03  Ulrich Drepper  <drepper@redhat.com>
2729
2730         * nscd/nscd.c (parse_opt): Use writev instead of two write for
2731         invalidate command.
2732
2733 2004-09-02  Ulrich Drepper  <drepper@redhat.com>
2734
2735         * nscd/connections.c (nscd_run): Check early for invalid request types.
2736
2737 2004-09-02  Roland McGrath  <roland@frob.com>
2738
2739         * sysdeps/mach/hurd/i386/tls.h (TLS_INIT_TP_EXPENSIVE): New macro.
2740         (INSTALL_NEW_DTV, THREAD_DTV): Rewritten to fetch the right word.
2741         (THREAD_SELF): New macro.
2742
2743 2004-09-02  Steven Munroe  <sjmunroe@us.ibm.com>
2744
2745         [BZ #357]
2746         * stdlib/tst-setcontext.c (test_stack): Added test for stack clobber.
2747         (main): Call test_stack.
2748         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
2749         (__getcontext): Push stack frame then save parms in local frame.
2750         Improve instruction scheduling.
2751         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
2752         (__swapcontext): Likewise.
2753
2754 2004-09-01  Andreas Schwab  <schwab@suse.de>
2755
2756         * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h [g++ >= 3.5]: Use
2757         __builtin_offsetof.
2758
2759 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
2760
2761         [BZ #361]
2762         * posix/fnmatch_loop.c (FCT): For backslash between brackets, branch
2763         to normal_bracket after fetching the next character.
2764         * posix/tst-fnmatch.input: Add 25 new tests.
2765         Reported by Markus Oberhumer <markus@oberhumer.com>.
2766
2767 2004-09-01  Ulrich Drepper  <drepper@redhat.com>
2768
2769         * elf/rtld.c (dl_main): First check existence of ld.so.preload
2770         with access.
2771
2772 2004-09-01  Roland McGrath  <roland@redhat.com>
2773
2774         * sysdeps/unix/sysv/linux/bits/waitflags.h
2775         (WSTOPPED, WEXITED, WCONTINUED, WNOWAIT): New macros.
2776         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_WAITID_SYSCALL):
2777         New macro.
2778         * sysdeps/unix/sysv/linux/waitid.c: New file.  Use new syscall when
2779         available, or fall back to the waitpid-based generic code.
2780
2781 2004-08-14  Alfred M. Szmidt  <ams@kemisten.nu>
2782
2783         * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Let gcc
2784         clobber the `ebp' register.
2785         * sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Removed.
2786         Reverts change from 2004-05-07 by Jeroen Dekkers.
2787
2788         * sysdeps/mach/hurd/i386/init-first.c (init): Changed the type of
2789         NEWSP from `void *' to `int *'.  Changed all casts accordingly.
2790
2791 2004-08-31  Jakub Jelinek  <jakub@redhat.com>
2792
2793         * wcsmbs/wcsmbsload.c (__wcsmbs_getfct): Move attribute_hidden
2794         before return type.
2795         * locale/localename.c (__current_locale_name): Likewise.
2796
2797 2004-08-30  Roland McGrath  <roland@frob.com>
2798
2799         * scripts/extract-abilist.awk: If `lastversion' variable defined, omit
2800         later sets from output.
2801         * Makerules (check-abi): Pass option to set that with value of
2802         LIB-abi-frozen variable if one is set.
2803
2804         * abilist/libcidn.abilist: New file (empty).
2805
2806 2004-08-30  Jakub Jelinek  <jakub@redhat.com>
2807
2808         * posix/bits/posix1_lim.h (_POSIX_CHILD_MAX, _POSIX_OPEN_MAX): If
2809         not __USE_XOPEN2K, use the Unix98 mandated values.
2810
2811 2004-08-27  Roland McGrath  <roland@redhat.com>
2812
2813         * configure.in (usetls): Default to yes.
2814         * configure: Regenerated.
2815
2816 2004-08-26  Roland McGrath  <roland@redhat.com>
2817
2818         * configure.in (add_ons_automatic): New variable, set to yes or no
2819         indicating --enable-add-ons with no explicit list.
2820         (running add-on fragments): Allow a fragment to modify $libc_add_on
2821         and have that affect its place in the list of add-ons to use.
2822         * configure: Regenerated.
2823
2824 2004-08-26  Ulrich Drepper  <drepper@redhat.com>
2825
2826         * nscd/cache.c: Major rewrite.  The data is now optionally kept in
2827         a mmaped memory region which is automatically mirrored on disk.
2828         This implements persistent data storage.  The Memory handled
2829         needed to be completely revamped, it now uses a garbage collection
2830         mechanism instead of malloc.
2831         * nscd/connections.c: Likewise.
2832         * nscd/nscd.c: Likewise.
2833         * nscd/nscd.h: Likewise.
2834         * nscd/nscd_conf.c: Likewise.
2835         * nscd/nscd_stat.c: Likewise.
2836         * nscd/grpcache.c: Likewise.
2837         * nscd/hstcache.c:: Likewise.
2838         * nscd/pwdcache.c:: Likewise.
2839         * nscd/Makefile: Add rules to build mem.c.
2840         * nscd/mem.c: New file.
2841         * nscd/nscd.conf: Describe new configuration options.
2842
2843 2004-08-26  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2844
2845         * sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if
2846         NO_SGIDEFS_H isn't defined.
2847         * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
2848         * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
2849
2850         * sysdeps/unix/sysv/linux/sh/pread.c: Define NO_SGIDEFS_H and
2851         _MIPS_SIM.
2852         * sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise.
2853         * sysdeps/unix/sysv/linux/sh/pread64.c: Likewise.
2854         * sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise.
2855
2856 2004-08-26  Ulrich Drepper  <drepper@redhat.com>
2857
2858         * nscd/connections.c (nscd_run): atomic_increment was not missing.
2859
2860         * sysdeps/gnu/Makefile (libdl-sysdep_routines): Don't add eval.
2861         Patch by Greg Schafer.
2862
2863 2004-08-25  Richard Henderson  <rth@redhat.com>
2864
2865         * sysdeps/alpha/elf/start.S (_start): Use $15 as frame unwind
2866         instead of $31.  Zero $15.
2867         * sysdeps/unix/sysv/linux/alpha/clone.S (thread_start): Likewise.
2868
2869 2004-08-25  Ulrich Drepper  <drepper@redhat.com>
2870
2871         * sysdeps/powerpc/powerpc64/bits/atomic.h
2872         (__arch_compare_and_exchange_bool_32_acq): Fix case where oldval
2873         is negative.
2874         (__arch_compare_and_exchange_bool_32_rel): Likewise.
2875
2876         * nscd/connections.c: Make socket nonblocking so that threads
2877         don't get stuck on accept.  Fix locking.
2878
2879         * nscd/grpcache.c (cache_addgr): Use copy of original key in hash
2880         entry with alternative key.
2881         * nscd/pwdcache.c (cache_addpw): Likewise.
2882
2883 2004-08-25  Richard Sandiford  <rsandifo@redhat.com>
2884
2885         * sysdeps/mips/dl-machine.h (_dl_start_user): Don't set
2886         __libc_stack_end.
2887
2888 2004-08-23  Ulrich Drepper  <drepper@redhat.com>
2889
2890         * sysdeps/gnu/netinet/udp.h: Cosmetic changes.  Remove unnecessary
2891         __BEGIN_DECLS/__END_DECLS.
2892
2893 2004-08-23  Andreas Jaeger  <aj@suse.de>
2894
2895         [BZ #341]
2896         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_NOATIME): Define.
2897         * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (O_NOATIME): Likewise.
2898         * sysdeps/unix/sysv/linux/cris/bits/fcntl.h (O_NOATIME): Likewise.
2899         * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (O_NOATIME): Likewise.
2900         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (O_NOATIME): Likewise.
2901         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (O_NOATIME): Likewise.
2902         * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (O_NOATIME): Likewise.
2903         * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_NOATIME): Likewise.
2904         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (O_NOATIME): Likewise.
2905         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (O_NOATIME): Likewise.
2906         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (O_NOATIME): Likewise.
2907         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_NOATIME): Likewise.
2908         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (O_NOATIME): Likewise.
2909
2910 2004-08-21  Ulrich Drepper  <drepper@redhat.com>
2911
2912         * malloc/hooks.c (DEFAULT_CHECK_ACTION): Moved to malloc.c.
2913         (check_action): Likewise.
2914         When printing error messages, use malloc_printf_nc now instead of
2915         fiddling with the streams cancellation flag in every place.
2916         * malloc/malloc.c (DEFAULT_CHECK_ACTION): New definition.  Change
2917         default to 3.
2918         (check_action): New variable.
2919         (unlink): Print error message and eventually terminate in case list
2920         is corrupted.
2921         (malloc_printf_nc): New function.  Use it in _int_free.
2922         Change proposed by Arjan van de Ven.
2923
2924         * dlfcn/Makefile: Don't build eval.c anymore.
2925
2926 2004-08-20  Roland McGrath  <roland@frob.com>
2927
2928         * csu/Makefile ($(objpfx)version-info.h): Use printf in place
2929         of echo -e for POSIX.2 portability.
2930         Reported by Paul Jarc <prj@po.cwru.edu>.
2931
2932 2004-08-19  Ulrich Drepper  <drepper@redhat.com>
2933
2934         * sysdeps/posix/getaddrinfo.c (gaih_inet): Minor optimizations in
2935         list generation.
2936
2937         * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't use
2938         getcanonname_r function if AI_CANONNAME flag is not set in
2939         request.
2940
2941         * nis/nss_compat/compat-initgroups.c (getgrent_next_nss):
2942         Initialize mysize with limits only if latter is >= 0.  Use mysize
2943         in malloc call.
2944
2945 2004-08-19  Jakub Jelinek  <jakub@redhat.com>
2946
2947         * sysdeps/posix/getaddrinfo.c (gaih_inet): Cast canon to (char *)
2948         to avoid warning.
2949
2950         * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Initialize
2951         status to NSS_STATUS_UNAVAIL.
2952
2953 2004-08-19  Ulrich Drepper  <drepper@redhat.com>
2954
2955         * sysdeps/posix/getaddrinfo.c (gaih_inet): Use h->h_name in the
2956         cannoname lookup since it has the FQDN even if the original NAME
2957         value has not.
2958
2959 2004-08-18  Ulrich Drepper  <drepper@redhat.com>
2960
2961         * sysdeps/posix/getaddrinfo.c (gaih_inet): Store NAME parameter
2962         pointer in new variable ORIG_NAME and use this pointer when
2963         determination of canonical name failed, not the possibly IDN
2964         translated value of NAME.
2965
2966 2004-08-17  Ulrich Drepper  <drepper@redhat.com>
2967
2968         * resolv/resolv.h (RES_DEFAULT): Add RES_NOIP6DOTINT.
2969         * resolv/res_init.c (res_setoptions): Recognize ip6-dotint option.
2970         Reset RES_NOIP6DOTINT flag in this case..
2971
2972         * sysdeps/posix/getaddrinfo.c: Fix memory handling of
2973         ai_canonname.
2974
2975 2004-08-16  Ulrich Drepper  <drepper@redhat.com>
2976
2977         * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Don't use
2978         CNAME records, we better follow the chain of CNAME records which
2979         can be accomplished with A/AAAA lookups.
2980
2981 2004-08-15  Roland McGrath  <roland@redhat.com>
2982
2983         * sysdeps/unix/sysv/linux/bits/resource.h (enum __rusage_who):
2984         Remove __RUSAGE_BOTH constant and RUSAGE_BOTH macro.
2985         * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
2986         * sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise.
2987         * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
2988
2989 2004-08-15  Roland McGrath  <roland@frob.com>
2990
2991         * sysdeps/i386/i686/Makefile (elide-routines.os): Append hp-timing to
2992         this, not ...
2993         (static-only-routines): ... this.
2994         * sysdeps/ia64/Makefile: Likewise.
2995         * sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
2996         * sysdeps/sparc/sparc64/Makefile: Likewise.
2997         * sysdeps/x86_64/Makefile: Likewise.
2998         * sysdeps/i386/i686/hp-timing.c: Revert copyright terms change.
2999         * sysdeps/ia64/hp-timing.c: Likewise.
3000         * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
3001         * sysdeps/sparc/sparc64/hp-timing.c: Likewise.
3002
3003         * csu/elf-init.c: Update copyright terms including special exception
3004         for these trivial files, which are statically linked into executables
3005         that use dynamic linking for the significant library code.
3006         * io/fstat.c: Likewise.
3007         * io/fstat64.c: Likewise.
3008         * io/lstat.c: Likewise.
3009         * io/lstat64.c: Likewise.
3010         * io/stat.c: Likewise.
3011         * io/stat64.c: Likewise.
3012         * stdlib/atexit.c: Likewise.
3013         * sysdeps/alpha/elf/initfini.c: Likewise.
3014         * sysdeps/alpha/elf/start.S: Likewise.
3015         * sysdeps/arm/elf/start.S: Likewise.
3016         * sysdeps/cris/elf/start.S: Likewise.
3017         * sysdeps/generic/initfini.c: Likewise.
3018         * sysdeps/generic/mknod.c: Likewise.
3019         * sysdeps/hppa/elf/initfini.c: Likewise.
3020         * sysdeps/hppa/elf/start.S: Likewise.
3021         * sysdeps/i386/elf/start.S: Likewise.
3022         * sysdeps/i386/i686/hp-timing.c: Likewise.
3023         * sysdeps/ia64/elf/initfini.c: Likewise.
3024         * sysdeps/ia64/elf/start.S: Likewise.
3025         * sysdeps/ia64/hp-timing.c: Likewise.
3026         * sysdeps/m68k/elf/start.S: Likewise.
3027         * sysdeps/mach/start.c: Likewise.
3028         * sysdeps/mips/elf/start.S: Likewise.
3029         * sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
3030         * sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
3031         * sysdeps/s390/s390-32/elf/start.S: Likewise.
3032         * sysdeps/s390/s390-32/initfini.c: Likewise.
3033         * sysdeps/s390/s390-64/elf/start.S: Likewise.
3034         * sysdeps/s390/s390-64/initfini.c: Likewise.
3035         * sysdeps/sh/elf/initfini.c: Likewise.
3036         * sysdeps/sh/elf/start.S: Likewise.
3037         * sysdeps/sparc/sparc32/elf/start.S: Likewise.
3038         * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
3039         * sysdeps/sparc/sparc64/elf/start.S: Likewise.
3040         * sysdeps/sparc/sparc64/hp-timing.c: Likewise.
3041         * sysdeps/standalone/i386/start.S: Likewise.
3042         * sysdeps/standalone/i960/start.S: Likewise.
3043         * sysdeps/standalone/m68k/m68020/start.S: Likewise.
3044         * sysdeps/unix/arm/start.c: Likewise.
3045         * sysdeps/unix/bsd/osf/alpha/start.S: Likewise.
3046         * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
3047         * sysdeps/unix/sparc/start.c: Likewise.
3048         * sysdeps/unix/start.c: Likewise.
3049         * sysdeps/unix/sysv/aix/start.s: Likewise.
3050         * sysdeps/unix/sysv/irix4/start.c: Likewise.
3051         * sysdeps/x86_64/elf/initfini.c: Likewise.
3052         * sysdeps/x86_64/elf/start.S: Likewise.
3053
3054 2004-08-15  Roland McGrath  <roland@redhat.com>
3055
3056         [BZ #227]
3057         * sysdeps/unix/sysv/linux/kernel-features.h
3058         (__ASSUME_BRK_PAGE_ROUNDED): New macro.
3059         * sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk)
3060         [! __ASSUME_BRK_PAGE_ROUNDED]: Adjust the break up if it falls within
3061         the partial page after the dynamic linker's own data segment.
3062
3063 2004-08-15  Ulrich Drepper  <drepper@redhat.com>
3064
3065         * sysdeps/posix/getaddrinfo.c (gaih_inet): Optimize generation of
3066         v4-mapped addresses a bit.
3067         (gethosts): Move alloca out of macro, so that it is done only once.
3068
3069         * sysdeps/posix/getaddrinfo.c (gaih_addrtuple): Change type of
3070         addr to avoid casts.
3071         (gethosts): Removed.
3072         (gethosts2): Renamed to gethosts.  Make it usable for family !=
3073         AF_UNSPEC.  Fix AI_V4MAPPED.
3074         (gaih_inet): Remove use of old gethosts.  Always use what used to be
3075         gethosts2.  If entry is found, try to use the same NSS module's
3076         getcanonname_r function.  Use gethostbyaddr for AI_CANONNAME only
3077         if getcanonname_r was not available.  Fix filtering of AI_V4MAPPED
3078         addresses.  Numerous cleanups.
3079         * resolv/nss_dns/dns-canon.c: New file.
3080         * resolv/Makefile (libnss_dns-routines): Add dns-canon.
3081         * resolv/Versions (libnss_dns): Add _nss_dns_getcanonname_r.
3082
3083         * elf/Makefile: Add rules to build and run tst-dlopenrpath.
3084         * elf/tst-dlopenrpath.c: New file.
3085         * elf/tst-dlopenrpathmod.c: New file.
3086
3087         * intl/tst-gettext.sh: Adjust for change of de.po file to UTF-8.
3088         * intl/tst-gettext.c: Likewise.
3089
3090         * nss/getent.c (ahosts_keys_int): Correctly print IPv6 addresses.
3091
3092         * nss/getent.c: Allow queries for getaddrinfo with AF_INET and
3093         AF_INET6.
3094
3095 2004-08-14  Ulrich Drepper  <drepper@redhat.com>
3096
3097         * po/de.po: Update from translation team.
3098
3099 2004-08-14  Roland McGrath  <roland@frob.com>
3100
3101         * sysdeps/mach/configure: Regenerated.
3102         * sysdeps/mach/hurd/configure: Regenerated.
3103
3104 2004-08-14  Ulrich Drepper  <drepper@redhat.com>
3105
3106         * sysdeps/posix/getaddrinfo.c (getaddrinfo): If RFC3484 sorting is
3107         performed, make sure it is still the first entry after sorting
3108         that has the ai_canonname information.
3109
3110         * sysdeps/posix/getaddrinfo.c (gaih_inet): Really set ai_canonname
3111         only in one entry.
3112
3113 2004-08-13  Daniel Jacobowitz  <dan@debian.org>
3114
3115         * scripts/output-format.sed: Handle default case of three-argument
3116         OUTPUT_FORMAT.
3117
3118         * sysdeps/arm/machine-gmon.h (mcount_internal): Mark as
3119         __attribute_used__.
3120
3121 2004-08-13  Ulrich Drepper  <drepper@redhat.com>
3122
3123         * nss/getent.c (ahosts_keys): ai_canonname is NULL for all but the
3124         first returned entry.  Print name only if not NULL.
3125
3126         * nis/nss_nis/nis-netgrp.c: Remove locking by using data in struct
3127         __netgrent object passed in instead of global variables.
3128         Optimize.
3129         * nis/nss_nisplus/nisplus-netgrp.c: Remove locking by using data
3130         in struct __netgrent object passed in instead of global variables.
3131         * inet/netgroup.h (struct __netgrent): Add service_user field.
3132         Move cursor in anonymous union, add new field location to that
3133         union.
3134         * inet/getnetgrent_r.c: Extensive rewrite to really enable
3135         concurrent uset of set/get/endnetgrent and innetgr.
3136         Reported by Chuck Simmons.
3137
3138         * inet/netgroup.h (struct name_list): Replace name pointer with
3139         zero-sized array.
3140         * inet/getnetgrent_r.c: Adjust code for change in name_list
3141         layout.  Numerous strdup and free calls removed.
3142
3143         * elf/sprof.c (read_symbols): When comparing aliases, prefer
3144         non-hidden over hidden symbols and strong over weak symbols
3145         if both don't start with '_'.
3146
3147         * malloc/malloc.c: Use strong_alias instead of weak_alias wherever
3148         possible.
3149
3150 2004-08-12  Jakub Jelinek  <jakub@redhat.com>
3151
3152         * sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard
3153         RUSAGE_ enums as __RUSAGE_ and adjust macros accordingly.
3154         * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
3155         * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
3156         * sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise.
3157         Define non-standard RLIMIT_ enums as __RLIMIT_ and adjust macros
3158         accordingly.
3159
3160 2004-08-11  Andreas Schwab  <schwab@suse.de>
3161
3162         * resolv/res_libc.c: Move definition of __res_initstamp ...
3163         * resolv/res_init.c: ... here.
3164
3165 2004-08-10  GOTO Masanori  <gotom@debian.or.jp>
3166
3167         * locale/C-time.c: Change default ERA value from NULL to "".
3168         * locale/tst-C-locale.c: Add test case for ERA keywords.
3169
3170 2004-08-12  Ulrich Drepper  <drepper@redhat.com>
3171
3172         * sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard
3173         RLIMIT__ enums as __RLIMIT_ and adjust macros accordingly.
3174         * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
3175         * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
3176
3177 2004-08-12  Jakub Jelinek  <jakub@redhat.com>
3178
3179         * sysdeps/unix/sysv/linux/bits/resource.h (RLIMIT_SIGPENDING,
3180         RLIMIT_MSGQUEUE): Add.
3181         (RLIMIT_NLIMITS, RLIM_NLIMITS): Adjust.
3182         * sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIMIT_SIGPENDING,
3183         RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
3184         (RLIM_NLIMITS): Adjust.
3185         * sysdeps/unix/sysv/linux/sparc/bits/resource.h (RLIMIT_SIGPENDING,
3186         RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
3187         (RLIM_NLIMITS): Adjust.
3188         * sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIMIT_SIGPENDING,
3189         RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
3190         (RLIM_NLIMITS): Adjust.
3191
3192 2004-08-12  Jakub Jelinek  <jakub@redhat.com>
3193
3194         * resolv/res_query.c (__libc_res_nsearch): Protect the debugging
3195         printf with #ifdef DEBUG and RES_DEBUG check.
3196
3197         * sysdeps/unix/sysv/linux/bits/shm.h: Move __END_DECLS after
3198         __USE_MISC #endif.
3199         * sysdeps/generic/bits/shm.h: Add __BEGIN_DECLS for __getpagesize
3200         declaration.
3201         * sysdeps/gnu/bits/shm.h: Likewise.
3202         * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
3203         * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
3204         * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
3205         * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
3206         * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
3207
3208 2004-08-12  Ulrich Drepper  <drepper@redhat.com>
3209
3210         * po/ca.po: Update from translation team.
3211
3212 2004-08-11  Ulrich Drepper  <drepper@redhat.com>
3213
3214         * sysdeps/unix/sysv/linux/bits/shm.h: Add __BEGIN_DECLS for
3215         __getpagesize declaration.
3216
3217 2004-08-11  Roland McGrath  <roland@redhat.com>
3218
3219         * configure.in (libc_cv_cpp_asm_debuginfo): Add missing braces around
3220         commands inside &&.
3221         Reported by Andreas Schwab <schwab@suse.de>.
3222         * configure: Regenerated.
3223
3224         * posix/tst-waitid.c (do_test): Ignore SIGCHLD before cleanup SIGKILL.
3225
3226 2004-08-11  Ulrich Drepper  <drepper@redhat.com>
3227
3228         * time/tzset.c (tzset_internal): Add new parameter which is
3229         nonzero if called through tzset.  Use TZDEFAULT name including
3230         name comparison if the new parameter is zero.  This means implicit
3231         tzset calls will not cause files to be opened and read by tzfile.c
3232         all the time.
3233
3234 2004-08-11  Jakub Jelinek  <jakub@redhat.com>
3235
3236         * rt/tst-timer2.c (do_test): If timer_create fails, just continue.
3237         * rt/tst-timer4.c (do_test): If one of the timer_create calls fails,
3238         return 1 immediately.
3239
3240         * time/tzfile.c (__tzfile_read): Free transitions only if it will
3241         not be reused.
3242
3243         * sysdeps/ieee754/dbl-64/mpa.c: Include <sys/param.h>.
3244         * sysdeps/ieee754/dbl-64/mpa.h (MAX, MIN): Macros removed.
3245
3246         * stdio-common/tst-popen.c: Include <string.h>.
3247
3248         * resolv/res_send.c (__libc_res_nsend): Only define TMPBUF #if DEBUG.
3249
3250         * sysdeps/pthread/aio_misc.c (handle_fildes_io): Remove noreturn
3251         attribute.  Return NULL instead of calling pthread_exit at the end.
3252
3253 2004-08-11  Roland McGrath  <roland@redhat.com>
3254
3255         * iconvdata/testdata/ISO-2022-JP-3: Regenerated.
3256
3257 2004-08-10  Alfred M. Szmidt  <ams@kemisten.nu>
3258
3259         * sysdeps/generic/bits/in.h (struct ip_mreq): Remove definition.
3260
3261 2004-08-10  Jakub Jelinek  <jakub@redhat.com>
3262
3263         * libio/bits/stdio.h (fread_unlocked): Cast 0 to (size_t).
3264         (fwrite_unlocked): When checking if size * n is <= 8, cast each
3265         argument to size_t individually.  Cast n to (void) instead of
3266         (size_t), surround with (), return (size_t) 0 if one of n or size
3267         is 0.  [BZ #316]
3268         * stdio-common/Makefile (tests): Add tst-unlockedio.
3269         * stdio-common/tst-unlockedio.c: New test.
3270
3271 2004-08-09  Roland McGrath  <roland@frob.com>
3272
3273         * manual/install.texi (Supported Configurations): Replace bug-glibc
3274         mention with web URL.
3275         * INSTALL: Regenerated.
3276         * locale/iso-3166.def: Likewise, in comment.
3277         * locale/iso-4217.def: Likewise.
3278         * locale/iso-639.def: Likewise.
3279         * posix/cpio.h: Remove bug reporting comment.
3280
3281 2004-08-09  Ulrich Drepper  <drepper@redhat.com>
3282
3283         * libio/bits/stdio.h (fread_unlocked): Add a couple of (size_t)
3284         casts to handle funny calls with floating point argument values
3285         and signed values correctly and without warning.
3286         (fwrite_unlocked): Likewise.  [BZ #309]
3287
3288         * malloc/memusage.c (me): Use creat64, not creat.
3289         * malloc/memusagestat.c: Fix handling of very large sizes.  [BZ #285]
3290         Patch by Guy Maor <guymaor@yahoo.com>.
3291
3292         * elf/ldconfig.c (options): Mark parameter option names as
3293         translatable.  [BZ #253]  Patch by Jakub Bogusz <qboosh@pld-linux.org>.
3294
3295         * iconv/gconv_charset.h (strip): Also allow comma which is what is
3296         used to separate options.  [BZ #194]
3297
3298 2004-08-09  Roland McGrath  <roland@redhat.com>
3299
3300         * FAQ.in: Refer to web pages instead of bug-glibc.
3301         * FAQ: Regenerated.
3302
3303         * time/strptime_l.c: #include <stdbool.h>, `bool' used in last change.
3304
3305 2004-08-09  Ulrich Drepper  <drepper@redhat.com>
3306
3307         * time/tzset.c (tzset_internal): If TZ is not set do not compare
3308         old and new tz value since it might be /etc/localtime in both
3309         cases although the file changed.  [BZ #154]
3310         Patch by Christian Franke <franke@computer.org>.
3311
3312         * time/tzfile.c (__tzfile_read): Determine dev/ino of file.
3313         Compare with values of previously opened file.  Don't do anything
3314         is they match.
3315
3316 2004-08-08  Ulrich Drepper  <drepper@redhat.com>
3317
3318         * elf/dl-load.c (_dl_map_object): If __RTLD_CALLMAP flag is set,
3319         reset loader before the actual loading.
3320         * elf/dl-open.c (dl_open_worker): If file name contains no path
3321         element determine map of caller.  Pass caller map in this case to
3322         _dl_map_object.  Set __RTLD_CALLMAP in mode.
3323         * include/dlfcn.h (__RTLD_CALLMAP): Define.  [BZ #116]
3324         Patch by Greg Wolodkin <greg@mathworks.com>.
3325
3326         * misc/syslog.c (openlog_internal): Always try both UDP and TCP.
3327         [BZ #108]  Patch mainly by Bjorn Andersson <bjorn@iki.fi>.
3328
3329         * configure.in: Also recognize i786. [BZ #106]
3330         Patch by <pluto@pld-linux.org>.
3331
3332         * resolv/res_query.c (__libc_res_nsearch): Correctly test whether
3333         name contains any dots. [BZ #95]
3334
3335         * resolv/res_send.c: Compiling with DEBUG defined works again.
3336         * resolv/gethnamaddr.c (dprintf): Renamed to Dprintf.  Adjust all
3337         callers.
3338
3339         * resolv/tst-leaks.c (TIMEOUT): Define so that if no server is
3340         available the process is not killed. [BZ #41]
3341
3342         * intl/tst-gettext.c (main): Improve some messages. [BZ #33]
3343
3344         * time/strptime_l.c (__strptime_internal): Fix handling of %Ey.
3345         [BZ #28]
3346
3347         * po/sv.po: Update from translation team.
3348
3349 2004-08-07  Ulrich Drepper  <drepper@redhat.com>
3350
3351         * inet/netinet/in.h: Add more const to the setipv4soucefilter,
3352         getsourcefilter, and setsourcefilter parameter list.
3353         * sysdeps/generic/setipv4sourcefilter.c: Likewise.
3354         * sysdeps/generic/getsourcefilter.c: Likewise.
3355         * sysdeps/generic/setsourcefilter.c: Likewise.
3356         * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: Likewise.
3357         * sysdeps/unix/sysv/linux/getsourcefilter.c: Likewise.
3358         * sysdeps/unix/sysv/linux/setsourcefilter.c: Likewise.
3359
3360         * po/tr.po: Update from translation team.
3361
3362 2004-08-06  Ulrich Drepper  <drepper@redhat.com>
3363
3364         * iconvdata/jisx0213.h (jisx0213_added_in_2004_p): Fix typo.
3365         Reported by Paolo Bonzini.
3366
3367 2004-08-06  Jakub Jelinek  <jakub@redhat.com>
3368
3369         * sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add
3370         always_inline.
3371         * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_runtime_setup,
3372         elf_machine_fixup_plt, elf_machine_plt_conflict): Likewise.
3373
3374         * sysdeps/unix/sysv/linux/netatalk/at.h: Include bits/sockaddr.h
3375         before including linux/atalk.h.
3376
3377         * resolv/res_libc.c: Include atomic.h.
3378
3379         * intl/finddomain.c (free_mem): Rename to...
3380         (_nl_finddomain_subfreeres): ... this.  Add
3381         __libc_freeres_fn_section.
3382         * intl/loadmsgcat.c (_nl_unload_domain): Add
3383         __libc_freeres_fn_section.
3384         * intl/gettextP.h (_nl_unload_domain): Move into #ifdef _LIBC.
3385         Add attribute_hidden.
3386         (_nl_findomain_subfreeres): New prototype.
3387         * iconv/gconv_db.c (free_mem): Call _nl_findomain_subfreeres.
3388
3389 2004-07-30  Guido Guenther  <agx@sigxcpu.org>
3390
3391         * nss/getent.c (passwd_keys): Use strtoul instead of isdigit to
3392         test if the key is numeric or not.
3393         (group_keys): Likewise.
3394
3395 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
3396
3397         * inet/netinet/in.h: Define struct ip_msfilter, IP_MSFILTER_SIZE,
3398         struct group_filter, and GROUP_FILTER_SIZE.
3399         * include/sys/socket.h: Declare __getsockopt.
3400         * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: New file.
3401         * sysdeps/unix/sysv/linux/getipv4sourcefilter.c: New file.
3402         * sysdeps/unix/sysv/linux/setsourcefilter.c: New file.
3403         * sysdeps/unix/sysv/linux/getsourcefilter.c: New file. [BZ #211]
3404
3405         * po/ko.po: Update from translation team.
3406
3407 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
3408
3409         * hesiod/hesiod.c (__hesiod_res_get): Use calloc instead of malloc +
3410         memset.
3411         (__hesiod_res_set): Free nsaddrs.
3412
3413         * include/resolv.h (__res_maybe_init): Add prototype.
3414         * resolv/resolv.h (struct __res_state): Add _u._ext.initstamp field.
3415         * resolv/Versions (libc): Add __res_maybe_init@@GLIBC_PRIVATE.
3416         * resolv/res_libc.c (__res_initstamp, lock): New variables.
3417         (res_init): Increase __res_initstamp.
3418         (__res_maybe_init): New function.
3419         * resolv/res_init.c (__res_vinit): Initialize _u._ext.initstamp.
3420         * hesiod/hesiod.c (__hesiod_res_get): Use __res_maybe_init instead
3421         of RES_INIT check and {res_ninit,__res_ninit,res_init} call.
3422         * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
3423         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
3424         _nss_dns_gethostbyaddr_r): Likewise.
3425         * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
3426         _nss_dns_getnetbyaddr_r): Likewise.
3427         * resolv/gethnamaddr.c (gethostbyname, gethostbyname2,
3428         gethostbyaddr): Likewise.
3429         * resolv/res_data.c (fp_nquery, res_mkquery, res_mkupdate,
3430         res_isourserver, res_sendsigned, res_update, res_search,
3431         res_querydomain): Likewise.
3432         * nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Likewise.
3433         * nss/digits_dots.c (__nss_hostname_digits_dots): Likewise.
3434         * nss/getnssent_r.c (__nss_setent, __nss_endent, __nss_getent_r):
3435         Likewise.
3436
3437 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
3438
3439         * sysdeps/posix/getaddrinfo.c (gaih_inet): Set ai_family for
3440         V4-mapped IPv6 addresses and req->ai_family==AF_INET.
3441         Reported by A. Guru <a.guru@sympatico.ca>.
3442
3443         * po/sv.po: Update from translation team.
3444         * po/sk.po: Likewise.
3445         * po/pl.po: Likewise.
3446
3447 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
3448             Ulrich Drepper  <drepper@redhat.com>
3449
3450         * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Don't read more input
3451         characters than necessary.
3452
3453 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
3454
3455         * wcsmbs/Makefile (tests): Add tst-mbsrtowcs.
3456         * wcsmbs/tst-mbsrtowcs.c: New file.
3457
3458         * po/fr.po: Update from translation team.
3459
3460 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
3461
3462         * resolv/inet_pton.c (inet_pton4): Disallow octal numbers.  Reported
3463         by A. Guru <a.guru@sympatico.ca>.  [BZ #295]
3464
3465 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
3466
3467         * po/nl.po: Update from translation team.
3468
3469         * sysdeps/posix/getaddrinfo.c (gaih_inet): Recognize all the IPv4
3470         numeric address formats inet_addr knows.
3471         (getaddrinfo): Allow AI_NUMERICSERV flag.
3472         If neither IPv4 nor IPv6 interface is present we cannot make any
3473         decision for AI_ADDRCONFIG.  Fail if AI_NUMERICSERV is set and the
3474         string is not just a number.  Remove useless freeaddrinfo call.
3475         * resolv/netdb.h (AI_NUMERICSERV): Define.
3476         Based on a patch by a.guru@sympatico.ca.
3477
3478 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
3479
3480         * stdlib/strfmon_l.c (__vstrfmon_l): Memset whole info structure
3481         instead of trying to initialize some, but not all, fields one by
3482         one.
3483         * stdio-common/printf_size.c (printf_size): Initialize fb_info
3484         structure with *info instead of trying to initialize some, but not
3485         all, fields from it.
3486
3487         * nscd/connections.c (handle_request): Check if req->type is in
3488         LASTDBREQ .. LASTREQ range instead of req.
3489
3490         * locale/programs/linereader.c (lr_create): Initialize
3491         lr->return_widestr to 0.
3492
3493         * elf/dl-close.c (free_slotinfo): Add __libc_freeres_fn_section.
3494         (free_mem): Call free_slotinfo just once.
3495
3496         * stdio-common/tst-fmemopen.c (main): Check for MAP_FAILED instead
3497         of NULL.
3498
3499         * locale/localeinfo.h (_nl_locale_subfreeres): New prototype.
3500         * locale/setlocale.c (free_category): Add __libc_freeres_fn_section.
3501         (free_mem): Rename to _nl_locale_subfreeres.
3502         * iconv/gconv_db.c: Include locale/localeinfo.h.
3503         (free_derivation, free_modules_db): Add __libc_freeres_fn_section.
3504         (free_mem): Call _nl_locale_subfreeres.
3505         * iconv/gconv_dl.c (do_release_all): Add __libc_freeres_fn_section.
3506
3507 2004-08-04  Roland McGrath  <roland@frob.com>
3508
3509         * Makeconfig ($(common-objpfx)config.status):
3510         Fix typo: $(add_ons) -> $(add-ons).
3511         (Makeconfig-add-on): New variable.  When doing $(sysdep-makeconfigs)
3512         include, use black magic to get it set to an add-on's name during the
3513         include of the add-on's Makeconfig.
3514
3515         * configure.in: Use variable name `libc_add_on' when sourcing add-on
3516         configure fragments, so they can refer to this.
3517         * configure: Regenerated.
3518
3519 2004-08-04  Roland McGrath  <roland@redhat.com>
3520
3521         * posix/tst-waitid.c (test_child): Sleep a second before stopping.
3522         (do_test): Bu