* include/features.h (__USE_FORTIFY_LEVEL): Also set for Red Hat
[glibc.git] / ChangeLog
blob0bbe073a7a7df3c851fb9450ab0663a162dba4e5
1 2004-11-02  Jakub Jelinek  <jakub@redhat.com>
3         * include/features.h (__USE_FORTIFY_LEVEL): Also set for Red Hat
4         GCC 3.4.x-RH >= 3.4.2-8.
5         * libio/bits/features.h (printf, fprintf, vprintf, vfprintf): For
6         GCC 3.4.x-RH use __builtin___{,v}{,f}printf_chk instead of
7         __{,v}{,f}printf_chk.
8         * debug/tst-chk1.c (do_test): Deal with GCC 3.4.x-RH not
9         being able to recognize subobjects.
11 2004-11-01  Jakub Jelinek  <jakub@redhat.com>
13         * sysdeps/unix/sysv/linux/x86_64/sys/procfs.h [__WORDSIZE == 32]
14         (elf_fpxregset_t): New type.
15         (struct elf_prpsinfo): If __WORDSIZE == 32, change pr_[ug]id type
16         to unsigned short int.
17         * sysdeps/unix/sysv/linux/x86_64/sys/user.h
18         (struct user_fpregs_struct): Fix comment.
19         * sysdeps/i386/fpu/bits/mathdef.h (float_t, double_t): If
20         __FLOAT_EVAL_METHOD__ is defined and 0, typedef to float resp. double.
21         * sysdeps/x86_64/fpu/bits/mathdef.h: Include bits/wordsize.h.
22         (float_t, double_t): If -m32 and not -mfpmath=sse, typedef to
23         long double.
24         * sysdeps/x86_64/fpu/bits/fenv.h: Include bits/wordsize.h.
25         (fenv_t): Remove __mxcsr field for -m32.
27 2004-10-31  Mariusz Mazur <mmazur@kernel.pl>
29         * sysdeps/unix/sysv/linux/alpha/setregid.c: New file.
30         * sysdeps/unix/sysv/linux/alpha/setresgid.c: New file.
31         * sysdeps/unix/sysv/linux/alpha/setresuid.c: New file.
32         * sysdeps/unix/sysv/linux/alpha/setreuid.c: New file.
34 2004-10-27  Derek R. Price  <derek@ximbiot.com>
36         [BZ #487] This change is imported from gnulib.
37         * time/mktime.c (not_equal_tm) [DEBUG]: Remove redundant check.
39 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
41         [BZ #473]
42         * time/tst-mktime.c (main): Don't assume that mktime fails
43         when given time stamps before 1970.  It returns negative
44         time_t values instead, for compatibility with BSD.
46         * time/tst-mktime2.c: New file.
47         * time/Makefile (tests): Add it.
49         [BZ #473] Import from gnulib.  Revamp to avoid several problems near
50         time_t extrema, and on hosts with 64-bit time_t and 32-bit int.
51         This fixes Debian bug 177940.
52         * time/mktime.c (TIME_T_MIDPOINT): New macro.
53         (ydhms_diff): Renamed from ydhms_tm_diff, with a new signature,
54         which avoids overflow problems on hosts with 64-bit time_t and
55         32-bit int.  All callers changed.  Now an inline function.
56         Verify at compile-time that long int is wide enough to avoid
57         these overflow problems.
58         (guess_time_tm): New function.
59         (__mktime_internal): Use it.  Avoid overflow when computing yday on
60         hosts with 64-bit long and 32-bit int.  Remove tests for 69;
61         no longer needed.  Use if rather than #ifdef for LEAP_SECONDS_POSSIBLE
62         so that the code is checked by more compilers.
63         Do not rely on floating point to probe: stick to integer arithmetic,
64         to avoid potential porting problems.
65         Repair potential overflow correctly in the Southern Hemisphere.
66         (localtime_offset): Add a FIXME for the case where time_t is unsigned.
68 2004-10-30  Andreas Schwab  <schwab@suse.de>
70         * sysdeps/m68k/dl-machine.h (elf_machine_rela)
71         (elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto
72         instead of static.
74 2004-10-30  Andreas Schwab  <schwab@suse.de>
76         * sysdeps/unix/sysv/linux/waitid.c: Include <stddef.h> for NULL.
78 2004-10-30  Ulrich Drepper  <drepper@redhat.com>
80         * malloc/malloc.c (_int_free): Use unique comments for the error
81         cases.
83 2004-10-28  Roland McGrath  <roland@frob.com>
85         * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_fork): Use i386_thread_state
86         instead of machine_thread_state.
88 2004-10-28  Roland McGrath  <roland@redhat.com>
90         * sysdeps/unix/sysv/linux/syscalls.list: Remove setaltroot.
92 2004-10-28  Ulrich Drepper  <drepper@redhat.com>
94         * elf/dl-open.c (dl_open_worker): Remove reference to glibcbug script.
96 2004-10-27  Ulrich Drepper  <drepper@redhat.com>
98         * elf/dl-load.c (_dl_map_object): Use cache_rpath to check for
99         existing rpath in main executable, not explicit test.
101 2004-10-27  Jakub Jelinek  <jakub@redhat.com>
103         * include/resolv.h (_res_opcodes): New extern.
104         Add libresolv_hidden_proto.
105         * resolv/res_debug.c (_res_opcodes): Remove.
106         (__p_class_syms, __p_type_syms): Add libresolv_hidden_proto
107         and libresolv_hidden_data_def.  Remove attribute_hidden.
108         * resolv/res_mkquery (_res_opcodes): Remove.
109         * resolv/res_data.c (_res_opcodes): Remove attribute_hidden.
110         Add libresolv_hidden_data_def.
112 2004-10-27  Ulrich Drepper  <drepper@redhat.com>
114         * elf/dl-open.c (_dl_open): Don't allow explicitly opening a DSO
115         into an empty namespace.
117         * elf/dl-fini.c (_dl_fini): Fix search for map in maps array.
118         Reverse order of namespaces.
119         * elf/Makefile: Add rules to build and run tst-dlmopen3.
120         * elf/tst-dlmopen3.c: New file.
121         * elf/tst-dlmopen1mod.c: Add check whether constructor runs.
123 2004-10-27  Jakub Jelinek  <jakub@redhat.com>
125         * sysdeps/generic/glob.c (globfree): Clear gl_pathv after freeing it.
126         * posix/Makefile: Add rules to build and run bug-glob2 test.
127         * posix/bug-glob2.c: New test.
129 2004-10-27  Roland McGrath  <roland@frob.com>
131         * sysdeps/mach/hurd/i386/tls.h (HURD_TLS_DESC_DECL): New macro.
132         (_hurd_tls_init): Use it.
133         (_hurd_tls_fork): New function.
134         * sysdeps/mach/hurd/fork.c (__fork) [USE_TLS]: Call it.
136 2004-10-26  Roland McGrath  <roland@frob.com>
138         * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Initialize TCB->tcb.
140 2004-10-26  Jakub Jelinek  <jakub@redhat.com>
142         * sysdeps/gnu/netinet/udp.h (struct udphdr): Use u_int16_t
143         type instead of uint16_t.  Formatting.
145 2004-10-25  Roland McGrath  <roland@redhat.com>
147         * login/openpty.c (openpty): Add libutil_hidden_def.
149         * nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define to
150         either libc_hidden_def or libnss_files_hidden_def, not hidden_def.
151         This file is also compiled into libnss_hesiod by #include.
153 2004-10-25  Roland McGrath  <roland@frob.com>
155         * sysdeps/unix/bsd/hp: Directory and all files removed.
156         These are now in the ports repository.
157         * sysdeps/unix/bsd/osf: Likewise.
158         * sysdeps/unix/bsd/sequent: Likewise.
159         * sysdeps/unix/bsd/sony: Likewise.
160         * sysdeps/unix/bsd/ultrix4: Likewise.
161         * sysdeps/unix/sysv/aix: Likewise.
162         * sysdeps/unix/sysv/hpux: Likewise.
163         * sysdeps/unix/sysv/irix4: Likewise.
164         * sysdeps/unix/sysv/isc2.2: Likewise.
165         * sysdeps/unix/sysv/minix: Likewise.
166         * sysdeps/unix/sysv/sco3.2.4: Likewise.
167         * sysdeps/unix/sysv/sco3.2: Likewise.
168         * sysdeps/unix/sysv/sysv4: Likewise.
170         * configure.in (ASM_LINE_SEP): Move this setting to ...
171         * sysdeps/hppa/configure.in: ... here, new file.
172         * sysdeps/hppa/configure: New generated file.
173         * configure: Regenerated.
175 2004-10-25  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
177         * sysdeps/sh/dl-machine.h: Include sysdep.h.
178         (ELF_MACHINE_RUNTIME_TRAMPOLINE): Add CFI directives.
179         (elf_machine_runtime_setup): Add always_inline attribute.
180         (_dl_start_user): Pass the correct environ.
181         (elf_machine_rela): Replace static inline by auto inline, add
182         always_inline attribute.
183         (elf_machine_rela_relative): Likewise.
184         (elf_machine_lazy_rel): Likewise.
186 2004-10-24  Ulrich Drepper  <drepper@redhat.com>
188         * nis/nis_call.c: Pretty printing.  Minor cleanups.
189         * nis/nis_addmember.c (nis_addmember): Add assert to check buffer
190         bounds.
192         * resolv/nss_dns/dns-host.c: Avoid using PLTs.
193         * include/libc-symbols.h: Define hidden attribute macros for
194         libnss_nisplus and libutil.
195         * include/utmp.h: Add libutil_hidden_proto for login_tty.
196         * login/login_tty.c: Add libutil_hidden_def.
197         * nis/nisplus-parser.h: Add libnss_nisplus_hidden_proto for parsers.
198         * nis/nss_nisplus/nisplus-parser.c: Add libnss_nisplus_hidden_def.
199         * include/pty.h: New file.
200         * include/rpcsvc/yp.h: New file.
201         * include/rpcsvc/ypclnt.h: New file.
202         * include/rpcsvc/ypupd.h: New file.
203         * include/libc-symbols.h: Define hidden attribute macros for libnsl.
204         * include/rpcsvc/nislib.h: Use libnsl_hidden_proto for various
205         functions.
206         * nis/nis_add.c: Add libnsl_hidden_def.  Minor optimizations.
207         * nis/nis_call.c: Likewise.
208         * nis/nis_clone_obj.c: Likewise.
209         * nis/nis_defaults.c: Likewise.
210         * nis/nis_domain_of_r.c: Likewise.
211         * nis/nis_error.c: Likewise.
212         * nis/nis_file.c: Likewise.
213         * nis/nis_free.c: Likewise.
214         * nis/nis_local_names.c: Likewise.
215         * nis/nis_lookup.c: Likewise.
216         * nis/nis_modify.c: Likewise.
217         * nis/nis_print.c: Likewise.
218         * nis/nis_remove.c: Likewise.
219         * nis/nis_subr.c: Likewise.
220         * nis/nis_table.c: Likewise.
221         * nis/nis_util.c: Likewise.
222         * nis/yp_xdr.c: Likewise.
223         * nis/ypclnt.c: Likewise.
224         * nis/ypupdate_xdr.c: Likewise.
226         * resolv/res_send.c (send_dg): Cope with failures.
228         * include/libc-symbols.h: Define hidden attribute macros for
229         libnss_files.
230         * include/netdb.h: Use libnss_files_hidden_proto for the parsers
231         defined in libnss_files, not libc_hidden_proto.
232         * include/netinet/ether.h: Likewise.
233         * include/rpc/netdb.h: Likewise.
234         * nss/nss_files/files-parse.c: Use hidden_def in parser definitions
235         instead of libc_hidden_def.
236         * nss/nss_files/files-netgrp.c: Add libnss_files_hidden_def to
237         _nss_netgroup_parseline definition.
239 2004-10-23  Roland McGrath  <roland@frob.com>
241         * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Don't return early
242         after an RPC succeeds.
244         * sysdeps/vax, sysdeps/unix/bsd/vax: Directories and all files removed.
245         These are now in the ports repository.
246         * sysdeps/tahoe, sysdeps/unix/bsd/tahoe: Likewise.
247         * sysdeps/cris, sysdeps/unix/sysv/linux/cris: Likewise.
248         * sysdeps/am29k, sysdeps/i860, sysdeps/i960, sysdeps/m88k: Likewise.
249         * sysdeps/standalone, sysdeps/z8000: Likewise.
251 2004-10-23  Ulrich Drepper  <drepper@redhat.com>
253         * resolv/res_send.c (send_dg): Combine write and read to socket
254         into one loop.
256 2004-10-22  Roland McGrath  <roland@frob.com>
258         * Makefile (%.bz2, %.gz): Move these pattern rules ...
259         * Makerules: ... to here.
261 2001-10-31  Alexandre Oliva  <aoliva@redhat.com>
263         * elf/elf.h: Add R_MN10300_* relocation numbers.
265 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
267         [BZ #471] Fix imported from gnulib.
268         * time/mktime.c (leapyear, ydms_tm_diff): Year is of type
269         long int, not int, to avoid problems when tm_year == INT_MAX
270         and tm_mon > 12.
271         (__mktime_intenral): Compute year using long int arithmetic,
272         not int arithmetic, to avoid problems on hosts where time_t
273         and long are 64 bits but int is 32.
275         [BZ #468] Import a fix from gnulib.
276         * time/mktime.c [! DEBUG]: Do not include <string.h>.
277         It's needed only if DEBUG is nonzero.
279         [BZ #470] Import fix from gnulib.
280         * time/mktime.c [!_LIBC] (__mktime_internal): Define to
281         mktime_internal, to avoid clashes with any __mktime_internal
282         function defined in the standard library.
284         [BZ #469] Imported from gnulib.
285         * time/mktime.c (__isleap): Remove; all uses replaced by:
286         (leapyear): New function, which avoids overflow by not adding
287         1900 to year before testing whether it is a leap year.
289         [BZ #472] Imported from gnulib.
290         * time/mktime.c (Local Variables): Remove -DHAVE_TIME_R_POSIX;
291         no longer used.
293 2004-10-22  Ulrich Drepper  <drepper@redhat.com>
295         * resolv/res_send.c: Remove compatibility code which is unused in
296         glibc and probably bitrotten.
298         * debug/execinfo.h: Remove __THROW from backtrace prototype.
300 2004-10-22  Jakub Jelinek  <jakub@redhat.com>
302         * sysdeps/i386/Makefile (CFLAGS-backtrace.c): Add -fexceptions.
303         * sysdeps/i386/backtrace.c: Include <bits/libc-lock.h>, <dlfcn.h>,
304         <stdlib.h> and <unwind.h>.  Remove <bp-checks.h> include.
305         (struct trace_arg): New type.
306         (unwind_backtrace, unwind_getip, unwind_getcfa, unwind_getgr): New
307         fn pointers resp. macros.
308         (init, backtrace_helper): New functions.
309         (__backtrace): Rewritten to use _Unwind_Backtrace first and fall
310         back to frame pointer walking.
312 2004-10-22  Ulrich Drepper  <drepper@redhat.com>
314         * sysdeps/unix/sysv/linux/Versions: Things are still in flux, it
315         seems.  Undo last additions.
317 2004-10-21  Ulrich Drepper  <drepper@redhat.com>
319         * posix/execvp.c (execvp): Also ignore ENODEV and ETIMEDOUT errno
320         values.
322 2004-10-20  Jakub Jelinek  <jakub@redhat.com>
324         * sysdeps/unix/sysv/linux/readonly-area.c (__readonly_area): If /proc
325         is not mounted, return 1.
327 2004-10-20  Roland McGrath  <roland@redhat.com>
329         * Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also
330         $(config-sysdirs) for shlib-versions files.
332         * Makeconfig ($(common-objpfx)soversions.i): Replace shell loop with
333         use of ...
334         * scripts/soversions.awk: ... this new file.  Collect lib info and
335         match any DEFAULT line before emitting anything, so DEFAULT can come
336         later in the concatenation of shlib-versions files.
338         * manual/errno.texi (Error Codes): Add ENOKEY, EKEYEXPIRED,
339         EKEYREVOKED, EKEYREJECTED.
340         * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.3.4): New errlist.
341         * sysdeps/gnu/errlist.c: Regenerated
343         * sysdeps/gnu/errlist-compat.awk: Don't bail if Versions gives a count
344         higher than ERR_MAX reports.  Instead, emit a #define ERR_MAX.
345         * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.h): New target.
346         (generated): Add errlist-compat.h.
347         * sysdeps/gnu/errlist.awk: Make output #include <errlist-compat.h> to
348         define ERR_MAX and use that for table size.
350 2004-10-20  Ulrich Drepper  <drepper@redhat.com>
352         * sysdeps/unix/sysv/linux/syscalls.list: Add entries for setaltroot,
353         key_add, key_request, and keyctl syscalls.
354         * sysdeps/unix/sysv/linux/Versions: Export them.
356 2004-10-19  Roland McGrath  <roland@frob.com>
358         * sysdeps/mach/readonly-area.c: New file.
360 2004-10-19  Ulrich Drepper  <drepper@redhat.com>
362         * elf/Versions [ld, GLIBC_PRIVATE]: Add _dl_debug_state.
363         * elf/dl-debug.c (_dl_debug_state): Add rtld_hidden_def.
364         * sysdeps/generic/ldsodefs.h (_dl_debug_state): Don't mark as
365         hidden but use rtld_hidden_proto.
367 2004-10-19  Alfred M. Szmidt  <ams@gnu.org>
369         * sysdeps/generic/readonly-area.c (__readonly_str): Renamed to ...
370         (__readonly_area): ... this.
372 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
374         * sysdeps/generic/strcpy_chk.c (__strcpy_chk): Speed up by checking
375         destlen only every 4 bytes.
377 2004-10-19  Ulrich Drepper  <drepper@redhat.com>
379         * nss/getent.c (hosts_keys): Let inet_pton decide whether the
380         string is an address or not.
382 2004-10-19  Jakub Jelinek  <jakub@redhat.com>
384         * elf/dl-addr.c (_dl_addr): Don't look at STT_TLS symbols.
385         Use DL_SYMBOL_ADDRESS to set dli_saddr.
387         * debug/Makefile (catchsegv): Prefix $LIB with a backslash.
389 2004-10-19  Ulrich Drepper  <drepper@redhat.com>
391         * debug/Makefile ($(objpfx)catchsegv): To support multilib
392         platforms, use $LIB in path to slibdir.
394 2004-10-19  Jakub Jelinek  <jakub@redhat.com>
396         * debug/catchsegv.sh: Update copyright year.
397         Use mktemp to create segv_output file.
399 2004-10-19  Jakub Jelinek  <jakub@redhat.com>
401         * include/features.h (__USE_FORTIFY_LEVEL): Enable even with
402         Red Hat gcc4 4.0.0 and above.
404 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
406         * elf/dl-libc.c (__libc_dlsym_private, __libc_register_dl_open_hook):
407         New functions.
408         (__libc_dlopen_mode): Call __libc_register_dl_open_hook and
409         __libc_register_dlfcn_hook.
410         * dlfcn/Makefile (routines, elide-routines.os): Set.
411         Add rules to build and test tststatic2.
412         * dlfcn/tststatic2.c: New test.
413         * dlfcn/modstatic2.c: New test module.
414         * dlfcn/dladdr.c: Call _dlfcn_hook from libdl.so if not NULL.
415         Define __ prefixed routine in libc.a and in libdl.a just call it.
416         * dlfcn/dladdr1.c: Likewise.
417         * dlfcn/dlclose.c: Likewise.
418         * dlfcn/dlerror.c: Likewise.
419         * dlfcn/dlinfo.c: Likewise.
420         * dlfcn/dlmopen.c: Likewise.
421         * dlfcn/dlopen.c: Likewise.
422         * dlfcn/dlopenold.c: Likewise.
423         * dlfcn/dlsym.c: Likewise.
424         * dlfcn/dlvsym.c: Likewise.
425         * dlfcn/sdladdr.c: New file.
426         * dlfcn/sdladdr1.c: New file.
427         * dlfcn/sdlclose.c: New file.
428         * dlfcn/sdlerror.c: New file.
429         * dlfcn/sdlinfo.c: New file.
430         * dlfcn/sdlopen.c: New file.
431         * dlfcn/sdlsym.c: New file.
432         * dlfcn/sdlvsym.c: New file.
433         * dlfcn/Versions (libdl): Export _dlfcn_hook@GLIBC_PRIVATE.
434         * include/dlfcn.h (DL_CALLER_DECL, DL_CALLER RETURN_ADDRESS): Define.
435         (struct dlfcn_hook): New type.
436         (_dlfcn_hook): New extern decl.
437         (__dlopen, __dlclose, __dlsym, __dlerror, __dladdr, __dladdr1,
438         __dlinfo, __dlmopen, __libc_dlsym_private,
439         __libc_register_dl_open_hook, __libc_register_dlfcn_hook): New
440         prototypes.
441         (__dlvsym): Use DL_CALLER_DECL.
442         * include/libc-symbols.h: Define libdl_hidden_proto and friends.
444         * malloc/arena.c (_dl_open_hook): Extern decl.
445         (ptmalloc_init): Don't call _dl_addr when dlopened from statically
446         linked programs but don't use brk for them either.
448 2004-10-18  Roland McGrath  <roland@redhat.com>
450         * dlfcn/bug-dlsym1.c (main): Remove bogus setenv call.
452 2004-10-18  Ulrich Drepper  <drepper@redhat.com>
454         * elf/dl-open.c (dl_open_worker): Avoid dereferencing map in
455         statically linked code if there might none be found.
457 2004-10-06  Maciej W. Rozycki  <macro@mips.com>
459         * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
460         (__SYSCALL_CLOBBERS): Add "memory".
461         * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
462         (__SYSCALL_CLOBBERS): Likewise.
463         * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
464         (__SYSCALL_CLOBBERS): Likewise.
466 2004-10-17  Ulrich Drepper  <drepper@redhat.com>
468         * include/libc-symbols.h: Define libresolv_hidden_proto and friends.
469         * include/resolv.h: Add libresolv_hidden_proto for symbols defined,
470         used, and exported in libresolv.
471         * resolv/base64.c: Add libresolv_hidden_def.
472         * resolv/gethnamaddr.c: Likewise.
473         * resolv/ns_name.c: Likewise.
474         * resolv/ns_netint.c: Likewise.
475         * resolv/res_comp.c: Likewise.
476         * resolv/res_data.c: Likewise.
477         * resolv/res_debug.c: Likewise.
478         * resolv/res_mkquery.c: Likewise.
479         * resolv/res_query.c: Likewise.
480         * resolv/res_send.c: Likewise.
482 2004-10-15  Jakub Jelinek  <jakub@redhat.com>
484         * elf/dl-minimal.c (__chk_fail): New.  Add rtld_hidden_def.
485         * sysdeps/unix/sysv/linux/readonly-area.c: New file.
486         * sysdeps/i386/i686/memmove.S (__memmove_chk): Add checking
487         routine.
488         * sysdeps/i386/i686/memcpy.S (__memcpy_chk): Likewise.
489         * sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise.
490         * sysdeps/i386/i686/memset.S (__memset_chk): Likewise.
491         * sysdeps/i386/i686/memmove-chk.S: New file.
492         * sysdeps/i386/i686/memcpy-chk.S: Likewise.
493         * sysdeps/i386/i686/mempcpy-chk.S: Likewise.
494         * sysdeps/i386/i686/memset-chk.S: Likewise.
495         * sysdeps/generic/strcat-chk.c (__strcat_chk): Don't __chk_fail
496         if exactly fitting into buffer.
497         * sysdeps/generic/strncat-chk.c (__strncat_chk): Likewise.
498         * sysdeps/generic/readonly-area.c: New file.
499         * sysdeps/generic/strncpy-chk.c (__strncpy_chk): Only test
500         destlen once.
501         * sysdeps/x86_64/memset.S (__memset_chk): Add checking routine.
502         * sysdeps/x86_64/memcpy.S (__memcpy_chk): Likewise.
503         * sysdeps/x86_64/mempcpy.S (__memcpy_chk): Define to __mempcpy_chk.
504         * sysdeps/x86_64/memcpy-chk.S: New file.
505         * sysdeps/x86_64/mempcpy-chk.S: Likewise.
506         * sysdeps/x86_64/memset-chk.S: Likewise.
507         * sysdeps/x86_64/strcpy-chk.S: Likewise.
508         * sysdeps/x86_64/stpcpy-chk.S: Likewise.
509         * argp/argp-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing.
510         * argp/argp-fs-xinl.c (__OPTIMIZE__): Likewise.
511         * debug/tst-chk1.c: New test.
512         * debug/tst-chk2.c: Likewise.
513         * debug/tst-chk3.c: Likewise.
514         * debug/test-strcpy_chk.c: Likewise.
515         * debug/test-stpcpy_chk.c: Likewise.
516         * debug/vsprintf_chk.c (__vsprintf_chk): If flags > 0, request
517         _IO_FLAGS2_CHECK_PERCENT_N.  Add libc_hidden_def.
518         * debug/Makefile (routines): Add printf_chk, fprintf_chk, vprintf_chk,
519         vfprintf_chk, gets_chk and readonly-area.
520         (CFLAGS-*_chk.c): Set.
521         (tests): Add tst-chk1, tst-chk2, tst-chk3, test-strcpy_chk and
522         test-stpcpy_chk.
523         * debug/vprintf_chk.c: New file.
524         * debug/printf_chk.c: Likewise.
525         * debug/vfprintf_chk.c: Likewise.
526         * debug/fprintf_chk.c: Likewise.
527         * debug/gets_chk.c: Likewise.
528         * debug/chk_fail.c (__chk_fail): Add libc_hidden_def.
529         * debug/snprintf_chk.c (__snprintf_chk): Fix order of arguments
530         passed to __vsnprintf_chk.
531         * debug/Versions (libc): Export __printf_chk, __fprintf_chk,
532         __vprintf_chk, __vfprintf_chk and __gets_chk @GLIBC_2.3.4.
533         * debug/vsnprintf_chk.c (__vsnprintf_chk): Don't call
534         __vsnprintf, instead create a temporary file with
535         _IO_strn_jumps jumptable.  If flags > 0, request
536         _IO_FLAGS2_CHECK_PERCENT_N.  Add libc_hidden_def.
537         * libio/Makefile (headers): Add bits/stdio2.h.
538         * libio/stdio.h: Include <bits/stdio2.h> if __USE_FORTIFY_LEVEL.
539         (sprintf, snprintf, vsprintf, vsnprintf): Remove defines.
540         * libio/strfile.h (_IO_strnfile): New type.
541         (_IO_strn_jumps): New extern.
542         * libio/vsnprintf.c (_IO_strnfile): Remove.
543         (_IO_strn_jumps): Remove static.
544         * libio/bits/stdio2.h: New file.
545         * libio/vswprintf.c (_IO_strnfile): Rename type to...
546         (_IO_wstrnfile): ...this.  Adjust all uses.
547         * libio/libio.h (_IO_FLAGS2_CHECK_PERCENT_N): Define.
548         * stdio-common/vfprintf.c (STR_LEN): Define.
549         (vfprintf): Add readonly_format variable.
550         Handle _IO_FLAGS2_CHECK_PERCENT_N.
551         (buffered_vfprintf): Copy _flags2.
552         * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk,
553         __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk,
554         __vfprintf_chk): New prototypes.
555         (__vsprintf_chk, __vsnprintf_chk): Add libc_hidden_proto.
556         * include/string.h (__memcpy_chk, __memmove_chk, __mempcpy_chk,
557         __memset_chk, __strcpy_chk, __stpcpy_chk, __strncpy_chk, __strcat_chk,
558         __strncat_chk): New prototypes.
559         * include/bits/string3.h: New file.
560         * include/sys/cdefs.h (__chk_fail): Add libc_hidden_proto
561         and rtld_hidden_proto.
562         * string/Makefile (headers): Add bits/string3.h.
563         * string/bits/string3.h (bcopy, bzero): New defines.
564         (memset, memcpy, memmove, strcpy, strncpy, strcat, strncat): Change
565         macros so that inlines are used only if unknown destination size
566         or side-effects in destination argument.
567         (mempcpy, stpcpy): Likewise.  Protect with #ifdef __USE_GNU.
569 2004-09-16  Ulrich Drepper  <drepper@redhat.com>
571         * debug/Makefile (routines): Add *_chk.
572         * debug/Versions (libc): Export __chk_fail, __memcpy_chk,
573         __memmove_chk, __mempcpy_chk, __memset_chk, __stpcpy_chk,
574         __strcat_chk, __strcpy_chk, __strncat_chk, __strncpy_chk,
575         __sprintf_chk, __vsprintf_chk, __snprintf_chk, __vsnprintf_chk
576         @GLIBC_2.3.4.
577         * debug/chk_fail.c: New file.
578         * debug/snprintf_chk.c: Likewise.
579         * debug/sprintf_chk.c: Likewise.
580         * debug/vsnprintf_chk.c: Likewise.
581         * debug/vsprintf_chk.c: Likewise.
582         * include/features.h (_FORTIFY_SOURCE): Document, handle.
583         (__USE_FORTIFY_LEVEL): Define.
584         (__GNUC_PREREQ): Move to earlier location.
585         * include/sys/cdefs.h (__chk_fail): New prototype.
586         * libio/bits/stdio.h (sprintf, vsprintf, snprintf, vsnprintf):
587         Define if __USE_FORTIFY_LEVEL.
588         * misc/sys/cdefs.h (__bos, __bos0): Define.
589         * string/string.h: Include <bits/string3.h> if __USE_FORTIFY_LEVEL.
590         * bits/string/string3.h: New header.
591         * sysdeps/generic/memcpy_chk.c: New file.
592         * sysdeps/generic/memmove_chk.c: Likewise.
593         * sysdeps/generic/mempcpy_chk.c: Likewise.
594         * sysdeps/generic/memset_chk.c: Likewise.
595         * sysdeps/generic/stpcpy_chk.c: Likewise.
596         * sysdeps/generic/strcat_chk.c: Likewise.
597         * sysdeps/generic/strcpy_chk.c: Likewise.
598         * sysdeps/generic/strncat_chk.c: Likewise.
599         * sysdeps/generic/strncpy_chk.c: Likewise.
601 2004-10-17  Roland McGrath  <roland@frob.com>
603         * manual/memory.texi (Page Lock Functions): Typo fix.
604         Reported by Carlos Maziero <maziero@ppgia.pucpr.br>
606 2004-10-16  Alfred M. Szmidt  <ams@kemisten.nu>
608         * sysdeps/mach/hurd/Makefile (link-libc-static): Use
609         `$(static-gnulib') instead of `$(gnulib)'.
611 2004-10-17  Ulrich Drepper  <drepper@redhat.com>
613         * sunrpc/rpc_clntout.c: Avoid including rcsid into binary.
614         * sunrpc/rpc_cout.c: Likewise.
615         * sunrpc/rpc_hout.c: Likewise.
616         * sunrpc/rpc_main.c: Likewise.
617         * sunrpc/rpc_parse.c: Likewise.
618         * sunrpc/rpc_sample.c: Likewise.
619         * sunrpc/rpc_scan.c: Likewise.
620         * sunrpc/rpc_svcout.c: Likewise.
621         * sunrpc/rpc_tblout.c: Likewise.
622         * sunrpc/rpc_util.c: Likewise.
624 2004-10-15  Jakub Jelinek  <jakub@redhat.com>
626         * sysdeps/unix/sysv/linux/i386/sysdep.h (PUSHARGS_6, DOARGS_6,
627         POPARGS_6, _PUSHARGS_6, _DOARGS_6, _POPARGS_6): Define.
628         * sysdeps/unix/sysv/linux/i386/syscall.S (syscall): Handle 6 argument
629         syscalls.
631 2004-10-15  Ulrich Drepper  <drepper@redhat.com>
633         * nscd/nscd.h (_PATH_NSCD_PASSWD_DB): Move to /var/db.
634         (_PATH_NSCD_GROUP_DB): Likewise.
635         (_PATH_NSCD_HOSTS_DB): Likewise.
636         (_PATH_NSCD_XYZ_DB_TMP): New #define, point to /var/run.
637         * nscd/connections.c (nscd_init): Non-persistent database files
638         are created with the _PATH_NSCD_XYZ_DB_TMP path.
639         * nscd/nscd.init: Create /var/db/nscd if necessary.
641 2004-10-15  Richard Henderson  <rth@redhat.com>
643         * sysdeps/unix/sysv/linux/alpha/register-dump.h: New file.
644         * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h (SIGCONTEXT): Add
645         _code argument, pass sigcontext by pointer.
646         (SIGCONTEXT_EXTRA_ARGS): Likewise.
647         (GET_PC, GET_FRAME, GET_STACK): Expect ctx as pointer.
649 2004-10-14  Richard Henderson  <rth@redhat.com>
651         * sysdeps/alpha/dl-machine.h (elf_machine_rela,
652         elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto
653         instead of static.
655         * sysdeps/unix/sysv/linux/adjtime.c (ADJTIME): Use prototype
656         style definition.
657         * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): If
658         __ASSUME_TIMEVAL64, define __adjtime directly rather than
659         via strong_alias.
661 2004-10-14  Ulrich Drepper  <drepper@redhat.com>
663         * nscd/Makefile: When using compilers without -fpie support, also
664         link with -lselinux if necessary.
665         Patch by Arkadiusz Miskiewicz <arekm@pld-linux.org>.
667         * nscd/connections.c (nscd_init): Remove file if not persistent
668         and not shared.  Patch by Jerome Borsboom <j.borsboom@erasmusmc.nl>.
670 2004-10-14  Jakub Jelinek  <jakub@redhat.com>
672         * sysdeps/unix/sysv/linux/i386/setresuid.c: Handle
673         defined __NR_setresuid32 && !defined __NR_setresuid.
674         * sysdeps/unix/sysv/linux/i386/setresgid.c: Handle
675         defined __NR_setresgid32 && !defined __NR_setresgid.
677         * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit,
678         __signbitl, sqrtf, sqrt, sqrtl, fdim, fdimf): Use __NTH macro.
680         * sysdeps/generic/errno-loc.c: Don't undef #errno
681         if RTLD_PRIVATE_ERRNO.
682         * include/errno.h (__errno_location): If RTLD_PRIVATE_ERRNO,
683         add attribute_hidden.
685         * dlfcn/dlinfo.c (dlinfo_doit): Replace iteration over GL(dl_loaded)
686         chain with iteration over all namespaces' _ns_loaded chains.
687         * sysdeps/powerpc/powerpc32/dl-machine.c (__elf_preferred_address):
688         Likewise.
689         * sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise.
691         * elf/rtld.c (_dl_start): Fix one last dl_loaded.
692         * elf/dl-load.c (_dl_map_object_from_fd): Avoid definition of
693         label when it is not needed.
694         * elf/dl-close.c (_dl_close): Typo: & -> &&.
696 2004-10-12  Jakub Jelinek  <jakub@redhat.com>
698         * sysdeps/generic/segfault.c: Include alloca.h and stdint.h.
699         Don't include frame.h.
700         (CURRENT_STACK_FRAME, INNER_THAN, ADVANCE_STACK_FRAME): Remove.
701         (catch_segfault): Use backtrace function.
703         * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Fix comment.
704         * sysdeps/unix/sysv/linux/ia64/register-dump.h: New file.
705         * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h (GET_PC): Return sc_ip
706         field.
708 2004-10-13  Ulrich Drepper  <drepper@redhat.com>
710         Add support for namespaces in the dynamic linker.
711         * dlfcn/Makefile (libdl-routines): Add dlmopen.
712         * dlfcn/Versions [libdl, GLIBC_2.3.4]: Add dlmopen.
713         * dlfcn/dlfcn.h: Define Lmid_t, LM_ID_BASE, and LM_ID_NEWLM.
714         Declare dlmopen.  Document RTLD_DI_LMID.
715         * dlfcn/dlinfo.c: Handle RTLD_DI_LMID.
716         * dlfcn/dlmopen.c: New file.
717         * dlfcn/dlopen.c: Pass new parameter to _dl_open.
718         * dlfcn/dlopenold.c: Likewise.
719         * elf/dl-addr.c: Adjust for removal of GL(dl_loaded).
720         * elf/dl-caller.c: Likewise.
721         * elf/dl-close.c: Likewise.
722         * elf/dl-conflict.c: Likewise.
723         * elf/dl-debug.c: Likewise.
724         * elf/dl-lookup.c: Likewise.
725         * elf/dl-sym.c: Likewise.
726         * elf/dl-version.c: Likewise.
727         * elf/do-lookup.h: Likewise.
728         * elf/rtld.c: Likewise.
729         * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
730         * elf/dl-depsc: Likewise.  Add new parameter to _dl_map_object.
731         * elf/dl-fini.c: Call destructors in all namespaces.
732         * elf/dl-iteratephdr.c: Compute total nloaded.  Adjust for removal of
733         GL(dl_loaded).
734         * elf/dl-libc.c: Pass new parameter to _dl_open.  Adjust for removal
735         of GL(dl_loaded).
736         * elf/dl-load.c (_dl_map_object_from_fd): Don't load ld.so a second
737         time.  Reuse the one from the main namespace in all others.
738         Pass new parameter to _dl_new_object.
739         Adjust for removal of GL(dl_loaded).
740         * elf/dl-object.c: Take new parameter.  Use it to initialize l_ns.
741         Adjust for removal of GL(dl_loaded).
742         * elf/dl-open.c (_dl_open): Take new parameter.
743         Adjust for removal of GL(dl_loaded).
744         * elf/dl-support.c: Replace global _dl_loaded etc variables with
745         _dl_ns variable.
746         * include/dlfcn.h: Adjust prototype of _dl_open.
747         Define __LM_ID_CALLER.
748         * include/link.h: Add l_real, l_ns, and l_direct_opencount elements.
749         * sysdeps/generic/dl-tls.c: Bump TLS_STATIC_SURPLUS.  Since libc is
750         using TLS we need memory appropriate to the number of namespaces.
751         * sysdeps/generic/ldsodefs.h (struct rtld_global): Replace _dl_loaded,
752         _dl_nloaded, _dl_global_scope, _dl_main_searchlist, and
753         _dl_global_scope_alloc with _dl_ns element.  Define DL_NNS.
754         Adjust prototypes of _dl_map_object and member in rtld_global_ro.
755         * malloc/malloc.c: Include <dlfcn.h>.
756         * malloc/arena.c (ptmalloc_init): If libc is not in primary namespace,
757         never use brk.
758         * elf/Makefile: Add rules to build and run tst-dlmopen1 and
759         tst-dlmopen2.
760         * elf/tst-dlmopen1.c: New file.
761         * elf/tst-dlmopen1mod.c: New file.
762         * elf/tst-dlmopen2.c: New file.
764         * elf/dl-close.c: Improve reference counting by tracking direct loads.
765         * elf/dl-lookup.c (add_dependency): Likewise.
766         * elf/dl-open.c (dl_open_worker): Likewise.
767         * elf/rtld.c (dl_main): Likewise.
769 2004-09-09  GOTO Masanori  <gotom@debian.or.jp>
771         [BZ #77]
772         * elf/dl-close.c: Count down l_opencount to check not only for
773         l_reldeps, but also l_initfini.
775 2004-10-13  Ulrich Drepper  <drepper@redhat.com>
777         * elf/dl-close.c (_dl_close): Update bug reporting instructions.
779 2004-10-11  Ulrich Drepper  <drepper@redhat.com>
781         * timezone/asia: Update from tzdata2004e.
782         * timezone/southamerica: Likewise.
783         * timezone/private.h: Update from tzcode2004e.
784         * timezone/zdump.c: Likewise.
786         * stdio-common/vfscanf.c: Add support for reading localized
787         digits.  Patch mainly by Hamed Malek <hamed@bamdad.org>.
789         * resolv/res_init.c (res_thread_freeres): Reset _res.options.
790         [BZ #434]
792         * resolv/res_send.c (send_dg): Use nonblocking sockets.  Add
793         appropriate poll/select calls and restart operation if necessary.
794         Also handle EINTR.
796         * elf/tst-dlopenrpath.c (do_test): Enable code which was disabled
797         for debugging.
799         * elf/dl-sym.c (do_sym): Avoid using global variable.
801         * elf/dl-addr.c (_dl_addr): Really use match everywhere.
803 2004-10-09  Andreas Schwab  <schwab@suse.de>
805         * sysdeps/m68k/memcopy.h (WORD_COPY_BWD): Remove use of cast as
806         lvalue.
808         * sysdeps/m68k/fpu/bits/mathinline.h: Remove __THROW from inline
809         definitions.
811 2004-10-07  Andreas Schwab  <schwab@suse.de>
813         * misc/sys/uio.h: Change __vector to __iovec to avoid clash with
814         altivec.
816 2004-10-06  Alan Modra  <amodra@bigpond.net.au>
818         * gmon/Makefile (CFLAGS-mcount.c): Move before inclusion of "Rules".
819         * sysdeps/powerpc/powerpc64/Makefile (CFLAGS-mcount.c): Add
820         -msoft-float.
821         * sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): New macros.
822         (CALL_MCOUNT): Replace with a gas macro implementation.
823         (EALIGN): Delete PROF version.
824         * sysdeps/powerpc/powerpc64/__longjmp-common.S: Invoke CALL_MCOUNT.
825         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Likewise.
826         * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise.
827         * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
828         * sysdeps/powerpc/powerpc64/memcpy.S: Likewise.
829         * sysdeps/powerpc/powerpc64/memset.S: Likewise.
830         * sysdeps/powerpc/powerpc64/stpcpy.S: Likewise.
831         * sysdeps/powerpc/powerpc64/strchr.S: Likewise.
832         * sysdeps/powerpc/powerpc64/strcmp.S: Likewise.
833         * sysdeps/powerpc/powerpc64/strcpy.S: Likewise.
834         * sysdeps/powerpc/powerpc64/strlen.S: Likewise.
835         * sysdeps/powerpc/powerpc64/strncmp.S: Likewise.
836         * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Likewise.
837         * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Likewise.
838         * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise.
839         * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Likewise.
840         * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Likewise.
841         * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Likewise.
842         * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise.
843         * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Likewise.
844         * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Likewise.
845         * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Likewise.
846         * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Likewise.
847         * sysdeps/powerpc/powerpc64/fpu/s_round.S: Likewise.
848         * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise.
849         * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Likewise.
850         * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise.
852         * sysdeps/powerpc/powerpc64/setjmp-common.S: Add extra entry point
853         past _mcount call.
854         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Use it.
855         * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise.
857 2004-10-06  Ulrich Drepper  <drepper@redhat.com>
859         * resolv/res_mkquery.c (res_nmkquery): Reject randombits value if
860         low 16 bits are zero.
862 2004-10-06  Jakub Jelinek  <jakub@redhat.com>
864         * posix/tst-getaddrinfo2.c: Include stdlib.h and string.h.
865         (do_test): Use %p instead of 0x%08X to print a pointer.
867         * malloc/malloc.c: Include stdio-common/_itoa.h.
869 2004-10-05  Ulrich Drepper  <drepper@redhat.com>
871         * elf/rtld.c (dl_main): Use _dl_debug_printf instead of _dl_printf
872         for prelink message.
874 2004-10-05  Jakub Jelinek  <jakub@redhat.com>
876         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Include dl-sysdep.h.
877         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
879 2004-10-05  Ulrich Drepper  <drepper@redhat.com>
881         * grp/initgroups.c: Remove duplicate group IDs.
882         * grp/compat-initgroups.c: Likewise.
883         * nscd/initgrcache.c: Likewise.
885 2004-10-05  Jakub Jelinek  <jakub@redhat.com>
887         * sysdeps/unix/sysv/linux/x86_64/sysconf.c (__sysconf): Return 200112L
888         for _SC_CPUTIME or _SC_THREAD_CPUTIME.
890         * nscd/Makefile (nscd-cflags): Set to -DIS_IN_nscd=1, plus
891         -fpie if building PIE.
892         (CFLAGS-*.c): Use it.
894         * nscd/Makefile (relro-LDFLAGS): Add -Wl,-z,now if have-z-relro.
895         ($(objpfx)nscd): Add $(relro-LDFLAGS).
897         * sysdeps/unix/sysv/linux/i386/sysconf.c: Include hp-timing.h.
898         (__sysconf): Return -1 for _SC_CPUTIME or _SC_THREAD_CPUTIME if
899         !HP_TIMING_AVAIL.
901 2004-10-05  Ulrich Drepper  <drepper@redhat.com>
903         * nscd/Makefile (distribute): Remove TODO.
904         * nscd/TODO: Removed.
906 2004-10-04  Ulrich Drepper  <drepper@redhat.com>
908         * nscd/gai.c: Define __no_netlink_support if NEED_NETLINK is
909         defined and __ASSUME_NETLINK_SUPPORT is zero.
910         * sysdeps/unix/sysv/linux/Makefile (CFLAGS-gai.c): Add
911         -DNEED_NETLINK.
913         * malloc/mtrace.pl: Avoid calling location unless it is needed for
914         output.  Patch by Edward Bishop <binutils@gmail.com>.
916         * nscd/Makefile (CFLAGS-gai.c): Add -fpie.
918 2004-10-04  H.J. Lu  <hongjiu.lu@intel.com>
920         * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
921         (clock_getcpuclockid): Add missing retval.
923         * sysdeps/unix/sysv/linux/ia64/sysconf.c (linux_sysconf): Fix a typo.
925 2004-10-04  Roland McGrath  <roland@redhat.com>
927         * include/errno.h [RTLD_PRIVATE_ERRNO] (errno): Rename the real symbol
928         to rtld_errno.
929         * sysdeps/generic/errno.c [RTLD_PRIVATE_ERRNO] (rtld_errno): Define it,
930         and don't define any other errno names.
931         * sysdeps/unix/alpha/sysdep.h [RTLD_PRIVATE_ERRNO]: Use rtld_errno in
932         place of errno.
933         * sysdeps/unix/i386/sysdep.S: Likewise.
934         * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
935         * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
936         * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
937         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
938         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
939         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
940         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
941         * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
942         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
943         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
944         * sysdeps/unix/x86_64/sysdep.S: Likewise.
946         * sysdeps/generic/errno.c [! USE___THREAD] (errno): Use `nocommon'
947         attribute instead of `section'.
949 2004-10-04  Ulrich Drepper  <drepper@redhat.com>
951         * sysdeps/unix/sysv/linux/ia64/sysconf.c: New file.
952         * sysdeps/unix/sysv/linux/ia64/Dist: Add has_cpuclock.c.
953         * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: Move actual
954         testing code to...
955         * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c: ...here.  New file.
956         * sysdeps/unix/sysv/linux/i386/sysconf.c: Add dynamic check for
957         _SC_CPUTIME and _SC_THREAD_CPUTIME.
959         * nscd/connections.c (start_threads): Use sysconf in case
960         _POSIX_CLOCK_SELECTION or _POSIX_MONOTONIC_CLOCK is not greater zero.
962         * nscd/Makefile (nscd-modules): Add gai.
963         * nscd/gai.c: New file.
964         * nscd/nscd.c: Remove getaddrinfo stub definition.
966         * assert/assert.h: Give up on using __builtin_expect.
968         * elf/rtld.c (dl_main): Only skip => output in ldd mode if both
969         strings are identical.
971 2004-03-18  Jakub Jelinek  <jakub@redhat.com>
973         * malloc/arena.c (aligned_heap_area): New variable.
974         (new_heap): If aligned_heap_area != NULL, attempt to use that
975         first.  If HEAP_MAX_SIZE << 1 area is already HEAP_MAX_SIZE bytes
976         aligned, remember the second half in aligned_heap_area.
977         (delete_heap): Clear aligned_heap_area if deleting the area right
978         before aligned_heap_area.
980 2004-10-03  Juerg Billeter  <j@bitron.ch>
982         * nscd/nscd_initgroups.c (__nscd_getgrouplist): Return -1 if nscd
983         can't be used.  [BZ #424]
985 2004-10-03  Ulrich Drepper  <drepper@redhat.com>
987         Dynamically create new threads if necessary.
988         * nscd/connections.c (fd_ready): If no thread available for processing
989         the request, create a new one unless the limit is reached.
990         (start_threads): Check errors from pthread_create.
991         * nscd/nscd.h: Declare max_nthreads.
992         * nscd/nscd_conf.c: Parse max-nthreads entry.
993         * nscd/nscd.conf: Add max-threads entry.
994         * nscd/nscd_stat.c: Print current and maximum number of threads.
996         Implement paranoia mode.
997         * nscd/connections.c (nscd_init): Mark database and socket descriptors
998         as close on exec.
999         (restart): New function.
1000         (restart_p): New function.
1001         (nscd_run): Add missing descrement of nready in case readylist is
1002         empty.
1003         (main_loop_poll): Call restart_p and restart.
1004         (main_loop_epoll): Likewise.
1005         (begin_drop_privileges): Save original UID and GID.
1006         * nscd/nscd.c: Define new variables paranoia, restart_time,
1007         restart_interval, oldcwd, old_gid, old_uid.
1008         (main): Disable paranoia mode if we are not forking.
1009         (check_pid): When re-execing, the PID file contains the same PID as
1010         the current process.  Do not fail in this case.
1011         * nscd/nscd.conf: Add paranoia and restart-interval entries.
1012         * nscd/nscd.h: Define RESTART_INTERVAL.  Declare new variables.
1013         * nscd/nscd_conf.c: Parse paranoia and restart-internal configurations.
1014         * nscd/nscd_stat.c: Print paranoia and restart-internal values.
1016         * nscd/connections.c: Implement alternative loop for main thread
1017         which uses epoll.
1018         * sysdeps/unix/sysv/linux/Makefile [subdir=nscd]
1019         (CFLAGS-connections.c): Add -DHAVE_EPOLL.
1021 2004-10-02  Ulrich Drepper  <drepper@redhat.com>
1023         * nscd/Makefile (CFLAGS-initgrcache.c): Add to CFLAGS-* variables,
1024         don't replace old content.
1026         * nscd/connections.c: Rewrite handling of incoming connections.  All
1027         are handled by one thread which then hands off the descriptors for the
1028         real work to the worker threads.
1029         * nscd/Makefile: Link nscd with librt.
1031         * nscd/selinux.c: Pretty printing.
1033         * nscd/dbg_log.c (dbg_log): Don't add unnecessary newline to
1034         output.  Let syslog do the formatting if debug_level == 0.
1036         * nscd/nscd_helper.c (get_mapping): No need to check timestamp if
1037         nscd_certainly_running is nonzero.
1039 2004-10-02  Simon Josefsson  <jas@extundo.com>
1041         [BZ #420]
1042         * sysdeps/generic/memmem.c [!_LIBC]: Define __builtin_expect, to
1043         make the file usable inside gnulib.
1045 2004-10-01  Ulrich Drepper  <drepper@redhat.com>
1047         * malloc/malloc.c (public_vALLOc): Add missing use of hooks.
1048         (public_pVALLOc): Likewise.
1050         * nscd/nscd_initgroups.c (__nscd_getgrouplist): Always add the
1051         group the caller provided unless there is a real problem.
1053         * posix/bug-glob1.c (prepare): Fix creation of symlink.
1055 2004-09-30  Ulrich Drepper  <drepper@redhat.com>
1057         * posix/Makefile: Add rules to build and run bug-glob1.
1058         * posix/bug-glob1.c: New file.
1060         * iconv/iconv_prog.c (main): Print progress information to stderr.
1062         * nscd/nscd.c (termination_handler): Reset timestamp so that
1063         clients immediately stop using the database.
1065         * nscd/nscd-client.h (__nscd_get_map_ref): Drop volatile from last
1066         parameter.
1067         (__nscd_drop_map_ref): Change second parameter to be a reference to
1068         a variable.  Update variable when cycle count changed.
1069         * nscd/nscd_helper.c (__nscd_get_map_ref): Remove volatile here, too.
1070         * nscd/nscd_getai.c: Correctly use __nscd_drop_map_ref.  Reinitialize
1071         all variables and avoid memory leak in case of retries.
1072         * nscd/nscd_getgr_r.c: Likewise.
1073         * nscd/nscd_gethst_r.c: Likewise.
1074         * nscd/nscd_getpw_r.c: Likewise.
1075         * nscd/nscd_initgroups.c: Likewise.
1077         * nscd/nscd.h: Add declaration of addinitgroups and
1078         readdinitgroups.
1080 2004-09-30  Andreas Jaeger  <aj@suse.de>
1082         * nscd/Makefile (CFLAGS-nscd_initgroups.c): Set to -fpie.
1083         (CFLAGS-initgrcache.c): Set to -fexceptions.
1085 2004-09-29  Ulrich Drepper  <drepper@redhat.com>
1087         * sysdeps/generic/glob.c (glob_in_dir): Don't blindly trust
1088         readdir results; for symlinks or files of unknown type check using
1089         stat whether the file exists.
1091         * posix/tst-gnuglob.c (find_file): Handle leading "./".  Fix
1092         recognition of files.
1094 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
1096         * time/tzfile.c (tzfile_mtime): New variable.
1097         (__tzfile_read): Reread the file if mtime is different.
1099 2004-09-28  Jakub Jelinek  <jakub@redhat.com>
1101         * sysdeps/alpha/fpu/bits/mathinline.h (__fdimf, __fdim, fdimf, fdim):
1102         Handle +inf/+inf.
1103         * sysdeps/powerpc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.
1104         * sysdeps/sparc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.
1106 2004-09-29  Ulrich Drepper  <drepper@redhat.com>
1108         * nscd/nscd_gethst_r.c (nscd_gethst_r): Use correct constant for
1109         testing result of __nscd_get_map_ref.
1111 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
1113         * sysdeps/i386/fpu/s_fdim.S (__fdim): Handle +inf/+inf.
1114         * sysdeps/i386/fpu/s_fdimf.S (__fdimf): Likewise.
1115         * sysdeps/i386/fpu/s_fdiml.S (__fdiml): Likewise.
1117 004-09-29  Ulrich Drepper  <drepper@redhat.com>
1119         * grp/initgroups.c: Move compat_call implementation...
1120         * grp/compat-initgroups.c: ...to here.  New file.
1121         * grp/Makefile (distribute): Add compat-initgroups.c.
1122         (CFLAGS-initgroups.c): Add -DUSE_NSCD=1.
1123         * mscd/initgrcache.c: New file.
1124         * nscd/nscd_initgroups.c: New file.
1125         * nscd/Makefile (routines): Add nscd_initgroups.
1126         (nscd-modules): Add initgrcache.
1127         * nscd/cache.c (prune_cache): Add support for INITGROUPS entries.
1128         * nscd/connections.c: Handle INITGROUPS requests.
1129         * nscd/nscd-client.h: Define INITGROUPS, initgr_response_header.
1130         Add initgrdata element to struct datahead.  Fix typo in comment.
1131         * nscd/nscd_proto.h: Declare __nscd_getgrouplist.  Fix parameter
1132         type in __nscd_getgrgrid_r.
1133         * nscd/selinux.c (perms): Add INITGROUPS entry.
1135         * nscd/nscd_getai.c: No need to include <sys/mman.h>.
1137         * sunrpc/get_myaddr.c (get_myaddress): Account for interfaces without
1138         assigned addresses.
1139         * sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
1140         * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
1141         * sunrpc/clnt_udp.c (is_network_up): Likewise.
1143         * nscd/nscd.c: Define getaddrinfo hidden so that it is never found
1144         outside.
1146         * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_segvflags):
1147         Renamed from si_flags due to conflict with si_flags from <elf.h>.
1149 2004-09-28  Ulrich Drepper  <drepper@redhat.com>
1151         * nscd/nscd_getai.c: Use NO_MAPPING instead of MAP_FAILED for test
1152         of failing __nscd_get_map_ref.  Fix a few typos.
1154         * sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Make sure
1155         SIGSETXID is not blocked.
1156         * sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Likewise.
1157         * sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise.
1158         * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise.
1159         * sysdeps/generic/sigfillset.c (sigfillset): Don't set SIGSETXID.
1161         * sunrpc/get_myaddr.c (get_myaddress): Fix test for failing
1162         getifaddrs call.
1163         * sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
1164         * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
1165         * sunrpc/Makefile (xtests): Add tst-getmyaddr.
1166         * sunrpc/tst-getmyaddr.c: New file.
1168         * malloc/arena.c (ptmalloc_init): Allow MALLOC_CHECK_==0 to
1169         disable all checking.
1171         * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_flags): Add
1172         support to get this value.
1174 2004-09-28  Jakub Jelinek  <jakub@redhat.com>
1176         * io/utime.h (utime): Allow second argument to be NULL.
1178 2004-09-28  Ulrich Drepper  <drepper@redhat.com>
1180         * sysdeps/posix/getaddrinfo.c (gaih_inet): If NAME is a numerical IP
1181         address and AI_CANONNAME is set, return copy of NAME as ai_canonname.
1183 2004-09-27  Andreas Jaeger  <aj@suse.de>
1185         * sysdeps/i386/dl-machine.h (elf_machine_rela_relative): Replace
1186         static inline by auto inline, add always_inline attribute.
1187         (elf_machine_rel): Likewise.
1188         (elf_machine_rela): Likewise.
1189         (elf_machine_lazy_rel): Likewise.
1190         (elf_machine_lazy_rela): Likewise.
1191         (elf_machine_rel_relative): Likewise.
1193 2004-09-27  Ulrich Drepper  <drepper@redhat.com>
1195         * sunrpc/xdr_intXX_t.c: Add xdr_quad_t and xdr_u_quad_t aliases.
1196         * sunrpc/rpc/xdr.h: Declare xdr_quad_t and xdr_u_quad_t.
1197         * sunrpc/rpc_parse.c (get_type): Use "quad_t" for TOK_HYPER.
1198         Otherwise isvectordef will loop infinitely if typedef hyper int64_t
1199         is seen.
1200         (unsigned_dec): Use "u_quad_t" for similar reasons.
1201         * sunrpc/Versions: Export xdr_quad_t and xdr_u_quad_t.
1203 2004-09-27  Roland McGrath  <roland@redhat.com>
1205         * sysdeps/generic/bits/waitstatus.h (__WIFSIGNALED): Simplify bit
1206         twiddling in last change.
1208         * posix/tst-waitid.c (do_test): Add tests for waitpid with WCONTINUED.
1210         [BZ #409]
1211         * posix/sys/wait.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
1212         * stdlib/stdlib.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
1213         * sysdeps/generic/bits/waitstatus.h (__W_CONTINUED): New macro.
1214         [WCONTINUED] (__WIFCONTINUED): New macro.
1215         (__WIFSIGNALED): Rewritten to exclude __W_CONTINUED value, and have no
1216         branches.
1218         * sysdeps/unix/sysv/linux/waitid.c (do_waitid): Add fifth argument to
1219         all three syscall uses, not just one!
1221 2004-09-26  Richard Henderson  <rth@redhat.com>
1223         * sysdeps/alpha/alphaev6/memcpy.S: Mark .prologue.
1224         * sysdeps/unix/alpha/sysdep.h (LEAF, ENTRY): Align entry points
1225         to 16 byte boundaries.
1227 2004-09-26  Ulrich Drepper  <drepper@redhat.com>
1229         * elf/readlib.c (process_file): Before complaining about too-short
1230         file, check that it potentially be an ELF file.  Also complain about
1231         empty files.  [BZ #151].
1233         * scripts/test-installation.pl: Fix ld.so recognition for new
1234         LD_TRACE_LOADED_OBJECTS output format.
1235         Patch by <jsberg04+computing.glibc@ftml.net>  [BZ #407].
1237         * elf/dl-support.c (_dl_non_dynamic_init): Fix cleaning of
1238         environment.  [BZ #384]
1240         * sunrpc/clnt_udp.c (is_network_up): Use getifaddrs instead of ioctl.
1241         * sunrpc/get_myaddr.c (get_myaddress): Likewise.
1242         * sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
1243         * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.  Change interface
1244         to avoid buffer overrun and remove now useless parameters.
1245         (clnt_broadcast): Adjust caller.  [BZ #381].
1247         * sysdeps/generic/s_fdim.c: Handle +inf/+inf
1248         * sysdeps/generic/s_fdimf.c: Likewise.
1249         * sysdeps/generic/s_fdiml.c: Likewise.
1250         * sysdeps/i386/i686/fpu/s_fdim.S: Likewise.
1251         * sysdeps/i386/i686/fpu/s_fdimf.S: Likewise.
1252         * sysdeps/i386/i686/fpu/s_fdiml.S: Likewise.
1253         * sysdeps/powerpc/fpu/s_fdim.c: Likewise.
1254         * sysdeps/powerpc/fpu/s_fdimf.c: Likewise.
1255         * sysdeps/x86_64/fpu/s_fdiml.S: Likewise.
1256         * math/libm-test.inc (fdim_test): Add test case.  [BZ #376].
1258         * sysdeps/generic/bits/types.h: Fix __SQUAD_TYPE and __UQUAD_TYPE
1259         for compilers without __GLIBC_HAVE_LONG_LONG.  [BZ #362]
1261         * sysdeps/posix/getaddrinfo.c (getaddrinfo): Remove incorrect
1262         requirement on socktype and protocol.
1263         (gaih_inet): If numeric port number is given, return records for all
1264         possible socket types.
1265         * posix/tst-getaddrinfo2.c: New file.
1266         * posix/Makefile (tests): Add tst-getaddrinfo2.  [BZ #358]
1268 2004-09-25  Ulrich Drepper  <drepper@redhat.com>
1270         * locale/loadlocale.c (_nl_intern_locale_data): Recognize LC_CTYPE
1271         data where _nl_value_type_LC_CTYPE does not contain the type
1272         information.  Add range checks.
1273         Reported by John Lumby <johnlumby@hotmail.com> [BZ #356].
1275         * libio/vasprintf.c (_IO_vasprintf): Fix condition to decide
1276         whether to realloc or not.
1277         Reported by Pavel Kankovsky <peak@argo.troja.mff.cuni.cz> [BZ #346].
1279         * intl/dcigettext.c (DCIGETTEXT): Protect tfind/tsearch calls.
1280         * intl/dcigettext.c (_nl_find_msg): Call _nl_load_domain also if
1281         decided < 0.
1282         * intl/finddomain.c (_nl_find_domain): Likewise.
1283         * intl/loadmsgcat.c (_nl_load_domain): Set decided to 1 only once we
1284         are done.  First set to -1 to signal initialization is ongoing.
1285         Protect against concurrent callers with recursive lock.
1286         * intl/finddomain.c (_nl_find_domain): Protect calls to
1287         _nl_make_l10nflist.  [BZ #322]
1289         * sysdeps/posix/getaddrinfo.c (getaddrinfo): If determinination of
1290         source address fails, initialized source_addr_len field so that
1291         duplicate address recognition does not copy junk.
1293 2004-09-25  Jakub Jelinek  <jakub@redhat.com>
1295         * sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Remove second
1296         result declaration.
1298 2004-09-22  Andreas Schwab  <schwab@suse.de>
1300         * sysdeps/unix/sysv/linux/ia64/sysdep.h: Adjust whitespace.
1302 2004-09-24  Ulrich Drepper  <drepper@redhat.com>
1304         * misc/daemon.c (daemon): Don't succeed if /dev/null cannot be
1305         opened.
1307         * nis/ypclnt.c (do_ypcall): Add one missing unlock.  Simplify the
1308         code a bit.
1310         * misc/daemon.c (daemon): Define errno in case /dev/null is not
1311         the correct device.
1313         * nis/ypclnt.c (yp_bind_file): Optimize a bit.  Minimal cleanups.
1315 2004-09-23  Andreas Jaeger  <aj@suse.de>
1317         * locale/weight.h (findidx): Remove static, it's not supported
1318         anymore with GCC 4.0 in a block scope.
1319         * locale/weightwc.h (findidx): Likewise.
1320         * posix/regcomp.c (seek_collating_symbol_entry): Likewise.
1321         (lookup_collation_sequence_value): Likewise.
1322         (build_range_exp): Likewise.
1323         (build_collating_symbol): Likewise.
1324         * iconv/iconvconfig.c (write_output): Likewise.
1325         * elf/do-rel.h (elf_dynamic_do_rel): Likewise.
1327         * sysdeps/x86_64/dl-machine.h (elf_machine_rela_relative): Remove
1328         static, add always_inline attribute.
1329         (elf_machine_rela): Likewise.
1330         (elf_machine_lazy_rel): Likewise.
1332         * elf/dynamic-link.h (elf_get_dynamic_info): Make static dependend
1333         on !RESOLVE so that it's not defined in local scope.
1335 2004-09-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1337         * sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL_NCS): Define.
1339 2004-09-23  Thorsten Kukuk  <kukuk@suse.de>
1341         * sysdeps/unix/sysv/linux/sys/mount.h: Sync MS_RMT_MASK flag
1342         and BLK* ioctls with linux kernel headers.
1344 2004-09-23  Ulrich Drepper  <drepper@redhat.com>
1346         * sysdeps/generic/bits/dlfcn.h: Add RTLD_DEEPBIND.
1347         * elf/dl-object.c (_dl_new_object): Add new parameter mode.  If mode
1348         has RTLD_DEEPBIND set add local searchlist before global scope.
1349         * sysdeps/generic/ldsodefs.h (_dl_new_object): Adjust prototype.
1350         * elf/rtld.c: Adjust callers of _dl_new_object.
1351         * elf/dl-load.c: Likewise.
1352         (_dl_map_object_from_fd): If RTLD_DEEPBIND is used, don't do anything
1353         for DF_SYMBOLIC.
1354         * elf/dl-open.c (dl_open_writer): Pass RTLD_DEEPBIND flag on to
1355         _dl_map_object_deps.
1356         * elf/tst-deep1.c: New file.
1357         * elf/tst-deep1mod1.c: New file.
1358         * elf/tst-deep1mod2.c: New file.
1359         * elf/tst-deep1mod3.c: New file.
1360         * elf/Makefile: Add rules to build and run new tests.
1362         * elf/dl-deps.c: Pretty printing.
1364 2004-09-23  Jakub Jelinek  <jakub@redhat.com>
1366         * sysdeps/unix/alpha/sysdep.h (inline_syscall[0-6]): Change name
1367         argument to numbers from syscall names.
1368         (INLINE_SYSCALL1): Pass __NR_##name to inline_syscall##nr.
1369         (INTERNAL_SYSCALL_NCS): Renamed from...
1370         (INTERNAL_SYSCALL_1): ... this.  Use INTERNAL_SYSCALL_NCS.
1371         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
1372         (INTERNAL_SYSCALL_NCS): Define.
1373         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
1374         (INTERNAL_SYSCALL_NCS): Likewise.
1375         * sysdeps/unix/sysv/linux/sparc/sysdep.h (inline_syscall[0-6]):
1376         Change name argument to numbers from syscall names.
1377         (INLINE_SYSCALL, INTERNAL_SYSCALL): Adjust.
1378         (INTERNAL_SYSCALL_NCS): Define.
1380 2004-09-22  Ulrich Drepper  <drepper@redhat.com>
1382         * malloc/malloc.c (malloc_printerr): Use syslog if writev failed.
1384         * string/string.h: Add __nonnull annotations.
1385         * stdlib/stdlib.h: Likewise.
1387 2004-09-20  Jakub Jelinek  <jakub@redhat.com>
1389         * sysdeps/unix/alpha/sysdep.h (inline_syscall[0-6]): Change name
1390         argument to numbers from syscall names.
1391         (INLINE_SYSCALL1): Pass __NR_##name to inline_syscall##nr.
1392         (INTERNAL_SYSCALL_NCS): Renamed from...
1393         (INTERNAL_SYSCALL_1): ... this.  Use INTERNAL_SYSCALL_NCS.
1394         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
1395         (INTERNAL_SYSCALL_NCS): Define.
1396         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
1397         (INTERNAL_SYSCALL_NCS): Likewise.
1398         * sysdeps/unix/sysv/linux/sparc/sysdep.h (inline_syscall[0-6]):
1399         Change name argument to numbers from syscall names.
1400         (INLINE_SYSCALL, INTERNAL_SYSCALL): Adjust.
1401         (INTERNAL_SYSCALL_NCS): Define.
1403 2004-09-20  H.J. Lu  <hongjiu.lu@intel.com>
1405         * sysdeps/unix/sysv/linux/ia64/sysdep.h (DO_INLINE_SYSCALL):
1406         Renamed to ...
1407         (DO_INLINE_SYSCALL_NCS): This.
1408         (DO_INLINE_SYSCALL): New.
1409         (INLINE_SYSCALL): Updated.
1410         (INTERNAL_SYSCALL_NCS): Updated.
1412 2004-09-21  Ulrich Drepper  <drepper@redhat.com>
1414         * elf/sprof.c (load_shobj): Add support for reading symbol table
1415         from debuginfo file.
1417         * elf/ldd.bash.in: Fix syntax errors.
1419 2004-09-20  Ulrich Drepper  <drepper@redhat.com>
1421         * sysdeps/unix/sysv/linux/dl-execstack.c
1422         (_dl_make_stack_executable): Remove some duplication.
1424         * nscd/nscd.c (options): Mark S option as hidden.
1425         (parse_opt): When S option is used, print warning message.
1426         * nscd/grpcache.c (adgrptbyX): Don't handle secure mode.
1427         * nscd/hstcache.c (addhstbyX): Don't handle secure mode.
1428         * nscd/aicache.c (addhstaiX): Don't handle secure mode.
1429         * nscd/pwdcache.c (addpwbyX): Don't handle secure mode.
1431 2004-09-20  Roland McGrath  <roland@frob.com>
1433         * elf/dl-load.c (__stack_prot): Only use PROT_GROWSUP/PROT_GROWSDOWN
1434         in initializer #if defined.
1436 2004-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1438         [BZ #391]
1439         * stdlib/getsubopt.c: Merge fixes from gnulib.
1440         (__strchrnul) [!_LIBC]: Define and include "strchrnul.c".
1441         (getsubopt): Use prototypes, not K&R style.
1442         Fix bug: memcmp(A,B,N) was being invoked on a memory block B
1443         whose size might be smaller than N.  Use strncmp to avoid the bug.
1445 2004-09-20  Ulrich Drepper  <drepper@redhat.com>
1447         * configure.in: If selinux has not explictly been requested, don't
1448         comment on it missing.
1450         * elf/dl-load.c: Define __stack_prot.
1451         * sysdeps/unix/sysv/linux/dl-execstack.c: Don't define
1452         __stack_prot here, just declare it.
1454 2004-09-20  Jakub Jelinek  <jakub@redhat.com>
1456         * configure.in (libc_cv_z_relro): Only set to yes if linker script
1457         contains DATA_SEGMENT_RELRO_END.
1459 2004-09-20  Ulrich Drepper  <drepper@redhat.com>
1461         * elf/dl-load.c (_dl_map_object_from_fd): Add some error checking.
1462         Reorder code slightly.
1463         * elf/rtld.c (dl_main): No need to check whether l_info[DT_HASH]
1464         is non-null, _dl_setup_hash will do that.
1466 2004-09-19  Ulrich Drepper  <drepper@redhat.com>
1468         * sysdeps/unix/sysv/linux/setegid.c [HAVE_PTR__NPTL_SETXID]: Call
1469         callback to set IDs in all other threads as well.
1470         * sysdeps/unix/sysv/linux/seteuid.c: Likewise.
1471         * sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
1472         * sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
1473         * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
1474         * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
1475         * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
1476         * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
1477         * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
1478         * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
1479         * sysdeps/unix/sysv/linux/setuid.c: New file.
1480         * sysdeps/unix/sysv/linux/setgid.c: New file.
1481         * sysdeps/unix/sysv/linux/setreuid.c: New file.
1482         * sysdeps/unix/sysv/linux/setregid.c: New file.
1483         * sysdeps/unix/sysv/linux/setresuid.c: New file.
1484         * sysdeps/unix/sysv/linux/setresgid.c: New file.
1485         * sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NCS.
1486         * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
1487         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
1488         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
1489         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
1490         * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: Use x86 version.
1491         * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: Likewise.
1492         * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: New file.
1493         * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: New file.
1494         * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove setresgid
1495         and setresuid.
1496         * nscd/aicache.c: Use pthread_seteuid_np instead of seteuid.
1497         * nscd/grpcache.c: Likewise.
1498         * nscd/hstcache.c: Likewise.
1499         * nscd/pwdcache.c: Likewise.
1501         * resolv/res_mkquery.c (res_nmkquery): Fix typo.
1503 2004-09-18  Ulrich Drepper  <drepper@redhat.com>
1505         * sysdeps/unisx/sysv/linux/dl-execstack.c: Get protection flag
1506         from memory.
1507         * elf/dl-load.c (_dl_map_object_from_fd): Add PROT_EXEC flag to
1508         __stack_flags.
1510         * sysdeps/posix/getaddrinfo.c (gaih_inet): Do not use
1511         gethostbyname3_r if we are not looking for the canonical name.
1513         * resolv/res_mkquery.c (res_nmkquery): Randomize request ID every
1514         time.
1516 2004-09-18  Roland McGrath  <roland@redhat.com>
1518         * sysdeps/unix/sysv/linux/waitid.c (do_waitid): Pass fifth argument to
1519         system call.
1521 2004-09-17  Ulrich Drepper  <drepper@redhat.com>
1523         * include/link.h (struct link_map): Add l_used element.
1524         * sysdeps/generic/ldsodefs.h: Define DL_DEBUG_UNUSED.
1525         * elf/rtld.c (process_dl_debug): Recognize unused.
1526         (dl_main): When unused debug flag is set check for unused direct
1527         dependencies.
1528         When printing dependencies and SONAME starts with /, omit the SONAME =>
1529         part.
1530         * elf/dl-lookup.c (_dl_lookup_symbol_x): Mark object in which the
1531         symbol has been found as used.
1532         * elf/ldd.bash.in: Add -u option.
1534 2004-09-18  Jakub Jelinek  <jakub@redhat.com>
1536         * sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread):
1537         Do nothing if __NR_set_tid_address is not defined.  [BZ #390]
1539 2004-09-17  Ulrich Drepper  <drepper@redhat.com>
1541         * sysdeps/posix/getaddrinfo.c: Use gethostbyname3_r NSS function
1542         in case it is available.
1544 2004-09-17  Jakub Jelinek  <jakub@redhat.com>
1546         * nscd/nscd.c (parse_opt): Write arg string instead of (void *)
1547         key to the socket.
1549 2004-09-17  Ulrich Drepper  <drepper@redhat.com>
1551         * misc/sys/cdefs.h: Define __nonnull using nonnull function attribute
1552         for gcc 3.3 and higher.
1553         * io/fcntl.h: Add __nonnull where appropriate.
1554         * io/ftw.h: Likewise.
1555         * io/utime.h: Likewise.
1556         * io/sys/poll.h: Likewise.
1557         * io/sys/sendfile.h: Likewise.
1558         * io/sys/stat.h: Likewise.
1559         * io/sys/statfs.h: Likewise.
1560         * io/sys/statvfs.h: Likewise.
1561         * posix/unistd.h: Likewise.
1562         * catgets/nl_types.h: Likewise.
1563         * crypt/crypt.h: Likewise.
1564         * debug/execinfo.h: Likewise.
1566 2004-09-16  Ulrich Drepper  <drepper@redhat.com>
1568         * posix/glob.h: Remove cruft to make header usable outside glibc.
1569         The maintenance headache is too big.
1571         * configure.in: Add test for required SELinux features.
1572         * config.make.in: Add have-selinux entry.
1573         * config.h.in: Add HAVE_SELINUX entry.
1574         * nscd/Makefile (nscd-modules): Add selinux.
1575         (CFLAGS-selinux.c): Add -fpie.
1576         Define selinux-LIBS and use in link line.
1577         * nscd/connections.c (handle_request): Check access SELinux permissions
1578         before processing request.
1579         * nscd/nscd.c (main): Initialize selinux_enabled and stop avc thread.
1580         * nscd/nscd_stat.c: Transmit and print AVC statistics.
1581         * nscd/selinux.c: New file.
1582         * nscd/selinux.h: New file.
1583         Patch mostly by Matthew Rickard <mjricka@epoch.ncsc.mil>.
1585 2004-09-16  Jakub Jelinek  <jakub@redhat.com>
1587         * nscd/nscd_helper.c (__nscd_unmap, get_mapping): Use __munmap
1588         instead of munmap.
1590         * nscd/Makefile (CFLAGS-aicache.c): Set to -fpie.
1592 2004-09-16  Thorsten Kukuk  <kukuk@suse.de>
1594         * sysdeps/posix/getaddrinfo.c (gaih_inet): Check
1595         __nss_not_use_nscd_hosts variable if nscd should be used or not.
1597 2004-09-16  Ulrich Drepper  <drepper@redhat.com>
1599         * nscd/nscd_proto.h: Define NSS_NSCD_RETRY.
1600         Add __nscd_getai prototype.
1601         * nss/getXXbyYY_r.c: Remode definition of NSS_NSCD_RETRY.
1602         * nscd/nscd-client.h: Remove __nscd_getai prototype.
1603         * nscd/nscd_getai.c: Include nscd_proto.h.
1605         * elf/ldd.bash.in: Add support for SELinux environments.
1606         Patch by Stephen Smalley <sds@epoch.ncsc.mil>.
1608 2004-09-16  Roland McGrath  <roland@redhat.com>
1610         * configure.in (--with-headers): Let argument contain a : separated
1611         list of directories to use, not just one.
1612         * configure: Regenerated.
1614 2004-09-15  Richard Henderson  <rth@redhat.com>
1616         * sysdeps/alpha/fpu/libm-test-ulps: Update.
1617         * scripts/data/c++-types-alpha-linux-gnu.data: New file.
1619 2004-09-15  Ulrich Drepper  <drepper@redhat.com>
1621         * nscd/aicache.c: Prefer using gethostbyname3_r NSS callback to also
1622         get ttl and canonical name.  Use these two values.
1623         * resolv/Versions: Export _nss_dns_gethostbyname3_r from libnss_dns.
1624         * resolv/nss_dns/dns-host.c (getanswer_r): Take two new parameters.
1625         If nonnull fill with TTL and pointer to canonical name respectively.
1626         (_nss_dns_gethostbyaddr_r): Pass NULL in new parameters of getanswer_r.
1627         (_nss_dns_gethostbyname2_r): Just wrapper around
1628         _nss_dns_gethostbyname3_r.
1629         (_nss_dns_gethostbyname3_r): Renamed from _nss_dns_gethostbyname2_r.
1630         Take two new parameters which as passed to getanswer_r.
1632         * nscd/Makefile (rountines): Add nscd_getai.
1633         (nscd-modules): Add aicache.
1634         * nscd/aicache.c: New file.
1635         * nscd/nscd_getai.c: New file.
1636         * nscd/cache.c (prune_cache): Handle GETAI request type.
1637         * nscd/connections.c: Add GETAI support in request handling.
1638         * nscd/nscd-client.h (request_type): Add GETAI.
1639         Define ai_response_header and struct nscd_ai_result types.
1640         (struct datahead): Add aidata field.
1641         Declare __nscd_getai.
1642         * nscd/nscd.c: Add getaddrinfo definition to catch problems.
1643         * nscd/nscd.h: Declare addhstai and readdhstai.
1645         * sysdeps/posix/getaddrinfo.c: Add support for using cached results.
1646         * posix/Makefile (CFLAGS-getaddrinfo.c): Add -DUSE_NSCD.
1648         * nscd/nscd-client.h  (struct datahead): Use uint8_t instead of bool.
1650 2004-09-14  Ulrich Drepper  <drepper@redhat.com>
1652         * misc/sys/cdefs.h: Remove debugging text from __P and __PMT.
1654 2004-09-13  Ulrich Drepper  <drepper@redhat.com>
1656         * misc/sys/cdefs.h: Restore old definition of __P.
1657         * csu/munch.awk: Remove uses of __P and __PMT.
1658         * gmon/gmon.c: Likewise.
1659         * hesiod/hesiod.h: Likewise.
1660         * include/stdio.h: Likewise.
1661         * io/fts.c: Likewise.
1662         * libio/genops.c: Likewise.
1663         * libio/libioP.h: Likewise.
1664         * libio/fileops.c: Likewise.
1665         * libio/iolibio.h: Likewise.
1666         * libio/libio.h: Likewise.
1667         * libio/memstream.c: Likewise.
1668         * libio/oldfileops.c: Likewise.
1669         * libio/oldstdfiles.c: Likewise.
1670         * libio/iopopen.c: Likewise.
1671         * libio/vsnprintf.c: Likewise.
1672         * libio/vswprintf.c: Likewise.
1673         * libio/wgenops.c: Likewise.
1674         * libio/oldiopopen.c: Likewise.
1675         * locale/programs/xmalloc.c: Likewise.
1676         * locale/programs/xstrdup.c: Likewise.
1677         * malloc/mtrace.c: Likewise.
1678         * misc/getttyent.c: Likewise.
1679         * misc/getusershell.c: Likewise.
1680         * nis/rpcsvc/ypupd.h: Likewise.
1681         * posix/fnmatch.h: Likewise.
1682         * posix/glob.h: Likewise.
1683         * resolv/arpa/nameser.h: Likewise.
1684         * resolv/gethnamaddr.c: Likewise.
1685         * resolv/resolv.h: Likewise.
1686         * resolv/inet_net_ntop.c: Likewise.
1687         * resolv/inet_net_pton.c: Likewise.
1688         * resolv/res_init.c: Likewise.
1689         * resolv/nss_dns/dns-network.c: Likewise.
1690         * stdio-common/vfprintf.c: Likewise.
1691         * stdio-common/reg-printf.c: Likewise.
1692         * sysdeps/generic/chflags.c: Likewise.
1693         * sysdeps/generic/fchflags.c: Likewise.
1694         * sysdeps/generic/glob.c: Likewise.
1695         * sysdeps/generic/printf_fphex.c: Likewise.
1696         * sysdeps/generic/memcmp.c: Likewise.
1697         * sysdeps/generic/memcopy.h: Likewise.
1698         * sysdeps/generic/morecore.c: Likewise.
1699         * sysdeps/generic/sstk.c: Likewise.
1700         * sysdeps/posix/sigvec.c: Likewise.
1701         * sysdeps/posix/ttyname_r.c: Likewise.
1702         * sysdeps/standalone/arm/bits/errno.h: Likewise.
1703         * sysdeps/standalone/standalone.h: Likewise.
1704         * sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise.
1705         * sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise.
1706         * sysdeps/unix/arm/start.c: Likewise.
1707         * sysdeps/unix/bsd/sigaction.c: Likewise.
1708         * sysdeps/unix/bsd/sun/m68k/sigtramp.c: Likewise.
1709         * sysdeps/unix/bsd/sun/sparc/sigtramp.c: Likewise.
1710         * sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise.
1711         * sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise.
1712         * sysdeps/unix/bsd/ultrix4/sysconf.c: Likewise.
1713         * sysdeps/unix/sparc/start.c: Likewise.
1714         * sysdeps/unix/sysv/getdents.c: Likewise.
1715         * sysdeps/unix/sysv/irix4/fpathconf.c: Likewise.
1716         * sysdeps/unix/sysv/irix4/getgroups.c: Likewise.
1717         * sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
1718         * sysdeps/unix/sysv/irix4/getrusage.c: Likewise.
1719         * sysdeps/unix/sysv/irix4/pathconf.c: Likewise.
1720         * sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
1721         * sysdeps/unix/sysv/irix4/sigtramp.c: Likewise.
1722         * sysdeps/unix/sysv/irix4/start.c: Likewise.
1723         * sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
1724         * sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise.
1725         * sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise.
1726         * sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
1727         * sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise.
1728         * sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
1729         * sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
1730         * sysdeps/unix/sysv/sysv4/sethostname.c: Likewise.
1731         * sysdeps/unix/sysv/sysv4/setsid.c: Likewise.
1732         * sysdeps/unix/sysv/sysv4/sysconf.c: Likewise.
1733         * sysdeps/unix/sysv/sysv4/waitpid.c: Likewise.
1734         * sysdeps/unix/sysv/sysv4/solaris2/getdents.c: Likewise.
1735         * time/tzset.c: Likewise.
1736         * time/strftime_l.c: Likewise.
1737         * time/strptime_l.c: Likewise.
1738         * crypt/md5.h: Likewise.
1740 2004-09-13  Andreas Jaeger  <aj@suse.de>
1742         * configure.in: Support GCC 4.x.
1743         * configure: Regenerated.
1745 2004-09-13  Thorsten Kukuk  <kukuk@suse.de>
1747         * nscd/nscd_stat.c: Don't access dbs[cnt].head for disabled services.
1749         * nscd/nscd.init: Fix path to socket.
1751 2004-09-12  Ulrich Drepper  <drepper@redhat.com>
1753         * nscd/nscd_helper.c (get_mapping): Correctly check cmsg length.
1754         Avoid file descriptor leak in case of size mismatch.
1756         * nscd/nscd-client.h: Fix database structure layout for biarch.
1757         * nscd/mem.c (gc): Add casts to avoid warnings.
1759         * nss/getent.c: Don't preconstruct help message.  Do it only when
1760         needed.
1762         * locale/programs/locale.c: Simplify help message printing.
1764 2004-09-12  Roland McGrath  <roland@frob.com>
1766         * sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]: Add decls
1767         missing in last change.
1769 2004-09-11  Thorsten Kukuk  <kukuk@suse.de>
1771         * nis/nss_compat/compat-grp.c: Check that buflen is greater zero
1772         before writing data into the buffer with negative offset.
1773         * nis/nss_compat/compat-initgroups.c: Likewise.
1774         * nis/nss_compat/compat-pwd.c: Likewise.
1775         * nis/nss_compat/compat-spwd.c Likewise.
1777 2004-09-12  Ulrich Drepper  <drepper@redhat.com>
1779         * misc/syslog.c (vsyslog): Fix copying of PID in case of
1780         out-of-memory situation.  [BZ #365].
1782         * sysdeps/alpha/fpu/bits/mathinline.h: Use __NTH instead of
1783         __THROW in inline function definitions.
1785         * posix/spawn.h [__USE_GNU]: Define POSIX_SPAWN_USEVFORK.
1786         * posix/spawnattr_setflags.c: Check whether any unknown bit is set
1787         in FLAGS parameter and fail if this is the case.
1788         * sysdeps/posix/spawni.c: Use vfork if POSIX_SPAWN_USEVFORK flag is
1789         set.
1791         * nscd/pwdcache.c (cache_addpw): Sync also negative results to disk.
1792         * nscd/grpcache.c (cache_addgr): Likewise.
1793         * nscd/hstcache.c (cache_addhst): Likewise.
1795 2004-09-11  Roland McGrath  <roland@frob.com>
1797         * sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]:
1798         Set _dl_phdr and _dl_phnum.
1799         (init1): When bootstrap task, bail early and never examine *D.
1801 2004-09-11  Alfred M. Szmidt  <ams@kemisten.nu>
1803         * sysdeps/mach/hurd/i386/tls.h (__i386_set_gdt) [!HAVE_I386_SET_GDT]:
1804         Cast THR, SEL and DESC to `void'.
1806 2004-09-11  Ulrich Drepper  <drepper@redhat.com>
1808         * nscd/connections.c (nscd_run): Call setup_thread only for enabled
1809         databases.
1811         * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Use __NTH for __cmsg_nxthdr.
1813 2004-09-10  Ulrich Drepper  <drepper@redhat.com>
1815         * nscd/nscd.c (pagesize_m1): New variable.
1816         (main): Initialize it.
1817         * nscd/nscd.h: Declare pagesize_m1.
1818         * nscd/hstcache.c: Pass correctly aligned address to msync.
1819         * nscd/grpcache.c: Likewise.
1820         * nscd/pwdcache.c: Likewise.
1822 2004-09-10  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1824         * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Decrement
1825         __nwaiters.  If pthread_cond_destroy has been called and this is
1826         the last waiter, signal pthread_cond_destroy caller and avoid
1827         using the pthread_cond_t structure after unlock.
1828         * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
1830 2004-09-10  Ulrich Drepper  <drepper@redhat.com>
1832         * sysdeps/unix/sysv/linux/kernel-features.h: Don't define
1833         __ASSUME_CLONE_STOPPED.
1835 2004-09-10  Jakub Jelinek  <jakub@redhat.com>
1837         * misc/sys/cdefs.h (__REDIRECT_NTH): Change order of __THROW and
1838         __asm__ for C++.  [BZ #377]
1840 2004-09-10  Ulrich Drepper  <drepper@redhat.com>
1842         * nscd/nscd_stat.c: Improve output by also printing .shared and
1843         .persistent.
1845         * nscd/connections.c: Allow cache sharing to be really disabled.
1847 2004-09-10  Jakub Jelinek  <jakub@redhat.com>
1849         * malloc/malloc.c (_int_free): Only do arena boundary check for
1850         contiguous arenas.
1852 2004-09-10  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
1854         * stdlib/longlong.h [__M32R__] (add_ssaaaa, sub_ddmmss): Fix broken
1855         instruct operands.
1856         * elf/elf.h: Add R_M32R_* relocs.
1858 2004-09-09  Ulrich Drepper  <drepper@redhat.com>
1860         * misc/sys/cdefs.h: Despite what the gcc manual says, gcc 3.2
1861         seems not to support the nothrow attribute.  Use it only for gcc
1862         3.3 and higher.
1864         * malloc/hooks.c (top_check): Print top chunk corruption as normal
1865         error message.
1867         * malloc/malloc.c (malloc_printerr): Don't make informational
1868         message look like error message.
1870 2004-09-09  Andreas Jaeger  <aj@suse.de>
1872         * nscd/Makefile (CFLAGS-nscd_setup_thread.c): Set to -fpie.
1874 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
1876         * sysdeps/unix/sysv/linux/bits/socket.h (__SCM_CONNECT): Removed.
1878         * malloc/malloc.c (_int_free): Add inexpensive double free and
1879         memory corruption tests.
1880         (malloc_printf_nc): Renamed to malloc_printerr.  Second parameter
1881         is no format string anymore.  Don't use stdio.  Adjust all callers.
1882         * malloc/hooks.c: Adjust malloc_printf_nc callers.
1884 2004-09-08  Roland McGrath  <roland@redhat.com>
1886         * malloc/mcheck.c: Don't use __P.
1887         Use prototypes definitions for static functions.
1889 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
1891         * sysdeps/ia64/fpu/bits/mathinline.h: Use __NTH instead of __THROW.
1893 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
1894             Jakub Jelinek  <jakub@redhat.com>
1896         * nscd/nscd-client.h: Add a few #includes.
1898         * nscd/Makefile (nscd-modules): Add nscd_setup_thread.
1899         * nscd/connections.c (nscd_run): Call setup_thread for maintenance
1900         threads.
1901         * nscd/nscd-client.h (struct database_pers_head): Add
1902         nscd_certainly_running field.
1903         * nscd/nscd.h: Declare setup_thread.
1904         * nscd/nscd_helper.c (__nscd_get_map_ref): Avoid the time test if
1905         nscd_certainly_running is nonzero.
1906         * sysdeps/generic/nscd_setup_thread.c: New file.
1907         * sysdeps/unix/sysv/linux/nscd_setup_thread.c: New file.
1909 2004-09-08  Ulrich Drepper  <drepper@redhat.com>
1911         * nscd/connections.c: Implement r/o sharing of nscd's cache with client
1912         processes via shared memory.
1913         * nscd/nscd-client.h: Likewise.
1914         * nscd/nscd.h: Likewise.
1915         * nscd/nscd_conf.c: Likewise.
1916         * nscd/nscd_getgr_r.c: Likewise.
1917         * nscd/nscd_getpw_r.c: Likewise.
1918         * nscd/nscd_gethst_r.c: Likewise.
1919         * nscd/nscd.conf: Add new config parameters.
1920         * nscd/Makefile (aux): Add nscd_helper.
1921         * nscd/nscd_helper.c: New file.
1922         * nscd/mem.c (gc): Indicate beginning and end of the gc cycle.
1924         * nscd/hstcache.c: Simplify a lot.  We cache only the request itself,
1925         no derived information.
1926         * connections.c (nscd_init): Fix bug in testing size of the persistent.
1928         * nis/Makefile (aux): Add nis_hash.
1929         * nis/nis_hash.c: New file.  Split out from nis_util.c.
1930         * nis/nis_util.c: Move __nis_hash code in separate file.
1932         * csu/tst-atomic.c: Improve atomic_increment_val test which would
1933         not have found a ppc bug.
1935         * sysdeps/s390/fpu/bits/mathinline.h: Remove unnecessary includes.
1937         * malloc/arena.c: Remove __MALLOC_P uses.
1938         * malloc/malloc.c: Likewise.
1940         * malloc/mtrace.c: Remove __P uses.
1941         * malloc/mcheck-init.c: Likewise.
1943 2004-09-07  Jakub Jelinek  <jakub@redhat.com>
1945         * sysdeps/powerpc/powerpc64/configure.in: New file.
1946         * config.h.in (USE_PPC64_OVERLAPPING_OPD): Add.
1947         * configure.in (HAVE_ASM_GLOBAL_DOT_NAME): Remove.
1948         * sysdeps/powerpc/powerpc64/sysdep.h: Formatting.
1949         (OPD_ENT, BODY_LABEL, ENTRY_1, ENTRY_2, END_2, DOT_PREFIX,
1950         BODY_PREFIX): Define.
1951         (ENTRY, DOT_LABEL, END, TRACEBACK, END_GEN_TB, EALIGN): Support
1952         HAVE_ASM_GLOBAL_DOT_NAME or no dot symbols,
1953         USE_PPC64_OVERLAPPING_OPD or never overlapping .opd entries.
1954         * sysdeps/powerpc/powerpc64/dl-machine.h: Include sysdep.h.
1955         (TRAMPOLINE_TEMPLATE, RTLD_START): Use the new sysdep.h macros.
1957 2004-09-07  Ulrich Drepper  <drepper@redhat.com>
1959         * malloc/malloc.h: Don't define __THROW if it is already defined.
1961         * sysdeps/powerpc/bits/atomic.h (atomic_increment): Define.
1962         (atomic_decrement): Define.
1964         * sysdeps/powerpc/bits/atomic.h: Implement atomic_increment_val and
1965         atomic_decrement_val.
1966         * sysdeps/powerpc/powerpc32/bits/atomic.h: Likewise.
1967         * sysdeps/powerpc/powerpc64/bits/atomic.h: Likewise.
1969         * csu/tst-atomic.c (do_test): Add tests of atomic_increment_val
1970         and atomic_decrement_val.
1972         * include/atomic.h: Define atomic_increment_val, atomic_decrement_val,
1973         and atomic_delay is not already defined.
1974         * sysdeps/i386/i486/bits/atomic.h: Define atomic_delay.
1975         * sysdeps/x86_64/bits/atomic.h: Likewise.
1977         * miscd/sys/cdefs.h (__NTH): New macro.
1978         (__THROW): Define using nothrow attribute for C code and gcc >= 3.2.
1979         (__REDIRECT_NTH): New macro.
1980         * argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary.
1981         * ctype/ctype.h: Likewise.
1982         * dirent/dirent.h: Likewise.
1983         * io/fcntl.h: Likewise.
1984         * io/sys/sendfile.h: Likewise.
1985         * io/sys/stat.h: Likewise.
1986         * io/sys/statfs.h: Likewise.
1987         * io/sys/statvfs.h: Likewise.
1988         * libio/bits/stdio.h: Likewise.
1989         * misc/sys/mman.h: Likewise.
1990         * posix/unistd.h: Likewise.
1991         * resource/sys/resource.h: Likewise.
1992         * rt/aio.h: Likewise.
1993         * signal/signal.h: Likewise.
1994         * stdlib/stdlib.h: Likewise.
1995         * string/argz.h: Likewise.
1996         * string/string.h: Likewise.
1997         * sysdeps/generic/inttypes.h: Likewise.
1998         * sysdeps/i386/fpu/bits/mathinline.h: Likewise.
1999         * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
2000         * sysdeps/s390/fpu/bits/mathinline.h: Likewise.
2001         * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
2002         * sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
2003         * sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise.
2004         * wcsmbs/wchar.h: Likewise.
2006         * sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate.
2008         * resolv/gethnamaddr.c (getanswer): Remove __P use in variable
2009         definition.
2011         * io/sys/poll.h: Remove __THROW from poll prototype, it's a
2012         cancellation point.
2014         * io/fts.c (fts_open): Remove uses of __P.
2016         * include/stdlib.h: No need to use __THROW in this header.
2018 2004-09-06  Roland McGrath  <roland@frob.com>
2020         * sysdeps/mach/hurd/dl-sysdep.c (__writev): Does use assert on FD
2021         validity, since __assert_fail gets to here anyway.  Just fail.
2023 2004-09-06  Ulrich Drepper  <drepper@redhat.com>
2025         * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix problem with
2026         AF_UNSPEC lookup with AI_CANONNAME of name which has only IPv6
2027         addresses.
2029 2004-09-05  Richard Henderson  <rth@redhat.com>
2031         * sysdeps/alpha/fpu/fraiseexcpt.c: Remove file.
2032         * sysdeps/unix/sysv/linux/kernel-features.h
2033         (__ASSUME_IEEE_RAISE_EXCEPTION): New.
2034         * sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c: New file.
2035         * sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h: New file.
2036         * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use it.
2037         * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
2039 2004-09-05  Richard Henderson  <rth@redhat.com>
2041         * sysdeps/alpha/div.S: Save and restore FPCR around fp operations.
2042         * sysdeps/alpha/divl.S, sysdeps/alpha/divq.S, sysdeps/alpha/divqu.S,
2043         sysdeps/alpha/ldiv.S, sysdeps/alpha/reml.S, sysdeps/alpha/remq.S,
2044         sysdeps/alpha/remqu.S: Likewise.
2045         * sysdeps/alpha/div_libc.h (FRAME): Increase to 64.
2047 2004-09-05  Ulrich Drepper  <drepper@redhat.com>
2049         * nscd/cache.c (cache_add): Correctly log GETHOSTBYADDR and
2050         GETHOSTBYADDRv6 requests.
2052 2004-09-04  Ulrich Drepper  <drepper@redhat.com>
2054         * nscd/pwdcache.c (cache_addpw): Use correct key length in
2055         cache_add calls.
2056         * nscd/grpcache.c (cache_addgr): Likewise.
2058 2004-09-03  Alfred M. Szmidt  <ams@kemisten.nu>
2060         * sysdeps/mach/hurd/i386/tls.h (THREAD_DTV): Changed type of _DTV
2061         to `dtv_t *'.
2063 2004-09-03  Ulrich Drepper  <drepper@redhat.com>
2065         * nscd/nscd.c (parse_opt): Use writev instead of two write for
2066         invalidate command.
2068 2004-09-02  Ulrich Drepper  <drepper@redhat.com>
2070         * nscd/connections.c (nscd_run): Check early for invalid request types.
2072 2004-09-02  Roland McGrath  <roland@frob.com>
2074         * sysdeps/mach/hurd/i386/tls.h (TLS_INIT_TP_EXPENSIVE): New macro.
2075         (INSTALL_NEW_DTV, THREAD_DTV): Rewritten to fetch the right word.
2076         (THREAD_SELF): New macro.
2078 2004-09-02  Steven Munroe  <sjmunroe@us.ibm.com>
2080         [BZ #357]
2081         * stdlib/tst-setcontext.c (test_stack): Added test for stack clobber.
2082         (main): Call test_stack.
2083         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
2084         (__getcontext): Push stack frame then save parms in local frame.
2085         Improve instruction scheduling.
2086         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
2087         (__swapcontext): Likewise.
2089 2004-09-01  Andreas Schwab  <schwab@suse.de>
2091         * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h [g++ >= 3.5]: Use
2092         __builtin_offsetof.
2094 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
2096         [BZ #361]
2097         * posix/fnmatch_loop.c (FCT): For backslash between brackets, branch
2098         to normal_bracket after fetching the next character.
2099         * posix/tst-fnmatch.input: Add 25 new tests.
2100         Reported by Markus Oberhumer <markus@oberhumer.com>.
2102 2004-09-01  Ulrich Drepper  <drepper@redhat.com>
2104         * elf/rtld.c (dl_main): First check existence of ld.so.preload
2105         with access.
2107 2004-09-01  Roland McGrath  <roland@redhat.com>
2109         * sysdeps/unix/sysv/linux/bits/waitflags.h
2110         (WSTOPPED, WEXITED, WCONTINUED, WNOWAIT): New macros.
2111         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_WAITID_SYSCALL):
2112         New macro.
2113         * sysdeps/unix/sysv/linux/waitid.c: New file.  Use new syscall when
2114         available, or fall back to the waitpid-based generic code.
2116 2004-08-14  Alfred M. Szmidt  <ams@kemisten.nu>
2118         * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Let gcc
2119         clobber the `ebp' register.
2120         * sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Removed.
2121         Reverts change from 2004-05-07 by Jeroen Dekkers.
2123         * sysdeps/mach/hurd/i386/init-first.c (init): Changed the type of
2124         NEWSP from `void *' to `int *'.  Changed all casts accordingly.
2126 2004-08-31  Jakub Jelinek  <jakub@redhat.com>
2128         * wcsmbs/wcsmbsload.c (__wcsmbs_getfct): Move attribute_hidden
2129         before return type.
2130         * locale/localename.c (__current_locale_name): Likewise.
2132 2004-08-31  Jakub Jelinek  <jakub@redhat.com>
2134         * elf/ldconfig.c (parse_conf): Add prefix argument, prepend it
2135         before arguments to add_dir and pass to parse_conf_include.
2136         (parse_conf_include): Add prefix argument, pass it down to
2137         parse_conf.
2138         (main): Call arch_startup.  Adjust parse_conf caller.
2139         Call add_arch_dirs.
2140         * sysdeps/generic/dl-cache.h (arch_startup, add_arch_dirs): Define.
2141         * sysdeps/unix/sysv/linux/i386/dl-cache.h: New file.
2142         * sysdeps/unix/sysv/linux/ia64/dl-cache.h (EMUL_HACK, arch_startup,
2143         add_arch_dirs): Define.
2144         * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Prepend
2145         /emul/ia32-linux before the 32-bit ld.so pathname.
2146         * sysdeps/unix/sysv/linux/ia64/dl-procinfo.c: New file.
2147         * sysdeps/unix/sysv/linux/ia64/dl-procinfo.h: New file.
2149 2004-08-30  Roland McGrath  <roland@frob.com>
2151         * scripts/extract-abilist.awk: If `lastversion' variable defined, omit
2152         later sets from output.
2153         * Makerules (check-abi): Pass option to set that with value of
2154         LIB-abi-frozen variable if one is set.
2156         * abilist/libcidn.abilist: New file (empty).
2158 2004-08-30  Jakub Jelinek  <jakub@redhat.com>
2160         * posix/bits/posix1_lim.h (_POSIX_CHILD_MAX, _POSIX_OPEN_MAX): If
2161         not __USE_XOPEN2K, use the Unix98 mandated values.
2163 2004-08-27  Roland McGrath  <roland@redhat.com>
2165         * configure.in (usetls): Default to yes.
2166         * configure: Regenerated.
2168 2004-08-26  Roland McGrath  <roland@redhat.com>
2170         * configure.in (add_ons_automatic): New variable, set to yes or no
2171         indicating --enable-add-ons with no explicit list.
2172         (running add-on fragments): Allow a fragment to modify $libc_add_on
2173         and have that affect its place in the list of add-ons to use.
2174         * configure: Regenerated.
2176 2004-08-26  Ulrich Drepper  <drepper@redhat.com>
2178         * nscd/cache.c: Major rewrite.  The data is now optionally kept in
2179         a mmaped memory region which is automatically mirrored on disk.
2180         This implements persistent data storage.  The Memory handled
2181         needed to be completely revamped, it now uses a garbage collection
2182         mechanism instead of malloc.
2183         * nscd/connections.c: Likewise.
2184         * nscd/nscd.c: Likewise.
2185         * nscd/nscd.h: Likewise.
2186         * nscd/nscd_conf.c: Likewise.
2187         * nscd/nscd_stat.c: Likewise.
2188         * nscd/grpcache.c: Likewise.
2189         * nscd/hstcache.c:: Likewise.
2190         * nscd/pwdcache.c:: Likewise.
2191         * nscd/Makefile: Add rules to build mem.c.
2192         * nscd/mem.c: New file.
2193         * nscd/nscd.conf: Describe new configuration options.
2195 2004-08-26  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2197         * sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if
2198         NO_SGIDEFS_H isn't defined.
2199         * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
2200         * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
2202         * sysdeps/unix/sysv/linux/sh/pread.c: Define NO_SGIDEFS_H and
2203         _MIPS_SIM.
2204         * sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise.
2205         * sysdeps/unix/sysv/linux/sh/pread64.c: Likewise.
2206         * sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise.
2208 2004-08-26  Ulrich Drepper  <drepper@redhat.com>
2210         * nscd/connections.c (nscd_run): atomic_increment was not missing.
2212         * sysdeps/gnu/Makefile (libdl-sysdep_routines): Don't add eval.
2213         Patch by Greg Schafer.
2215 2004-08-25  Richard Henderson  <rth@redhat.com>
2217         * sysdeps/alpha/elf/start.S (_start): Use $15 as frame unwind
2218         instead of $31.  Zero $15.
2219         * sysdeps/unix/sysv/linux/alpha/clone.S (thread_start): Likewise.
2221 2004-08-25  Ulrich Drepper  <drepper@redhat.com>
2223         * sysdeps/powerpc/powerpc64/bits/atomic.h
2224         (__arch_compare_and_exchange_bool_32_acq): Fix case where oldval
2225         is negative.
2226         (__arch_compare_and_exchange_bool_32_rel): Likewise.
2228         * nscd/connections.c: Make socket nonblocking so that threads
2229         don't get stuck on accept.  Fix locking.
2231         * nscd/grpcache.c (cache_addgr): Use copy of original key in hash
2232         entry with alternative key.
2233         * nscd/pwdcache.c (cache_addpw): Likewise.
2235 2004-08-25  Richard Sandiford  <rsandifo@redhat.com>
2237         * sysdeps/mips/dl-machine.h (_dl_start_user): Don't set
2238         __libc_stack_end.
2240 2004-08-23  Ulrich Drepper  <drepper@redhat.com>
2242         * sysdeps/gnu/netinet/udp.h: Cosmetic changes.  Remove unnecessary
2243         __BEGIN_DECLS/__END_DECLS.
2245 2004-08-23  Andreas Jaeger  <aj@suse.de>
2247         [BZ #341]
2248         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_NOATIME): Define.
2249         * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (O_NOATIME): Likewise.
2250         * sysdeps/unix/sysv/linux/cris/bits/fcntl.h (O_NOATIME): Likewise.
2251         * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (O_NOATIME): Likewise.
2252         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (O_NOATIME): Likewise.
2253         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (O_NOATIME): Likewise.
2254         * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (O_NOATIME): Likewise.
2255         * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_NOATIME): Likewise.
2256         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (O_NOATIME): Likewise.
2257         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (O_NOATIME): Likewise.
2258         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (O_NOATIME): Likewise.
2259         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_NOATIME): Likewise.
2260         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (O_NOATIME): Likewise.
2262 2004-08-21  Ulrich Drepper  <drepper@redhat.com>
2264         * malloc/hooks.c (DEFAULT_CHECK_ACTION): Moved to malloc.c.
2265         (check_action): Likewise.
2266         When printing error messages, use malloc_printf_nc now instead of
2267         fiddling with the streams cancellation flag in every place.
2268         * malloc/malloc.c (DEFAULT_CHECK_ACTION): New definition.  Change
2269         default to 3.
2270         (check_action): New variable.
2271         (unlink): Print error message and eventually terminate in case list
2272         is corrupted.
2273         (malloc_printf_nc): New function.  Use it in _int_free.
2274         Change proposed by Arjan van de Ven.
2276         * dlfcn/Makefile: Don't build eval.c anymore.
2278 2004-08-20  Roland McGrath  <roland@frob.com>
2280         * csu/Makefile ($(objpfx)version-info.h): Use printf in place
2281         of echo -e for POSIX.2 portability.
2282         Reported by Paul Jarc <prj@po.cwru.edu>.
2284 2004-08-19  Ulrich Drepper  <drepper@redhat.com>
2286         * sysdeps/posix/getaddrinfo.c (gaih_inet): Minor optimizations in
2287         list generation.
2289         * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't use
2290         getcanonname_r function if AI_CANONNAME flag is not set in
2291         request.
2293         * nis/nss_compat/compat-initgroups.c (getgrent_next_nss):
2294         Initialize mysize with limits only if latter is >= 0.  Use mysize
2295         in malloc call.
2297 2004-08-19  Jakub Jelinek  <jakub@redhat.com>
2299         * sysdeps/posix/getaddrinfo.c (gaih_inet): Cast canon to (char *)
2300         to avoid warning.
2302         * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Initialize
2303         status to NSS_STATUS_UNAVAIL.
2305 2004-08-19  Jakub Jelinek  <jakub@redhat.com>
2307         * sysdeps/powerpc/powerpc64/configure.in: New file.
2308         * sysdeps/powerpc/powerpc64/configure: Rebuilt.
2309         * config.h.in (USE_PPC64_OVERLAPPING_OPD): Add.
2310         * configure.in (HAVE_ASM_GLOBAL_DOT_NAME): Remove.
2311         * configure: Rebuilt.
2312         * sysdeps/powerpc/powerpc64/sysdep.h: Formatting.
2313         (OPD_ENT, BODY_LABEL, ENTRY_1, ENTRY_2, END_2, DOT_PREFIX,
2314         BODY_PREFIX): Define.
2315         (ENTRY, DOT_LABEL, END, TRACEBACK, END_GEN_TB, EALIGN): Support
2316         HAVE_ASM_GLOBAL_DOT_NAME or no dot symbols,
2317         USE_PPC64_OVERLAPPING_OPD or never overlapping .opd entries.
2318         * sysdeps/powerpc/powerpc64/dl-machine.h: Include sysdep.h.
2319         (TRAMPOLINE_TEMPLATE, RTLD_START): Use the new sysdep.h macros.
2321 2004-08-19  Ulrich Drepper  <drepper@redhat.com>
2323         * sysdeps/posix/getaddrinfo.c (gaih_inet): Use h->h_name in the
2324         cannoname lookup since it has the FQDN even if the original NAME
2325         value has not.
2327 2004-08-18  Ulrich Drepper  <drepper@redhat.com>
2329         * sysdeps/posix/getaddrinfo.c (gaih_inet): Store NAME parameter
2330         pointer in new variable ORIG_NAME and use this pointer when
2331         determination of canonical name failed, not the possibly IDN
2332         translated value of NAME.
2334 2004-08-17  Ulrich Drepper  <drepper@redhat.com>
2336         * resolv/resolv.h (RES_DEFAULT): Add RES_NOIP6DOTINT.
2337         * resolv/res_init.c (res_setoptions): Recognize ip6-dotint option.
2338         Reset RES_NOIP6DOTINT flag in this case..
2340         * sysdeps/posix/getaddrinfo.c: Fix memory handling of
2341         ai_canonname.
2343 2004-08-16  Ulrich Drepper  <drepper@redhat.com>
2345         * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Don't use
2346         CNAME records, we better follow the chain of CNAME records which
2347         can be accomplished with A/AAAA lookups.
2349 2004-08-15  Roland McGrath  <roland@redhat.com>
2351         * sysdeps/unix/sysv/linux/bits/resource.h (enum __rusage_who):
2352         Remove __RUSAGE_BOTH constant and RUSAGE_BOTH macro.
2353         * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
2354         * sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise.
2355         * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
2357 2004-08-15  Roland McGrath  <roland@frob.com>
2359         * sysdeps/i386/i686/Makefile (elide-routines.os): Append hp-timing to
2360         this, not ...
2361         (static-only-routines): ... this.
2362         * sysdeps/ia64/Makefile: Likewise.
2363         * sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
2364         * sysdeps/sparc/sparc64/Makefile: Likewise.
2365         * sysdeps/x86_64/Makefile: Likewise.
2366         * sysdeps/i386/i686/hp-timing.c: Revert copyright terms change.
2367         * sysdeps/ia64/hp-timing.c: Likewise.
2368         * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
2369         * sysdeps/sparc/sparc64/hp-timing.c: Likewise.
2371         * csu/elf-init.c: Update copyright terms including special exception
2372         for these trivial files, which are statically linked into executables
2373         that use dynamic linking for the significant library code.
2374         * io/fstat.c: Likewise.
2375         * io/fstat64.c: Likewise.
2376         * io/lstat.c: Likewise.
2377         * io/lstat64.c: Likewise.
2378         * io/stat.c: Likewise.
2379         * io/stat64.c: Likewise.
2380         * stdlib/atexit.c: Likewise.
2381         * sysdeps/alpha/elf/initfini.c: Likewise.
2382         * sysdeps/alpha/elf/start.S: Likewise.
2383         * sysdeps/arm/elf/start.S: Likewise.
2384         * sysdeps/cris/elf/start.S: Likewise.
2385         * sysdeps/generic/initfini.c: Likewise.
2386         * sysdeps/generic/mknod.c: Likewise.
2387         * sysdeps/hppa/elf/initfini.c: Likewise.
2388         * sysdeps/hppa/elf/start.S: Likewise.
2389         * sysdeps/i386/elf/start.S: Likewise.
2390         * sysdeps/i386/i686/hp-timing.c: Likewise.
2391         * sysdeps/ia64/elf/initfini.c: Likewise.
2392         * sysdeps/ia64/elf/start.S: Likewise.
2393         * sysdeps/ia64/hp-timing.c: Likewise.
2394         * sysdeps/m68k/elf/start.S: Likewise.
2395         * sysdeps/mach/start.c: Likewise.
2396         * sysdeps/mips/elf/start.S: Likewise.
2397         * sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
2398         * sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
2399         * sysdeps/s390/s390-32/elf/start.S: Likewise.
2400         * sysdeps/s390/s390-32/initfini.c: Likewise.
2401         * sysdeps/s390/s390-64/elf/start.S: Likewise.
2402         * sysdeps/s390/s390-64/initfini.c: Likewise.
2403         * sysdeps/sh/elf/initfini.c: Likewise.
2404         * sysdeps/sh/elf/start.S: Likewise.
2405         * sysdeps/sparc/sparc32/elf/start.S: Likewise.
2406         * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
2407         * sysdeps/sparc/sparc64/elf/start.S: Likewise.
2408         * sysdeps/sparc/sparc64/hp-timing.c: Likewise.
2409         * sysdeps/standalone/i386/start.S: Likewise.
2410         * sysdeps/standalone/i960/start.S: Likewise.
2411         * sysdeps/standalone/m68k/m68020/start.S: Likewise.
2412         * sysdeps/unix/arm/start.c: Likewise.
2413         * sysdeps/unix/bsd/osf/alpha/start.S: Likewise.
2414         * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
2415         * sysdeps/unix/sparc/start.c: Likewise.
2416         * sysdeps/unix/start.c: Likewise.
2417         * sysdeps/unix/sysv/aix/start.s: Likewise.
2418         * sysdeps/unix/sysv/irix4/start.c: Likewise.
2419         * sysdeps/x86_64/elf/initfini.c: Likewise.
2420         * sysdeps/x86_64/elf/start.S: Likewise.
2422 2004-08-15  Roland McGrath  <roland@redhat.com>
2424         [BZ #227]
2425         * sysdeps/unix/sysv/linux/kernel-features.h
2426         (__ASSUME_BRK_PAGE_ROUNDED): New macro.
2427         * sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk)
2428         [! __ASSUME_BRK_PAGE_ROUNDED]: Adjust the break up if it falls within
2429         the partial page after the dynamic linker's own data segment.
2431 2004-08-15  Ulrich Drepper  <drepper@redhat.com>
2433         * sysdeps/posix/getaddrinfo.c (gaih_inet): Optimize generation of
2434         v4-mapped addresses a bit.
2435         (gethosts): Move alloca out of macro, so that it is done only once.
2437         * sysdeps/posix/getaddrinfo.c (gaih_addrtuple): Change type of
2438         addr to avoid casts.
2439         (gethosts): Removed.
2440         (gethosts2): Renamed to gethosts.  Make it usable for family !=
2441         AF_UNSPEC.  Fix AI_V4MAPPED.
2442         (gaih_inet): Remove use of old gethosts.  Always use what used to be
2443         gethosts2.  If entry is found, try to use the same NSS module's
2444         getcanonname_r function.  Use gethostbyaddr for AI_CANONNAME only
2445         if getcanonname_r was not available.  Fix filtering of AI_V4MAPPED
2446         addresses.  Numerous cleanups.
2447         * resolv/nss_dns/dns-canon.c: New file.
2448         * resolv/Makefile (libnss_dns-routines): Add dns-canon.
2449         * resolv/Versions (libnss_dns): Add _nss_dns_getcanonname_r.
2451         * elf/Makefile: Add rules to build and run tst-dlopenrpath.
2452         * elf/tst-dlopenrpath.c: New file.
2453         * elf/tst-dlopenrpathmod.c: New file.
2455         * intl/tst-gettext.sh: Adjust for change of de.po file to UTF-8.
2456         * intl/tst-gettext.c: Likewise.
2458         * nss/getent.c (ahosts_keys_int): Correctly print IPv6 addresses.
2460         * nss/getent.c: Allow queries for getaddrinfo with AF_INET and
2461         AF_INET6.
2463 2004-08-14  Ulrich Drepper  <drepper@redhat.com>
2465         * po/de.po: Update from translation team.
2467 2004-08-14  Roland McGrath  <roland@frob.com>
2469         * sysdeps/mach/configure: Regenerated.
2470         * sysdeps/mach/hurd/configure: Regenerated.
2472 2004-08-14  Ulrich Drepper  <drepper@redhat.com>
2474         * sysdeps/posix/getaddrinfo.c (getaddrinfo): If RFC3484 sorting is
2475         performed, make sure it is still the first entry after sorting
2476         that has the ai_canonname information.
2478         * sysdeps/posix/getaddrinfo.c (gaih_inet): Really set ai_canonname
2479         only in one entry.
2481 2004-08-13  Daniel Jacobowitz  <dan@debian.org>
2483         * scripts/output-format.sed: Handle default case of three-argument
2484         OUTPUT_FORMAT.
2486         * sysdeps/arm/machine-gmon.h (mcount_internal): Mark as
2487         __attribute_used__.
2489 2004-08-13  Ulrich Drepper  <drepper@redhat.com>
2491         * nss/getent.c (ahosts_keys): ai_canonname is NULL for all but the
2492         first returned entry.  Print name only if not NULL.
2494         * nis/nss_nis/nis-netgrp.c: Remove locking by using data in struct
2495         __netgrent object passed in instead of global variables.
2496         Optimize.
2497         * nis/nss_nisplus/nisplus-netgrp.c: Remove locking by using data
2498         in struct __netgrent object passed in instead of global variables.
2499         * inet/netgroup.h (struct __netgrent): Add service_user field.
2500         Move cursor in anonymous union, add new field location to that
2501         union.
2502         * inet/getnetgrent_r.c: Extensive rewrite to really enable
2503         concurrent uset of set/get/endnetgrent and innetgr.
2504         Reported by Chuck Simmons.
2506         * inet/netgroup.h (struct name_list): Replace name pointer with
2507         zero-sized array.
2508         * inet/getnetgrent_r.c: Adjust code for change in name_list
2509         layout.  Numerous strdup and free calls removed.
2511         * elf/sprof.c (read_symbols): When comparing aliases, prefer
2512         non-hidden over hidden symbols and strong over weak symbols
2513         if both don't start with '_'.
2515         * malloc/malloc.c: Use strong_alias instead of weak_alias wherever
2516         possible.
2518 2004-08-12  Jakub Jelinek  <jakub@redhat.com>
2520         * sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard
2521         RUSAGE_ enums as __RUSAGE_ and adjust macros accordingly.
2522         * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
2523         * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
2524         * sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise.
2525         Define non-standard RLIMIT_ enums as __RLIMIT_ and adjust macros
2526         accordingly.
2528 2004-08-11  Andreas Schwab  <schwab@suse.de>
2530         * resolv/res_libc.c: Move definition of __res_initstamp ...
2531         * resolv/res_init.c: ... here.
2533 2004-08-10  GOTO Masanori  <gotom@debian.or.jp>
2535         * locale/C-time.c: Change default ERA value from NULL to "".
2536         * locale/tst-C-locale.c: Add test case for ERA keywords.
2538 2004-08-12  Ulrich Drepper  <drepper@redhat.com>
2540         * sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard
2541         RLIMIT__ enums as __RLIMIT_ and adjust macros accordingly.
2542         * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
2543         * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
2545 2004-08-12  Jakub Jelinek  <jakub@redhat.com>
2547         * sysdeps/unix/sysv/linux/bits/resource.h (RLIMIT_SIGPENDING,
2548         RLIMIT_MSGQUEUE): Add.
2549         (RLIMIT_NLIMITS, RLIM_NLIMITS): Adjust.
2550         * sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIMIT_SIGPENDING,
2551         RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
2552         (RLIM_NLIMITS): Adjust.
2553         * sysdeps/unix/sysv/linux/sparc/bits/resource.h (RLIMIT_SIGPENDING,
2554         RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
2555         (RLIM_NLIMITS): Adjust.
2556         * sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIMIT_SIGPENDING,
2557         RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
2558         (RLIM_NLIMITS): Adjust.
2560 2004-08-12  Jakub Jelinek  <jakub@redhat.com>
2562         * resolv/res_query.c (__libc_res_nsearch): Protect the debugging
2563         printf with #ifdef DEBUG and RES_DEBUG check.
2565         * sysdeps/unix/sysv/linux/bits/shm.h: Move __END_DECLS after
2566         __USE_MISC #endif.
2567         * sysdeps/generic/bits/shm.h: Add __BEGIN_DECLS for __getpagesize
2568         declaration.
2569         * sysdeps/gnu/bits/shm.h: Likewise.
2570         * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
2571         * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
2572         * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
2573         * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
2574         * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
2576 2004-08-12  Ulrich Drepper  <drepper@redhat.com>
2578         * po/ca.po: Update from translation team.
2580 2004-08-11  Ulrich Drepper  <drepper@redhat.com>
2582         * sysdeps/unix/sysv/linux/bits/shm.h: Add __BEGIN_DECLS for
2583         __getpagesize declaration.
2585 2004-08-11  Roland McGrath  <roland@redhat.com>
2587         * configure.in (libc_cv_cpp_asm_debuginfo): Add missing braces around
2588         commands inside &&.
2589         Reported by Andreas Schwab <schwab@suse.de>.
2590         * configure: Regenerated.
2592         * posix/tst-waitid.c (do_test): Ignore SIGCHLD before cleanup SIGKILL.
2594 2004-08-11  Ulrich Drepper  <drepper@redhat.com>
2596         * time/tzset.c (tzset_internal): Add new parameter which is
2597         nonzero if called through tzset.  Use TZDEFAULT name including
2598         name comparison if the new parameter is zero.  This means implicit
2599         tzset calls will not cause files to be opened and read by tzfile.c
2600         all the time.
2602 2004-08-11  Jakub Jelinek  <jakub@redhat.com>
2604         * rt/tst-timer2.c (do_test): If timer_create fails, just continue.
2605         * rt/tst-timer4.c (do_test): If one of the timer_create calls fails,
2606         return 1 immediately.
2608         * time/tzfile.c (__tzfile_read): Free transitions only if it will
2609         not be reused.
2611         * sysdeps/ieee754/dbl-64/mpa.c: Include <sys/param.h>.
2612         * sysdeps/ieee754/dbl-64/mpa.h (MAX, MIN): Macros removed.
2614         * stdio-common/tst-popen.c: Include <string.h>.
2616         * resolv/res_send.c (__libc_res_nsend): Only define TMPBUF #if DEBUG.
2618         * sysdeps/pthread/aio_misc.c (handle_fildes_io): Remove noreturn
2619         attribute.  Return NULL instead of calling pthread_exit at the end.
2621 2004-08-11  Roland McGrath  <roland@redhat.com>
2623         * iconvdata/testdata/ISO-2022-JP-3: Regenerated.
2625 2004-07-23  Jakub Jelinek  <jakub@redhat.com>
2627         [BZ #284]
2628         * include/features.h (_POSIX_SOURCE, _POSIX_C_SOURCE): Define
2629         if _XOPEN_SOURCE >= 500 even if __STRICT_ANSI__ is defined.
2631 2004-08-10  Alfred M. Szmidt  <ams@kemisten.nu>
2633         * sysdeps/generic/bits/in.h (struct ip_mreq): Remove definition.
2635 2004-08-10  Jakub Jelinek  <jakub@redhat.com>
2637         * libio/bits/stdio.h (fread_unlocked): Cast 0 to (size_t).
2638         (fwrite_unlocked): When checking if size * n is <= 8, cast each
2639         argument to size_t individually.  Cast n to (void) instead of
2640         (size_t), surround with (), return (size_t) 0 if one of n or size
2641         is 0.  [BZ #316]
2642         * stdio-common/Makefile (tests): Add tst-unlockedio.
2643         * stdio-common/tst-unlockedio.c: New test.
2645 2004-08-09  Roland McGrath  <roland@frob.com>
2647         * manual/install.texi (Supported Configurations): Replace bug-glibc
2648         mention with web URL.
2649         * INSTALL: Regenerated.
2650         * locale/iso-3166.def: Likewise, in comment.
2651         * locale/iso-4217.def: Likewise.
2652         * locale/iso-639.def: Likewise.
2653         * posix/cpio.h: Remove bug reporting comment.
2655 2004-08-09  Ulrich Drepper  <drepper@redhat.com>
2657         * libio/bits/stdio.h (fread_unlocked): Add a couple of (size_t)
2658         casts to handle funny calls with floating point argument values
2659         and signed values correctly and without warning.
2660         (fwrite_unlocked): Likewise.  [BZ #309]
2662         * malloc/memusage.c (me): Use creat64, not creat.
2663         * malloc/memusagestat.c: Fix handling of very large sizes.  [BZ #285]
2664         Patch by Guy Maor <guymaor@yahoo.com>.
2666         * elf/ldconfig.c (options): Mark parameter option names as
2667         translatable.  [BZ #253]  Patch by Jakub Bogusz <qboosh@pld-linux.org>.
2669         * iconv/gconv_charset.h (strip): Also allow comma which is what is
2670         used to separate options.  [BZ #194]
2672 2004-08-09  Roland McGrath  <roland@redhat.com>
2674         * FAQ.in: Refer to web pages instead of bug-glibc.
2675         * FAQ: Regenerated.
2677         * time/strptime_l.c: #include <stdbool.h>, `bool' used in last change.
2679 2004-08-09  Ulrich Drepper  <drepper@redhat.com>
2681         * time/tzset.c (tzset_internal): If TZ is not set do not compare
2682         old and new tz value since it might be /etc/localtime in both
2683         cases although the file changed.  [BZ #154]
2684         Patch by Christian Franke <franke@computer.org>.
2686         * time/tzfile.c (__tzfile_read): Determine dev/ino of file.
2687         Compare with values of previously opened file.  Don't do anything
2688         is they match.
2690 2004-08-08  Ulrich Drepper  <drepper@redhat.com>
2692         * elf/dl-load.c (_dl_map_object): If __RTLD_CALLMAP flag is set,
2693         reset loader before the actual loading.
2694         * elf/dl-open.c (dl_open_worker): If file name contains no path
2695         element determine map of caller.  Pass caller map in this case to
2696         _dl_map_object.  Set __RTLD_CALLMAP in mode.
2697         * include/dlfcn.h (__RTLD_CALLMAP): Define.  [BZ #116]
2698         Patch by Greg Wolodkin <greg@mathworks.com>.
2700         * misc/syslog.c (openlog_internal): Always try both UDP and TCP.
2701         [BZ #108]  Patch mainly by Bjorn Andersson <bjorn@iki.fi>.
2703         * configure.in: Also recognize i786. [BZ #106]
2704         Patch by <pluto@pld-linux.org>.
2706         * resolv/res_query.c (__libc_res_nsearch): Correctly test whether
2707         name contains any dots. [BZ #95]
2709         * resolv/res_send.c: Compiling with DEBUG defined works again.
2710         * resolv/gethnamaddr.c (dprintf): Renamed to Dprintf.  Adjust all
2711         callers.
2713         * resolv/tst-leaks.c (TIMEOUT): Define so that if no server is
2714         available the process is not killed. [BZ #41]
2716         * intl/tst-gettext.c (main): Improve some messages. [BZ #33]
2718         * time/strptime_l.c (__strptime_internal): Fix handling of %Ey.
2719         [BZ #28]
2721         * po/sv.po: Update from translation team.
2723 2004-08-07  Ulrich Drepper  <drepper@redhat.com>
2725         * inet/netinet/in.h: Add more const to the setipv4soucefilter,
2726         getsourcefilter, and setsourcefilter parameter list.
2727         * sysdeps/generic/setipv4sourcefilter.c: Likewise.
2728         * sysdeps/generic/getsourcefilter.c: Likewise.
2729         * sysdeps/generic/setsourcefilter.c: Likewise.
2730         * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: Likewise.
2731         * sysdeps/unix/sysv/linux/getsourcefilter.c: Likewise.
2732         * sysdeps/unix/sysv/linux/setsourcefilter.c: Likewise.
2734         * po/tr.po: Update from translation team.
2736 2004-08-06  Ulrich Drepper  <drepper@redhat.com>
2738         * iconvdata/jisx0213.h (jisx0213_added_in_2004_p): Fix typo.
2739         Reported by Paolo Bonzini.
2741 2004-08-06  Jakub Jelinek  <jakub@redhat.com>
2743         * sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add
2744         always_inline.
2745         * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_runtime_setup,
2746         elf_machine_fixup_plt, elf_machine_plt_conflict): Likewise.
2748         * sysdeps/unix/sysv/linux/netatalk/at.h: Include bits/sockaddr.h
2749         before including linux/atalk.h.
2751         * resolv/res_libc.c: Include atomic.h.
2753         * intl/finddomain.c (free_mem): Rename to...
2754         (_nl_finddomain_subfreeres): ... this.  Add
2755         __libc_freeres_fn_section.
2756         * intl/loadmsgcat.c (_nl_unload_domain): Add
2757         __libc_freeres_fn_section.
2758         * intl/gettextP.h (_nl_unload_domain): Move into #ifdef _LIBC.
2759         Add attribute_hidden.
2760         (_nl_findomain_subfreeres): New prototype.
2761         * iconv/gconv_db.c (free_mem): Call _nl_findomain_subfreeres.
2763 2004-07-30  Guido Guenther  <agx@sigxcpu.org>
2765         * nss/getent.c (passwd_keys): Use strtoul instead of isdigit to
2766         test if the key is numeric or not.
2767         (group_keys): Likewise.
2769 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
2771         * inet/netinet/in.h: Define struct ip_msfilter, IP_MSFILTER_SIZE,
2772         struct group_filter, and GROUP_FILTER_SIZE.
2773         * include/sys/socket.h: Declare __getsockopt.
2774         * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: New file.
2775         * sysdeps/unix/sysv/linux/getipv4sourcefilter.c: New file.
2776         * sysdeps/unix/sysv/linux/setsourcefilter.c: New file.
2777         * sysdeps/unix/sysv/linux/getsourcefilter.c: New file. [BZ #211]
2779         * po/ko.po: Update from translation team.
2781 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
2783         * hesiod/hesiod.c (__hesiod_res_get): Use calloc instead of malloc +
2784         memset.
2785         (__hesiod_res_set): Free nsaddrs.
2787         * include/resolv.h (__res_maybe_init): Add prototype.
2788         * resolv/resolv.h (struct __res_state): Add _u._ext.initstamp field.
2789         * resolv/Versions (libc): Add __res_maybe_init@@GLIBC_PRIVATE.
2790         * resolv/res_libc.c (__res_initstamp, lock): New variables.
2791         (res_init): Increase __res_initstamp.
2792         (__res_maybe_init): New function.
2793         * resolv/res_init.c (__res_vinit): Initialize _u._ext.initstamp.
2794         * hesiod/hesiod.c (__hesiod_res_get): Use __res_maybe_init instead
2795         of RES_INIT check and {res_ninit,__res_ninit,res_init} call.
2796         * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
2797         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
2798         _nss_dns_gethostbyaddr_r): Likewise.
2799         * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
2800         _nss_dns_getnetbyaddr_r): Likewise.
2801         * resolv/gethnamaddr.c (gethostbyname, gethostbyname2,
2802         gethostbyaddr): Likewise.
2803         * resolv/res_data.c (fp_nquery, res_mkquery, res_mkupdate,
2804         res_isourserver, res_sendsigned, res_update, res_search,
2805         res_querydomain): Likewise.
2806         * nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Likewise.
2807         * nss/digits_dots.c (__nss_hostname_digits_dots): Likewise.
2808         * nss/getnssent_r.c (__nss_setent, __nss_endent, __nss_getent_r):
2809         Likewise.
2811 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
2813         * sysdeps/posix/getaddrinfo.c (gaih_inet): Set ai_family for
2814         V4-mapped IPv6 addresses and req->ai_family==AF_INET.
2815         Reported by A. Guru <a.guru@sympatico.ca>.
2817         * po/sv.po: Update from translation team.
2818         * po/sk.po: Likewise.
2819         * po/pl.po: Likewise.
2821 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
2822             Ulrich Drepper  <drepper@redhat.com>
2824         * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Don't read more input
2825         characters than necessary.
2827 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
2829         * wcsmbs/Makefile (tests): Add tst-mbsrtowcs.
2830         * wcsmbs/tst-mbsrtowcs.c: New file.
2832         * po/fr.po: Update from translation team.
2834 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
2836         * resolv/inet_pton.c (inet_pton4): Disallow octal numbers.  Reported
2837         by A. Guru <a.guru@sympatico.ca>.  [BZ #295]
2839 2004-08-05  Ulrich Drepper  <drepper@redhat.com>
2841         * po/nl.po: Update from translation team.
2843         * sysdeps/posix/getaddrinfo.c (gaih_inet): Recognize all the IPv4
2844         numeric address formats inet_addr knows.
2845         (getaddrinfo): Allow AI_NUMERICSERV flag.
2846         If neither IPv4 nor IPv6 interface is present we cannot make any
2847         decision for AI_ADDRCONFIG.  Fail if AI_NUMERICSERV is set and the
2848         string is not just a number.  Remove useless freeaddrinfo call.
2849         * resolv/netdb.h (AI_NUMERICSERV): Define.
2850         Based on a patch by a.guru@sympatico.ca.
2852 2004-08-04  Jakub Jelinek  <jakub@redhat.com>
2854         * stdlib/strfmon_l.c (__vstrfmon_l): Memset whole info structure
2855         instead of trying to initialize some, but not all, fields one by
2856         one.
2857         * stdio-common/printf_size.c (printf_size): Initialize fb_info
2858         structure with *info instead of trying to initialize some, but not
2859         all, fields from it.
2861         * nscd/connections.c (handle_request): Check if req->type is in
2862         LASTDBREQ .. LASTREQ range instead of req.
2864         * locale/programs/linereader.c (lr_create): Initialize
2865         lr->return_widestr to 0.
2867         * elf/dl-close.c (free_slotinfo): Add __libc_freeres_fn_section.
2868         (free_mem): Call free_slotinfo just once.
2870         * stdio-common/tst-fmemopen.c (main): Check for MAP_FAILED instead
2871         of NULL.
2873         * locale/localeinfo.h (_nl_locale_subfreeres): New prototype.
2874         * locale/setlocale.c (free_category): Add __libc_freeres_fn_section.
2875         (free_mem): Rename to _nl_locale_subfreeres.
2876         * iconv/gconv_db.c: Include locale/localeinfo.h.
2877         (free_derivation, free_modules_db): Add __libc_freeres_fn_section.
2878         (free_mem): Call _nl_locale_subfreeres.
2879         * iconv/gconv_dl.c (do_release_all): Add __libc_freeres_fn_section.
2881 2004-08-04  Roland McGrath  <roland@frob.com>
2883         * Makeconfig ($(common-objpfx)config.status):
2884         Fix typo: $(add_ons) -> $(add-ons).
2885         (Makeconfig-add-on): New variable.  When doing $(sysdep-makeconfigs)
2886         include, use black magic to get it set to an add-on's name during the
2887         include of the add-on's Makeconfig.
2889         * configure.in: Use variable name `libc_add_on' when sourcing add-on
2890         configure fragments, so they can refer to this.
2891         * configure: Regenerated.
2893 2004-08-04  Roland McGrath  <roland@redhat.com>
2895         * posix/tst-waitid.c (test_child): Sleep a second before stopping.
2896         (do_test): Bump sleep to three seconds.
2897         (sigchld, check_sigchld): New functions.
2898         (do_test): Handle SIGCHLD and check for getting the right details.
2900         * posix/tst-waitid.c (do_test): Kill the child process when bailing
2901         out early on some failure.
2902         [WCONTINUED]: Test WCONTINUED functionality.
2904 2004-08-03  Ulrich Drepper  <drepper@redhat.com>
2906         * nscd/connections.c (handle_request): Print more descriptive
2907         message for invalid request types.
2909 2004-08-02  Jakub Jelinek  <jakub@redhat.com>
2911         * iconvdata/ibm932.c (BODY): Avoid binary search for ch >= 0xffff.
2912         Always treat high as highest number in range + 1.
2913         * iconvdata/ibm943.c (BODY): Likewise.
2915 2004-07-31  Bruno Haible  <bruno@clisp.org>
2917         * iconvdata/JISX0213.TXT: Updated to JISX0213 plane 1 version 2004.
2918         * iconvdata/jisx0213.c (__jisx0213_to_ucs_main,
2919         __jisx0213_to_ucs_pagestart, __jisx0213_from_ucs_level1,
2920         __jisx0213_from_ucs_level2): Regenerated.
2921         * iconvdata/jisx0213.h (jisx0213_added_in_2004_p): New function.
2922         * iconvdata/iso-2022-jp-3.c (JISX0213_1_2000_set): Renamed from
2923         JISX0213_1_set.
2924         (JISX0213_1_2004_set): New enum value.
2925         (BODY for FROM_LOOP): Treat ESC $ ( Q like ESC $ ( O.
2926         (BODY for TO_LOOP): For JISX 0213 plane 1 characters, emit ESC $ ( O
2927         when possible, ESC $ ( Q when needed.
2928         * iconvdata/testdata/EUC-JISX0213: Add the 10 new characters.
2929         * iconvdata/testdata/EUC-JISX0213..UTF8: Update.
2930         * iconvdata/testdata/SHIFT_JISX0213: Add the 10 new characters.
2931         * iconvdata/testdata/SHIFT_JISX0213..UTF8: Update.
2932         * iconvdata/testdata/ISO-2022-JP-3: Add the 10 new JISX0213 characters.
2933         * iconvdata/testdata/ISO-2022-JP-3..UTF8: Update.
2935 2004-07-22  Bruno Haible  <bruno@clisp.org>
2937         * iconvdata/gconv-modules (ISO-8859-7): Add alias ISO_8859-7:2003.
2939 2004-07-29  David S. Miller  <davem@redhat.com>
2941         * sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy): Optimize
2942         better for smaller than 256 byte copies.  Also, use only one
2943         unrolled loop instead of two for the large copy case.
2945 2004-07-30  Richard Henderson  <rth@redhat.com>
2947         * sysdeps/alpha/divq.S: Save t3 before it gets clobbered.
2948         * sysdeps/alpha/remq.S: Likewise.
2949         * sysdeps/alpha/div.S, sysdeps/alpha/ldiv.S: Rewrite with the
2950         new division algorithms in divl.S and divq.S respectively.
2952 2004-07-28  GOTO Masanori  <gotom@debian.or.jp>
2954         * timezone/asia: Update from tzdata2004b.
2955         * timezone/backward: Likewise.
2956         * timezone/europe: Likewise.
2957         * timezone/iso3166.tab: Likewise.
2958         * timezone/leapseconds: Likewise.
2959         * timezone/northamerica: Likewise.
2960         * timezone/southamerica: Likewise.
2961         * timezone/zone.tab: Likewise.
2963         * timezone/private.h: Update from tzcode2004b.
2964         * timezone/zic.c: Likewise.
2966 2004-07-27  Ulrich Drepper  <drepper@redhat.com>
2968         * nscd/grpcache.c (cache_addgr): If necessary, add entry also
2969         under the name the user provided.
2970         * nscd/pwdcache.c (cache_addpw): Likewise.
2972 2004-07-26  Roland McGrath  <roland@redhat.com>
2974         * sysdeps/posix/waitid.c [WEXITED]: Clear WEXITED bit in OPTIONS for
2975         call to __waitpid.
2977 2004-07-26  Ulrich Drepper  <drepper@redhat.com>
2979         * nscd/hstcache.c (cache_addhst): Fix two scenarios which lead to
2980         memory leaks.
2982         * sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Assign pointer for
2983         new buffer at the right time.
2984         Reported by Jakub Bogusz <qboosh@pld-linux.org>.
2986 2004-07-25  Ulrich Drepper  <drepper@redhat.com>
2988         * inet/Versions [libc, GLIBC_2.3.4]: Add getipv4sourcefilter,
2989         getsourcefilter, setipv4sourcefilter, and setsourcefilter.
2990         * inet/Makefile (routines): Likewise.
2991         * inet/netinet/in.h: Add prototypes for getipv4sourcefilter,
2992         getsourcefilter, setipv4sourcefilter, and setsourcefilter.
2993         * sysdeps/generic/getipv4sourcefilter.c: New file.
2994         * sysdeps/generic/setipv4sourcefilter.c: New file.
2995         * sysdeps/generic/getsourcefilter.c: New file.
2996         * sysdeps/generic/setsourcefilter.c: New file.
2998 2004-07-17  Steven Munroe  <sjmunroe@us.ibm.com>
3000         * sysdeps/powerpc/powerpc64/memcpy.S: Improve instruction scheduling
3001         for POWER4 machines.
3003 2004-07-21  Jakub Jelinek  <jakub@redhat.com>
3005         [BZ #274]
3006         * stdlib/strtod_l.c (INTERNAL (__STRTOF)): Fix used >=
3007         BITS_PER_MP_LIMB shifting up.
3008         * stdlib/tst-strtod.c (main): Add new tests.
3010 2004-07-23  Jakub Jelinek  <jakub@redhat.com>
3012         [BZ #282]
3013         * libio/iopopen.c (_IO_new_popen): Use _IO_init instead of
3014         _IO_no_init.  Remove wd from struct locked_FILE.
3015         (_IO_wproc_jumps): Remove.
3016         Reported by Andrew Josey <a.josey@opengroup.org>.
3017         * stdio-common/Makefile (tests): Add tst-popen.
3018         * stdio-common/tst-popen.c: New test.
3020 2004-07-23  Ulrich Drepper  <drepper@redhat.com>
3022         * posix/bits/posix1_lim.h: Fix values for _POSIX_CHILD_MAX and
3023         _POSIX_OPEN_MAX.  Add _POSIX_HOST_NAME_MAX, _POSIX_SYMLINK_MAX,
3024         _POSIX_SYMLOOP_MAX, and _POSIX_RE_DUP_MAX.
3025         Reported by Andrew Josey.
3027         * include/features.h: Document _POSIX_C_SOURCE == 200112L.
3029         * grp/grp.h: Define gid_t if __USE_XOPEN2K is defined.
3030         * pwd/pwd.h: Define uid_t and gid_t if __USE_XOPEN2K is defined.
3031         * io/sys/stat.h: Define dev_t, gid_t, ino_t, mode_t, nlink_t,
3032         off_t, time_t, and uid_t if __USE_XOPEN2K is defined.
3033         * signal/signal.h: Define pid_t if __USE_XOPEN2K is defined.
3034         * posix/unistd.h: Define gid_t, off_t, pid_t, uid_t, and
3035         useconds_t if __USE_XOPEN2K is defined.
3036         * io/utime.h: Define time_t if __USE_XOPEN2K is defined.
3037         * libio/stdio.h: Declare fseeko and ftello if __USE_XOPEN2K is defined.
3039 2004-07-19  Thorsten Kukuk  <kukuk@suse.de>
3041         * nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Don't
3042         allocate memory for large temporary variables with alloca.
3044 2004-07-22  Ulrich Drepper  <drepper@redhat.com>
3046         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Compatibility
3047         code must have version GLIBC_2.0.  Patch by Dwayne McConnell.
3049         * nscd/nscd_getgr_r.c (nscd_getgr_r): Avoid read call with NULL
3050         pointer and zero length.
3052 2004-07-21  Ulrich Drepper  <drepper@redhat.com>
3054         * nscd/cache.c (prune_cache): Print correct list when debugging.
3056 2004-07-21  Jakub Jelinek  <jakub@redhat.com>
3058         * resolv/res_libc.c (res_init): If RES_INIT is set and
3059         _res.nscount > 0, call __res_nclose and free nsaddrs.
3060         * resolv/Makefile: Add rules to build and run tst-leaks2.
3061         * resolv/tst-leaks2.c: New test.
3063 2004-07-21  Ulrich Drepper  <drepper@redhat.com>
3065         * intl/libintl.h: Don't define macros for C++.
3066         Patch by Goto Masanori.
3068 2004-07-22  GOTO Masanori  <gotom@debian.or.jp>
3070         [BZ #276]
3071         * include/arpa/inet.h: Change inet_aton type from in_addr_t to int.
3072         * inet/arpa/inet.h: Likewise.
3073         * resolv/inet_addr.c: Likewise.
3075 2004-07-21  Alexandre Oliva  <aoliva@redhat.com>
3077         * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Add semtimedop.
3079 2004-07-20  Roland McGrath  <roland@redhat.com>
3081         * configure.in (add_ons): Substitute this.  Move $add_ons handling
3082         after AC_CANONICAL_HOST and default setting of $machine et al.
3083         Don't set $subdirs from $add_ons.
3084         Instead, source add-on/configure fragments early on.
3085         (base_machine): If it's already set, don't set it based on $machine.
3086         (libc_config_ok): New variable, set to no.  If an add-on fragment sets
3087         it to yes, skip the  tuple sanity check as if --enable-hacker-mode.
3088         (sysnames): Try appending add-on names after machine as well.
3089         * config.make.in (add-ons): Set from @add_ons@ instead of @subdirs@.
3090         * Makeconfig ($(common-objpfx)config.status): Also depend on configure
3091         files in $(add_ons) dirs.
3093         * sysdeps/unix/sysv/linux/bits/in.h (struct ip_mreq): Remove
3094         definition, now in netinet/in.h proper.
3096 2004-07-20  Alexandre Oliva  <aoliva@redhat.com>
3098         * sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
3099         Sort by syscalls.  Make sure we get headers such as sgidefs.h from
3100         the build tree before just-installed ones.
3102         * sysdeps/mips/atomicity.h: Use standard names for ABI macros,
3103         include sgidefs.h where appropriate.
3104         * sysdeps/mips/dl-machine.h: Likewise.
3105         * sysdeps/mips/machine-gmon.h: Likewise.
3106         * sysdeps/mips/bits/setjmp.h: Likewise.
3107         * sysdeps/mips/fpu/bits/mathdef.h: Likewise.
3108         * sysdeps/mips/mips64/__longjmp.c: Likewise.
3109         * sysdeps/mips/mips64/setjmp_aux.c: Likewise.
3110         * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise.
3111         * sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
3112         * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
3113         * sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise.
3114         * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
3115         * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
3116         * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
3117         * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise.
3118         * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
3119         * sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Likewise.
3120         * sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise.
3121         * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise.
3122         * sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Likewise.
3123         * sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise.
3124         * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise.
3125         * sysdeps/unix/sysv/linux/mips/sys/user.h: Likewise.
3126         * sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
3127         Likewise.
3128         * sysdeps/unix/sysv/linux/mips/configure.in (asm-unistd.h):
3129         Likewise.
3131         * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Update to use
3132         _dl_lookup_symbol_x.
3133         (elf_machine_runtime_link_map): Don't INTUSE _dl_signal_error.
3135 2004-07-20  Ulrich Drepper  <drepper@redhat.com>
3137         * inet/netinet/in.h: Define struct ip_mreq and struct
3138         ip_mreq_source.
3139         Define struct group_req and struct group_source_req.
3140         * sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
3141         IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP,
3142         IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP,
3143         MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP,
3144         MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and
3145         MCAST_MSFILTER.
3146         Define MCAST_INCLUDE and MCAST_EXCLUDE.
3148         * iconvdata/gconv-modules: Add alias for IBM874 [BZ #244].
3150 2004-07-19  Jakub Jelinek  <jakub@redhat.com>
3152         [BZ #258]
3153         * math/libm-test.inc (max_value, min_value): New variables.
3154         (initialize): Initialize them.
3155         (pow_test): Add a couple of new tests.
3156         * sysdeps/i386/fpu/e_powf.S (__ieee754_powf): Don't generate invalid
3157         exception if |y| >= 1U<<31.
3158         * sysdeps/i386/fpu/e_pow.S (__ieee754_pow): Don't generate invalid
3159         exception if |y| >= 1L<<63.
3160         * sysdeps/i386/fpu/e_powl.S (__ieee754_powl): Likewise.
3161         If y*log2(x) overflows to +-inf, return still +inf/+0 instead of NaN.
3162         * sysdeps/x86_64/fpu/e_powl.S (__ieee754_powl): Likewise.
3164 2004-07-18  Ulrich Drepper  <drepper@redhat.com>
3166         * nscd/pwdcache.c (cache_addpw): Optimize case of unsuccessful
3167         lookup a bit.
3168         * nscd/grpcache.c (cache_addgr): Likewise.
3169         * nscd/hstcache.c (cache_addhst): Likewise.
3171 2004-07-10  GOTO Masanori  <gotom@debian.or.jp>
3173         * sysdeps/s390/s390-32/elf/start.S: Remove symbol _fp_hw.
3174         * sysdeps/s390/s390-64/elf/start.S: Likewise.
3176 2004-04-16  Andreas Schwab  <schwab@suse.de>
3178         * sysdeps/ia64/bits/atomic.h: Cast first argument of
3179         __sync_bool_compare_and_swap_si correct to void*.
3181 2004-07-17  Ulrich Drepper  <drepper@redhat.com>
3183         * iconv/iconv_prog.c (print_known_names): Make machine-readable
3184         output even less cluttered.
3186 2004-07-16  Steven Munroe  <sjmunroe@us.ibm.com>
3188         [BZ #269]
3189         * setjmp/Makefile (tests): Add bug269-setjmp.
3190         * setjmp/bug269-setjmp.c: New file.
3191         * sysdeps/powerpc/powerpc64/__longjmp-common.S [SHARED && !IS_IN_rtld]:
3192         Store R2 from jmpbuf in callers TOC save area.
3193         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S [SHARED && !IS_IN_rtld]:
3194         Store R2 in TOC save area.
3195         * sysdeps/powerpc/powerpc64/setjmp-common.S [SHARED && !IS_IN_rtld]:
3196         Copy TOC save area from previous frame as R2 (TOC) in jmpbuf.
3198 2004-07-16  Jakub Jelinek  <jakub@redhat.com>
3200         * locale/newlocale.c: Include bits/libc-lock.h.
3201         (__libc_setlocale_lock): Extern decl.
3202         (__newlocale): Use it.
3203         Reported by Ulrich Weigand <Ulrich.Weigand@de.ibm.com>.
3205 2004-07-15  Jakub Jelinek  <jakub@redhat.com>
3207         * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Remove
3208         static inline __attribute ((always_inline)).  Don't define if
3209         NO_CANCELLATION.
3210         (__libc_fcntl): Use INLINE_SYSCALL directly instead of
3211         __fcntl_nocancel.
3212         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c (__fcntl_nocancel):
3213         Remove static inline __attribute ((always_inline)).  Don't define
3214         if NO_CANCELLATION.
3215         (__libc_fcntl): Use INLINE_SYSCALL directly instead of
3216         __fcntl_nocancel.
3217         * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Define to
3218         __libc_fcntl if NO_CANCELLATION and __ASSUME_FCNTL64 == 0.
3219         Don't define at all if NO_CANCELLATION and __ASSUME_FCNTL64 > 0.
3220         (__libc_fcntl): Don't define if __fcntl_nocancel is a macro.
3222         [BZ #262]
3223         * sysdeps/i386/elf/start.S (_start): Use @GOT instead of @GOTOFF
3224         for main.
3225         * elf/Makefile: Add rules to build and run tst-pie1.
3226         * elf/tst-pie1.c: New test.
3227         * elf/tst-piemod1.c: New file.
3229 2004-07-14  Jakub Jelinek  <jakub@redhat.com>
3231         [BZ #266]
3232         * manual/string.texi (l64a): Note that the static buffer is 7 bytes
3233         long.  Rewrite example code so that it takes into account l64a output
3234         shorter than 6 characters.
3235         Reported by Julian Graham <julian.graham@aya.yale.edu>.
3237 2004-07-14  Kaz  Kojima  <kkojima@rr.iij4u.or.jp>
3239         * sysdeps/sh/dl-machine.h: Don't reset _dl_starting_up here.
3240         (elf_machine_rela_relative): Remove unused valiable.
3242 2004-07-12  Paul Eggert  <eggert@cs.ucla.edu>
3244         [BZ #263]
3245         * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Don't store
3246         outside the buffer if the read returns 0.  __strtod_l can't set
3247         endp to NULL, so remove a test for that case.
3249 2004-07-12  Roland McGrath  <roland@redhat.com>
3251         * manual/signal.texi (Interrupted Primitives): Make clear that
3252         TEMP_FAILURE_RETRY evaluates its expression as long int and compares
3253         it to -1 to define "failure".
3255 2004-07-10  Ulrich Drepper  <drepper@redhat.com>
3257         * elf/ldconfig.c: Define PROCINFO_CLASS as static before including
3258         ldsodefs.h.
3259         * sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not
3260         already defined.
3261         * sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not
3262         already defined.
3264         * elf/rtld.c (print_statistics): Mark with noinline attribute.
3265         * sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with always_inline
3266         attribute.
3267         (elf_machine_rel_relative): Likewise.
3269         * include/string.h: Add libc_hidden_proto for __strtok_r and
3270         __strsep_g.
3271         * sysdeps/generic/strsep.c: Add libc_hidden_def.
3272         * sysdeps/generic/strtok_r.c: Likewise.
3273         * sysdeps/i386/strtok_r.S: Add alias for internal symbol.
3274         * sysdeps/i386/i686/strtok_r.S: Likewise.
3275         * sysdeps/x86_64/strtok_r.S: Likewise.
3277 2004-07-09  Alexandre Oliva  <aoliva@redhat.com>
3279         * inet/getnetgrent_r.c (internal_setnetgrent): Make it hidden
3280         instead of internal-linkage, such that we can alias to it.
3281         (internal_endnetgrent, internal_getnetgrent_r): Likewise.
3283 2004-07-09  Ulrich Drepper  <drepper@redhat.com>
3285         * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Move attribute
3286         to the front for gcc 3.5+.
3287         * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
3288         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.
3289         * include/fcntl.h: Don't declare __fcntl_nocancel here if
3290         NO_CANCELLATION is defined.
3292 2004-07-07  Jakub Jelinek  <jakub@redhat.com>
3294         * elf/dl-fini.c (_dl_fini): Add nloaded variable, load
3295         GL(dl_nloaded) into it while still in critical section.
3297 2004-07-06  Thorsten Kukuk  <kukuk@suse.de>
3299         * nss/getent.c (print_group, print_passwd): Use %lu format for
3300         `unsigned long int' values.
3302         * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Fix syntax
3303         error typos in goto statements.
3305 2004-07-07  Roland McGrath  <roland@frob.com>
3307         * Makefile (dist-separate): New variable.
3308         (glibc-%.tar rule): Make separate tar files for add-ons listed there.
3309         Depend on their configure files.
3310         (dist-do-separate-dirs): New canned sequence to do that.
3311         (dist-separate-libidn, dist-separate-linuxthreads): New variables.
3312         (dist): Depend on add-on tar files based on $(dist-separate).
3313         (dist-version): New variable, default to $(version).
3314         (tag-for-dist, dist): Use that in place of $(version) in deps.
3316 2004-07-07  Ulrich Drepper  <drepper@redhat.com>
3318         * elf/dl-fini.c (_dl_fini): Move the unlock of the ld.so lock
3319         before the loop running the destructors.
3321 2004-05-18  Andreas Schwab  <schwab@suse.de>
3323         * elf/dl-load.c (_dl_map_object_from_fd): Use the end address of
3324         the first segment for mprotect, not l_text_end.
3326 2004-07-05  Ulrich Drepper  <drepper@redhat.com>
3328         * elf/dl-profile.c (_dl_start_profile): Compact error handling.
3329         Remove hashfraction variable.  Make kcount and kcountsize local
3330         variables.
3332         * elf/dl-init.c: Don't define and use _dl_starting_up if
3333         HAVE_INLINED_SYSCALLS is defined and the variable is not used.
3334         * elf/dl-support.c: Likewise.
3335         * elf/rtld.c: Likewise.
3336         * elf/dl-misc.c (_dl_debug_vdprintf): Use writev syscall directly
3337         if HAVE_INLINED_SYSCALLS is defined.
3338         * sysdeps/powerpc/powerpc64/dl-machine.h: Don't reset _dl_starting_up
3339         here.
3340         * sysdeps/powerpc/powerpc32/dl-start.S: Likewise.
3341         * sysdeps/unix/sysv/linux/configure.in: Define HAVE_INLINED_SYSCALLS.
3342         * config.h.in: Add entry for HAVE_INLINED_SYSCALLS.
3344         * sysdeps/posix/profil.c: If compiled for ld.so, omit code which
3345         is needed to stop profiling.
3346         * elf/dl-open.c (dl_open_worker): If a newly opened object is to be
3347         profile make sure it cannot be unloaded.
3349         * sysdeps/unix/sysv/linux/dl-origin.c: Inline readlink syscall.
3351         * sysdeps/unix/sysv/linux/fcntl.c: If compiled without cancellation
3352         support, make sure the helper function is inlined.
3353         * sysdeps/unix/sysv/linux/pread.c: Likewise.
3354         * sysdeps/unix/sysv/linux/pwrite.c: Likewise.
3355         * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
3356         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.
3358 2004-07-05  Jakub Jelinek  <jakub@redhat.com>
3360         * include/string.h (ffs): Add libc_hidden_builtin_proto.
3361         * sysdeps/rs6000/ffs.c (ffs): Add libc_hidden_builtin_def.
3362         * sysdeps/alpha/alphaev67/ffs.S (ffs): Likewise.
3363         * sysdeps/alpha/ffs.S (ffs): Likewise.
3364         * sysdeps/s390/ffs.c (ffs): Likewise.
3365         * sysdeps/powerpc/ffs.c (ffs): Likewise.
3366         * sysdeps/i386/ffs.c (ffs): Likewise.
3367         * sysdeps/i386/i686/ffs.c (ffs): Likewise.
3368         * sysdeps/m68k/ffs.c (ffs): Likewise.
3369         * sysdeps/generic/ffs.c (ffs): Likewise.
3370         * sysdeps/m88k/ffs.c (ffs): Likewise.
3371         * sysdeps/am29k/ffs.c (ffs): Likewise.
3372         * sysdeps/i960/ffs.c (ffs): Likewise.
3373         * sysdeps/x86_64/ffs.c (ffs): Likewise.
3375         * Makerules (check-abi): Use diff -p -U 0 instead of diff -pu0.
3377         * sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp,
3378         __libc_siglongjmp): Remove symbol_version.
3379         * sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp):
3380         Export @@GLIBC_PRIVATE, not @@GLIBC_2.3.4.
3381         * sysdeps/powerpc/sigjmp.c (__sigjmp_save): Use strong_alias
3382         unconditionally.
3383         * sysdeps/powerpc/novmx-sigjmp.c (__sigjmp_save): Remove.
3384         * sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use
3385         strong_alias instead of default_symbol_version, remove
3386         symbol_version.
3387         * sysdeps/powerpc/powerpc64/__longjmp.S (__longjmp): Likewise.
3388         * sysdeps/powerpc/powerpc32/bsd-setjmp.S (__novmx__setjmp): Change
3389         into strong_alias to __novmxsetjmp.
3390         (__vmx__setjmp): Similarly with __vmxsetjmp.
3391         (__setjmp): Make it strong_alias to __vmx__setjmp, remove
3392         default_symbol_version and symbol_version.
3393         * sysdeps/powerpc/powerpc64/bsd-setjmp.S (__novmx__setjmp): Change
3394         into strong_alias to __novmxsetjmp.
3395         (__vmx__setjmp): Similarly with __vmxsetjmp.
3396         (__setjmp): Make it strong_alias to __vmx__setjmp, remove
3397         default_symbol_version and symbol_version.
3399         * nscd/nscd_getgr_r.c: Include stdio-common/_itoa.h.
3401 2004-07-05  Ulrich Drepper  <drepper@redhat.com>
3403         * elf/rtld.c (dl_main): Mark dyn_temp with attribute_relro.
3405 2004-07-04  Matthew Reppert  <arashi@kai.vm.bytemark.co.uk>
3407         * sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Use libc_hidden_ver
3408         instead of libc_hidden_def.
3410 2004-07-01  Roland McGrath  <roland@redhat.com>
3412         * aclocal.m4: Add provide for AC_CONFIG_AUX_DIR_DEFAULT.
3414         * Makeconfig ($(common-objpfx)shlib-versions.v.i): Move top-level
3415         $(..)shlib-versions file to last in deps list.  This lets add-ons give
3416         more-specific matches that override defaults in the top-level file.
3418         * sysdeps/unix/sysv/linux/configure.in: If arch_minimum_kernel was
3419         already set, don't set it or libc_cv_gcc_unwind_find_fde.
3420         * sysdeps/unix/sysv/linux/configure: Regenerated.
3422 2004-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3424         * sysdeps/s390/fpu/bits/mathinline.h [__LIBC_INTERNAL_MATH_INLINES]
3425         (__ieee754_sqrt): Define as __MATH_INLINE using sqdbr instruction.
3426         (__ieee754_sqrtf): Define as __MATH_INLINE using sqebr instruction.
3427         * sysdeps/s390/fpu/e_sqrt.c: New file.
3428         * sysdeps/s390/fpu/e_sqrtf.c: New file.
3429         * sysdeps/s390/Implies: New file.
3430         * sysdeps/s390/s390-32/Implies: Remove ieee754, move
3431         ieee754/dbl-64 and ieee754/flt-32 to s390/Implies.
3432         * sysdeps/s390/s390-64/Implies: Likewise.
3434 2004-06-30  Jakub Jelinek  <jakub@redhat.com>
3436         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Include tls.h.
3437         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
3439         * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (thread_start):
3440         DO_CALL (exit, 1) instead of branching to _exit.
3441         * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (thread_start):
3442         Likewise.
3444         * sysdeps/s390/fpu/bits/mathinline.h: New file.
3446         * include/glob.h (glob64): Add libc_hidden_proto.
3447         * sysdeps/generic/glob64.c (glob64): Add libc_hidden_def.
3448         * sysdeps/gnu/glob64.c (glob64): Likewise.
3449         * sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Likewise.
3451 2004-06-11  Jakub Jelinek  <jakub@redhat.com>
3453         * sysdeps/i386/fpu/libm-test-ulps: Update for GCC 3.4.
3454         * sysdeps/s390/fpu/libm-test-ulps: Likewise.
3456 2004-06-11  Dwayne Grant McConnell  <dgm69@us.ibm.com>
3458         * sysdeps/powerpc/fpu/s_lround.c: Removed.
3459         * sysdeps/powerpc/fpu/s_lroundf.c: Removed.
3460         * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: New file.
3461         * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: New file.
3462         * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: New file.
3463         * sysdeps/powerpc/powerpc32/fpu/s_floor.S: New file.
3464         * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: Removed.
3465         * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: New file.
3466         * sysdeps/powerpc/powerpc32/fpu/s_lroundf.S: New file.
3467         * sysdeps/powerpc/powerpc32/fpu/s_lround.S: New file.
3468         * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: New file.
3469         * sysdeps/powerpc/powerpc32/fpu/s_rint.S: New file.
3470         * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: New file.
3471         * sysdeps/powerpc/powerpc32/fpu/s_round.S: New file.
3472         * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: New file.
3473         * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: New file.
3475 2004-06-30  Ulrich Drepper  <drepper@redhat.com>
3477         * include/net/if.h: Handle if_nameindex and if_freenameindex with
3478         libc_proto_hidden.
3479         * sysdeps/unix/sysv/linux/netlinkaccess.h: New file.
3480         * sysdeps/unix/sysv/linux/ifaddrs.c: Export netlink handling functions.
3481         * sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Implement using
3482         netlink if possible.  Fall back on ioctl method if necessary.
3483         * sysdeps/unix/sysv/linux/Dist: Add netlinkaccess.h.
3485         * include/unistd.h: Declare __truncate.
3486         * sysdeps/generic/truncate.c: Also define __truncate.
3487         * sysdeps/mach/hurd/truncate.c: Likewise.
3488         * sysdeps/unix/common/syscalls.list: Likewise.
3489         * sysdeps/unix/sysv/linux/truncate64.c: Use __truncate, not truncate.
3491 2004-06-29  Ulrich Drepper  <drepper@redhat.com>
3493         * stdio-common/printf-parsemb.c (__parse_one_specmb): Initialize
3494         info.extra.  Patch by Marcus Meissner.
3496 2004-06-29  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3498         * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
3499         Fix branch offset for a PLT entry.
3501 2004-06-20  Jim Meyering  <jim@meyering.net>
3503         * malloc/obstack.h (obstack_base): Cast to `void *', to align with
3504         documentation.
3506 2004-06-28  Ulrich Drepper  <drepper@redhat.com>
3508         * inet/bug-if1.c (do_test): Simply use 0 as invalid index.
3509         Workaround for [BZ #232].
3511         * sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Use extend_alloca.
3513 2004-06-28  GOTO Masanori  <gotom@debian.or.jp>
3515         * iconv/gconv_simple.c: Use get16/put16 for user given buffer
3516         in ucs2/ucs2reverse when unaligned memory access is attempted.
3517         * iconv/tst-iconv5.c: New file.
3518         * iconv/Makefile (tests): Add tst-iconv5.
3520 2004-06-28  Jakub Jelinek  <jakub@redhat.com>
3522         * inet/bug-if1.c: Include <string.h>.
3524 2004-06-19  Roland McGrath  <roland@redhat.com>
3526         * sysdeps/posix/waitid.c (do_waitid) [DO_WAITID]: Define function
3527         under this macro name instead.
3528         [NO_DO_WAITID]: Don't define it at all.
3529         (do_waitid) [WNOWAIT, WEXITED]: If these POSIX.1 waitid flag bits are
3530         defined, then return ENOTSUP for combinations of selection bits other
3531         than WEXITED and WEXITED|WSTOPPED, which this version cannot support.
3533         * posix/tst-waitid.c: New file.
3534         * posix/Makefile (tests): Add it.
3536 2004-06-28  Jakub Jelinek  <jakub@redhat.com>
3538         * sysdeps/unix/alpha/sysdep.h (inline_syscall6): Fix a typo.
3540         [BZ #231]
3541         * sysdeps/unix/alpha/sysdep.S (__syscall_error): Avoid !samegp
3542         relocation in librt.so.
3544         [BZ #230]
3545         * sysdeps/alpha/dl-machine.h (_dl_start_user): Use ldah/ldl to load
3546         _dl_skip_args.  Patch by Jakub Bogusz <qboosh@pld-linux.org>.
3548 2004-06-27  Ulrich Drepper  <drepper@redhat.com>
3550         * elf/ldconfig.c (add_dir): Take chroot into account.
3551         Based on changes by HJ Lu and Hideki Iwamoto.
3553         * nscd/connections.c (invalidate_cache): If the host cache has to
3554         be invalidated, re-read resolv.conf.
3556         * resolv/resolv.h (RES_NOIP6DOTINT): Define.
3557         * resolv/res_init.c (res_setoptions): Handle no-ip6-dotint option.
3558         * resolv/gethnamaddr.c (gethostbyaddr): Don't lookup with .ip6.int
3559         if RES_NOIP6DOTINT flag is set.
3560         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise.
3562 2004-06-25  Jakub Jelinek  <jakub@redhat.com>
3564         * sysdeps/unix/sysv/linux/powerpc/fcntl.c: Move to...
3565         * sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c: ... here.
3566         * sysdeps/unix/sysv/linux/powerpc/lockf64.c: Move to...
3567         * sysdeps/unix/sysv/linux/powerpc/powerpc32/lockf64.c: ... here.
3568         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: New file.
3570         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_GETLK, F_SETLK,
3571         F_SETLKW): Fix values for -m32 -D_FILE_OFFSET_BITS=64.
3573 2004-06-21  Jakub Jelinek  <jakub@redhat.com>
3575         [BZ #231]
3576         * sysdeps/unix/alpha/Makefile: New file.
3577         * sysdeps/unix/alpha/rt-sysdep.S: New file.
3578         Reported by Jakub Bogusz <qboosh@pld-linux.org>.
3580 2004-06-18  Ulrich Drepper  <drepper@redhat.com>
3582         * sysdeps/posix/getaddrinfo.c (gaih_inet): For AI_CANONNAME,
3583         determine the canonical name only for the first returned entry.
3585         * inet/bug-if1.c: New file.
3586         * inet/Makefile (tests): Add bug-if1.
3588 2004-06-18  Roland McGrath  <roland@frob.com>
3590         * Makerules (compile-mkdep-flags): Add -MT $@.
3592         * Makefile (dist, tag-for-dist): New targets.
3593         (files-for-dist, tag-of-stem): New variables.
3594         (glibc-%.tar glibc-linuxthreads-%.tar): New pattern rule.
3595         Make tar files using cvs export.
3596         (%.bz2, %.gz, tag-%): New pattern rules.
3597         (distribute): Variable removed.
3598         (+subdir_targets): Remove distinfo targets.
3599         (echo_subdirs, echo-distinfo, parent_echo-distinfo): Targets removed.
3600         (rpm/%): Pattern rule removed.
3601         * rpm/Makefile, rpm/rpmrc, rpm/template: Ancient cruft files removed.
3602         * Rules (subdir_echo-headers, subdir_echo-distinfo, subdir_dist):
3603         Targets removed.
3604         * Makerules (dist, subdir_distinfo): Targets removed.
3605         ($(objpfx)distinfo): Depend on $(distribute).
3606         * Make-dist: File removed.
3608         * NEWS: Fix a typo.  Update bug-reporting instructions.
3610 2004-06-17  Thorsten Kukuk  <kukuk@suse.de>
3612         * sysdeps/unix/sysv/linux/sched_setaffinity.c
3613         (__sched_setaffinity_new): Set errno to EINVAL and return -1 if
3614         cpuset is wrongly set.
3616 2004-06-15  Steven Munroe  <sjmunroe@us.ibm.com>
3618         * sysdeps/powerpc/powerpc64/memcpy.S: Improve instruction scheduling
3619         for POWER4 machines.
3621 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
3623         [BZ #218]
3624         * sunrpc/pmap_prot2.c (xdr_pmaplist): When freeing, remember pml_next
3625         in a local variable, point rp to that local variable afterwards.
3627 2004-06-11  Jakub Jelinek  <jakub@redhat.com>
3629         * sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Handle special
3630         cases properly.
3632 2004-06-17  Ulrich Drepper  <drepper@redhat.com>
3634         * sysdeps/unix/sysv/linux/if_index.c (if_indextoname): Correct
3635         error value for unknown interface. [BZ #198]
3637 2004-06-13  Jakub Jelinek  <jakub@redhat.com>
3639         * sysdeps/i386/bits/string.h (memcpy): Add () around arguments.
3640         (memchr, __memrchr, strlen, strcmp, strncmp, __strchr_g, __strchr_c,
3641         __strchrnul_g, __strchrnul_c, strspn, strcspn, strpbrk): Add memory
3642         the asm uses as its input, either of size __n where __n is known or
3643         0xfffffff.
3644         (strstr): Add "memory" clobber.
3646 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
3648         [BZ #219]
3649         * nss/nsswitch.c (free_mem): Don't try to close a library handle
3650         if the handle is invalid.  Patch by David Kimdon <kimdon@esrf.fr>.
3652 2004-06-11  Dmitry V. Levin  <ldv@altlinux.org>
3654         [BZ #217]
3655         * debug/xtrace.sh: Fix typo in error diagnostics.
3657 2004-06-14  Andreas Schwab  <schwab@suse.de>
3659         * stdio-common/psignal.c (psignal): Don't use BUF when asprintf
3660         failed.
3662 2004-06-15  Steven Munroe  <sjmunroe@us.ibm.com>
3664         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Fix pasto
3665         that clobbers r19.  Fix pasto that overflowed sigcontext.v_reserve.
3666         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Fix pasto
3667         that clobbers r19.
3668         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Fix pasto
3669         that clobbers r19.  Fix pasto that overflowed sigcontext.v_reserve.
3670         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S:
3671         Fix setting of sigcontext.v_regs.  Fix pasto that clobbers r19.
3672         Fix pasto that overflowed sigcontext.v_reserve.
3673         * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S:
3674         Fix pasto that clobbers r19.
3675         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Fix setting
3676         of sigcontext.v_regs.  Fix pasto that clobbers r19.  Fix pasto that
3677         overflowed sigcontext.v_reserve.
3679 2004-05-04  H.J. Lu  <hongjiu.lu@intel.com>
3681         [BZ #150]
3682         * sysdeps/generic/strtol_l.c (DEF): Use ".gnu.linkonce.r."
3683         instead of ".gnu.linkonce.ro." as the prefix for linkonce
3684         read-only section name.
3686 2004-06-14  Richard Henderson  <rth@redhat.com>
3688         * sysdeps/alpha/div_libc.h (_ITOFS): Use "sp" not "$sp".
3689         (_ITOFT, _FTOIT, _ITOFT2): Likewise.
3691 2004-06-08  Jakub Jelinek  <jakub@redhat.com>
3693         * sysdeps/s390/s390-32/backtrace.c (init): Guard with #ifdef SHARED.
3694         (unwind_backtrace, unwind_getip): Define #ifndef SHARED.
3695         (__backtrace): Don't call init #ifndef SHARED.
3696         * sysdeps/s390/s390-64/backtrace.c (init): Guard with #ifdef SHARED.
3697         (unwind_backtrace, unwind_getip): Define #ifndef SHARED.
3698         (__backtrace): Don't call init #ifndef SHARED.
3699         * sysdeps/ia64/backtrace.c (init): Guard with #ifdef SHARED.
3700         (unwind_backtrace, unwind_getip): Define #ifndef SHARED.
3701         (__backtrace): Don't call init #ifndef SHARED.
3703 2004-06-11  Roland McGrath  <roland@redhat.com>
3705         * sysdeps/arm/strlen.S [__ARMEB__]: Compute correctly for big-endian.
3706         From Krzysztof Halasa <khc@pm.waw.pl>.
3708 2004-06-10  Jakub Jelinek  <jakub@redhat.com>
3710         * elf/tls-macros.h [__s390x__] (TLS_LD, TLS_GD): Clobber also r14.
3712 2004-06-08  Jakub Jelinek  <jakub@redhat.com>
3714         [BZ #199]
3715         * crypt/md5-crypt.c (__md5_crypt): Only update buflen if realloc
3716         succeeds.  Reported by Miles Ohlrich <miles@cray.com>.
3718         * elf/chroot_canon.c (chroot_canon): Avoid segfault if first malloc
3719         fails.  Avoid memory leak if realloc fails.
3721 2004-06-09  Jakub Jelinek  <jakub@redhat.com>
3723         * sysdeps/generic/setenv.c (setenv): Return -1/EINVAL if name is
3724         NULL, "" or contains '=' character in it.  Reported by
3725         Michael T Kerrisk <mtk-lists@gmx.net>.
3726         * stdlib/tst-environ.c: Include errno.h.
3727         (main): Add tests for these arguments to setenv/unsetenv.
3729 2004-06-07  Roland McGrath  <roland@frob.com>
3731         * NEWS: Update bug reporting instructions.  Fix some typos.
3733 2004-06-05  Ulrich Drepper  <drepper@redhat.com>
3735         * stdio-common/_itoa.h: Don't expand _itoa inline for libc.
3736         * stdio-common/_itoa.c: Add _itoa implementation.
3738         * nscd/nscd_gethst_r.c (__nscd_open_socket): Change implementation
3739         to also send request.  Add parameter to allow this.
3740         Change callers.
3741         * nscd/nscd_getgr_r.c: Change __nscd_open_socket caller.
3742         * nscd/nscd_getpw_r.c: Likewise.
3743         * nscd/nscd-client.h: Change __nscd_open_socket prototype.
3745 2004-06-05  Andreas Jaeger  <aj@suse.de>
3747         * sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext):
3748         Handle more than 6 args correctly.  Based on a patch by Masahide
3749         Washizawa <washi@jp.ibm.com>.
3751 2004-06-04  Ulrich Drepper  <drepper@redhat.com>
3753         * nscd/nscd_gethst_r.c (nscd_gethst_r): Use __nss_not_use_nscd_hosts
3754         in all places, not __nss_not_use_nscd_group.
3755         Reported by Philippe Gregoire.
3757 2004-06-03  Ulrich Drepper  <drepper@redhat.com>
3759         * sysdeps/i386/i486/bits/atomic.h: Optimize a bit.
3761 2004-05-07  Dmitry V. Levin  <ldv@altlinux.org>
3763         * argp/argp-help.c (__argp_error, __argp_failure): Check result
3764         of __asprintf call and don't use string if it failed.
3765         * stdio-common/psignal.c (psignal): Likewise.
3766         * locale/programs/localedef.c (more_help): Likewise.
3767         * resolv/res_hconf.c (arg_service_list, arg_trimdomain_list,
3768         arg_bool, parse_line): Check result of __asprintf calls and
3769         don't use string if they failed.
3770         * sunrpc/svc_simple.c (registerrpc, universal): Likewise.
3771         * elf/ldconfig.c (parse_conf_include): Check result of __asprintf
3772         call and exit if it failed.
3774 2004-05-10  Jakub Jelinek  <jakub@redhat.com>
3776         * sysdeps/posix/sysconf.c (__sysconf) <cases _SC_REALTIME_SIGNALS,
3777         _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO,
3778         _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES,
3779         _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION,
3780         _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS,
3781         _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_THREAD_ATTR_STACKADDR,
3782         _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING,
3783         _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT,
3784         _SC_THREAD_PROCESS_SHARED>: Return _POSIX_* value instead of 1.
3785         * sysdeps/unix/sysv/linux/sysconf.c (__sysconf)
3786         <case _SC_MONOTONIC_CLOCK>: Return _POSIX_VERSION instead of 1.
3788 2004-05-07  Jeroen Dekkers  <jeroen@dekkers.cx>
3790         * sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Add
3791         -momit-leaf-frame-pointer.
3793         * inet/test-ifaddrs.c (addr_string): Surround AF_PACKET case with
3794         #ifdef AF_PACKET.
3796         * sysdeps/mach/hurd/getcwd.c
3797         (_hurd_canonicalize_directory_name_intern): Only realloc when
3798         size is <= 0.
3800         * sysdeps/mach/hurd/mmap.c (__mmap): Fail when addr or offset
3801         isn't page aligned.
3803         * sysdeps/mach/hurd/spawni.c (EXPAND_DTABLE): Set dtablesize to
3804         new size.
3806         * sysdeps/mach/hurd/Versions (GLIBC_PRIVATE): Add __libc_read,
3807         __libc_write and __libc_lseek64.
3809 2004-05-29  Roland McGrath  <roland@redhat.com>
3811         * elf/Makefile (shared-only-routines): Add dl-caller.
3813 2004-05-28  Ulrich Drepper  <drepper@redhat.com>
3815         * sysdeps/powerpc/configure.in: New file.
3817 2004-05-28  Steven Munroe  <sjmunroe@us.ibm.com>
3819         * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Add .machine
3820         "altivec" to enable VMX instructions.
3821         * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
3822         * sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
3823         * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
3824         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
3825         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
3826         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
3827         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
3828         * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
3829         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
3831 2004-05-27  Jakub Jelinek  <jakub@redhat.com>
3833         * sysdeps/i386/fpu/bits/mathinline.h (__expm1_code): Define using
3834         __builtin_expm1l for GCC 3.5+.
3835         (__expl): Define using __builtin_expl for GCC 3.4+.
3836         (exp, expf, expl): Don't define for GCC 3.4+.
3837         (tan, tanf, tanl): Don't define for GCC 3.5+.
3838         (__atan2l): Define using __builtin_atan2l for GCC 3.4+.
3839         (atan2, atan2f, atan2l): Don't define for GCC 3.4+ or !__FAST_MATH__.
3840         (fmod, fmodf, fmodl): Don't define for GCC 3.5+ or !__FAST_MATH__.
3841         (fabsf, fabsl): Only provide if __USE_MISC or __USE_ISOC99.
3842         (sin, sinf, sinl, cos, cosf, cosl, log, logf, logl): Don't define
3843         for GCC 3.4+.
3844         (log10, log10f, log10l, asin, asinf, asinl, acos, acosf, acosl):
3845         Don't define for GCC 3.5+.
3846         (atan, atanf, atanl): Don't define for GCC 3.4+ or !__FAST_MATH__.
3847         (log1p, log1pf, log1pl, logb, logbf, logbl, log2, log2f, log2l): Don't
3848         define for GCC 3.5+.
3849         (drem, dremf, dreml): Don't define for GCC 3.5+ or !__FAST_MATH__.
3850         * sysdeps/sparc/fpu/bits/mathinline.h (sqrt, sqrtf, sqrtl): Don't
3851         define for GCC 3.2+.
3853 2004-05-27  Jakub Jelinek  <jakub@redhat.com>
3855         * string/bits/string2.h (__bzero): Define even for GCC 3.0+.
3856         * sysdeps/alpha/stpcpy.S (stpcpy): Add libc_hidden_builtin_def.
3857         * sysdeps/alpha/alphaev67/stpcpy.S (stpcpy): Likewise.
3858         * sysdeps/powerpc/powerpc32/stpcpy.S (stpcpy): Likewise.
3859         * sysdeps/powerpc/powerpc64/stpcpy.S (stpcpy): Likewise.
3860         * sysdeps/sparc/sparc32/stpcpy.S (stpcpy): Likewise.
3861         * sysdeps/sparc/sparc64/stpcpy.S (stpcpy): Likewise.
3862         * sysdeps/i386/stpcpy.S (stpcpy): Likewise.
3863         * sysdeps/i386/i586/stpcpy.S (stpcpy): Likewise.
3864         * sysdeps/generic/stpcpy.c (stpcpy): Likewise.
3865         * sysdeps/x86_64/stpcpy.S (stpcpy): Likewise.
3866         * sysdeps/i386/i586/memcpy.S (memcpy): Remove
3867         libc_hidden_builtin_def if MEMPCPY_P.
3868         * sysdeps/x86_64/memcpy.S (memcpy): Likewise.
3869         * sysdeps/i386/i686/mempcpy.S (mempcpy): Add libc_hidden_builtin_def.
3870         * sysdeps/i386/i586/mempcpy.S (mempcpy): Likewise.
3871         * sysdeps/generic/mempcpy.c (mempcpy): Likewise.
3872         * sysdeps/x86_64/mempcpy.S (mempcpy): Likewise.
3874 2004-05-26  Roland McGrath  <roland@frob.com>
3876         * sysdeps/generic/bits/in.h
3877         (IMPLINK_IP, IMPLINK_LOWEXPER, IMPLINK_HIGHEXPER): Macros removed.
3878         These are long obsolete in BSD systems where they originated.
3879         * conform/data/netinet/in.h-data: Remove `allow IMPLINK_*'
3881 2004-05-26  Jakub Jelinek  <jakub@redhat.com>
3883         * include/string.h (mempcpy, stpcpy): Add libc_hidden_builtin_proto.
3884         * string/bits/string2.h (memset): Disable macro for GCC 3.0+.
3885         (__mempcpy): Use __builtin_mempcpy for GCC 3.4+.
3886         (strchr): For GCC 3.2+, only use __rawmemchr if second argument is
3887         constant '\0' and first argument is not constant.
3888         (__stpcpy): Use __builtin_stpcpy for GCC 3.4+.
3889         (strncpy): Remove #ifdef _USE_STRING_ARCH_mempcpy variant.
3890         For GCC 3.2+ use __builtin_strncpy.
3891         (strncat): For GCC 3.2+ use __builtin_strncat.
3892         (strcmp): For GCC 3.2+ use __builtin_strcmp if both arguments are
3893         constant.
3894         (strcspn, strspn, strpbrk): For GCC 3.2+, use builtin function
3895         if both arguments are constant.
3897 2004-05-26  Ulrich Drepper  <drepper@redhat.com>
3899         * nss/nss_files/files-hosts.c: Fix condition for looking up IPv4
3900         mapped addresses in gethostbyaddr.
3902 2004-05-25  Ulrich Drepper  <drepper@redhat.com>
3904         * nss/digits_dots.c (__nss_hostname_digits_dots): Remove typep and
3905         flags parameter, convert afp to simple int parameter.  Adjust code.
3906         typep was never != NULL and flags therefore also unused.  *afp is
3907         never modified.
3908         * nss/nsswitch.h: Adjust __nss_hostname_digits_dots prototype.
3909         * nss/getXXbyYY.c: Remove HAVE_TYPE handling.  Adjust af parameter
3910         handling for __nss_hostname_digits_dots calls.
3911         * nss/getXXbyYY_r.c: Likewise.
3913         * elf/dl-load.c (_dl_map_object_from_fd): Map DSOs with MAP_DENYWRITE.
3915 2004-05-25  Steven Munroe  <sjmunroe@us.ibm.com>
3917         * sysdeps/powerpc/fpu/Makefile: Make ld.so a dependency of libm.so.
3918         * sysdeps/powerpc/fpu/bits/mathinline.h [__LIBC_INERNAL_MATH_INLINES]
3919         (__ieee754_sqrt): Define as __MATH_INLINE using fsqrt instruction.
3920         (__ieee754_sqrtf): Define as __MATH_INLINE using fsqrts instruction.
3921         * sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrt): Moved
3922         implementation from w_sqrt.c.
3923         * sysdeps/powerpc/fpu/e_sqrtf.c (__slow_ieee754_sqrtf): Moved
3924         implementation from w_sqrtf.c.
3925         * sysdeps/powerpc/fpu/w_sqrt.c (__sqrt): Wrapper implementation
3926         using inline __ieee754_sqrt().
3927         * sysdeps/powerpc/fpu/w_sqrtf.c (__sqrtf): Wrapper implementation
3928         using inline __ieee754_sqrtf().
3929         * sysdeps/powerpc/powerpc32/sysdep.h [__ASSEMBLER__]: Include
3930         <sysdeps/powerpc/sysdep.h> independent of __ASSEMBLER__.
3931         * sysdeps/powerpc/sysdep.h [__ASSEMBLER__] (PPC_FEATURE_*): Define
3932         PPC_FEATURE_*  independent of __ASSEMBLER__.
3934 2004-05-25  Jakub Jelinek  <jakub@redhat.com>
3936         * sysdeps/pthread/aio_notify.c: Use <> instead of "" for aio_misc.h
3937         include.
3938         (aio_start_notify_thread): Define if not defined.
3939         (notify_func_wrapper): Use it.
3940         * sysdeps/pthread/aio_misc.c: Use <> instead of "" for aio_misc.h
3941         include.
3942         (aio_create_helper_thread): Define if not defined.
3943         (__aio_create_helper_thread): New function.
3944         (__aio_enqueue_request): Use aio_create_helper_thread.
3946         * nis/ypclnt.c (ypall_data, ypall_foreach): Remove.
3947         (struct ypresp_all_data): New type.
3948         (__xdr_ypresp_all): Change second argument to
3949         struct ypresp_all_data *.  Replace ypall_foreach and
3950         ypall_data with objp->foreach and objp->data.
3951         (yp_all): Remove status variable, add data.  Replace
3952         all uses of status with data.status.  Initialize data.foreach
3953         and data.data instead of ypall_foreach and ypall_data.
3955 2004-05-24  Jakub Jelinek  <jakub@redhat.com>
3957         * elf/dl-lookup.c (add_dependency): Set DF_1_NODELETE bit
3958         in l_flags_1, not in l_flags.
3960 2004-04-10  Robert Millan  <robertmh@gnu.org>
3962         * sysdeps/unix/sysv/linux/bits/in.h: Cosmetic fixes to get in sync
3963         with sysdeps/generic/bits/in.h.
3965 2004-05-25  Roland McGrath  <roland@frob.com>
3967         * sysdeps/generic/unwind-dw2-fde-glibc.c: Change copyright terms from
3968         GCC GPL to standard glibc LGPL.
3970 2004-05-24  Ulrich Drepper  <drepper@redhat.com>
3972         * manual/string.texi (Copying and Concatenation): Fixed second
3973         concat example.
3974         Reported by Fabian Pietsch <fabian@zzznowman.dyndns.org>.
3976 2004-05-23  Ulrich Drepper  <drepper@redhat.com>
3978         * malloc/obstack.c: Don't allow linking with _obstack.
3980 2004-05-23  Andreas Schwab  <schwab@suse.de>
3982         * sysdeps/m68k/m68020/bits/atomic.h: Use "+m" constraint instead
3983         of separate "m" constraints.
3985 2004-05-15  Chris Demetriou  <cgd@broadcom.com>
3987         * sysdeps/mips/dl-machine.h (ELF_DL_FRAME_SIZE)
3988         (ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS): For the N32
3989         and 64 ABIs, save and restore regs $10 and $11 (a6 and a7).
3991 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
3993         * malloc/obstack.c (_obstack) [!defined _LIBC]: Remove; not used.
3994         Add comment explaining why libc still defines it.
3996 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3998         * malloc/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
3999         obstack_alignment_mask, obstack_alloc, obstack_base,
4000         obstack_blank, obstack_blank_fast, obstack_chunk_size,
4001         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
4002         obstack_grow0, obstack_init, obstack_int_grow,
4003         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
4004         obstack_next_free, obstack_object_size, obstack_ptr_grow,
4005         obstack_ptr_grow_fast, obstack_room): Remove declarations of
4006         nonexistent functions.
4008 2004-05-18  Steven Munroe  <sjmunroe@us.ibm.com>
4010         * sysdeps/powerpc/powerpc64/sysdep.h [__ASSEMBLER__]: Include
4011         <sysdeps/powerpc/sysdep.h> independent of __ASSEMBLER__.
4012         [PIC]: Redundent for powerpc64, removed.
4013         (ENTRY): Generate size and alignment for opd entry.
4014         (EALIGN): Generate size and alignment for opd entry.
4015         (END): Use DOT_LABEL in ASM_SIZE_DIRECTIVE.
4016         (END_GEN_TB): Use DOT_LABEL in ASM_SIZE_DIRECTIVE.
4018 2004-05-19  Ulrich Drepper  <drepper@redhat.com>
4020         * misc/regexp.h: Say the functions have been withdrawn.
4022         * wcsmbs/tst-wcpncpy.c: Add more tests.
4024 2004-05-18  Roland McGrath  <roland@frob.com>
4026         * sysdeps/generic/unwind.h: Change copyright terms from GCC GPL to
4027         standard glibc LGPL.
4028         * sysdeps/generic/unwind-dw2.c: Likewise.
4029         * sysdeps/generic/unwind-dw2-fde.c: Likewise.
4030         * sysdeps/generic/unwind-dw2-fde.h: Likewise.
4031         * sysdeps/generic/unwind-pe.h: Likewise.
4033 2004-05-15  Petter Reinholdtsen  <pere@hungry.com>
4035         * locale/iso-3166.def: Remove YUGOSLAVIA and insert "SERBIA AND
4036         MONTENEGRO" which have taken over the code 819.  Patch from
4037         Danilo Segan. [BZ #40]
4039 2004-05-15  Jakub Jelinek  <jakub@redhat.com>
4041         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
4042         (SYSCALL_ERROR_HANDLER): Rename __sparc.get_pic.l7 to
4043         __sparc_get_pic_l7.
4045 2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
4047         * catgets/gencat.c: Update bug reporting instructions.
4048         * csu/version.c: Likewise.
4049         * debug/catchsegv.sh: Likewise.
4050         * debug/pcprofiledump.c: Likewise.
4051         * debug/xtrace.sh: Likewise.
4052         * elf/ldd.bash.in: Likewise.
4053         * iconv/iconv_prog.c: Likewise.
4054         * iconv/iconvconfig.c: Likewise.
4055         * locale/programs/locale.c: Likewise.
4056         * locale/programs/localedef.c: Likewise.
4057         * login/programs/pt_chown.c: Likewise.
4058         * malloc/memusage.sh: Likewise.
4059         * malloc/memusagestat.c: Likewise.
4060         * malloc/mtrace.pl: Likewise.
4061         * manual/crypt.texi: Likewise.
4062         * manual/install.texi: Likewise.
4063         * nss/makedb.c: Likewise.
4065 2004-05-14  Jakub Jelinek  <jakub@redhat.com>
4067         * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Only
4068         CHECK_STATIC_TLS if sym != NULL.
4069         * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
4070         * sysdeps/i386/dl-machine.h (elf_machine_rela): Likewise.
4072 2004-05-12  Andreas Schwab  <schwab@suse.de>
4074         * posix/regex_internal.c (build_wcs_buffer): Also set pstr->mbs
4075         when translating.
4077 2004-05-13  H.J. Lu  <hongjiu.lu@intel.com>
4079         * Rules (xtests): Depend on tests.
4081 2004-05-13  Jakub Jelinek  <jakub@redhat.com>
4083         * libio/genops.c (_IO_default_xsputn): Avoid one overflow per char if
4084         count is negative, yet write_ptr < write_end.
4085         (_IO_default_xsgetn): Avoid one underflow per char if count is
4086         negative, yet read_ptr < read_end.
4088 2004-05-12  Steven Munroe  <sjmunroe@us.ibm.com>
4090         * sysdeps/unix/sysv/linux/powerpc/bits/termios.h (XTABS): Define XTABS
4091         equal to TAB3.
4093 2004-05-12  Ulrich Drepper  <drepper@redhat.com>
4095         * elf/dl-lookup.c (_dl_lookup_symbol_x): Correct _dl_signal_cerror
4096         call.
4098 2004-05-10  Roland McGrath  <roland@frob.com>
4100         * hurd/hurdlookup.c (__hurd_file_name_split): Return ENOENT for "".
4101         (__hurd_directory_name_split): Likewise.
4103 2004-05-10  Ulrich Drepper  <drepper@redhat.com>
4105         * po/fr.po: Update from translation team.
4107 2004-05-10  Andreas Jaeger  <aj@suse.de>
4109         * sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext):
4110         Correctly compute alignment.
4111         Patch by Michael Matz <matz@suse.de>.
4113 2004-05-09  Ulrich Drepper  <drepper@redhat.com>
4115         * sysdeps/generic/sigpause.c: Prevent sigpause prototype.
4116         * sysdeps/posix/sigpause.c: Likewise.
4117         * signal/signal.h: Don't define sigpause macro unless needed.
4119 2004-05-08  Jakub Jelinek  <jakub@redhat.com>
4121         * configure.in (libc_cv_libgcc_s_suffix): New check.
4122         (libc_cv_as_needed): Use -lgcc_s$libc_cv_libgcc_s_suffix.
4123         * config.make.in (libgcc_s_suffix): Set.
4124         * Makeconfig (libgcc_eh): Use -lgcc_s$(libgcc_s_suffix).
4126 2004-05-08  Ulrich Drepper  <drepper@redhat.com>
4128         * signal/signal.h: Use BSD sigpause only if BSD behavior is preferred.
4130 2004-04-29  Steven Munroe  <sjmunroe@us.ibm.com>
4132         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (LOADARGS_1,
4133         LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, LOADARGS_6):
4134         Load argument values into temporary variables.
4135         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (LOADARGS_1,
4136         LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, LOADARGS_6):
4137         Likewise.
4139 2004-05-07  Ulrich Drepper  <drepper@redhat.com>
4141         * sysdeps/unix/sysv/linux/Makefile: mq_send.c and mq_receive.c
4142         need to be compiled with exceptions.
4144 2004-05-06  Ulrich Drepper  <drepper@redhat.com>
4146         * sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Fix memory handling.
4147         * sysdeps/generic/ifreq.c (__ifreq): Fix memory handling.
4149         * resolv/res_hconf.c (_res_hconf_reorder_addrs): Make clear that
4150         realloc cannot fail.
4152         * nss/nss_files/files-netgrp.c (EXPAND): Free buffer which cannot
4153         be expanded.
4155         * nis/nis_table.c: Clean up memory handling.
4156         * nis/nis_subr.c (nis_getnames): Clean up memory handling.
4157         * nis/nis_removemember.c (nis_removemember): Add comment
4158         explaining use of realloc.
4160         * math/tgmath.h (fabs): Use __TGMATH_UNARY_REAL_IMAG_RET_REAL.
4161         (carg): Likewise.
4162         Patch by Lev S Bishop <lev.bishop@yale.edu>.
4164         * math/bug-tgmath1.c (main): Test fabs and carg as well.
4166 2004-05-06  Richard Henderson  <rth@redhat.com>
4168         * elf/elf.h (AT_L1I_CACHESHAPE, AT_L1D_CACHESHAPE,
4169         AT_L2_CACHESHAPE, AT_L3_CACHESHAPE): New.
4170         * sysdeps/unix/sysv/linux/alpha/Versions: Export
4171         __libc_alpha_cache_shape as a private symbol.
4172         * sysdeps/unix/sysv/linux/alpha/dl-sysdep.c: New file.
4173         * sysdeps/unix/sysv/linux/alpha/sysconf.c: New file.
4175 2004-05-06  Richard Henderson  <rth@redhat.com>
4177         * sysdeps/alpha/div_libc.h (_ITOFS, _ITOFT, _FTOIT, _ITOFT2): New.
4178         * sysdeps/alpha/divl.S: Use them.
4179         * sysdeps/alpha/divq.S: Likewise.
4180         * sysdeps/alpha/divqu.S: Likewise.
4181         * sysdeps/alpha/reml.S: Likewise.
4182         * sysdeps/alpha/remq.S: Likewise.
4183         * sysdeps/alpha/remqu.S: Likewise.
4185 2004-05-06  Ulrich Drepper  <drepper@redhat.com>
4187         * math/tgmath.h (__TGMATH_UNARY_REAL_IMAG_RET_REAL):Define.
4188         (cimag): Use it.
4189         (creal): Likewise.
4190         * math/Makefile (tests): Add bug-tgmath1.
4191         * math/bug-tgmath1.c: New file.
4193 2004-05-05  Jakub Jelinek  <jakub@redhat.com>
4195         * sysdeps/alpha/atomicity.h: Remove.
4196         * sysdeps/generic/atomicity.h: Remove.
4198 2004-05-05  H.J. Lu  <hongjiu.lu@intel.com>
4200         * sysdeps/i386/i486/bits/string.h (strpbrk): Cast return to
4201         char *.
4203 2004-04-22  David Mosberger  <davidm@hpl.hp.com>
4205         * sysdeps/unix/sysv/linux/ia64/Makefile (librt-routines): Mention
4206           rt-sysdep.
4207         * sysdeps/unix/sysv/linux/ia64/rt-sysdep.S: New file.
4209         * sysdeps/ia64/strcat.c: New file.
4210         * sysdeps/ia64/strcat.S: Delete.
4212 2004-05-04  Jakub Jelinek  <jakub@redhat.com>
4214         * sysdeps/unix/sysv/linux/ia64/sysdep.S (USE___THREAD): Remove
4215         defined.
4217 2004-04-23  Jakub Jelinek  <jakub@redhat.com>
4219         * sysdeps/ia64/fpu/libm_support.h (__libm_error_support): Add
4220         libc_hidden_proto.  Define to __GI___libm_error_support for
4221         assembly going into libc.so.
4222         * sysdeps/ia64/fpu/libc_libm_error.c (__libm_error_support): Add
4223         libc_hidden_def.
4225         * include/libc-symbols.h (HIDDEN_BUILTIN_JUMPTARGET): Define.
4226         * sysdeps/ia64/bcopy.S (bcopy): Use it for jump to memmove.
4228         * sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Access
4229         gprel errno if RTLD_PRIVATE_ERRNO or __thread __libc_errno/errno
4230         if USE___THREAD.
4232 2004-05-03  Jakub Jelinek  <jakub@redhat.com>
4234         * sysdeps/unix/bsd/bits/fcntl.h (F_SETOWN, F_GETOWN): Define if
4235         __USE_BSD or __USE_UNIX98.
4236         * sysdeps/unix/bsd/ultrix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
4237         * sysdeps/unix/bsd/bsd4.4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
4238         * sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h (F_SETOWN, F_GETOWN):
4239         Likewise.
4240         * sysdeps/unix/common/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
4241         * sysdeps/unix/sysv/aix/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
4242         * sysdeps/unix/sysv/irix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
4243         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (F_SETOWN, F_GETOWN):
4244         Likewise.
4245         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (F_SETOWN, F_GETOWN):
4246         Likewise.
4247         * sysdeps/unix/sysv/linux/cris/bits/fcntl.h (F_SETOWN, F_GETOWN):
4248         Likewise.
4249         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (F_SETOWN, F_GETOWN):
4250         Likewise.
4251         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (F_SETOWN, F_GETOWN):
4252         Likewise.
4253         * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN, F_GETOWN):
4254         Likewise.
4255         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (F_SETOWN, F_GETOWN):
4256         Likewise.
4257         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (F_SETOWN, F_GETOWN):
4258         Likewise.
4259         * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (F_SETOWN, F_GETOWN):
4260         Likewise.
4261         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (F_SETOWN, F_GETOWN):
4262         Likewise.
4263         * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (F_SETOWN, F_GETOWN):
4264         Likewise.
4265         * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (F_SETOWN, F_GETOWN):
4266         Likewise.
4267         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_SETOWN, F_GETOWN):
4268         Likewise.
4269         * sysdeps/generic/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
4270         * sysdeps/mach/hurd/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
4271         * io/sys/stat.h (S_ISSOCK, S_IFSOCK): Likewise.
4273 2004-05-01  Jakub Jelinek  <jakub@redhat.com>
4275         * posix/Versions (libc): Remove __libc_wait, __libc_waitpid,
4276         __libc_pause, __libc_nanosleep, __libc_pread, __libc_pread64,
4277         __libc_pwrite64, __waitid and __pselect @@GLIBC_PRIVATE.
4278         * stdlib/Versions (libc): Remove __on_exit@@GLIBC_PRIVATE.
4279         * sysdeps/unix/sysv/linux/Versions (libc): Remove
4280         __libc_sigaction@@GLIBC_PRIVATE.
4281         * sysdeps/unix/sysv/linux/x86_64/Versions (libc): Remove
4282         __modify_ldt@@GLIBC_PRIVATE.
4283         * socket/Versions (libc): Remove __libc_accept, __libc_send,
4284         __libc_recvfrom, __libc_recvmsg, __libc_sendmsg, __libc_recv,
4285         __libc_sendto and __libc_connect @@GLIBC_PRIVATE.
4286         * stdio-common/Versions (libc): Remove
4287         _itoa_upper_digits@@GLIBC_PRIVATE.
4288         * resolv/Versions (libresolv): Remove __ns_samename@@GLIBC_PRIVATE.
4289         * misc/Versions (libc): Remove __libc_fsync, __libc_msync,
4290         __libc_readv and __libc_writev @@GLIBC_PRIVATE.
4291         * termios/Versions (libc): Remove __libc_tcdrain@@GLIBC_PRIVATE.
4292         * io/Versions (libc): Remove __libc_open, __libc_close, __libc_read,
4293         __libc_write, __libc_lseek, __libc_fcntl, __libc_open64 and
4294         __libc_lseek64 @@GLIBC_PRIVATE.
4296 2004-04-30  Jakub Jelinek  <jakub@redhat.com>
4298         * elf/dl-load.c (open_verify): Move e_phentsize check after e_type
4299         check.
4301 2004-04-29  Steven Munroe  <sjmunroe@us.ibm.com>
4303         * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: New file.
4304         * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: New file.
4305         * sysdeps/powerpc/powerpc64/fpu/s_floor.S: New file.
4306         * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: New file.
4307         * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: Removed.
4308         * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: New file.
4309         * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: Removed.
4310         * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: New file.
4311         * sysdeps/powerpc/powerpc64/fpu/s_llround.S: New file.
4312         * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: New file.
4313         * sysdeps/powerpc/powerpc64/fpu/s_lround.S: New file.
4314         * sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: New file.
4315         * sysdeps/powerpc/powerpc64/fpu/s_rint.S: New file.
4316         * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: New file.
4317         * sysdeps/powerpc/powerpc64/fpu/s_round.S: New file.
4318         * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: New file.
4319         * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: New file.
4320         * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: New file.
4322         * math/test-misc.c [LDBL_MANT_DIG == 106](main): Correct LDBL_MAX
4323         mantissa for AIX long double format.
4324         * misc/qefgcvt.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Define for AIX
4325         long double format.
4326         * misc/qefgcvt_r.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Likewise.
4327         * stdlib/fpioconst.c [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024]
4328         (_fpioconst_pow10): AIX long double format has same exponent range as
4329         double.
4330         * stdlib/fpioconst.h [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024]
4331         (LDBL_MAX_10_EXP_LOG): AIX long double format has same exponent range
4332         as double.
4334 2004-04-23  Art Haas  <ahaas@airmail.net>
4336         * sysdeps/unix/sysv/linux/kernel-features.h: Add 'defined'.
4338 2004-04-28  Carlos O'Donell  <carlos@baldric.uwo.ca>
4340         * sysdeps/unix/sysv/linux/mq_getattr.c: Include <stddef.h>.
4341         * sysdeps/unix/sysv/linux/mq_notify.c: Likewise.
4342         * sysdeps/unix/sysv/linux/mq_open.c: Likewise.
4343         * sysdeps/unix/sysv/linux/mq_receive.c: Likewise.
4344         * sysdeps/unix/sysv/linux/mq_send.c: Likewise.
4346 2004-04-29  Philip Blundell  <pb@nexus.co.uk>
4348         * sysdeps/arm/dl-machine.h (RTLD_START): Avoid unnecessary GOT
4349         entries.
4351 2004-04-29  Jakub Jelinek  <jakub@redhat.com>
4353         * manual/resource.texi (sched_setaffinity, sched_getaffinity): Fix
4354         prototypes and description [BZ #131].
4356         * string/bits/string2.h (strpbrk): Cast NULL to char * [BZ #130].
4357         Patch by Ed Catmur <ed@catmur.co.uk>.
4358         * string/tst-inlcall.c (main): Add test for strpbrk.
4360         [BZ #140]
4361         * sysdeps/unix/sysv/linux/sys/sysctl.h: Remove linux/compiler.h
4362         include.
4363         (_LINUX_KERNEL_H, _LINUX_TYPES_H, _LINUX_LIST_H): Only define if not
4364         yet defined, #undef back after including linux/sysctl.h if defined
4365         here.
4366         (__LINUX_COMPILER_H, __user): Define if not yet defined, #undef
4367         back after including linux/sysctl.h if defined here.
4369         * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c (_Qp_qtoi): Use %f31
4370         for single precision register, add it to __asm clobbers [BZ #139].
4371         * sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c (_Qp_qtoui): Use %f31
4372         for single precision register, add it to __asm clobbers.
4373         * sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c (_Qp_qtoux): Use fqtox
4374         instead of fqtoi in QP_HANDLE_EXCEPTIONS.
4375         * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c (_Qp_qtox): Likewise.
4376         Reported by M. H. VanLeeuwen <vanl@megsinet.net>.
4378 2004-04-23  Andreas Schwab  <schwab@suse.de>
4380         * sysdeps/unix/sysv/linux/m68k/register-dump.h: Use
4381         __attribute_used__.
4383 2004-04-22  Philip Blundell  <philb@gnu.org>
4385         * sysdeps/arm/dl-machine.h (elf_machine_rela): Don't use INTUSE
4386         when calling _dl_signal_error.
4387         (elf_machine_rel): Likewise.
4389 2004-04-21  Ulrich Drepper  <drepper@redhat.com>
4391         * sysdeps/unix/sysv/linux/ia64/setjmp.S: Define _GI___sigsetjmp
4392         and use it internally instead of __sigsetjmp.
4393         * sysdeps/ia64/fpu/s_frexpf.c (frexpf): Use _GI___libm_frexp_4f.
4394         * sysdeps/ia64/fpu/s_frexpl.c (frexpl): Use _GI___libm_frexp_4l.
4395         * sysdeps/ia64/fpu/libm_frexp4.S: Define _GI___libm_frexp_4.
4396         * sysdeps/ia64/fpu/libm_frexp4f.S: Define _GI___libm_frexp_4f.
4397         * sysdeps/ia64/fpu/libm_frexp4l.S: Define _GI___libm_frexp_4l.
4398         * sysdeps/ia64/fpu/s_frexp.c (frexp): Use _GI___libm_frexp_4.
4399         * sysdeps/ia64/fpu/libm_support.h: Declare _GI___libm_frexp_4,
4400         _GI___libm_frexp_4f, _GI___libm_frexp_4l.
4401         * sysdeps/ia64/fpu/bits/mathinline.h: New file.
4402         * sysdeps/unix/sysv/linux/ia64/__start_context.S: Use
4403         HIDDEN_JUMPTARGET for exit call.
4404         * sysdeps/unix/sysv/linux/ia64/clone2.S: Use HIDDEN_JUMPTARGET for
4405         _exit call.
4406         * sysdeps/ia64/bcopy.S: Use HIDDEN_JUMPTARGET for memmove call.
4407         * sysdeps/ia64/strcat.S: Use HIDDEN_JUMPTARGET for strlen and
4408         strcpy calls.
4410 2004-04-21  Jakub Jelinek  <jakub@redhat.com>
4412         * posix/tst-chmod.c (do_test): Fix a typo.
4414         * elf/lateglobal.c (main): Fix error checks.
4415         Patch by Stephen Clarke <stephen.clarke@st.com>.
4417         * manual/ctype.texi (isblank, iswblank): Mark as ISO functions,
4418         mention they have been added in ISO C99.
4419         Reported by Ben Pfaff <blp@cs.stanford.edu>.
4421 2004-03-31  H.J. Lu  <hongjiu.lu@intel.com>
4423         * sysdeps/ieee754/ldbl-128/bits/huge_vall.h: Fix typo.
4425 2004-04-20  Jakub Jelinek  <jakub@redhat.com>
4427         * sysdeps/unix/sysv/linux/shm_open.c (shm_unlink): Change EPERM into
4428         EACCES.
4430 2004-04-20  Jakub Jelinek  <jakub@redhat.com>
4432         * stdio-common/vfscanf.c (_IO_vfscanf): Revert last %% whitespace
4433         handling change.
4434         * stdio-common/tst-sscanf.c (int_tests): Adjust.
4436         * nis/nss-nis.c: Include stdlib.h.
4438         * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Shut up a
4439         warning.
4440         * sysdeps/sparc/sparc64/memcmp.S (memcmp): Remove BP_SYM () from
4441         libc_hidden_builtin_def.
4443 2004-04-20  Jim Meyering  <jim@meyering.net>
4445         * misc/error.c (error_tail): Don't leak upon realloc failure.
4447 2004-04-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
4449         * sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable):
4450         Use RETURN_ADDRESS instead of __builtin_return_address.
4452 2004-04-19  Ulrich Drepper  <drepper@redhat.com>
4454         * sysdeps/unix/sysv/linux/mq_unlink.c: Rewrite to produce more
4455         compact code.
4457 2004-04-20  Jakub Jelinek  <jakub@redhat.com>
4459         * stdio-common/vfscanf.c (_IO_vfscanf): When skipping whitespace,
4460         do input_error () instead of conv_error () and don't look at errno.
4461         Don't eat any whitespace before %% if skip_space == 0.
4462         * stdio-common/tst-sscanf.c (int_tests): New array.
4463         (main): Run int_tests.
4466 See ChangeLog.14 for earlier changes.