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