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