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