2004-10-30 Andreas Schwab * sysdeps/unix/sysv/linux/waitid.c: Include for NULL. 2004-10-30 Ulrich Drepper * malloc/malloc.c (_int_free): Use unique comments for the error cases. 2004-10-28 Roland McGrath * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_fork): Use i386_thread_state instead of machine_thread_state. 2004-10-28 Roland McGrath * sysdeps/unix/sysv/linux/syscalls.list: Remove setaltroot. 2004-10-28 Ulrich Drepper * elf/dl-open.c (dl_open_worker): Remove reference to glibcbug script. 2004-10-27 Ulrich Drepper * elf/dl-load.c (_dl_map_object): Use cache_rpath to check for existing rpath in main executable, not explicit test. 2004-10-27 Jakub Jelinek * include/resolv.h (_res_opcodes): New extern. Add libresolv_hidden_proto. * resolv/res_debug.c (_res_opcodes): Remove. (__p_class_syms, __p_type_syms): Add libresolv_hidden_proto and libresolv_hidden_data_def. Remove attribute_hidden. * resolv/res_mkquery (_res_opcodes): Remove. * resolv/res_data.c (_res_opcodes): Remove attribute_hidden. Add libresolv_hidden_data_def. 2004-10-27 Ulrich Drepper * elf/dl-open.c (_dl_open): Don't allow explicitly opening a DSO into an empty namespace. * elf/dl-fini.c (_dl_fini): Fix search for map in maps array. Reverse order of namespaces. * elf/Makefile: Add rules to build and run tst-dlmopen3. * elf/tst-dlmopen3.c: New file. * elf/tst-dlmopen1mod.c: Add check whether constructor runs. 2004-10-27 Jakub Jelinek * sysdeps/generic/glob.c (globfree): Clear gl_pathv after freeing it. * posix/Makefile: Add rules to build and run bug-glob2 test. * posix/bug-glob2.c: New test. 2004-10-27 Roland McGrath * sysdeps/mach/hurd/i386/tls.h (HURD_TLS_DESC_DECL): New macro. (_hurd_tls_init): Use it. (_hurd_tls_fork): New function. * sysdeps/mach/hurd/fork.c (__fork) [USE_TLS]: Call it. 2004-10-26 Roland McGrath * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Initialize TCB->tcb. 2004-10-26 Jakub Jelinek * sysdeps/gnu/netinet/udp.h (struct udphdr): Use u_int16_t type instead of uint16_t. Formatting. 2004-10-25 Roland McGrath * login/openpty.c (openpty): Add libutil_hidden_def. * nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define to either libc_hidden_def or libnss_files_hidden_def, not hidden_def. This file is also compiled into libnss_hesiod by #include. 2004-10-25 Roland McGrath * sysdeps/unix/bsd/hp: Directory and all files removed. These are now in the ports repository. * sysdeps/unix/bsd/osf: Likewise. * sysdeps/unix/bsd/sequent: Likewise. * sysdeps/unix/bsd/sony: Likewise. * sysdeps/unix/bsd/ultrix4: Likewise. * sysdeps/unix/sysv/aix: Likewise. * sysdeps/unix/sysv/hpux: Likewise. * sysdeps/unix/sysv/irix4: Likewise. * sysdeps/unix/sysv/isc2.2: Likewise. * sysdeps/unix/sysv/minix: Likewise. * sysdeps/unix/sysv/sco3.2.4: Likewise. * sysdeps/unix/sysv/sco3.2: Likewise. * sysdeps/unix/sysv/sysv4: Likewise. * configure.in (ASM_LINE_SEP): Move this setting to ... * sysdeps/hppa/configure.in: ... here, new file. * sysdeps/hppa/configure: New generated file. * configure: Regenerated. 2004-10-25 Kaz Kojima * sysdeps/sh/dl-machine.h: Include sysdep.h. (ELF_MACHINE_RUNTIME_TRAMPOLINE): Add CFI directives. (elf_machine_runtime_setup): Add always_inline attribute. (_dl_start_user): Pass the correct environ. (elf_machine_rela): Replace static inline by auto inline, add always_inline attribute. (elf_machine_rela_relative): Likewise. (elf_machine_lazy_rel): Likewise. 2004-10-24 Ulrich Drepper * nis/nis_call.c: Pretty printing. Minor cleanups. * nis/nis_addmember.c (nis_addmember): Add assert to check buffer bounds. * resolv/nss_dns/dns-host.c: Avoid using PLTs. * include/libc-symbols.h: Define hidden attribute macros for libnss_nisplus and libutil. * include/utmp.h: Add libutil_hidden_proto for login_tty. * login/login_tty.c: Add libutil_hidden_def. * nis/nisplus-parser.h: Add libnss_nisplus_hidden_proto for parsers. * nis/nss_nisplus/nisplus-parser.c: Add libnss_nisplus_hidden_def. * include/pty.h: New file. * include/rpcsvc/yp.h: New file. * include/rpcsvc/ypclnt.h: New file. * include/rpcsvc/ypupd.h: New file. * include/libc-symbols.h: Define hidden attribute macros for libnsl. * include/rpcsvc/nislib.h: Use libnsl_hidden_proto for various functions. * nis/nis_add.c: Add libnsl_hidden_def. Minor optimizations. * nis/nis_call.c: Likewise. * nis/nis_clone_obj.c: Likewise. * nis/nis_defaults.c: Likewise. * nis/nis_domain_of_r.c: Likewise. * nis/nis_error.c: Likewise. * nis/nis_file.c: Likewise. * nis/nis_free.c: Likewise. * nis/nis_local_names.c: Likewise. * nis/nis_lookup.c: Likewise. * nis/nis_modify.c: Likewise. * nis/nis_print.c: Likewise. * nis/nis_remove.c: Likewise. * nis/nis_subr.c: Likewise. * nis/nis_table.c: Likewise. * nis/nis_util.c: Likewise. * nis/yp_xdr.c: Likewise. * nis/ypclnt.c: Likewise. * nis/ypupdate_xdr.c: Likewise. * resolv/res_send.c (send_dg): Cope with failures. * include/libc-symbols.h: Define hidden attribute macros for libnss_files. * include/netdb.h: Use libnss_files_hidden_proto for the parsers defined in libnss_files, not libc_hidden_proto. * include/netinet/ether.h: Likewise. * include/rpc/netdb.h: Likewise. * nss/nss_files/files-parse.c: Use hidden_def in parser definitions instead of libc_hidden_def. * nss/nss_files/files-netgrp.c: Add libnss_files_hidden_def to _nss_netgroup_parseline definition. 2004-10-23 Roland McGrath * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Don't return early after an RPC succeeds. * sysdeps/vax, sysdeps/unix/bsd/vax: Directories and all files removed. These are now in the ports repository. * sysdeps/tahoe, sysdeps/unix/bsd/tahoe: Likewise. * sysdeps/cris, sysdeps/unix/sysv/linux/cris: Likewise. * sysdeps/am29k, sysdeps/i860, sysdeps/i960, sysdeps/m88k: Likewise. * sysdeps/standalone, sysdeps/z8000: Likewise. 2004-10-23 Ulrich Drepper * resolv/res_send.c (send_dg): Combine write and read to socket into one loop. 2004-10-22 Roland McGrath * Makefile (%.bz2, %.gz): Move these pattern rules ... * Makerules: ... to here. 2001-10-31 Alexandre Oliva * elf/elf.h: Add R_MN10300_* relocation numbers. 2004-10-22 Paul Eggert [BZ #471] Fix imported from gnulib. * time/mktime.c (leapyear, ydms_tm_diff): Year is of type long int, not int, to avoid problems when tm_year == INT_MAX and tm_mon > 12. (__mktime_intenral): Compute year using long int arithmetic, not int arithmetic, to avoid problems on hosts where time_t and long are 64 bits but int is 32. [BZ #468] Import a fix from gnulib. * time/mktime.c [! DEBUG]: Do not include . It's needed only if DEBUG is nonzero. [BZ #470] Import fix from gnulib. * time/mktime.c [!_LIBC] (__mktime_internal): Define to mktime_internal, to avoid clashes with any __mktime_internal function defined in the standard library. [BZ #469] Imported from gnulib. * time/mktime.c (__isleap): Remove; all uses replaced by: (leapyear): New function, which avoids overflow by not adding 1900 to year before testing whether it is a leap year. [BZ #472] Imported from gnulib. * time/mktime.c (Local Variables): Remove -DHAVE_TIME_R_POSIX; no longer used. 2004-10-22 Ulrich Drepper * resolv/res_send.c: Remove compatibility code which is unused in glibc and probably bitrotten. * debug/execinfo.h: Remove __THROW from backtrace prototype. 2004-10-22 Jakub Jelinek * sysdeps/i386/Makefile (CFLAGS-backtrace.c): Add -fexceptions. * sysdeps/i386/backtrace.c: Include , , and . Remove include. (struct trace_arg): New type. (unwind_backtrace, unwind_getip, unwind_getcfa, unwind_getgr): New fn pointers resp. macros. (init, backtrace_helper): New functions. (__backtrace): Rewritten to use _Unwind_Backtrace first and fall back to frame pointer walking. 2004-10-22 Ulrich Drepper * sysdeps/unix/sysv/linux/Versions: Things are still in flux, it seems. Undo last additions. 2004-10-21 Ulrich Drepper * posix/execvp.c (execvp): Also ignore ENODEV and ETIMEDOUT errno values. 2004-10-20 Roland McGrath * Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also $(config-sysdirs) for shlib-versions files. * Makeconfig ($(common-objpfx)soversions.i): Replace shell loop with use of ... * scripts/soversions.awk: ... this new file. Collect lib info and match any DEFAULT line before emitting anything, so DEFAULT can come later in the concatenation of shlib-versions files. * manual/errno.texi (Error Codes): Add ENOKEY, EKEYEXPIRED, EKEYREVOKED, EKEYREJECTED. * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.3.4): New errlist. * sysdeps/gnu/errlist.c: Regenerated * sysdeps/gnu/errlist-compat.awk: Don't bail if Versions gives a count higher than ERR_MAX reports. Instead, emit a #define ERR_MAX. * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.h): New target. (generated): Add errlist-compat.h. * sysdeps/gnu/errlist.awk: Make output #include to define ERR_MAX and use that for table size. 2004-10-20 Ulrich Drepper * sysdeps/unix/sysv/linux/syscalls.list: Add entries for setaltroot, key_add, key_request, and keyctl syscalls. * sysdeps/unix/sysv/linux/Versions: Export them. 2004-10-19 Roland McGrath * sysdeps/mach/readonly-area.c: New file. 2004-10-19 Ulrich Drepper * elf/Versions [ld, GLIBC_PRIVATE]: Add _dl_debug_state. * elf/dl-debug.c (_dl_debug_state): Add rtld_hidden_def. * sysdeps/generic/ldsodefs.h (_dl_debug_state): Don't mark as hidden but use rtld_hidden_proto. 2004-10-19 Alfred M. Szmidt * sysdeps/generic/readonly-area.c (__readonly_str): Renamed to ... (__readonly_area): ... this. 2004-10-18 Jakub Jelinek * sysdeps/generic/strcpy_chk.c (__strcpy_chk): Speed up by checking destlen only every 4 bytes. 2004-10-19 Ulrich Drepper * nss/getent.c (hosts_keys): Let inet_pton decide whether the string is an address or not. 2004-10-19 Jakub Jelinek * elf/dl-addr.c (_dl_addr): Don't look at STT_TLS symbols. Use DL_SYMBOL_ADDRESS to set dli_saddr. * debug/Makefile (catchsegv): Prefix $LIB with a backslash. 2004-10-19 Ulrich Drepper * debug/Makefile ($(objpfx)catchsegv): To support multilib platforms, use $LIB in path to slibdir. 2004-10-19 Jakub Jelinek * debug/catchsegv.sh: Update copyright year. Use mktemp to create segv_output file. 2004-10-18 Jakub Jelinek * elf/dl-libc.c (__libc_dlsym_private, __libc_register_dl_open_hook): New functions. (__libc_dlopen_mode): Call __libc_register_dl_open_hook and __libc_register_dlfcn_hook. * dlfcn/Makefile (routines, elide-routines.os): Set. Add rules to build and test tststatic2. * dlfcn/tststatic2.c: New test. * dlfcn/modstatic2.c: New test module. * dlfcn/dladdr.c: Call _dlfcn_hook from libdl.so if not NULL. Define __ prefixed routine in libc.a and in libdl.a just call it. * dlfcn/dladdr1.c: Likewise. * dlfcn/dlclose.c: Likewise. * dlfcn/dlerror.c: Likewise. * dlfcn/dlinfo.c: Likewise. * dlfcn/dlmopen.c: Likewise. * dlfcn/dlopen.c: Likewise. * dlfcn/dlopenold.c: Likewise. * dlfcn/dlsym.c: Likewise. * dlfcn/dlvsym.c: Likewise. * dlfcn/sdladdr.c: New file. * dlfcn/sdladdr1.c: New file. * dlfcn/sdlclose.c: New file. * dlfcn/sdlerror.c: New file. * dlfcn/sdlinfo.c: New file. * dlfcn/sdlopen.c: New file. * dlfcn/sdlsym.c: New file. * dlfcn/sdlvsym.c: New file. * dlfcn/Versions (libdl): Export _dlfcn_hook@GLIBC_PRIVATE. * include/dlfcn.h (DL_CALLER_DECL, DL_CALLER RETURN_ADDRESS): Define. (struct dlfcn_hook): New type. (_dlfcn_hook): New extern decl. (__dlopen, __dlclose, __dlsym, __dlerror, __dladdr, __dladdr1, __dlinfo, __dlmopen, __libc_dlsym_private, __libc_register_dl_open_hook, __libc_register_dlfcn_hook): New prototypes. (__dlvsym): Use DL_CALLER_DECL. * include/libc-symbols.h: Define libdl_hidden_proto and friends. * malloc/arena.c (_dl_open_hook): Extern decl. (ptmalloc_init): Don't call _dl_addr when dlopened from statically linked programs but don't use brk for them either. 2004-10-18 Roland McGrath * dlfcn/bug-dlsym1.c (main): Remove bogus setenv call. 2004-10-18 Ulrich Drepper * elf/dl-open.c (dl_open_worker): Avoid dereferencing map in statically linked code if there might none be found. 2004-10-06 Maciej W. Rozycki * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (__SYSCALL_CLOBBERS): Add "memory". * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h (__SYSCALL_CLOBBERS): Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h (__SYSCALL_CLOBBERS): Likewise. 2004-10-17 Ulrich Drepper * include/libc-symbols.h: Define libresolv_hidden_proto and friends. * include/resolv.h: Add libresolv_hidden_proto for symbols defined, used, and exported in libresolv. * resolv/base64.c: Add libresolv_hidden_def. * resolv/gethnamaddr.c: Likewise. * resolv/ns_name.c: Likewise. * resolv/ns_netint.c: Likewise. * resolv/res_comp.c: Likewise. * resolv/res_data.c: Likewise. * resolv/res_debug.c: Likewise. * resolv/res_mkquery.c: Likewise. * resolv/res_query.c: Likewise. * resolv/res_send.c: Likewise. 2004-10-15 Jakub Jelinek * elf/dl-minimal.c (__chk_fail): New. Add rtld_hidden_def. * sysdeps/unix/sysv/linux/readonly-area.c: New file. * sysdeps/i386/i686/memmove.S (__memmove_chk): Add checking routine. * sysdeps/i386/i686/memcpy.S (__memcpy_chk): Likewise. * sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise. * sysdeps/i386/i686/memset.S (__memset_chk): Likewise. * sysdeps/i386/i686/memmove-chk.S: New file. * sysdeps/i386/i686/memcpy-chk.S: Likewise. * sysdeps/i386/i686/mempcpy-chk.S: Likewise. * sysdeps/i386/i686/memset-chk.S: Likewise. * sysdeps/generic/strcat-chk.c (__strcat_chk): Don't __chk_fail if exactly fitting into buffer. * sysdeps/generic/strncat-chk.c (__strncat_chk): Likewise. * sysdeps/generic/readonly-area.c: New file. * sysdeps/generic/strncpy-chk.c (__strncpy_chk): Only test destlen once. * sysdeps/x86_64/memset.S (__memset_chk): Add checking routine. * sysdeps/x86_64/memcpy.S (__memcpy_chk): Likewise. * sysdeps/x86_64/mempcpy.S (__memcpy_chk): Define to __mempcpy_chk. * sysdeps/x86_64/memcpy-chk.S: New file. * sysdeps/x86_64/mempcpy-chk.S: Likewise. * sysdeps/x86_64/memset-chk.S: Likewise. * sysdeps/x86_64/strcpy-chk.S: Likewise. * sysdeps/x86_64/stpcpy-chk.S: Likewise. * argp/argp-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing. * argp/argp-fs-xinl.c (__OPTIMIZE__): Likewise. * debug/tst-chk1.c: New test. * debug/tst-chk2.c: Likewise. * debug/tst-chk3.c: Likewise. * debug/test-strcpy_chk.c: Likewise. * debug/test-stpcpy_chk.c: Likewise. * debug/vsprintf_chk.c (__vsprintf_chk): If flags > 0, request _IO_FLAGS2_CHECK_PERCENT_N. Add libc_hidden_def. * debug/Makefile (routines): Add printf_chk, fprintf_chk, vprintf_chk, vfprintf_chk, gets_chk and readonly-area. (CFLAGS-*_chk.c): Set. (tests): Add tst-chk1, tst-chk2, tst-chk3, test-strcpy_chk and test-stpcpy_chk. * debug/vprintf_chk.c: New file. * debug/printf_chk.c: Likewise. * debug/vfprintf_chk.c: Likewise. * debug/fprintf_chk.c: Likewise. * debug/gets_chk.c: Likewise. * debug/chk_fail.c (__chk_fail): Add libc_hidden_def. * debug/snprintf_chk.c (__snprintf_chk): Fix order of arguments passed to __vsnprintf_chk. * debug/Versions (libc): Export __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk and __gets_chk @GLIBC_2.3.4. * debug/vsnprintf_chk.c (__vsnprintf_chk): Don't call __vsnprintf, instead create a temporary file with _IO_strn_jumps jumptable. If flags > 0, request _IO_FLAGS2_CHECK_PERCENT_N. Add libc_hidden_def. * libio/Makefile (headers): Add bits/stdio2.h. * libio/stdio.h: Include if __USE_FORTIFY_LEVEL. (sprintf, snprintf, vsprintf, vsnprintf): Remove defines. * libio/strfile.h (_IO_strnfile): New type. (_IO_strn_jumps): New extern. * libio/vsnprintf.c (_IO_strnfile): Remove. (_IO_strn_jumps): Remove static. * libio/bits/stdio2.h: New file. * libio/vswprintf.c (_IO_strnfile): Rename type to... (_IO_wstrnfile): ...this. Adjust all uses. * libio/libio.h (_IO_FLAGS2_CHECK_PERCENT_N): Define. * stdio-common/vfprintf.c (STR_LEN): Define. (vfprintf): Add readonly_format variable. Handle _IO_FLAGS2_CHECK_PERCENT_N. (buffered_vfprintf): Copy _flags2. * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk, __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk): New prototypes. (__vsprintf_chk, __vsnprintf_chk): Add libc_hidden_proto. * include/string.h (__memcpy_chk, __memmove_chk, __mempcpy_chk, __memset_chk, __strcpy_chk, __stpcpy_chk, __strncpy_chk, __strcat_chk, __strncat_chk): New prototypes. * include/bits/string3.h: New file. * include/sys/cdefs.h (__chk_fail): Add libc_hidden_proto and rtld_hidden_proto. * string/Makefile (headers): Add bits/string3.h. * string/bits/string3.h (bcopy, bzero): New defines. (memset, memcpy, memmove, strcpy, strncpy, strcat, strncat): Change macros so that inlines are used only if unknown destination size or side-effects in destination argument. (mempcpy, stpcpy): Likewise. Protect with #ifdef __USE_GNU. 2004-09-16 Ulrich Drepper * debug/Makefile (routines): Add *_chk. * debug/Versions (libc): Export __chk_fail, __memcpy_chk, __memmove_chk, __mempcpy_chk, __memset_chk, __stpcpy_chk, __strcat_chk, __strcpy_chk, __strncat_chk, __strncpy_chk, __sprintf_chk, __vsprintf_chk, __snprintf_chk, __vsnprintf_chk @GLIBC_2.3.4. * debug/chk_fail.c: New file. * debug/snprintf_chk.c: Likewise. * debug/sprintf_chk.c: Likewise. * debug/vsnprintf_chk.c: Likewise. * debug/vsprintf_chk.c: Likewise. * include/features.h (_FORTIFY_SOURCE): Document, handle. (__USE_FORTIFY_LEVEL): Define. (__GNUC_PREREQ): Move to earlier location. * include/sys/cdefs.h (__chk_fail): New prototype. * libio/bits/stdio.h (sprintf, vsprintf, snprintf, vsnprintf): Define if __USE_FORTIFY_LEVEL. * misc/sys/cdefs.h (__bos, __bos0): Define. * string/string.h: Include if __USE_FORTIFY_LEVEL. * bits/string/string3.h: New header. * sysdeps/generic/memcpy_chk.c: New file. * sysdeps/generic/memmove_chk.c: Likewise. * sysdeps/generic/mempcpy_chk.c: Likewise. * sysdeps/generic/memset_chk.c: Likewise. * sysdeps/generic/stpcpy_chk.c: Likewise. * sysdeps/generic/strcat_chk.c: Likewise. * sysdeps/generic/strcpy_chk.c: Likewise. * sysdeps/generic/strncat_chk.c: Likewise. * sysdeps/generic/strncpy_chk.c: Likewise. 2004-10-17 Roland McGrath * manual/memory.texi (Page Lock Functions): Typo fix. Reported by Carlos Maziero 2004-10-16 Alfred M. Szmidt * sysdeps/mach/hurd/Makefile (link-libc-static): Use `$(static-gnulib') instead of `$(gnulib)'. 2004-10-17 Ulrich Drepper * sunrpc/rpc_clntout.c: Avoid including rcsid into binary. * sunrpc/rpc_cout.c: Likewise. * sunrpc/rpc_hout.c: Likewise. * sunrpc/rpc_main.c: Likewise. * sunrpc/rpc_parse.c: Likewise. * sunrpc/rpc_sample.c: Likewise. * sunrpc/rpc_scan.c: Likewise. * sunrpc/rpc_svcout.c: Likewise. * sunrpc/rpc_tblout.c: Likewise. * sunrpc/rpc_util.c: Likewise. 2004-10-15 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/sysdep.h (PUSHARGS_6, DOARGS_6, POPARGS_6, _PUSHARGS_6, _DOARGS_6, _POPARGS_6): Define. * sysdeps/unix/sysv/linux/i386/syscall.S (syscall): Handle 6 argument syscalls. 2004-10-15 Ulrich Drepper * nscd/nscd.h (_PATH_NSCD_PASSWD_DB): Move to /var/db. (_PATH_NSCD_GROUP_DB): Likewise. (_PATH_NSCD_HOSTS_DB): Likewise. (_PATH_NSCD_XYZ_DB_TMP): New #define, point to /var/run. * nscd/connections.c (nscd_init): Non-persistent database files are created with the _PATH_NSCD_XYZ_DB_TMP path. * nscd/nscd.init: Create /var/db/nscd if necessary. 2004-10-15 Richard Henderson * sysdeps/unix/sysv/linux/alpha/register-dump.h: New file. * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h (SIGCONTEXT): Add _code argument, pass sigcontext by pointer. (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_PC, GET_FRAME, GET_STACK): Expect ctx as pointer. 2004-10-14 Richard Henderson * sysdeps/alpha/dl-machine.h (elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto instead of static. * sysdeps/unix/sysv/linux/adjtime.c (ADJTIME): Use prototype style definition. * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): If __ASSUME_TIMEVAL64, define __adjtime directly rather than via strong_alias. 2004-10-14 Ulrich Drepper * nscd/Makefile: When using compilers without -fpie support, also link with -lselinux if necessary. Patch by Arkadiusz Miskiewicz . * nscd/connections.c (nscd_init): Remove file if not persistent and not shared. Patch by Jerome Borsboom . 2004-10-14 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/setresuid.c: Handle defined __NR_setresuid32 && !defined __NR_setresuid. * sysdeps/unix/sysv/linux/i386/setresgid.c: Handle defined __NR_setresgid32 && !defined __NR_setresgid. * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit, __signbitl, sqrtf, sqrt, sqrtl, fdim, fdimf): Use __NTH macro. * sysdeps/generic/errno-loc.c: Don't undef #errno if RTLD_PRIVATE_ERRNO. * include/errno.h (__errno_location): If RTLD_PRIVATE_ERRNO, add attribute_hidden. * dlfcn/dlinfo.c (dlinfo_doit): Replace iteration over GL(dl_loaded) chain with iteration over all namespaces' _ns_loaded chains. * sysdeps/powerpc/powerpc32/dl-machine.c (__elf_preferred_address): Likewise. * sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise. * elf/rtld.c (_dl_start): Fix one last dl_loaded. * elf/dl-load.c (_dl_map_object_from_fd): Avoid definition of label when it is not needed. * elf/dl-close.c (_dl_close): Typo: & -> &&. 2004-10-12 Jakub Jelinek * sysdeps/generic/segfault.c: Include alloca.h and stdint.h. Don't include frame.h. (CURRENT_STACK_FRAME, INNER_THAN, ADVANCE_STACK_FRAME): Remove. (catch_segfault): Use backtrace function. * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Fix comment. * sysdeps/unix/sysv/linux/ia64/register-dump.h: New file. * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h (GET_PC): Return sc_ip field. 2004-10-13 Ulrich Drepper Add support for namespaces in the dynamic linker. * dlfcn/Makefile (libdl-routines): Add dlmopen. * dlfcn/Versions [libdl, GLIBC_2.3.4]: Add dlmopen. * dlfcn/dlfcn.h: Define Lmid_t, LM_ID_BASE, and LM_ID_NEWLM. Declare dlmopen. Document RTLD_DI_LMID. * dlfcn/dlinfo.c: Handle RTLD_DI_LMID. * dlfcn/dlmopen.c: New file. * dlfcn/dlopen.c: Pass new parameter to _dl_open. * dlfcn/dlopenold.c: Likewise. * elf/dl-addr.c: Adjust for removal of GL(dl_loaded). * elf/dl-caller.c: Likewise. * elf/dl-close.c: Likewise. * elf/dl-conflict.c: Likewise. * elf/dl-debug.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-sym.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. * elf/dl-depsc: Likewise. Add new parameter to _dl_map_object. * elf/dl-fini.c: Call destructors in all namespaces. * elf/dl-iteratephdr.c: Compute total nloaded. Adjust for removal of GL(dl_loaded). * elf/dl-libc.c: Pass new parameter to _dl_open. Adjust for removal of GL(dl_loaded). * elf/dl-load.c (_dl_map_object_from_fd): Don't load ld.so a second time. Reuse the one from the main namespace in all others. Pass new parameter to _dl_new_object. Adjust for removal of GL(dl_loaded). * elf/dl-object.c: Take new parameter. Use it to initialize l_ns. Adjust for removal of GL(dl_loaded). * elf/dl-open.c (_dl_open): Take new parameter. Adjust for removal of GL(dl_loaded). * elf/dl-support.c: Replace global _dl_loaded etc variables with _dl_ns variable. * include/dlfcn.h: Adjust prototype of _dl_open. Define __LM_ID_CALLER. * include/link.h: Add l_real, l_ns, and l_direct_opencount elements. * sysdeps/generic/dl-tls.c: Bump TLS_STATIC_SURPLUS. Since libc is using TLS we need memory appropriate to the number of namespaces. * sysdeps/generic/ldsodefs.h (struct rtld_global): Replace _dl_loaded, _dl_nloaded, _dl_global_scope, _dl_main_searchlist, and _dl_global_scope_alloc with _dl_ns element. Define DL_NNS. Adjust prototypes of _dl_map_object and member in rtld_global_ro. * malloc/malloc.c: Include . * malloc/arena.c (ptmalloc_init): If libc is not in primary namespace, never use brk. * elf/Makefile: Add rules to build and run tst-dlmopen1 and tst-dlmopen2. * elf/tst-dlmopen1.c: New file. * elf/tst-dlmopen1mod.c: New file. * elf/tst-dlmopen2.c: New file. * elf/dl-close.c: Improve reference counting by tracking direct loads. * elf/dl-lookup.c (add_dependency): Likewise. * elf/dl-open.c (dl_open_worker): Likewise. * elf/rtld.c (dl_main): Likewise. 2004-09-09 GOTO Masanori [BZ #77] * elf/dl-close.c: Count down l_opencount to check not only for l_reldeps, but also l_initfini. 2004-10-13 Ulrich Drepper * elf/dl-close.c (_dl_close): Update bug reporting instructions. 2004-10-11 Ulrich Drepper * timezone/asia: Update from tzdata2004e. * timezone/southamerica: Likewise. * timezone/private.h: Update from tzcode2004e. * timezone/zdump.c: Likewise. * stdio-common/vfscanf.c: Add support for reading localized digits. Patch mainly by Hamed Malek . * resolv/res_init.c (res_thread_freeres): Reset _res.options. [BZ #434] * resolv/res_send.c (send_dg): Use nonblocking sockets. Add appropriate poll/select calls and restart operation if necessary. Also handle EINTR. * elf/tst-dlopenrpath.c (do_test): Enable code which was disabled for debugging. * elf/dl-sym.c (do_sym): Avoid using global variable. * elf/dl-addr.c (_dl_addr): Really use match everywhere. 2004-10-09 Andreas Schwab * sysdeps/m68k/memcopy.h (WORD_COPY_BWD): Remove use of cast as lvalue. * sysdeps/m68k/fpu/bits/mathinline.h: Remove __THROW from inline definitions. 2004-10-07 Andreas Schwab * misc/sys/uio.h: Change __vector to __iovec to avoid clash with altivec. 2004-10-06 Alan Modra * gmon/Makefile (CFLAGS-mcount.c): Move before inclusion of "Rules". * sysdeps/powerpc/powerpc64/Makefile (CFLAGS-mcount.c): Add -msoft-float. * sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): New macros. (CALL_MCOUNT): Replace with a gas macro implementation. (EALIGN): Delete PROF version. * sysdeps/powerpc/powerpc64/__longjmp-common.S: Invoke CALL_MCOUNT. * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Likewise. * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise. * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc64/memcpy.S: Likewise. * sysdeps/powerpc/powerpc64/memset.S: Likewise. * sysdeps/powerpc/powerpc64/stpcpy.S: Likewise. * sysdeps/powerpc/powerpc64/strchr.S: Likewise. * sysdeps/powerpc/powerpc64/strcmp.S: Likewise. * sysdeps/powerpc/powerpc64/strcpy.S: Likewise. * sysdeps/powerpc/powerpc64/strlen.S: Likewise. * sysdeps/powerpc/powerpc64/strncmp.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_round.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Likewise. * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise. * sysdeps/powerpc/powerpc64/setjmp-common.S: Add extra entry point past _mcount call. * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Use it. * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise. 2004-10-06 Ulrich Drepper * resolv/res_mkquery.c (res_nmkquery): Reject randombits value if low 16 bits are zero. 2004-10-06 Jakub Jelinek * posix/tst-getaddrinfo2.c: Include stdlib.h and string.h. (do_test): Use %p instead of 0x%08X to print a pointer. * malloc/malloc.c: Include stdio-common/_itoa.h. 2004-10-05 Ulrich Drepper * elf/rtld.c (dl_main): Use _dl_debug_printf instead of _dl_printf for prelink message. 2004-10-05 Jakub Jelinek * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Include dl-sysdep.h. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. 2004-10-05 Ulrich Drepper * grp/initgroups.c: Remove duplicate group IDs. * grp/compat-initgroups.c: Likewise. * nscd/initgrcache.c: Likewise. 2004-10-05 Jakub Jelinek * sysdeps/unix/sysv/linux/x86_64/sysconf.c (__sysconf): Return 200112L for _SC_CPUTIME or _SC_THREAD_CPUTIME. * nscd/Makefile (nscd-cflags): Set to -DIS_IN_nscd=1, plus -fpie if building PIE. (CFLAGS-*.c): Use it. * nscd/Makefile (relro-LDFLAGS): Add -Wl,-z,now if have-z-relro. ($(objpfx)nscd): Add $(relro-LDFLAGS). * sysdeps/unix/sysv/linux/i386/sysconf.c: Include hp-timing.h. (__sysconf): Return -1 for _SC_CPUTIME or _SC_THREAD_CPUTIME if !HP_TIMING_AVAIL. 2004-10-05 Ulrich Drepper * nscd/Makefile (distribute): Remove TODO. * nscd/TODO: Removed. 2004-10-04 Ulrich Drepper * nscd/gai.c: Define __no_netlink_support if NEED_NETLINK is defined and __ASSUME_NETLINK_SUPPORT is zero. * sysdeps/unix/sysv/linux/Makefile (CFLAGS-gai.c): Add -DNEED_NETLINK. * malloc/mtrace.pl: Avoid calling location unless it is needed for output. Patch by Edward Bishop . * nscd/Makefile (CFLAGS-gai.c): Add -fpie. 2004-10-04 H.J. Lu * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c (clock_getcpuclockid): Add missing retval. * sysdeps/unix/sysv/linux/ia64/sysconf.c (linux_sysconf): Fix a typo. 2004-10-04 Roland McGrath * include/errno.h [RTLD_PRIVATE_ERRNO] (errno): Rename the real symbol to rtld_errno. * sysdeps/generic/errno.c [RTLD_PRIVATE_ERRNO] (rtld_errno): Define it, and don't define any other errno names. * sysdeps/unix/alpha/sysdep.h [RTLD_PRIVATE_ERRNO]: Use rtld_errno in place of errno. * sysdeps/unix/i386/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/unix/x86_64/sysdep.S: Likewise. * sysdeps/generic/errno.c [! USE___THREAD] (errno): Use `nocommon' attribute instead of `section'. 2004-10-04 Ulrich Drepper * sysdeps/unix/sysv/linux/ia64/sysconf.c: New file. * sysdeps/unix/sysv/linux/ia64/Dist: Add has_cpuclock.c. * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: Move actual testing code to... * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c: ...here. New file. * sysdeps/unix/sysv/linux/i386/sysconf.c: Add dynamic check for _SC_CPUTIME and _SC_THREAD_CPUTIME. * nscd/connections.c (start_threads): Use sysconf in case _POSIX_CLOCK_SELECTION or _POSIX_MONOTONIC_CLOCK is not greater zero. * nscd/Makefile (nscd-modules): Add gai. * nscd/gai.c: New file. * nscd/nscd.c: Remove getaddrinfo stub definition. * assert/assert.h: Give up on using __builtin_expect. * elf/rtld.c (dl_main): Only skip => output in ldd mode if both strings are identical. 2004-03-18 Jakub Jelinek * malloc/arena.c (aligned_heap_area): New variable. (new_heap): If aligned_heap_area != NULL, attempt to use that first. If HEAP_MAX_SIZE << 1 area is already HEAP_MAX_SIZE bytes aligned, remember the second half in aligned_heap_area. (delete_heap): Clear aligned_heap_area if deleting the area right before aligned_heap_area. 2004-10-03 Juerg Billeter * nscd/nscd_initgroups.c (__nscd_getgrouplist): Return -1 if nscd can't be used. [BZ #424] 2004-10-03 Ulrich Drepper Dynamically create new threads if necessary. * nscd/connections.c (fd_ready): If no thread available for processing the request, create a new one unless the limit is reached. (start_threads): Check errors from pthread_create. * nscd/nscd.h: Declare max_nthreads. * nscd/nscd_conf.c: Parse max-nthreads entry. * nscd/nscd.conf: Add max-threads entry. * nscd/nscd_stat.c: Print current and maximum number of threads. Implement paranoia mode. * nscd/connections.c (nscd_init): Mark database and socket descriptors as close on exec. (restart): New function. (restart_p): New function. (nscd_run): Add missing descrement of nready in case readylist is empty. (main_loop_poll): Call restart_p and restart. (main_loop_epoll): Likewise. (begin_drop_privileges): Save original UID and GID. * nscd/nscd.c: Define new variables paranoia, restart_time, restart_interval, oldcwd, old_gid, old_uid. (main): Disable paranoia mode if we are not forking. (check_pid): When re-execing, the PID file contains the same PID as the current process. Do not fail in this case. * nscd/nscd.conf: Add paranoia and restart-interval entries. * nscd/nscd.h: Define RESTART_INTERVAL. Declare new variables. * nscd/nscd_conf.c: Parse paranoia and restart-internal configurations. * nscd/nscd_stat.c: Print paranoia and restart-internal values. * nscd/connections.c: Implement alternative loop for main thread which uses epoll. * sysdeps/unix/sysv/linux/Makefile [subdir=nscd] (CFLAGS-connections.c): Add -DHAVE_EPOLL. 2004-10-02 Ulrich Drepper * nscd/Makefile (CFLAGS-initgrcache.c): Add to CFLAGS-* variables, don't replace old content. * nscd/connections.c: Rewrite handling of incoming connections. All are handled by one thread which then hands off the descriptors for the real work to the worker threads. * nscd/Makefile: Link nscd with librt. * nscd/selinux.c: Pretty printing. * nscd/dbg_log.c (dbg_log): Don't add unnecessary newline to output. Let syslog do the formatting if debug_level == 0. * nscd/nscd_helper.c (get_mapping): No need to check timestamp if nscd_certainly_running is nonzero. 2004-10-02 Simon Josefsson [BZ #420] * sysdeps/generic/memmem.c [!_LIBC]: Define __builtin_expect, to make the file usable inside gnulib. 2004-10-01 Ulrich Drepper * malloc/malloc.c (public_vALLOc): Add missing use of hooks. (public_pVALLOc): Likewise. * nscd/nscd_initgroups.c (__nscd_getgrouplist): Always add the group the caller provided unless there is a real problem. * posix/bug-glob1.c (prepare): Fix creation of symlink. 2004-09-30 Ulrich Drepper * posix/Makefile: Add rules to build and run bug-glob1. * posix/bug-glob1.c: New file. * iconv/iconv_prog.c (main): Print progress information to stderr. * nscd/nscd.c (termination_handler): Reset timestamp so that clients immediately stop using the database. * nscd/nscd-client.h (__nscd_get_map_ref): Drop volatile from last parameter. (__nscd_drop_map_ref): Change second parameter to be a reference to a variable. Update variable when cycle count changed. * nscd/nscd_helper.c (__nscd_get_map_ref): Remove volatile here, too. * nscd/nscd_getai.c: Correctly use __nscd_drop_map_ref. Reinitialize all variables and avoid memory leak in case of retries. * nscd/nscd_getgr_r.c: Likewise. * nscd/nscd_gethst_r.c: Likewise. * nscd/nscd_getpw_r.c: Likewise. * nscd/nscd_initgroups.c: Likewise. * nscd/nscd.h: Add declaration of addinitgroups and readdinitgroups. 2004-09-30 Andreas Jaeger * nscd/Makefile (CFLAGS-nscd_initgroups.c): Set to -fpie. (CFLAGS-initgrcache.c): Set to -fexceptions. 2004-09-29 Ulrich Drepper * sysdeps/generic/glob.c (glob_in_dir): Don't blindly trust readdir results; for symlinks or files of unknown type check using stat whether the file exists. * posix/tst-gnuglob.c (find_file): Handle leading "./". Fix recognition of files. 2004-09-29 Jakub Jelinek * time/tzfile.c (tzfile_mtime): New variable. (__tzfile_read): Reread the file if mtime is different. 2004-09-28 Jakub Jelinek * sysdeps/alpha/fpu/bits/mathinline.h (__fdimf, __fdim, fdimf, fdim): Handle +inf/+inf. * sysdeps/powerpc/fpu/bits/mathinline.h (fdim, fdimf): Likewise. * sysdeps/sparc/fpu/bits/mathinline.h (fdim, fdimf): Likewise. 2004-09-29 Ulrich Drepper * nscd/nscd_gethst_r.c (nscd_gethst_r): Use correct constant for testing result of __nscd_get_map_ref. 2004-09-29 Jakub Jelinek * sysdeps/i386/fpu/s_fdim.S (__fdim): Handle +inf/+inf. * sysdeps/i386/fpu/s_fdimf.S (__fdimf): Likewise. * sysdeps/i386/fpu/s_fdiml.S (__fdiml): Likewise. 004-09-29 Ulrich Drepper * grp/initgroups.c: Move compat_call implementation... * grp/compat-initgroups.c: ...to here. New file. * grp/Makefile (distribute): Add compat-initgroups.c. (CFLAGS-initgroups.c): Add -DUSE_NSCD=1. * mscd/initgrcache.c: New file. * nscd/nscd_initgroups.c: New file. * nscd/Makefile (routines): Add nscd_initgroups. (nscd-modules): Add initgrcache. * nscd/cache.c (prune_cache): Add support for INITGROUPS entries. * nscd/connections.c: Handle INITGROUPS requests. * nscd/nscd-client.h: Define INITGROUPS, initgr_response_header. Add initgrdata element to struct datahead. Fix typo in comment. * nscd/nscd_proto.h: Declare __nscd_getgrouplist. Fix parameter type in __nscd_getgrgrid_r. * nscd/selinux.c (perms): Add INITGROUPS entry. * nscd/nscd_getai.c: No need to include . * sunrpc/get_myaddr.c (get_myaddress): Account for interfaces without assigned addresses. * sunrpc/pmap_clnt.c (__get_myaddress): Likewise. * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise. * sunrpc/clnt_udp.c (is_network_up): Likewise. * nscd/nscd.c: Define getaddrinfo hidden so that it is never found outside. * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_segvflags): Renamed from si_flags due to conflict with si_flags from . 2004-09-28 Ulrich Drepper * nscd/nscd_getai.c: Use NO_MAPPING instead of MAP_FAILED for test of failing __nscd_get_map_ref. Fix a few typos. * sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Make sure SIGSETXID is not blocked. * sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Likewise. * sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise. * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise. * sysdeps/generic/sigfillset.c (sigfillset): Don't set SIGSETXID. * sunrpc/get_myaddr.c (get_myaddress): Fix test for failing getifaddrs call. * sunrpc/pmap_clnt.c (__get_myaddress): Likewise. * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise. * sunrpc/Makefile (xtests): Add tst-getmyaddr. * sunrpc/tst-getmyaddr.c: New file. * malloc/arena.c (ptmalloc_init): Allow MALLOC_CHECK_==0 to disable all checking. * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_flags): Add support to get this value. 2004-09-28 Jakub Jelinek * io/utime.h (utime): Allow second argument to be NULL. 2004-09-28 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): If NAME is a numerical IP address and AI_CANONNAME is set, return copy of NAME as ai_canonname. 2004-09-27 Andreas Jaeger * sysdeps/i386/dl-machine.h (elf_machine_rela_relative): Replace static inline by auto inline, add always_inline attribute. (elf_machine_rel): Likewise. (elf_machine_rela): Likewise. (elf_machine_lazy_rel): Likewise. (elf_machine_lazy_rela): Likewise. (elf_machine_rel_relative): Likewise. 2004-09-27 Ulrich Drepper * sunrpc/xdr_intXX_t.c: Add xdr_quad_t and xdr_u_quad_t aliases. * sunrpc/rpc/xdr.h: Declare xdr_quad_t and xdr_u_quad_t. * sunrpc/rpc_parse.c (get_type): Use "quad_t" for TOK_HYPER. Otherwise isvectordef will loop infinitely if typedef hyper int64_t is seen. (unsigned_dec): Use "u_quad_t" for similar reasons. * sunrpc/Versions: Export xdr_quad_t and xdr_u_quad_t. 2004-09-27 Roland McGrath * sysdeps/generic/bits/waitstatus.h (__WIFSIGNALED): Simplify bit twiddling in last change. * posix/tst-waitid.c (do_test): Add tests for waitpid with WCONTINUED. [BZ #409] * posix/sys/wait.h [__WIFCONTINUED] (WIFCONTINUED): New macro. * stdlib/stdlib.h [__WIFCONTINUED] (WIFCONTINUED): New macro. * sysdeps/generic/bits/waitstatus.h (__W_CONTINUED): New macro. [WCONTINUED] (__WIFCONTINUED): New macro. (__WIFSIGNALED): Rewritten to exclude __W_CONTINUED value, and have no branches. * sysdeps/unix/sysv/linux/waitid.c (do_waitid): Add fifth argument to all three syscall uses, not just one! 2004-09-26 Richard Henderson * sysdeps/alpha/alphaev6/memcpy.S: Mark .prologue. * sysdeps/unix/alpha/sysdep.h (LEAF, ENTRY): Align entry points to 16 byte boundaries. 2004-09-26 Ulrich Drepper * elf/readlib.c (process_file): Before complaining about too-short file, check that it potentially be an ELF file. Also complain about empty files. [BZ #151]. * scripts/test-installation.pl: Fix ld.so recognition for new LD_TRACE_LOADED_OBJECTS output format. Patch by [BZ #407]. * elf/dl-support.c (_dl_non_dynamic_init): Fix cleaning of environment. [BZ #384] * sunrpc/clnt_udp.c (is_network_up): Use getifaddrs instead of ioctl. * sunrpc/get_myaddr.c (get_myaddress): Likewise. * sunrpc/pmap_clnt.c (__get_myaddress): Likewise. * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise. Change interface to avoid buffer overrun and remove now useless parameters. (clnt_broadcast): Adjust caller. [BZ #381]. * sysdeps/generic/s_fdim.c: Handle +inf/+inf * sysdeps/generic/s_fdimf.c: Likewise. * sysdeps/generic/s_fdiml.c: Likewise. * sysdeps/i386/i686/fpu/s_fdim.S: Likewise. * sysdeps/i386/i686/fpu/s_fdimf.S: Likewise. * sysdeps/i386/i686/fpu/s_fdiml.S: Likewise. * sysdeps/powerpc/fpu/s_fdim.c: Likewise. * sysdeps/powerpc/fpu/s_fdimf.c: Likewise. * sysdeps/x86_64/fpu/s_fdiml.S: Likewise. * math/libm-test.inc (fdim_test): Add test case. [BZ #376]. * sysdeps/generic/bits/types.h: Fix __SQUAD_TYPE and __UQUAD_TYPE for compilers without __GLIBC_HAVE_LONG_LONG. [BZ #362] * sysdeps/posix/getaddrinfo.c (getaddrinfo): Remove incorrect requirement on socktype and protocol. (gaih_inet): If numeric port number is given, return records for all possible socket types. * posix/tst-getaddrinfo2.c: New file. * posix/Makefile (tests): Add tst-getaddrinfo2. [BZ #358] 2004-09-25 Ulrich Drepper * locale/loadlocale.c (_nl_intern_locale_data): Recognize LC_CTYPE data where _nl_value_type_LC_CTYPE does not contain the type information. Add range checks. Reported by John Lumby [BZ #356]. * libio/vasprintf.c (_IO_vasprintf): Fix condition to decide whether to realloc or not. Reported by Pavel Kankovsky [BZ #346]. * intl/dcigettext.c (DCIGETTEXT): Protect tfind/tsearch calls. * intl/dcigettext.c (_nl_find_msg): Call _nl_load_domain also if decided < 0. * intl/finddomain.c (_nl_find_domain): Likewise. * intl/loadmsgcat.c (_nl_load_domain): Set decided to 1 only once we are done. First set to -1 to signal initialization is ongoing. Protect against concurrent callers with recursive lock. * intl/finddomain.c (_nl_find_domain): Protect calls to _nl_make_l10nflist. [BZ #322] * sysdeps/posix/getaddrinfo.c (getaddrinfo): If determinination of source address fails, initialized source_addr_len field so that duplicate address recognition does not copy junk. 2004-09-25 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Remove second result declaration. 2004-09-22 Andreas Schwab * sysdeps/unix/sysv/linux/ia64/sysdep.h: Adjust whitespace. 2004-09-24 Ulrich Drepper * misc/daemon.c (daemon): Don't succeed if /dev/null cannot be opened. * nis/ypclnt.c (do_ypcall): Add one missing unlock. Simplify the code a bit. * misc/daemon.c (daemon): Define errno in case /dev/null is not the correct device. * nis/ypclnt.c (yp_bind_file): Optimize a bit. Minimal cleanups. 2004-09-23 Andreas Jaeger * locale/weight.h (findidx): Remove static, it's not supported anymore with GCC 4.0 in a block scope. * locale/weightwc.h (findidx): Likewise. * posix/regcomp.c (seek_collating_symbol_entry): Likewise. (lookup_collation_sequence_value): Likewise. (build_range_exp): Likewise. (build_collating_symbol): Likewise. * iconv/iconvconfig.c (write_output): Likewise. * elf/do-rel.h (elf_dynamic_do_rel): Likewise. * sysdeps/x86_64/dl-machine.h (elf_machine_rela_relative): Remove static, add always_inline attribute. (elf_machine_rela): Likewise. (elf_machine_lazy_rel): Likewise. * elf/dynamic-link.h (elf_get_dynamic_info): Make static dependend on !RESOLVE so that it's not defined in local scope. 2004-09-23 Kaz Kojima * sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL_NCS): Define. 2004-09-23 Thorsten Kukuk * sysdeps/unix/sysv/linux/sys/mount.h: Sync MS_RMT_MASK flag and BLK* ioctls with linux kernel headers. 2004-09-23 Ulrich Drepper * sysdeps/generic/bits/dlfcn.h: Add RTLD_DEEPBIND. * elf/dl-object.c (_dl_new_object): Add new parameter mode. If mode has RTLD_DEEPBIND set add local searchlist before global scope. * sysdeps/generic/ldsodefs.h (_dl_new_object): Adjust prototype. * elf/rtld.c: Adjust callers of _dl_new_object. * elf/dl-load.c: Likewise. (_dl_map_object_from_fd): If RTLD_DEEPBIND is used, don't do anything for DF_SYMBOLIC. * elf/dl-open.c (dl_open_writer): Pass RTLD_DEEPBIND flag on to _dl_map_object_deps. * elf/tst-deep1.c: New file. * elf/tst-deep1mod1.c: New file. * elf/tst-deep1mod2.c: New file. * elf/tst-deep1mod3.c: New file. * elf/Makefile: Add rules to build and run new tests. * elf/dl-deps.c: Pretty printing. 2004-09-23 Jakub Jelinek * sysdeps/unix/alpha/sysdep.h (inline_syscall[0-6]): Change name argument to numbers from syscall names. (INLINE_SYSCALL1): Pass __NR_##name to inline_syscall##nr. (INTERNAL_SYSCALL_NCS): Renamed from... (INTERNAL_SYSCALL_1): ... this. Use INTERNAL_SYSCALL_NCS. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INTERNAL_SYSCALL_NCS): Define. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (INTERNAL_SYSCALL_NCS): Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h (inline_syscall[0-6]): Change name argument to numbers from syscall names. (INLINE_SYSCALL, INTERNAL_SYSCALL): Adjust. (INTERNAL_SYSCALL_NCS): Define. 2004-09-22 Ulrich Drepper * malloc/malloc.c (malloc_printerr): Use syslog if writev failed. * string/string.h: Add __nonnull annotations. * stdlib/stdlib.h: Likewise. 2004-09-20 H.J. Lu * sysdeps/unix/sysv/linux/ia64/sysdep.h (DO_INLINE_SYSCALL): Renamed to ... (DO_INLINE_SYSCALL_NCS): This. (DO_INLINE_SYSCALL): New. (INLINE_SYSCALL): Updated. (INTERNAL_SYSCALL_NCS): Updated. 2004-09-21 Ulrich Drepper * elf/sprof.c (load_shobj): Add support for reading symbol table from debuginfo file. * elf/ldd.bash.in: Fix syntax errors. 2004-09-20 Ulrich Drepper * sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable): Remove some duplication. * nscd/nscd.c (options): Mark S option as hidden. (parse_opt): When S option is used, print warning message. * nscd/grpcache.c (adgrptbyX): Don't handle secure mode. * nscd/hstcache.c (addhstbyX): Don't handle secure mode. * nscd/aicache.c (addhstaiX): Don't handle secure mode. * nscd/pwdcache.c (addpwbyX): Don't handle secure mode. 2004-09-20 Roland McGrath * elf/dl-load.c (__stack_prot): Only use PROT_GROWSUP/PROT_GROWSDOWN in initializer #if defined. 2004-09-18 Paul Eggert [BZ #391] * stdlib/getsubopt.c: Merge fixes from gnulib. (__strchrnul) [!_LIBC]: Define and include "strchrnul.c". (getsubopt): Use prototypes, not K&R style. Fix bug: memcmp(A,B,N) was being invoked on a memory block B whose size might be smaller than N. Use strncmp to avoid the bug. 2004-09-20 Ulrich Drepper * configure.in: If selinux has not explictly been requested, don't comment on it missing. * elf/dl-load.c: Define __stack_prot. * sysdeps/unix/sysv/linux/dl-execstack.c: Don't define __stack_prot here, just declare it. 2004-09-20 Jakub Jelinek * configure.in (libc_cv_z_relro): Only set to yes if linker script contains DATA_SEGMENT_RELRO_END. 2004-09-20 Ulrich Drepper * elf/dl-load.c (_dl_map_object_from_fd): Add some error checking. Reorder code slightly. * elf/rtld.c (dl_main): No need to check whether l_info[DT_HASH] is non-null, _dl_setup_hash will do that. 2004-09-19 Ulrich Drepper * sysdeps/unix/sysv/linux/setegid.c [HAVE_PTR__NPTL_SETXID]: Call callback to set IDs in all other threads as well. * sysdeps/unix/sysv/linux/seteuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setegid.c: Likewise. * sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. * sysdeps/unix/sysv/linux/setuid.c: New file. * sysdeps/unix/sysv/linux/setgid.c: New file. * sysdeps/unix/sysv/linux/setreuid.c: New file. * sysdeps/unix/sysv/linux/setregid.c: New file. * sysdeps/unix/sysv/linux/setresuid.c: New file. * sysdeps/unix/sysv/linux/setresgid.c: New file. * sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NCS. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: Use x86 version. * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove setresgid and setresuid. * nscd/aicache.c: Use pthread_seteuid_np instead of seteuid. * nscd/grpcache.c: Likewise. * nscd/hstcache.c: Likewise. * nscd/pwdcache.c: Likewise. * resolv/res_mkquery.c (res_nmkquery): Fix typo. 2004-09-18 Ulrich Drepper * sysdeps/unisx/sysv/linux/dl-execstack.c: Get protection flag from memory. * elf/dl-load.c (_dl_map_object_from_fd): Add PROT_EXEC flag to __stack_flags. * sysdeps/posix/getaddrinfo.c (gaih_inet): Do not use gethostbyname3_r if we are not looking for the canonical name. * resolv/res_mkquery.c (res_nmkquery): Randomize request ID every time. 2004-09-18 Roland McGrath * sysdeps/unix/sysv/linux/waitid.c (do_waitid): Pass fifth argument to system call. 2004-09-17 Ulrich Drepper * include/link.h (struct link_map): Add l_used element. * sysdeps/generic/ldsodefs.h: Define DL_DEBUG_UNUSED. * elf/rtld.c (process_dl_debug): Recognize unused. (dl_main): When unused debug flag is set check for unused direct dependencies. When printing dependencies and SONAME starts with /, omit the SONAME => part. * elf/dl-lookup.c (_dl_lookup_symbol_x): Mark object in which the symbol has been found as used. * elf/ldd.bash.in: Add -u option. 2004-09-18 Jakub Jelinek * sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread): Do nothing if __NR_set_tid_address is not defined. [BZ #390] 2004-09-17 Ulrich Drepper * sysdeps/posix/getaddrinfo.c: Use gethostbyname3_r NSS function in case it is available. 2004-09-17 Jakub Jelinek * nscd/nscd.c (parse_opt): Write arg string instead of (void *) key to the socket. 2004-09-17 Ulrich Drepper * misc/sys/cdefs.h: Define __nonnull using nonnull function attribute for gcc 3.3 and higher. * io/fcntl.h: Add __nonnull where appropriate. * io/ftw.h: Likewise. * io/utime.h: Likewise. * io/sys/poll.h: Likewise. * io/sys/sendfile.h: Likewise. * io/sys/stat.h: Likewise. * io/sys/statfs.h: Likewise. * io/sys/statvfs.h: Likewise. * posix/unistd.h: Likewise. * catgets/nl_types.h: Likewise. * crypt/crypt.h: Likewise. * debug/execinfo.h: Likewise. 2004-09-16 Ulrich Drepper * posix/glob.h: Remove cruft to make header usable outside glibc. The maintenance headache is too big. * configure.in: Add test for required SELinux features. * config.make.in: Add have-selinux entry. * config.h.in: Add HAVE_SELINUX entry. * nscd/Makefile (nscd-modules): Add selinux. (CFLAGS-selinux.c): Add -fpie. Define selinux-LIBS and use in link line. * nscd/connections.c (handle_request): Check access SELinux permissions before processing request. * nscd/nscd.c (main): Initialize selinux_enabled and stop avc thread. * nscd/nscd_stat.c: Transmit and print AVC statistics. * nscd/selinux.c: New file. * nscd/selinux.h: New file. Patch mostly by Matthew Rickard . 2004-09-16 Jakub Jelinek * nscd/nscd_helper.c (__nscd_unmap, get_mapping): Use __munmap instead of munmap. * nscd/Makefile (CFLAGS-aicache.c): Set to -fpie. 2004-09-16 Thorsten Kukuk * sysdeps/posix/getaddrinfo.c (gaih_inet): Check __nss_not_use_nscd_hosts variable if nscd should be used or not. 2004-09-16 Ulrich Drepper * nscd/nscd_proto.h: Define NSS_NSCD_RETRY. Add __nscd_getai prototype. * nss/getXXbyYY_r.c: Remode definition of NSS_NSCD_RETRY. * nscd/nscd-client.h: Remove __nscd_getai prototype. * nscd/nscd_getai.c: Include nscd_proto.h. * elf/ldd.bash.in: Add support for SELinux environments. Patch by Stephen Smalley . 2004-09-16 Roland McGrath * configure.in (--with-headers): Let argument contain a : separated list of directories to use, not just one. * configure: Regenerated. 2004-09-15 Richard Henderson * sysdeps/alpha/fpu/libm-test-ulps: Update. * scripts/data/c++-types-alpha-linux-gnu.data: New file. 2004-09-15 Ulrich Drepper * nscd/aicache.c: Prefer using gethostbyname3_r NSS callback to also get ttl and canonical name. Use these two values. * resolv/Versions: Export _nss_dns_gethostbyname3_r from libnss_dns. * resolv/nss_dns/dns-host.c (getanswer_r): Take two new parameters. If nonnull fill with TTL and pointer to canonical name respectively. (_nss_dns_gethostbyaddr_r): Pass NULL in new parameters of getanswer_r. (_nss_dns_gethostbyname2_r): Just wrapper around _nss_dns_gethostbyname3_r. (_nss_dns_gethostbyname3_r): Renamed from _nss_dns_gethostbyname2_r. Take two new parameters which as passed to getanswer_r. * nscd/Makefile (rountines): Add nscd_getai. (nscd-modules): Add aicache. * nscd/aicache.c: New file. * nscd/nscd_getai.c: New file. * nscd/cache.c (prune_cache): Handle GETAI request type. * nscd/connections.c: Add GETAI support in request handling. * nscd/nscd-client.h (request_type): Add GETAI. Define ai_response_header and struct nscd_ai_result types. (struct datahead): Add aidata field. Declare __nscd_getai. * nscd/nscd.c: Add getaddrinfo definition to catch problems. * nscd/nscd.h: Declare addhstai and readdhstai. * sysdeps/posix/getaddrinfo.c: Add support for using cached results. * posix/Makefile (CFLAGS-getaddrinfo.c): Add -DUSE_NSCD. * nscd/nscd-client.h (struct datahead): Use uint8_t instead of bool. 2004-09-14 Ulrich Drepper * misc/sys/cdefs.h: Remove debugging text from __P and __PMT. 2004-09-13 Ulrich Drepper * misc/sys/cdefs.h: Restore old definition of __P. * csu/munch.awk: Remove uses of __P and __PMT. * gmon/gmon.c: Likewise. * hesiod/hesiod.h: Likewise. * include/stdio.h: Likewise. * io/fts.c: Likewise. * libio/genops.c: Likewise. * libio/libioP.h: Likewise. * libio/fileops.c: Likewise. * libio/iolibio.h: Likewise. * libio/libio.h: Likewise. * libio/memstream.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldstdfiles.c: Likewise. * libio/iopopen.c: Likewise. * libio/vsnprintf.c: Likewise. * libio/vswprintf.c: Likewise. * libio/wgenops.c: Likewise. * libio/oldiopopen.c: Likewise. * locale/programs/xmalloc.c: Likewise. * locale/programs/xstrdup.c: Likewise. * malloc/mtrace.c: Likewise. * misc/getttyent.c: Likewise. * misc/getusershell.c: Likewise. * nis/rpcsvc/ypupd.h: Likewise. * posix/fnmatch.h: Likewise. * posix/glob.h: Likewise. * resolv/arpa/nameser.h: Likewise. * resolv/gethnamaddr.c: Likewise. * resolv/resolv.h: Likewise. * resolv/inet_net_ntop.c: Likewise. * resolv/inet_net_pton.c: Likewise. * resolv/res_init.c: Likewise. * resolv/nss_dns/dns-network.c: Likewise. * stdio-common/vfprintf.c: Likewise. * stdio-common/reg-printf.c: Likewise. * sysdeps/generic/chflags.c: Likewise. * sysdeps/generic/fchflags.c: Likewise. * sysdeps/generic/glob.c: Likewise. * sysdeps/generic/printf_fphex.c: Likewise. * sysdeps/generic/memcmp.c: Likewise. * sysdeps/generic/memcopy.h: Likewise. * sysdeps/generic/morecore.c: Likewise. * sysdeps/generic/sstk.c: Likewise. * sysdeps/posix/sigvec.c: Likewise. * sysdeps/posix/ttyname_r.c: Likewise. * sysdeps/standalone/arm/bits/errno.h: Likewise. * sysdeps/standalone/standalone.h: Likewise. * sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise. * sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise. * sysdeps/unix/arm/start.c: Likewise. * sysdeps/unix/bsd/sigaction.c: Likewise. * sysdeps/unix/bsd/sun/m68k/sigtramp.c: Likewise. * sysdeps/unix/bsd/sun/sparc/sigtramp.c: Likewise. * sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise. * sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise. * sysdeps/unix/bsd/ultrix4/sysconf.c: Likewise. * sysdeps/unix/sparc/start.c: Likewise. * sysdeps/unix/sysv/getdents.c: Likewise. * sysdeps/unix/sysv/irix4/fpathconf.c: Likewise. * sysdeps/unix/sysv/irix4/getgroups.c: Likewise. * sysdeps/unix/sysv/irix4/getpriority.c: Likewise. * sysdeps/unix/sysv/irix4/getrusage.c: Likewise. * sysdeps/unix/sysv/irix4/pathconf.c: Likewise. * sysdeps/unix/sysv/irix4/setgroups.c: Likewise. * sysdeps/unix/sysv/irix4/sigtramp.c: Likewise. * sysdeps/unix/sysv/irix4/start.c: Likewise. * sysdeps/unix/sysv/irix4/sysconf.c: Likewise. * sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise. * sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise. * sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/getpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/setpgid.c: Likewise. * sysdeps/unix/sysv/sysv4/sethostname.c: Likewise. * sysdeps/unix/sysv/sysv4/setsid.c: Likewise. * sysdeps/unix/sysv/sysv4/sysconf.c: Likewise. * sysdeps/unix/sysv/sysv4/waitpid.c: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/getdents.c: Likewise. * time/tzset.c: Likewise. * time/strftime_l.c: Likewise. * time/strptime_l.c: Likewise. * crypt/md5.h: Likewise. 2004-09-13 Andreas Jaeger * configure.in: Support GCC 4.x. * configure: Regenerated. 2004-09-13 Thorsten Kukuk * nscd/nscd_stat.c: Don't access dbs[cnt].head for disabled services. * nscd/nscd.init: Fix path to socket. 2004-09-12 Ulrich Drepper * nscd/nscd_helper.c (get_mapping): Correctly check cmsg length. Avoid file descriptor leak in case of size mismatch. * nscd/nscd-client.h: Fix database structure layout for biarch. * nscd/mem.c (gc): Add casts to avoid warnings. * nss/getent.c: Don't preconstruct help message. Do it only when needed. * locale/programs/locale.c: Simplify help message printing. 2004-09-12 Roland McGrath * sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]: Add decls missing in last change. 2004-09-11 Thorsten Kukuk * nis/nss_compat/compat-grp.c: Check that buflen is greater zero before writing data into the buffer with negative offset. * nis/nss_compat/compat-initgroups.c: Likewise. * nis/nss_compat/compat-pwd.c: Likewise. * nis/nss_compat/compat-spwd.c Likewise. 2004-09-12 Ulrich Drepper * misc/syslog.c (vsyslog): Fix copying of PID in case of out-of-memory situation. [BZ #365]. * sysdeps/alpha/fpu/bits/mathinline.h: Use __NTH instead of __THROW in inline function definitions. * posix/spawn.h [__USE_GNU]: Define POSIX_SPAWN_USEVFORK. * posix/spawnattr_setflags.c: Check whether any unknown bit is set in FLAGS parameter and fail if this is the case. * sysdeps/posix/spawni.c: Use vfork if POSIX_SPAWN_USEVFORK flag is set. * nscd/pwdcache.c (cache_addpw): Sync also negative results to disk. * nscd/grpcache.c (cache_addgr): Likewise. * nscd/hstcache.c (cache_addhst): Likewise. 2004-09-11 Roland McGrath * sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]: Set _dl_phdr and _dl_phnum. (init1): When bootstrap task, bail early and never examine *D. 2004-09-11 Alfred M. Szmidt * sysdeps/mach/hurd/i386/tls.h (__i386_set_gdt) [!HAVE_I386_SET_GDT]: Cast THR, SEL and DESC to `void'. 2004-09-11 Ulrich Drepper * nscd/connections.c (nscd_run): Call setup_thread only for enabled databases. * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Use __NTH for __cmsg_nxthdr. 2004-09-10 Ulrich Drepper * nscd/nscd.c (pagesize_m1): New variable. (main): Initialize it. * nscd/nscd.h: Declare pagesize_m1. * nscd/hstcache.c: Pass correctly aligned address to msync. * nscd/grpcache.c: Likewise. * nscd/pwdcache.c: Likewise. 2004-09-10 Kaz Kojima * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Decrement __nwaiters. If pthread_cond_destroy has been called and this is the last waiter, signal pthread_cond_destroy caller and avoid using the pthread_cond_t structure after unlock. * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise. 2004-09-10 Ulrich Drepper * sysdeps/unix/sysv/linux/kernel-features.h: Don't define __ASSUME_CLONE_STOPPED. 2004-09-10 Jakub Jelinek * misc/sys/cdefs.h (__REDIRECT_NTH): Change order of __THROW and __asm__ for C++. [BZ #377] 2004-09-10 Ulrich Drepper * nscd/nscd_stat.c: Improve output by also printing .shared and .persistent. * nscd/connections.c: Allow cache sharing to be really disabled. 2004-09-10 Jakub Jelinek * malloc/malloc.c (_int_free): Only do arena boundary check for contiguous arenas. 2004-09-10 Kazuhiro Inaoka * stdlib/longlong.h [__M32R__] (add_ssaaaa, sub_ddmmss): Fix broken instruct operands. * elf/elf.h: Add R_M32R_* relocs. 2004-09-09 Ulrich Drepper * misc/sys/cdefs.h: Despite what the gcc manual says, gcc 3.2 seems not to support the nothrow attribute. Use it only for gcc 3.3 and higher. * malloc/hooks.c (top_check): Print top chunk corruption as normal error message. * malloc/malloc.c (malloc_printerr): Don't make informational message look like error message. 2004-09-09 Andreas Jaeger * nscd/Makefile (CFLAGS-nscd_setup_thread.c): Set to -fpie. 2004-09-08 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/socket.h (__SCM_CONNECT): Removed. * malloc/malloc.c (_int_free): Add inexpensive double free and memory corruption tests. (malloc_printf_nc): Renamed to malloc_printerr. Second parameter is no format string anymore. Don't use stdio. Adjust all callers. * malloc/hooks.c: Adjust malloc_printf_nc callers. 2004-09-08 Roland McGrath * malloc/mcheck.c: Don't use __P. Use prototypes definitions for static functions. 2004-09-08 Ulrich Drepper * sysdeps/ia64/fpu/bits/mathinline.h: Use __NTH instead of __THROW. 2004-09-08 Ulrich Drepper Jakub Jelinek * nscd/nscd-client.h: Add a few #includes. * nscd/Makefile (nscd-modules): Add nscd_setup_thread. * nscd/connections.c (nscd_run): Call setup_thread for maintenance threads. * nscd/nscd-client.h (struct database_pers_head): Add nscd_certainly_running field. * nscd/nscd.h: Declare setup_thread. * nscd/nscd_helper.c (__nscd_get_map_ref): Avoid the time test if nscd_certainly_running is nonzero. * sysdeps/generic/nscd_setup_thread.c: New file. * sysdeps/unix/sysv/linux/nscd_setup_thread.c: New file. 2004-09-08 Ulrich Drepper * nscd/connections.c: Implement r/o sharing of nscd's cache with client processes via shared memory. * nscd/nscd-client.h: Likewise. * nscd/nscd.h: Likewise. * nscd/nscd_conf.c: Likewise. * nscd/nscd_getgr_r.c: Likewise. * nscd/nscd_getpw_r.c: Likewise. * nscd/nscd_gethst_r.c: Likewise. * nscd/nscd.conf: Add new config parameters. * nscd/Makefile (aux): Add nscd_helper. * nscd/nscd_helper.c: New file. * nscd/mem.c (gc): Indicate beginning and end of the gc cycle. * nscd/hstcache.c: Simplify a lot. We cache only the request itself, no derived information. * connections.c (nscd_init): Fix bug in testing size of the persistent. * nis/Makefile (aux): Add nis_hash. * nis/nis_hash.c: New file. Split out from nis_util.c. * nis/nis_util.c: Move __nis_hash code in separate file. * csu/tst-atomic.c: Improve atomic_increment_val test which would not have found a ppc bug. * sysdeps/s390/fpu/bits/mathinline.h: Remove unnecessary includes. * malloc/arena.c: Remove __MALLOC_P uses. * malloc/malloc.c: Likewise. * malloc/mtrace.c: Remove __P uses. * malloc/mcheck-init.c: Likewise. 2004-09-07 Jakub Jelinek * sysdeps/powerpc/powerpc64/configure.in: New file. * config.h.in (USE_PPC64_OVERLAPPING_OPD): Add. * configure.in (HAVE_ASM_GLOBAL_DOT_NAME): Remove. * sysdeps/powerpc/powerpc64/sysdep.h: Formatting. (OPD_ENT, BODY_LABEL, ENTRY_1, ENTRY_2, END_2, DOT_PREFIX, BODY_PREFIX): Define. (ENTRY, DOT_LABEL, END, TRACEBACK, END_GEN_TB, EALIGN): Support HAVE_ASM_GLOBAL_DOT_NAME or no dot symbols, USE_PPC64_OVERLAPPING_OPD or never overlapping .opd entries. * sysdeps/powerpc/powerpc64/dl-machine.h: Include sysdep.h. (TRAMPOLINE_TEMPLATE, RTLD_START): Use the new sysdep.h macros. 2004-09-07 Ulrich Drepper * malloc/malloc.h: Don't define __THROW if it is already defined. * sysdeps/powerpc/bits/atomic.h (atomic_increment): Define. (atomic_decrement): Define. * sysdeps/powerpc/bits/atomic.h: Implement atomic_increment_val and atomic_decrement_val. * sysdeps/powerpc/powerpc32/bits/atomic.h: Likewise. * sysdeps/powerpc/powerpc64/bits/atomic.h: Likewise. * csu/tst-atomic.c (do_test): Add tests of atomic_increment_val and atomic_decrement_val. * include/atomic.h: Define atomic_increment_val, atomic_decrement_val, and atomic_delay is not already defined. * sysdeps/i386/i486/bits/atomic.h: Define atomic_delay. * sysdeps/x86_64/bits/atomic.h: Likewise. * miscd/sys/cdefs.h (__NTH): New macro. (__THROW): Define using nothrow attribute for C code and gcc >= 3.2. (__REDIRECT_NTH): New macro. * argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary. * ctype/ctype.h: Likewise. * dirent/dirent.h: Likewise. * io/fcntl.h: Likewise. * io/sys/sendfile.h: Likewise. * io/sys/stat.h: Likewise. * io/sys/statfs.h: Likewise. * io/sys/statvfs.h: Likewise. * libio/bits/stdio.h: Likewise. * misc/sys/mman.h: Likewise. * posix/unistd.h: Likewise. * resource/sys/resource.h: Likewise. * rt/aio.h: Likewise. * signal/signal.h: Likewise. * stdlib/stdlib.h: Likewise. * string/argz.h: Likewise. * string/string.h: Likewise. * sysdeps/generic/inttypes.h: Likewise. * sysdeps/i386/fpu/bits/mathinline.h: Likewise. * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise. * sysdeps/s390/fpu/bits/mathinline.h: Likewise. * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise. * wcsmbs/wchar.h: Likewise. * sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate. * resolv/gethnamaddr.c (getanswer): Remove __P use in variable definition. * io/sys/poll.h: Remove __THROW from poll prototype, it's a cancellation point. * io/fts.c (fts_open): Remove uses of __P. * include/stdlib.h: No need to use __THROW in this header. 2004-09-06 Roland McGrath * sysdeps/mach/hurd/dl-sysdep.c (__writev): Does use assert on FD validity, since __assert_fail gets to here anyway. Just fail. 2004-09-06 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix problem with AF_UNSPEC lookup with AI_CANONNAME of name which has only IPv6 addresses. 2004-09-05 Richard Henderson * sysdeps/alpha/fpu/fraiseexcpt.c: Remove file. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_IEEE_RAISE_EXCEPTION): New. * sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c: New file. * sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h: New file. * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use it. * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. 2004-09-05 Richard Henderson * sysdeps/alpha/div.S: Save and restore FPCR around fp operations. * sysdeps/alpha/divl.S, sysdeps/alpha/divq.S, sysdeps/alpha/divqu.S, sysdeps/alpha/ldiv.S, sysdeps/alpha/reml.S, sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S: Likewise. * sysdeps/alpha/div_libc.h (FRAME): Increase to 64. 2004-09-05 Ulrich Drepper * nscd/cache.c (cache_add): Correctly log GETHOSTBYADDR and GETHOSTBYADDRv6 requests. 2004-09-04 Ulrich Drepper * nscd/pwdcache.c (cache_addpw): Use correct key length in cache_add calls. * nscd/grpcache.c (cache_addgr): Likewise. 2004-09-03 Alfred M. Szmidt * sysdeps/mach/hurd/i386/tls.h (THREAD_DTV): Changed type of _DTV to `dtv_t *'. 2004-09-03 Ulrich Drepper * nscd/nscd.c (parse_opt): Use writev instead of two write for invalidate command. 2004-09-02 Ulrich Drepper * nscd/connections.c (nscd_run): Check early for invalid request types. 2004-09-02 Roland McGrath * sysdeps/mach/hurd/i386/tls.h (TLS_INIT_TP_EXPENSIVE): New macro. (INSTALL_NEW_DTV, THREAD_DTV): Rewritten to fetch the right word. (THREAD_SELF): New macro. 2004-09-02 Steven Munroe [BZ #357] * stdlib/tst-setcontext.c (test_stack): Added test for stack clobber. (main): Call test_stack. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S (__getcontext): Push stack frame then save parms in local frame. Improve instruction scheduling. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S (__swapcontext): Likewise. 2004-09-01 Andreas Schwab * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h [g++ >= 3.5]: Use __builtin_offsetof. 2004-09-01 Jakub Jelinek [BZ #361] * posix/fnmatch_loop.c (FCT): For backslash between brackets, branch to normal_bracket after fetching the next character. * posix/tst-fnmatch.input: Add 25 new tests. Reported by Markus Oberhumer . 2004-09-01 Ulrich Drepper * elf/rtld.c (dl_main): First check existence of ld.so.preload with access. 2004-09-01 Roland McGrath * sysdeps/unix/sysv/linux/bits/waitflags.h (WSTOPPED, WEXITED, WCONTINUED, WNOWAIT): New macros. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_WAITID_SYSCALL): New macro. * sysdeps/unix/sysv/linux/waitid.c: New file. Use new syscall when available, or fall back to the waitpid-based generic code. 2004-08-14 Alfred M. Szmidt * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Let gcc clobber the `ebp' register. * sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Removed. Reverts change from 2004-05-07 by Jeroen Dekkers. * sysdeps/mach/hurd/i386/init-first.c (init): Changed the type of NEWSP from `void *' to `int *'. Changed all casts accordingly. 2004-08-31 Jakub Jelinek * wcsmbs/wcsmbsload.c (__wcsmbs_getfct): Move attribute_hidden before return type. * locale/localename.c (__current_locale_name): Likewise. 2004-08-30 Roland McGrath * scripts/extract-abilist.awk: If `lastversion' variable defined, omit later sets from output. * Makerules (check-abi): Pass option to set that with value of LIB-abi-frozen variable if one is set. * abilist/libcidn.abilist: New file (empty). 2004-08-30 Jakub Jelinek * posix/bits/posix1_lim.h (_POSIX_CHILD_MAX, _POSIX_OPEN_MAX): If not __USE_XOPEN2K, use the Unix98 mandated values. 2004-08-27 Roland McGrath * configure.in (usetls): Default to yes. * configure: Regenerated. 2004-08-26 Roland McGrath * configure.in (add_ons_automatic): New variable, set to yes or no indicating --enable-add-ons with no explicit list. (running add-on fragments): Allow a fragment to modify $libc_add_on and have that affect its place in the list of add-ons to use. * configure: Regenerated. 2004-08-26 Ulrich Drepper * nscd/cache.c: Major rewrite. The data is now optionally kept in a mmaped memory region which is automatically mirrored on disk. This implements persistent data storage. The Memory handled needed to be completely revamped, it now uses a garbage collection mechanism instead of malloc. * nscd/connections.c: Likewise. * nscd/nscd.c: Likewise. * nscd/nscd.h: Likewise. * nscd/nscd_conf.c: Likewise. * nscd/nscd_stat.c: Likewise. * nscd/grpcache.c: Likewise. * nscd/hstcache.c:: Likewise. * nscd/pwdcache.c:: Likewise. * nscd/Makefile: Add rules to build mem.c. * nscd/mem.c: New file. * nscd/nscd.conf: Describe new configuration options. 2004-08-26 Kaz Kojima * sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if NO_SGIDEFS_H isn't defined. * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. * sysdeps/unix/sysv/linux/sh/pread.c: Define NO_SGIDEFS_H and _MIPS_SIM. * sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/sh/pread64.c: Likewise. * sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise. 2004-08-26 Ulrich Drepper * nscd/connections.c (nscd_run): atomic_increment was not missing. * sysdeps/gnu/Makefile (libdl-sysdep_routines): Don't add eval. Patch by Greg Schafer. 2004-08-25 Richard Henderson * sysdeps/alpha/elf/start.S (_start): Use $15 as frame unwind instead of $31. Zero $15. * sysdeps/unix/sysv/linux/alpha/clone.S (thread_start): Likewise. 2004-08-25 Ulrich Drepper * sysdeps/powerpc/powerpc64/bits/atomic.h (__arch_compare_and_exchange_bool_32_acq): Fix case where oldval is negative. (__arch_compare_and_exchange_bool_32_rel): Likewise. * nscd/connections.c: Make socket nonblocking so that threads don't get stuck on accept. Fix locking. * nscd/grpcache.c (cache_addgr): Use copy of original key in hash entry with alternative key. * nscd/pwdcache.c (cache_addpw): Likewise. 2004-08-25 Richard Sandiford * sysdeps/mips/dl-machine.h (_dl_start_user): Don't set __libc_stack_end. 2004-08-23 Ulrich Drepper * sysdeps/gnu/netinet/udp.h: Cosmetic changes. Remove unnecessary __BEGIN_DECLS/__END_DECLS. 2004-08-23 Andreas Jaeger [BZ #341] * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_NOATIME): Define. * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/cris/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_NOATIME): Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (O_NOATIME): Likewise. 2004-08-21 Ulrich Drepper * malloc/hooks.c (DEFAULT_CHECK_ACTION): Moved to malloc.c. (check_action): Likewise. When printing error messages, use malloc_printf_nc now instead of fiddling with the streams cancellation flag in every place. * malloc/malloc.c (DEFAULT_CHECK_ACTION): New definition. Change default to 3. (check_action): New variable. (unlink): Print error message and eventually terminate in case list is corrupted. (malloc_printf_nc): New function. Use it in _int_free. Change proposed by Arjan van de Ven. * dlfcn/Makefile: Don't build eval.c anymore. 2004-08-20 Roland McGrath * csu/Makefile ($(objpfx)version-info.h): Use printf in place of echo -e for POSIX.2 portability. Reported by Paul Jarc . 2004-08-19 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Minor optimizations in list generation. * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't use getcanonname_r function if AI_CANONNAME flag is not set in request. * nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Initialize mysize with limits only if latter is >= 0. Use mysize in malloc call. 2004-08-19 Jakub Jelinek * sysdeps/posix/getaddrinfo.c (gaih_inet): Cast canon to (char *) to avoid warning. * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Initialize status to NSS_STATUS_UNAVAIL. 2004-08-19 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Use h->h_name in the cannoname lookup since it has the FQDN even if the original NAME value has not. 2004-08-18 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Store NAME parameter pointer in new variable ORIG_NAME and use this pointer when determination of canonical name failed, not the possibly IDN translated value of NAME. 2004-08-17 Ulrich Drepper * resolv/resolv.h (RES_DEFAULT): Add RES_NOIP6DOTINT. * resolv/res_init.c (res_setoptions): Recognize ip6-dotint option. Reset RES_NOIP6DOTINT flag in this case.. * sysdeps/posix/getaddrinfo.c: Fix memory handling of ai_canonname. 2004-08-16 Ulrich Drepper * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Don't use CNAME records, we better follow the chain of CNAME records which can be accomplished with A/AAAA lookups. 2004-08-15 Roland McGrath * sysdeps/unix/sysv/linux/bits/resource.h (enum __rusage_who): Remove __RUSAGE_BOTH constant and RUSAGE_BOTH macro. * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise. 2004-08-15 Roland McGrath * sysdeps/i386/i686/Makefile (elide-routines.os): Append hp-timing to this, not ... (static-only-routines): ... this. * sysdeps/ia64/Makefile: Likewise. * sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise. * sysdeps/sparc/sparc64/Makefile: Likewise. * sysdeps/x86_64/Makefile: Likewise. * sysdeps/i386/i686/hp-timing.c: Revert copyright terms change. * sysdeps/ia64/hp-timing.c: Likewise. * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise. * sysdeps/sparc/sparc64/hp-timing.c: Likewise. * csu/elf-init.c: Update copyright terms including special exception for these trivial files, which are statically linked into executables that use dynamic linking for the significant library code. * io/fstat.c: Likewise. * io/fstat64.c: Likewise. * io/lstat.c: Likewise. * io/lstat64.c: Likewise. * io/stat.c: Likewise. * io/stat64.c: Likewise. * stdlib/atexit.c: Likewise. * sysdeps/alpha/elf/initfini.c: Likewise. * sysdeps/alpha/elf/start.S: Likewise. * sysdeps/arm/elf/start.S: Likewise. * sysdeps/cris/elf/start.S: Likewise. * sysdeps/generic/initfini.c: Likewise. * sysdeps/generic/mknod.c: Likewise. * sysdeps/hppa/elf/initfini.c: Likewise. * sysdeps/hppa/elf/start.S: Likewise. * sysdeps/i386/elf/start.S: Likewise. * sysdeps/i386/i686/hp-timing.c: Likewise. * sysdeps/ia64/elf/initfini.c: Likewise. * sysdeps/ia64/elf/start.S: Likewise. * sysdeps/ia64/hp-timing.c: Likewise. * sysdeps/m68k/elf/start.S: Likewise. * sysdeps/mach/start.c: Likewise. * sysdeps/mips/elf/start.S: Likewise. * sysdeps/powerpc/powerpc32/elf/start.S: Likewise. * sysdeps/powerpc/powerpc64/elf/start.S: Likewise. * sysdeps/s390/s390-32/elf/start.S: Likewise. * sysdeps/s390/s390-32/initfini.c: Likewise. * sysdeps/s390/s390-64/elf/start.S: Likewise. * sysdeps/s390/s390-64/initfini.c: Likewise. * sysdeps/sh/elf/initfini.c: Likewise. * sysdeps/sh/elf/start.S: Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/sparc/sparc64/hp-timing.c: Likewise. * sysdeps/standalone/i386/start.S: Likewise. * sysdeps/standalone/i960/start.S: Likewise. * sysdeps/standalone/m68k/m68020/start.S: Likewise. * sysdeps/unix/arm/start.c: Likewise. * sysdeps/unix/bsd/osf/alpha/start.S: Likewise. * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise. * sysdeps/unix/sparc/start.c: Likewise. * sysdeps/unix/start.c: Likewise. * sysdeps/unix/sysv/aix/start.s: Likewise. * sysdeps/unix/sysv/irix4/start.c: Likewise. * sysdeps/x86_64/elf/initfini.c: Likewise. * sysdeps/x86_64/elf/start.S: Likewise. 2004-08-15 Roland McGrath [BZ #227] * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_BRK_PAGE_ROUNDED): New macro. * sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk) [! __ASSUME_BRK_PAGE_ROUNDED]: Adjust the break up if it falls within the partial page after the dynamic linker's own data segment. 2004-08-15 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Optimize generation of v4-mapped addresses a bit. (gethosts): Move alloca out of macro, so that it is done only once. * sysdeps/posix/getaddrinfo.c (gaih_addrtuple): Change type of addr to avoid casts. (gethosts): Removed. (gethosts2): Renamed to gethosts. Make it usable for family != AF_UNSPEC. Fix AI_V4MAPPED. (gaih_inet): Remove use of old gethosts. Always use what used to be gethosts2. If entry is found, try to use the same NSS module's getcanonname_r function. Use gethostbyaddr for AI_CANONNAME only if getcanonname_r was not available. Fix filtering of AI_V4MAPPED addresses. Numerous cleanups. * resolv/nss_dns/dns-canon.c: New file. * resolv/Makefile (libnss_dns-routines): Add dns-canon. * resolv/Versions (libnss_dns): Add _nss_dns_getcanonname_r. * elf/Makefile: Add rules to build and run tst-dlopenrpath. * elf/tst-dlopenrpath.c: New file. * elf/tst-dlopenrpathmod.c: New file. * intl/tst-gettext.sh: Adjust for change of de.po file to UTF-8. * intl/tst-gettext.c: Likewise. * nss/getent.c (ahosts_keys_int): Correctly print IPv6 addresses. * nss/getent.c: Allow queries for getaddrinfo with AF_INET and AF_INET6. 2004-08-14 Ulrich Drepper * po/de.po: Update from translation team. 2004-08-14 Roland McGrath * sysdeps/mach/configure: Regenerated. * sysdeps/mach/hurd/configure: Regenerated. 2004-08-14 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (getaddrinfo): If RFC3484 sorting is performed, make sure it is still the first entry after sorting that has the ai_canonname information. * sysdeps/posix/getaddrinfo.c (gaih_inet): Really set ai_canonname only in one entry. 2004-08-13 Daniel Jacobowitz * scripts/output-format.sed: Handle default case of three-argument OUTPUT_FORMAT. * sysdeps/arm/machine-gmon.h (mcount_internal): Mark as __attribute_used__. 2004-08-13 Ulrich Drepper * nss/getent.c (ahosts_keys): ai_canonname is NULL for all but the first returned entry. Print name only if not NULL. * nis/nss_nis/nis-netgrp.c: Remove locking by using data in struct __netgrent object passed in instead of global variables. Optimize. * nis/nss_nisplus/nisplus-netgrp.c: Remove locking by using data in struct __netgrent object passed in instead of global variables. * inet/netgroup.h (struct __netgrent): Add service_user field. Move cursor in anonymous union, add new field location to that union. * inet/getnetgrent_r.c: Extensive rewrite to really enable concurrent uset of set/get/endnetgrent and innetgr. Reported by Chuck Simmons. * inet/netgroup.h (struct name_list): Replace name pointer with zero-sized array. * inet/getnetgrent_r.c: Adjust code for change in name_list layout. Numerous strdup and free calls removed. * elf/sprof.c (read_symbols): When comparing aliases, prefer non-hidden over hidden symbols and strong over weak symbols if both don't start with '_'. * malloc/malloc.c: Use strong_alias instead of weak_alias wherever possible. 2004-08-12 Jakub Jelinek * sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard RUSAGE_ enums as __RUSAGE_ and adjust macros accordingly. * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise. Define non-standard RLIMIT_ enums as __RLIMIT_ and adjust macros accordingly. 2004-08-11 Andreas Schwab * resolv/res_libc.c: Move definition of __res_initstamp ... * resolv/res_init.c: ... here. 2004-08-10 GOTO Masanori * locale/C-time.c: Change default ERA value from NULL to "". * locale/tst-C-locale.c: Add test case for ERA keywords. 2004-08-12 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard RLIMIT__ enums as __RLIMIT_ and adjust macros accordingly. * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise. 2004-08-12 Jakub Jelinek * sysdeps/unix/sysv/linux/bits/resource.h (RLIMIT_SIGPENDING, RLIMIT_MSGQUEUE): Add. (RLIMIT_NLIMITS, RLIM_NLIMITS): Adjust. * sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIMIT_SIGPENDING, RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add. (RLIM_NLIMITS): Adjust. * sysdeps/unix/sysv/linux/sparc/bits/resource.h (RLIMIT_SIGPENDING, RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add. (RLIM_NLIMITS): Adjust. * sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIMIT_SIGPENDING, RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add. (RLIM_NLIMITS): Adjust. 2004-08-12 Jakub Jelinek * resolv/res_query.c (__libc_res_nsearch): Protect the debugging printf with #ifdef DEBUG and RES_DEBUG check. * sysdeps/unix/sysv/linux/bits/shm.h: Move __END_DECLS after __USE_MISC #endif. * sysdeps/generic/bits/shm.h: Add __BEGIN_DECLS for __getpagesize declaration. * sysdeps/gnu/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise. 2004-08-12 Ulrich Drepper * po/ca.po: Update from translation team. 2004-08-11 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/shm.h: Add __BEGIN_DECLS for __getpagesize declaration. 2004-08-11 Roland McGrath * configure.in (libc_cv_cpp_asm_debuginfo): Add missing braces around commands inside &&. Reported by Andreas Schwab . * configure: Regenerated. * posix/tst-waitid.c (do_test): Ignore SIGCHLD before cleanup SIGKILL. 2004-08-11 Ulrich Drepper * time/tzset.c (tzset_internal): Add new parameter which is nonzero if called through tzset. Use TZDEFAULT name including name comparison if the new parameter is zero. This means implicit tzset calls will not cause files to be opened and read by tzfile.c all the time. 2004-08-11 Jakub Jelinek * rt/tst-timer2.c (do_test): If timer_create fails, just continue. * rt/tst-timer4.c (do_test): If one of the timer_create calls fails, return 1 immediately. * time/tzfile.c (__tzfile_read): Free transitions only if it will not be reused. * sysdeps/ieee754/dbl-64/mpa.c: Include . * sysdeps/ieee754/dbl-64/mpa.h (MAX, MIN): Macros removed. * stdio-common/tst-popen.c: Include . * resolv/res_send.c (__libc_res_nsend): Only define TMPBUF #if DEBUG. * sysdeps/pthread/aio_misc.c (handle_fildes_io): Remove noreturn attribute. Return NULL instead of calling pthread_exit at the end. 2004-08-11 Roland McGrath * iconvdata/testdata/ISO-2022-JP-3: Regenerated. 2004-08-10 Alfred M. Szmidt * sysdeps/generic/bits/in.h (struct ip_mreq): Remove definition. 2004-08-10 Jakub Jelinek * libio/bits/stdio.h (fread_unlocked): Cast 0 to (size_t). (fwrite_unlocked): When checking if size * n is <= 8, cast each argument to size_t individually. Cast n to (void) instead of (size_t), surround with (), return (size_t) 0 if one of n or size is 0. [BZ #316] * stdio-common/Makefile (tests): Add tst-unlockedio. * stdio-common/tst-unlockedio.c: New test. 2004-08-09 Roland McGrath * manual/install.texi (Supported Configurations): Replace bug-glibc mention with web URL. * INSTALL: Regenerated. * locale/iso-3166.def: Likewise, in comment. * locale/iso-4217.def: Likewise. * locale/iso-639.def: Likewise. * posix/cpio.h: Remove bug reporting comment. 2004-08-09 Ulrich Drepper * libio/bits/stdio.h (fread_unlocked): Add a couple of (size_t) casts to handle funny calls with floating point argument values and signed values correctly and without warning. (fwrite_unlocked): Likewise. [BZ #309] * malloc/memusage.c (me): Use creat64, not creat. * malloc/memusagestat.c: Fix handling of very large sizes. [BZ #285] Patch by Guy Maor . * elf/ldconfig.c (options): Mark parameter option names as translatable. [BZ #253] Patch by Jakub Bogusz . * iconv/gconv_charset.h (strip): Also allow comma which is what is used to separate options. [BZ #194] 2004-08-09 Roland McGrath * FAQ.in: Refer to web pages instead of bug-glibc. * FAQ: Regenerated. * time/strptime_l.c: #include , `bool' used in last change. 2004-08-09 Ulrich Drepper * time/tzset.c (tzset_internal): If TZ is not set do not compare old and new tz value since it might be /etc/localtime in both cases although the file changed. [BZ #154] Patch by Christian Franke . * time/tzfile.c (__tzfile_read): Determine dev/ino of file. Compare with values of previously opened file. Don't do anything is they match. 2004-08-08 Ulrich Drepper * elf/dl-load.c (_dl_map_object): If __RTLD_CALLMAP flag is set, reset loader before the actual loading. * elf/dl-open.c (dl_open_worker): If file name contains no path element determine map of caller. Pass caller map in this case to _dl_map_object. Set __RTLD_CALLMAP in mode. * include/dlfcn.h (__RTLD_CALLMAP): Define. [BZ #116] Patch by Greg Wolodkin . * misc/syslog.c (openlog_internal): Always try both UDP and TCP. [BZ #108] Patch mainly by Bjorn Andersson . * configure.in: Also recognize i786. [BZ #106] Patch by . * resolv/res_query.c (__libc_res_nsearch): Correctly test whether name contains any dots. [BZ #95] * resolv/res_send.c: Compiling with DEBUG defined works again. * resolv/gethnamaddr.c (dprintf): Renamed to Dprintf. Adjust all callers. * resolv/tst-leaks.c (TIMEOUT): Define so that if no server is available the process is not killed. [BZ #41] * intl/tst-gettext.c (main): Improve some messages. [BZ #33] * time/strptime_l.c (__strptime_internal): Fix handling of %Ey. [BZ #28] * po/sv.po: Update from translation team. 2004-08-07 Ulrich Drepper * inet/netinet/in.h: Add more const to the setipv4soucefilter, getsourcefilter, and setsourcefilter parameter list. * sysdeps/generic/setipv4sourcefilter.c: Likewise. * sysdeps/generic/getsourcefilter.c: Likewise. * sysdeps/generic/setsourcefilter.c: Likewise. * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: Likewise. * sysdeps/unix/sysv/linux/getsourcefilter.c: Likewise. * sysdeps/unix/sysv/linux/setsourcefilter.c: Likewise. * po/tr.po: Update from translation team. 2004-08-06 Ulrich Drepper * iconvdata/jisx0213.h (jisx0213_added_in_2004_p): Fix typo. Reported by Paolo Bonzini. 2004-08-06 Jakub Jelinek * sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add always_inline. * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_runtime_setup, elf_machine_fixup_plt, elf_machine_plt_conflict): Likewise. * sysdeps/unix/sysv/linux/netatalk/at.h: Include bits/sockaddr.h before including linux/atalk.h. * resolv/res_libc.c: Include atomic.h. * intl/finddomain.c (free_mem): Rename to... (_nl_finddomain_subfreeres): ... this. Add __libc_freeres_fn_section. * intl/loadmsgcat.c (_nl_unload_domain): Add __libc_freeres_fn_section. * intl/gettextP.h (_nl_unload_domain): Move into #ifdef _LIBC. Add attribute_hidden. (_nl_findomain_subfreeres): New prototype. * iconv/gconv_db.c (free_mem): Call _nl_findomain_subfreeres. 2004-07-30 Guido Guenther * nss/getent.c (passwd_keys): Use strtoul instead of isdigit to test if the key is numeric or not. (group_keys): Likewise. 2004-08-05 Ulrich Drepper * inet/netinet/in.h: Define struct ip_msfilter, IP_MSFILTER_SIZE, struct group_filter, and GROUP_FILTER_SIZE. * include/sys/socket.h: Declare __getsockopt. * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: New file. * sysdeps/unix/sysv/linux/getipv4sourcefilter.c: New file. * sysdeps/unix/sysv/linux/setsourcefilter.c: New file. * sysdeps/unix/sysv/linux/getsourcefilter.c: New file. [BZ #211] * po/ko.po: Update from translation team. 2004-08-04 Jakub Jelinek * hesiod/hesiod.c (__hesiod_res_get): Use calloc instead of malloc + memset. (__hesiod_res_set): Free nsaddrs. * include/resolv.h (__res_maybe_init): Add prototype. * resolv/resolv.h (struct __res_state): Add _u._ext.initstamp field. * resolv/Versions (libc): Add __res_maybe_init@@GLIBC_PRIVATE. * resolv/res_libc.c (__res_initstamp, lock): New variables. (res_init): Increase __res_initstamp. (__res_maybe_init): New function. * resolv/res_init.c (__res_vinit): Initialize _u._ext.initstamp. * hesiod/hesiod.c (__hesiod_res_get): Use __res_maybe_init instead of RES_INIT check and {res_ninit,__res_ninit,res_init} call. * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise. * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r, _nss_dns_gethostbyaddr_r): Likewise. * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r, _nss_dns_getnetbyaddr_r): Likewise. * resolv/gethnamaddr.c (gethostbyname, gethostbyname2, gethostbyaddr): Likewise. * resolv/res_data.c (fp_nquery, res_mkquery, res_mkupdate, res_isourserver, res_sendsigned, res_update, res_search, res_querydomain): Likewise. * nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Likewise. * nss/digits_dots.c (__nss_hostname_digits_dots): Likewise. * nss/getnssent_r.c (__nss_setent, __nss_endent, __nss_getent_r): Likewise. 2004-08-05 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): Set ai_family for V4-mapped IPv6 addresses and req->ai_family==AF_INET. Reported by A. Guru . * po/sv.po: Update from translation team. * po/sk.po: Likewise. * po/pl.po: Likewise. 2004-08-04 Jakub Jelinek Ulrich Drepper * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Don't read more input characters than necessary. 2004-08-05 Ulrich Drepper * wcsmbs/Makefile (tests): Add tst-mbsrtowcs. * wcsmbs/tst-mbsrtowcs.c: New file. * po/fr.po: Update from translation team. 2004-08-04 Jakub Jelinek * resolv/inet_pton.c (inet_pton4): Disallow octal numbers. Reported by A. Guru . [BZ #295] 2004-08-05 Ulrich Drepper * po/nl.po: Update from translation team. * sysdeps/posix/getaddrinfo.c (gaih_inet): Recognize all the IPv4 numeric address formats inet_addr knows. (getaddrinfo): Allow AI_NUMERICSERV flag. If neither IPv4 nor IPv6 interface is present we cannot make any decision for AI_ADDRCONFIG. Fail if AI_NUMERICSERV is set and the string is not just a number. Remove useless freeaddrinfo call. * resolv/netdb.h (AI_NUMERICSERV): Define. Based on a patch by a.guru@sympatico.ca. 2004-08-04 Jakub Jelinek * stdlib/strfmon_l.c (__vstrfmon_l): Memset whole info structure instead of trying to initialize some, but not all, fields one by one. * stdio-common/printf_size.c (printf_size): Initialize fb_info structure with *info instead of trying to initialize some, but not all, fields from it. * nscd/connections.c (handle_request): Check if req->type is in LASTDBREQ .. LASTREQ range instead of req. * locale/programs/linereader.c (lr_create): Initialize lr->return_widestr to 0. * elf/dl-close.c (free_slotinfo): Add __libc_freeres_fn_section. (free_mem): Call free_slotinfo just once. * stdio-common/tst-fmemopen.c (main): Check for MAP_FAILED instead of NULL. * locale/localeinfo.h (_nl_locale_subfreeres): New prototype. * locale/setlocale.c (free_category): Add __libc_freeres_fn_section. (free_mem): Rename to _nl_locale_subfreeres. * iconv/gconv_db.c: Include locale/localeinfo.h. (free_derivation, free_modules_db): Add __libc_freeres_fn_section. (free_mem): Call _nl_locale_subfreeres. * iconv/gconv_dl.c (do_release_all): Add __libc_freeres_fn_section. 2004-08-04 Roland McGrath * Makeconfig ($(common-objpfx)config.status): Fix typo: $(add_ons) -> $(add-ons). (Makeconfig-add-on): New variable. When doing $(sysdep-makeconfigs) include, use black magic to get it set to an add-on's name during the include of the add-on's Makeconfig. * configure.in: Use variable name `libc_add_on' when sourcing add-on configure fragments, so they can refer to this. * configure: Regenerated. 2004-08-04 Roland McGrath * posix/tst-waitid.c (test_child): Sleep a second before stopping. (do_test): Bump sleep to three seconds. (sigchld, check_sigchld): New functions. (do_test): Handle SIGCHLD and check for getting the right details. * posix/tst-waitid.c (do_test): Kill the child process when bailing out early on some failure. [WCONTINUED]: Test WCONTINUED functionality. 2004-08-03 Ulrich Drepper * nscd/connections.c (handle_request): Print more descriptive message for invalid request types. 2004-08-02 Jakub Jelinek * iconvdata/ibm932.c (BODY): Avoid binary search for ch >= 0xffff. Always treat high as highest number in range + 1. * iconvdata/ibm943.c (BODY): Likewise. 2004-07-31 Bruno Haible * iconvdata/JISX0213.TXT: Updated to JISX0213 plane 1 version 2004. * iconvdata/jisx0213.c (__jisx0213_to_ucs_main, __jisx0213_to_ucs_pagestart, __jisx0213_from_ucs_level1, __jisx0213_from_ucs_level2): Regenerated. * iconvdata/jisx0213.h (jisx0213_added_in_2004_p): New function. * iconvdata/iso-2022-jp-3.c (JISX0213_1_2000_set): Renamed from JISX0213_1_set. (JISX0213_1_2004_set): New enum value. (BODY for FROM_LOOP): Treat ESC $ ( Q like ESC $ ( O. (BODY for TO_LOOP): For JISX 0213 plane 1 characters, emit ESC $ ( O when possible, ESC $ ( Q when needed. * iconvdata/testdata/EUC-JISX0213: Add the 10 new characters. * iconvdata/testdata/EUC-JISX0213..UTF8: Update. * iconvdata/testdata/SHIFT_JISX0213: Add the 10 new characters. * iconvdata/testdata/SHIFT_JISX0213..UTF8: Update. * iconvdata/testdata/ISO-2022-JP-3: Add the 10 new JISX0213 characters. * iconvdata/testdata/ISO-2022-JP-3..UTF8: Update. 2004-07-22 Bruno Haible * iconvdata/gconv-modules (ISO-8859-7): Add alias ISO_8859-7:2003. 2004-07-29 David S. Miller * sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy): Optimize better for smaller than 256 byte copies. Also, use only one unrolled loop instead of two for the large copy case. 2004-07-30 Richard Henderson * sysdeps/alpha/divq.S: Save t3 before it gets clobbered. * sysdeps/alpha/remq.S: Likewise. * sysdeps/alpha/div.S, sysdeps/alpha/ldiv.S: Rewrite with the new division algorithms in divl.S and divq.S respectively. 2004-07-28 GOTO Masanori * timezone/asia: Update from tzdata2004b. * timezone/backward: Likewise. * timezone/europe: Likewise. * timezone/iso3166.tab: Likewise. * timezone/leapseconds: Likewise. * timezone/northamerica: Likewise. * timezone/southamerica: Likewise. * timezone/zone.tab: Likewise. * timezone/private.h: Update from tzcode2004b. * timezone/zic.c: Likewise. 2004-07-27 Ulrich Drepper * nscd/grpcache.c (cache_addgr): If necessary, add entry also under the name the user provided. * nscd/pwdcache.c (cache_addpw): Likewise. 2004-07-26 Roland McGrath * sysdeps/posix/waitid.c [WEXITED]: Clear WEXITED bit in OPTIONS for call to __waitpid. 2004-07-26 Ulrich Drepper * nscd/hstcache.c (cache_addhst): Fix two scenarios which lead to memory leaks. * sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Assign pointer for new buffer at the right time. Reported by Jakub Bogusz . 2004-07-25 Ulrich Drepper * inet/Versions [libc, GLIBC_2.3.4]: Add getipv4sourcefilter, getsourcefilter, setipv4sourcefilter, and setsourcefilter. * inet/Makefile (routines): Likewise. * inet/netinet/in.h: Add prototypes for getipv4sourcefilter, getsourcefilter, setipv4sourcefilter, and setsourcefilter. * sysdeps/generic/getipv4sourcefilter.c: New file. * sysdeps/generic/setipv4sourcefilter.c: New file. * sysdeps/generic/getsourcefilter.c: New file. * sysdeps/generic/setsourcefilter.c: New file. 2004-07-17 Steven Munroe * sysdeps/powerpc/powerpc64/memcpy.S: Improve instruction scheduling for POWER4 machines. 2004-07-21 Jakub Jelinek [BZ #274] * stdlib/strtod_l.c (INTERNAL (__STRTOF)): Fix used >= BITS_PER_MP_LIMB shifting up. * stdlib/tst-strtod.c (main): Add new tests. 2004-07-23 Jakub Jelinek [BZ #282] * libio/iopopen.c (_IO_new_popen): Use _IO_init instead of _IO_no_init. Remove wd from struct locked_FILE. (_IO_wproc_jumps): Remove. Reported by Andrew Josey . * stdio-common/Makefile (tests): Add tst-popen. * stdio-common/tst-popen.c: New test. 2004-07-23 Ulrich Drepper * posix/bits/posix1_lim.h: Fix values for _POSIX_CHILD_MAX and _POSIX_OPEN_MAX. Add _POSIX_HOST_NAME_MAX, _POSIX_SYMLINK_MAX, _POSIX_SYMLOOP_MAX, and _POSIX_RE_DUP_MAX. Reported by Andrew Josey. * include/features.h: Document _POSIX_C_SOURCE == 200112L. * grp/grp.h: Define gid_t if __USE_XOPEN2K is defined. * pwd/pwd.h: Define uid_t and gid_t if __USE_XOPEN2K is defined. * io/sys/stat.h: Define dev_t, gid_t, ino_t, mode_t, nlink_t, off_t, time_t, and uid_t if __USE_XOPEN2K is defined. * signal/signal.h: Define pid_t if __USE_XOPEN2K is defined. * posix/unistd.h: Define gid_t, off_t, pid_t, uid_t, and useconds_t if __USE_XOPEN2K is defined. * io/utime.h: Define time_t if __USE_XOPEN2K is defined. * libio/stdio.h: Declare fseeko and ftello if __USE_XOPEN2K is defined. 2004-07-19 Thorsten Kukuk * nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Don't allocate memory for large temporary variables with alloca. 2004-07-22 Ulrich Drepper * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Compatibility code must have version GLIBC_2.0. Patch by Dwayne McConnell. * nscd/nscd_getgr_r.c (nscd_getgr_r): Avoid read call with NULL pointer and zero length. 2004-07-21 Ulrich Drepper * nscd/cache.c (prune_cache): Print correct list when debugging. 2004-07-21 Jakub Jelinek * resolv/res_libc.c (res_init): If RES_INIT is set and _res.nscount > 0, call __res_nclose and free nsaddrs. * resolv/Makefile: Add rules to build and run tst-leaks2. * resolv/tst-leaks2.c: New test. 2004-07-21 Ulrich Drepper * intl/libintl.h: Don't define macros for C++. Patch by Goto Masanori. 2004-07-22 GOTO Masanori [BZ #276] * include/arpa/inet.h: Change inet_aton type from in_addr_t to int. * inet/arpa/inet.h: Likewise. * resolv/inet_addr.c: Likewise. 2004-07-21 Alexandre Oliva * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Add semtimedop. 2004-07-20 Roland McGrath * configure.in (add_ons): Substitute this. Move $add_ons handling after AC_CANONICAL_HOST and default setting of $machine et al. Don't set $subdirs from $add_ons. Instead, source add-on/configure fragments early on. (base_machine): If it's already set, don't set it based on $machine. (libc_config_ok): New variable, set to no. If an add-on fragment sets it to yes, skip the tuple sanity check as if --enable-hacker-mode. (sysnames): Try appending add-on names after machine as well. * config.make.in (add-ons): Set from @add_ons@ instead of @subdirs@. * Makeconfig ($(common-objpfx)config.status): Also depend on configure files in $(add_ons) dirs. * sysdeps/unix/sysv/linux/bits/in.h (struct ip_mreq): Remove definition, now in netinet/in.h proper. 2004-07-20 Alexandre Oliva * sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h): Sort by syscalls. Make sure we get headers such as sgidefs.h from the build tree before just-installed ones. * sysdeps/mips/atomicity.h: Use standard names for ABI macros, include sgidefs.h where appropriate. * sysdeps/mips/dl-machine.h: Likewise. * sysdeps/mips/machine-gmon.h: Likewise. * sysdeps/mips/bits/setjmp.h: Likewise. * sysdeps/mips/fpu/bits/mathdef.h: Likewise. * sysdeps/mips/mips64/__longjmp.c: Likewise. * sysdeps/mips/mips64/setjmp_aux.c: Likewise. * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise. * sysdeps/unix/sysv/linux/mips/pread.c: Likewise. * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. * sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise. * sysdeps/unix/sysv/linux/mips/sys/user.h: Likewise. * sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h): Likewise. * sysdeps/unix/sysv/linux/mips/configure.in (asm-unistd.h): Likewise. * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Update to use _dl_lookup_symbol_x. (elf_machine_runtime_link_map): Don't INTUSE _dl_signal_error. 2004-07-20 Ulrich Drepper * inet/netinet/in.h: Define struct ip_mreq and struct ip_mreq_source. Define struct group_req and struct group_source_req. * sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE, IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP, IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP, MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP, MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and MCAST_MSFILTER. Define MCAST_INCLUDE and MCAST_EXCLUDE. * iconvdata/gconv-modules: Add alias for IBM874 [BZ #244]. 2004-07-19 Jakub Jelinek [BZ #258] * math/libm-test.inc (max_value, min_value): New variables. (initialize): Initialize them. (pow_test): Add a couple of new tests. * sysdeps/i386/fpu/e_powf.S (__ieee754_powf): Don't generate invalid exception if |y| >= 1U<<31. * sysdeps/i386/fpu/e_pow.S (__ieee754_pow): Don't generate invalid exception if |y| >= 1L<<63. * sysdeps/i386/fpu/e_powl.S (__ieee754_powl): Likewise. If y*log2(x) overflows to +-inf, return still +inf/+0 instead of NaN. * sysdeps/x86_64/fpu/e_powl.S (__ieee754_powl): Likewise. 2004-07-18 Ulrich Drepper * nscd/pwdcache.c (cache_addpw): Optimize case of unsuccessful lookup a bit. * nscd/grpcache.c (cache_addgr): Likewise. * nscd/hstcache.c (cache_addhst): Likewise. 2004-07-10 GOTO Masanori * sysdeps/s390/s390-32/elf/start.S: Remove symbol _fp_hw. * sysdeps/s390/s390-64/elf/start.S: Likewise. 2004-04-16 Andreas Schwab * sysdeps/ia64/bits/atomic.h: Cast first argument of __sync_bool_compare_and_swap_si correct to void*. 2004-07-17 Ulrich Drepper * iconv/iconv_prog.c (print_known_names): Make machine-readable output even less cluttered. 2004-07-16 Steven Munroe [BZ #269] * setjmp/Makefile (tests): Add bug269-setjmp. * setjmp/bug269-setjmp.c: New file. * sysdeps/powerpc/powerpc64/__longjmp-common.S [SHARED && !IS_IN_rtld]: Store R2 from jmpbuf in callers TOC save area. * sysdeps/powerpc/powerpc64/bsd-_setjmp.S [SHARED && !IS_IN_rtld]: Store R2 in TOC save area. * sysdeps/powerpc/powerpc64/setjmp-common.S [SHARED && !IS_IN_rtld]: Copy TOC save area from previous frame as R2 (TOC) in jmpbuf. 2004-07-16 Jakub Jelinek * locale/newlocale.c: Include bits/libc-lock.h. (__libc_setlocale_lock): Extern decl. (__newlocale): Use it. Reported by Ulrich Weigand . 2004-07-15 Jakub Jelinek * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Remove static inline __attribute ((always_inline)). Don't define if NO_CANCELLATION. (__libc_fcntl): Use INLINE_SYSCALL directly instead of __fcntl_nocancel. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c (__fcntl_nocancel): Remove static inline __attribute ((always_inline)). Don't define if NO_CANCELLATION. (__libc_fcntl): Use INLINE_SYSCALL directly instead of __fcntl_nocancel. * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Define to __libc_fcntl if NO_CANCELLATION and __ASSUME_FCNTL64 == 0. Don't define at all if NO_CANCELLATION and __ASSUME_FCNTL64 > 0. (__libc_fcntl): Don't define if __fcntl_nocancel is a macro. [BZ #262] * sysdeps/i386/elf/start.S (_start): Use @GOT instead of @GOTOFF for main. * elf/Makefile: Add rules to build and run tst-pie1. * elf/tst-pie1.c: New test. * elf/tst-piemod1.c: New file. 2004-07-14 Jakub Jelinek [BZ #266] * manual/string.texi (l64a): Note that the static buffer is 7 bytes long. Rewrite example code so that it takes into account l64a output shorter than 6 characters. Reported by Julian Graham . 2004-07-14 Kaz Kojima * sysdeps/sh/dl-machine.h: Don't reset _dl_starting_up here. (elf_machine_rela_relative): Remove unused valiable. 2004-07-12 Paul Eggert [BZ #263] * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Don't store outside the buffer if the read returns 0. __strtod_l can't set endp to NULL, so remove a test for that case. 2004-07-12 Roland McGrath * manual/signal.texi (Interrupted Primitives): Make clear that TEMP_FAILURE_RETRY evaluates its expression as long int and compares it to -1 to define "failure". 2004-07-10 Ulrich Drepper * elf/ldconfig.c: Define PROCINFO_CLASS as static before including ldsodefs.h. * sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not already defined. * sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not already defined. * elf/rtld.c (print_statistics): Mark with noinline attribute. * sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with always_inline attribute. (elf_machine_rel_relative): Likewise. * include/string.h: Add libc_hidden_proto for __strtok_r and __strsep_g. * sysdeps/generic/strsep.c: Add libc_hidden_def. * sysdeps/generic/strtok_r.c: Likewise. * sysdeps/i386/strtok_r.S: Add alias for internal symbol. * sysdeps/i386/i686/strtok_r.S: Likewise. * sysdeps/x86_64/strtok_r.S: Likewise. 2004-07-09 Alexandre Oliva * inet/getnetgrent_r.c (internal_setnetgrent): Make it hidden instead of internal-linkage, such that we can alias to it. (internal_endnetgrent, internal_getnetgrent_r): Likewise. 2004-07-09 Ulrich Drepper * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Move attribute to the front for gcc 3.5+. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise. * include/fcntl.h: Don't declare __fcntl_nocancel here if NO_CANCELLATION is defined. 2004-07-07 Jakub Jelinek * elf/dl-fini.c (_dl_fini): Add nloaded variable, load GL(dl_nloaded) into it while still in critical section. 2004-07-06 Thorsten Kukuk * nss/getent.c (print_group, print_passwd): Use %lu format for `unsigned long int' values. * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Fix syntax error typos in goto statements. 2004-07-07 Roland McGrath * Makefile (dist-separate): New variable. (glibc-%.tar rule): Make separate tar files for add-ons listed there. Depend on their configure files. (dist-do-separate-dirs): New canned sequence to do that. (dist-separate-libidn, dist-separate-linuxthreads): New variables. (dist): Depend on add-on tar files based on $(dist-separate). (dist-version): New variable, default to $(version). (tag-for-dist, dist): Use that in place of $(version) in deps. 2004-07-07 Ulrich Drepper * elf/dl-fini.c (_dl_fini): Move the unlock of the ld.so lock before the loop running the destructors. 2004-05-18 Andreas Schwab * elf/dl-load.c (_dl_map_object_from_fd): Use the end address of the first segment for mprotect, not l_text_end. 2004-07-05 Ulrich Drepper * elf/dl-profile.c (_dl_start_profile): Compact error handling. Remove hashfraction variable. Make kcount and kcountsize local variables. * elf/dl-init.c: Don't define and use _dl_starting_up if HAVE_INLINED_SYSCALLS is defined and the variable is not used. * elf/dl-support.c: Likewise. * elf/rtld.c: Likewise. * elf/dl-misc.c (_dl_debug_vdprintf): Use writev syscall directly if HAVE_INLINED_SYSCALLS is defined. * sysdeps/powerpc/powerpc64/dl-machine.h: Don't reset _dl_starting_up here. * sysdeps/powerpc/powerpc32/dl-start.S: Likewise. * sysdeps/unix/sysv/linux/configure.in: Define HAVE_INLINED_SYSCALLS. * config.h.in: Add entry for HAVE_INLINED_SYSCALLS. * sysdeps/posix/profil.c: If compiled for ld.so, omit code which is needed to stop profiling. * elf/dl-open.c (dl_open_worker): If a newly opened object is to be profile make sure it cannot be unloaded. * sysdeps/unix/sysv/linux/dl-origin.c: Inline readlink syscall. * sysdeps/unix/sysv/linux/fcntl.c: If compiled without cancellation support, make sure the helper function is inlined. * sysdeps/unix/sysv/linux/pread.c: Likewise. * sysdeps/unix/sysv/linux/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise. 2004-07-05 Jakub Jelinek * include/string.h (ffs): Add libc_hidden_builtin_proto. * sysdeps/rs6000/ffs.c (ffs): Add libc_hidden_builtin_def. * sysdeps/alpha/alphaev67/ffs.S (ffs): Likewise. * sysdeps/alpha/ffs.S (ffs): Likewise. * sysdeps/s390/ffs.c (ffs): Likewise. * sysdeps/powerpc/ffs.c (ffs): Likewise. * sysdeps/i386/ffs.c (ffs): Likewise. * sysdeps/i386/i686/ffs.c (ffs): Likewise. * sysdeps/m68k/ffs.c (ffs): Likewise. * sysdeps/generic/ffs.c (ffs): Likewise. * sysdeps/m88k/ffs.c (ffs): Likewise. * sysdeps/am29k/ffs.c (ffs): Likewise. * sysdeps/i960/ffs.c (ffs): Likewise. * sysdeps/x86_64/ffs.c (ffs): Likewise. * Makerules (check-abi): Use diff -p -U 0 instead of diff -pu0. * sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp, __libc_siglongjmp): Remove symbol_version. * sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp): Export @@GLIBC_PRIVATE, not @@GLIBC_2.3.4. * sysdeps/powerpc/sigjmp.c (__sigjmp_save): Use strong_alias unconditionally. * sysdeps/powerpc/novmx-sigjmp.c (__sigjmp_save): Remove. * sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use strong_alias instead of default_symbol_version, remove symbol_version. * sysdeps/powerpc/powerpc64/__longjmp.S (__longjmp): Likewise. * sysdeps/powerpc/powerpc32/bsd-setjmp.S (__novmx__setjmp): Change into strong_alias to __novmxsetjmp. (__vmx__setjmp): Similarly with __vmxsetjmp. (__setjmp): Make it strong_alias to __vmx__setjmp, remove default_symbol_version and symbol_version. * sysdeps/powerpc/powerpc64/bsd-setjmp.S (__novmx__setjmp): Change into strong_alias to __novmxsetjmp. (__vmx__setjmp): Similarly with __vmxsetjmp. (__setjmp): Make it strong_alias to __vmx__setjmp, remove default_symbol_version and symbol_version. * nscd/nscd_getgr_r.c: Include stdio-common/_itoa.h. 2004-07-05 Ulrich Drepper * elf/rtld.c (dl_main): Mark dyn_temp with attribute_relro. 2004-07-04 Matthew Reppert * sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Use libc_hidden_ver instead of libc_hidden_def. 2004-07-01 Roland McGrath * aclocal.m4: Add provide for AC_CONFIG_AUX_DIR_DEFAULT. * Makeconfig ($(common-objpfx)shlib-versions.v.i): Move top-level $(..)shlib-versions file to last in deps list. This lets add-ons give more-specific matches that override defaults in the top-level file. * sysdeps/unix/sysv/linux/configure.in: If arch_minimum_kernel was already set, don't set it or libc_cv_gcc_unwind_find_fde. * sysdeps/unix/sysv/linux/configure: Regenerated. 2004-07-01 Martin Schwidefsky * sysdeps/s390/fpu/bits/mathinline.h [__LIBC_INTERNAL_MATH_INLINES] (__ieee754_sqrt): Define as __MATH_INLINE using sqdbr instruction. (__ieee754_sqrtf): Define as __MATH_INLINE using sqebr instruction. * sysdeps/s390/fpu/e_sqrt.c: New file. * sysdeps/s390/fpu/e_sqrtf.c: New file. * sysdeps/s390/Implies: New file. * sysdeps/s390/s390-32/Implies: Remove ieee754, move ieee754/dbl-64 and ieee754/flt-32 to s390/Implies. * sysdeps/s390/s390-64/Implies: Likewise. 2004-06-30 Jakub Jelinek * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Include tls.h. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (thread_start): DO_CALL (exit, 1) instead of branching to _exit. * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (thread_start): Likewise. * sysdeps/s390/fpu/bits/mathinline.h: New file. * include/glob.h (glob64): Add libc_hidden_proto. * sysdeps/generic/glob64.c (glob64): Add libc_hidden_def. * sysdeps/gnu/glob64.c (glob64): Likewise. * sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Likewise. 2004-06-11 Jakub Jelinek * sysdeps/i386/fpu/libm-test-ulps: Update for GCC 3.4. * sysdeps/s390/fpu/libm-test-ulps: Likewise. 2004-06-11 Dwayne Grant McConnell * sysdeps/powerpc/fpu/s_lround.c: Removed. * sysdeps/powerpc/fpu/s_lroundf.c: Removed. * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_floor.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: Removed. * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_lroundf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_lround.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_rint.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_round.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: New file. 2004-06-30 Ulrich Drepper * include/net/if.h: Handle if_nameindex and if_freenameindex with libc_proto_hidden. * sysdeps/unix/sysv/linux/netlinkaccess.h: New file. * sysdeps/unix/sysv/linux/ifaddrs.c: Export netlink handling functions. * sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Implement using netlink if possible. Fall back on ioctl method if necessary. * sysdeps/unix/sysv/linux/Dist: Add netlinkaccess.h. * include/unistd.h: Declare __truncate. * sysdeps/generic/truncate.c: Also define __truncate. * sysdeps/mach/hurd/truncate.c: Likewise. * sysdeps/unix/common/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/truncate64.c: Use __truncate, not truncate. 2004-06-29 Ulrich Drepper * stdio-common/printf-parsemb.c (__parse_one_specmb): Initialize info.extra. Patch by Marcus Meissner. 2004-06-29 Kaz Kojima * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER): Fix branch offset for a PLT entry. 2004-06-20 Jim Meyering * malloc/obstack.h (obstack_base): Cast to `void *', to align with documentation. 2004-06-28 Ulrich Drepper * inet/bug-if1.c (do_test): Simply use 0 as invalid index. Workaround for [BZ #232]. * sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Use extend_alloca. 2004-06-28 GOTO Masanori * iconv/gconv_simple.c: Use get16/put16 for user given buffer in ucs2/ucs2reverse when unaligned memory access is attempted. * iconv/tst-iconv5.c: New file. * iconv/Makefile (tests): Add tst-iconv5. 2004-06-28 Jakub Jelinek * inet/bug-if1.c: Include . 2004-06-19 Roland McGrath * sysdeps/posix/waitid.c (do_waitid) [DO_WAITID]: Define function under this macro name instead. [NO_DO_WAITID]: Don't define it at all. (do_waitid) [WNOWAIT, WEXITED]: If these POSIX.1 waitid flag bits are defined, then return ENOTSUP for combinations of selection bits other than WEXITED and WEXITED|WSTOPPED, which this version cannot support. * posix/tst-waitid.c: New file. * posix/Makefile (tests): Add it. 2004-06-28 Jakub Jelinek * sysdeps/unix/alpha/sysdep.h (inline_syscall6): Fix a typo. [BZ #231] * sysdeps/unix/alpha/sysdep.S (__syscall_error): Avoid !samegp relocation in librt.so. [BZ #230] * sysdeps/alpha/dl-machine.h (_dl_start_user): Use ldah/ldl to load _dl_skip_args. Patch by Jakub Bogusz . 2004-06-27 Ulrich Drepper * elf/ldconfig.c (add_dir): Take chroot into account. Based on changes by HJ Lu and Hideki Iwamoto. * nscd/connections.c (invalidate_cache): If the host cache has to be invalidated, re-read resolv.conf. * resolv/resolv.h (RES_NOIP6DOTINT): Define. * resolv/res_init.c (res_setoptions): Handle no-ip6-dotint option. * resolv/gethnamaddr.c (gethostbyaddr): Don't lookup with .ip6.int if RES_NOIP6DOTINT flag is set. * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise. 2004-06-25 Jakub Jelinek * sysdeps/unix/sysv/linux/powerpc/fcntl.c: Move to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c: ... here. * sysdeps/unix/sysv/linux/powerpc/lockf64.c: Move to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/lockf64.c: ... here. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: New file. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_GETLK, F_SETLK, F_SETLKW): Fix values for -m32 -D_FILE_OFFSET_BITS=64. 2004-06-21 Jakub Jelinek [BZ #231] * sysdeps/unix/alpha/Makefile: New file. * sysdeps/unix/alpha/rt-sysdep.S: New file. Reported by Jakub Bogusz . 2004-06-18 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (gaih_inet): For AI_CANONNAME, determine the canonical name only for the first returned entry. * inet/bug-if1.c: New file. * inet/Makefile (tests): Add bug-if1. 2004-06-18 Roland McGrath * Makerules (compile-mkdep-flags): Add -MT $@. * Makefile (dist, tag-for-dist): New targets. (files-for-dist, tag-of-stem): New variables. (glibc-%.tar glibc-linuxthreads-%.tar): New pattern rule. Make tar files using cvs export. (%.bz2, %.gz, tag-%): New pattern rules. (distribute): Variable removed. (+subdir_targets): Remove distinfo targets. (echo_subdirs, echo-distinfo, parent_echo-distinfo): Targets removed. (rpm/%): Pattern rule removed. * rpm/Makefile, rpm/rpmrc, rpm/template: Ancient cruft files removed. * Rules (subdir_echo-headers, subdir_echo-distinfo, subdir_dist): Targets removed. * Makerules (dist, subdir_distinfo): Targets removed. ($(objpfx)distinfo): Depend on $(distribute). * Make-dist: File removed. * NEWS: Fix a typo. Update bug-reporting instructions. 2004-06-17 Thorsten Kukuk * sysdeps/unix/sysv/linux/sched_setaffinity.c (__sched_setaffinity_new): Set errno to EINVAL and return -1 if cpuset is wrongly set. 2004-06-15 Steven Munroe * sysdeps/powerpc/powerpc64/memcpy.S: Improve instruction scheduling for POWER4 machines. 2004-06-14 Jakub Jelinek [BZ #218] * sunrpc/pmap_prot2.c (xdr_pmaplist): When freeing, remember pml_next in a local variable, point rp to that local variable afterwards. 2004-06-11 Jakub Jelinek * sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Handle special cases properly. 2004-06-17 Ulrich Drepper * sysdeps/unix/sysv/linux/if_index.c (if_indextoname): Correct error value for unknown interface. [BZ #198] 2004-06-13 Jakub Jelinek * sysdeps/i386/bits/string.h (memcpy): Add () around arguments. (memchr, __memrchr, strlen, strcmp, strncmp, __strchr_g, __strchr_c, __strchrnul_g, __strchrnul_c, strspn, strcspn, strpbrk): Add memory the asm uses as its input, either of size __n where __n is known or 0xfffffff. (strstr): Add "memory" clobber. 2004-06-14 Jakub Jelinek [BZ #219] * nss/nsswitch.c (free_mem): Don't try to close a library handle if the handle is invalid. Patch by David Kimdon . 2004-06-11 Dmitry V. Levin [BZ #217] * debug/xtrace.sh: Fix typo in error diagnostics. 2004-06-14 Andreas Schwab * stdio-common/psignal.c (psignal): Don't use BUF when asprintf failed. 2004-06-15 Steven Munroe * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Fix pasto that clobbers r19. Fix pasto that overflowed sigcontext.v_reserve. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Fix pasto that clobbers r19. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Fix pasto that clobbers r19. Fix pasto that overflowed sigcontext.v_reserve. * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Fix setting of sigcontext.v_regs. Fix pasto that clobbers r19. Fix pasto that overflowed sigcontext.v_reserve. * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Fix pasto that clobbers r19. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Fix setting of sigcontext.v_regs. Fix pasto that clobbers r19. Fix pasto that overflowed sigcontext.v_reserve. 2004-05-04 H.J. Lu [BZ #150] * sysdeps/generic/strtol_l.c (DEF): Use ".gnu.linkonce.r." instead of ".gnu.linkonce.ro." as the prefix for linkonce read-only section name. 2004-06-14 Richard Henderson * sysdeps/alpha/div_libc.h (_ITOFS): Use "sp" not "$sp". (_ITOFT, _FTOIT, _ITOFT2): Likewise. 2004-06-08 Jakub Jelinek * sysdeps/s390/s390-32/backtrace.c (init): Guard with #ifdef SHARED. (unwind_backtrace, unwind_getip): Define #ifndef SHARED. (__backtrace): Don't call init #ifndef SHARED. * sysdeps/s390/s390-64/backtrace.c (init): Guard with #ifdef SHARED. (unwind_backtrace, unwind_getip): Define #ifndef SHARED. (__backtrace): Don't call init #ifndef SHARED. * sysdeps/ia64/backtrace.c (init): Guard with #ifdef SHARED. (unwind_backtrace, unwind_getip): Define #ifndef SHARED. (__backtrace): Don't call init #ifndef SHARED. 2004-06-11 Roland McGrath * sysdeps/arm/strlen.S [__ARMEB__]: Compute correctly for big-endian. From Krzysztof Halasa . 2004-06-10 Jakub Jelinek * elf/tls-macros.h [__s390x__] (TLS_LD, TLS_GD): Clobber also r14. 2004-06-08 Jakub Jelinek [BZ #199] * crypt/md5-crypt.c (__md5_crypt): Only update buflen if realloc succeeds. Reported by Miles Ohlrich . * elf/chroot_canon.c (chroot_canon): Avoid segfault if first malloc fails. Avoid memory leak if realloc fails. 2004-06-09 Jakub Jelinek * sysdeps/generic/setenv.c (setenv): Return -1/EINVAL if name is NULL, "" or contains '=' character in it. Reported by Michael T Kerrisk . * stdlib/tst-environ.c: Include errno.h. (main): Add tests for these arguments to setenv/unsetenv. 2004-06-07 Roland McGrath * NEWS: Update bug reporting instructions. Fix some typos. 2004-06-05 Ulrich Drepper * stdio-common/_itoa.h: Don't expand _itoa inline for libc. * stdio-common/_itoa.c: Add _itoa implementation. * nscd/nscd_gethst_r.c (__nscd_open_socket): Change implementation to also send request. Add parameter to allow this. Change callers. * nscd/nscd_getgr_r.c: Change __nscd_open_socket caller. * nscd/nscd_getpw_r.c: Likewise. * nscd/nscd-client.h: Change __nscd_open_socket prototype. 2004-06-05 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext): Handle more than 6 args correctly. Based on a patch by Masahide Washizawa . 2004-06-04 Ulrich Drepper * nscd/nscd_gethst_r.c (nscd_gethst_r): Use __nss_not_use_nscd_hosts in all places, not __nss_not_use_nscd_group. Reported by Philippe Gregoire. 2004-06-03 Ulrich Drepper * sysdeps/i386/i486/bits/atomic.h: Optimize a bit. 2004-05-07 Dmitry V. Levin * argp/argp-help.c (__argp_error, __argp_failure): Check result of __asprintf call and don't use string if it failed. * stdio-common/psignal.c (psignal): Likewise. * locale/programs/localedef.c (more_help): Likewise. * resolv/res_hconf.c (arg_service_list, arg_trimdomain_list, arg_bool, parse_line): Check result of __asprintf calls and don't use string if they failed. * sunrpc/svc_simple.c (registerrpc, universal): Likewise. * elf/ldconfig.c (parse_conf_include): Check result of __asprintf call and exit if it failed. 2004-05-10 Jakub Jelinek * sysdeps/posix/sysconf.c (__sysconf) : Return _POSIX_* value instead of 1. * sysdeps/unix/sysv/linux/sysconf.c (__sysconf) : Return _POSIX_VERSION instead of 1. 2004-05-07 Jeroen Dekkers * sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Add -momit-leaf-frame-pointer. * inet/test-ifaddrs.c (addr_string): Surround AF_PACKET case with #ifdef AF_PACKET. * sysdeps/mach/hurd/getcwd.c (_hurd_canonicalize_directory_name_intern): Only realloc when size is <= 0. * sysdeps/mach/hurd/mmap.c (__mmap): Fail when addr or offset isn't page aligned. * sysdeps/mach/hurd/spawni.c (EXPAND_DTABLE): Set dtablesize to new size. * sysdeps/mach/hurd/Versions (GLIBC_PRIVATE): Add __libc_read, __libc_write and __libc_lseek64. 2004-05-29 Roland McGrath * elf/Makefile (shared-only-routines): Add dl-caller. 2004-05-28 Ulrich Drepper * sysdeps/powerpc/configure.in: New file. 2004-05-28 Steven Munroe * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Add .machine "altivec" to enable VMX instructions. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise. * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. 2004-05-27 Jakub Jelinek * sysdeps/i386/fpu/bits/mathinline.h (__expm1_code): Define using __builtin_expm1l for GCC 3.5+. (__expl): Define using __builtin_expl for GCC 3.4+. (exp, expf, expl): Don't define for GCC 3.4+. (tan, tanf, tanl): Don't define for GCC 3.5+. (__atan2l): Define using __builtin_atan2l for GCC 3.4+. (atan2, atan2f, atan2l): Don't define for GCC 3.4+ or !__FAST_MATH__. (fmod, fmodf, fmodl): Don't define for GCC 3.5+ or !__FAST_MATH__. (fabsf, fabsl): Only provide if __USE_MISC or __USE_ISOC99. (sin, sinf, sinl, cos, cosf, cosl, log, logf, logl): Don't define for GCC 3.4+. (log10, log10f, log10l, asin, asinf, asinl, acos, acosf, acosl): Don't define for GCC 3.5+. (atan, atanf, atanl): Don't define for GCC 3.4+ or !__FAST_MATH__. (log1p, log1pf, log1pl, logb, logbf, logbl, log2, log2f, log2l): Don't define for GCC 3.5+. (drem, dremf, dreml): Don't define for GCC 3.5+ or !__FAST_MATH__. * sysdeps/sparc/fpu/bits/mathinline.h (sqrt, sqrtf, sqrtl): Don't define for GCC 3.2+. 2004-05-27 Jakub Jelinek * string/bits/string2.h (__bzero): Define even for GCC 3.0+. * sysdeps/alpha/stpcpy.S (stpcpy): Add libc_hidden_builtin_def. * sysdeps/alpha/alphaev67/stpcpy.S (stpcpy): Likewise. * sysdeps/powerpc/powerpc32/stpcpy.S (stpcpy): Likewise. * sysdeps/powerpc/powerpc64/stpcpy.S (stpcpy): Likewise. * sysdeps/sparc/sparc32/stpcpy.S (stpcpy): Likewise. * sysdeps/sparc/sparc64/stpcpy.S (stpcpy): Likewise. * sysdeps/i386/stpcpy.S (stpcpy): Likewise. * sysdeps/i386/i586/stpcpy.S (stpcpy): Likewise. * sysdeps/generic/stpcpy.c (stpcpy): Likewise. * sysdeps/x86_64/stpcpy.S (stpcpy): Likewise. * sysdeps/i386/i586/memcpy.S (memcpy): Remove libc_hidden_builtin_def if MEMPCPY_P. * sysdeps/x86_64/memcpy.S (memcpy): Likewise. * sysdeps/i386/i686/mempcpy.S (mempcpy): Add libc_hidden_builtin_def. * sysdeps/i386/i586/mempcpy.S (mempcpy): Likewise. * sysdeps/generic/mempcpy.c (mempcpy): Likewise. * sysdeps/x86_64/mempcpy.S (mempcpy): Likewise. 2004-05-26 Roland McGrath * sysdeps/generic/bits/in.h (IMPLINK_IP, IMPLINK_LOWEXPER, IMPLINK_HIGHEXPER): Macros removed. These are long obsolete in BSD systems where they originated. * conform/data/netinet/in.h-data: Remove `allow IMPLINK_*' 2004-05-26 Jakub Jelinek * include/string.h (mempcpy, stpcpy): Add libc_hidden_builtin_proto. * string/bits/string2.h (memset): Disable macro for GCC 3.0+. (__mempcpy): Use __builtin_mempcpy for GCC 3.4+. (strchr): For GCC 3.2+, only use __rawmemchr if second argument is constant '\0' and first argument is not constant. (__stpcpy): Use __builtin_stpcpy for GCC 3.4+. (strncpy): Remove #ifdef _USE_STRING_ARCH_mempcpy variant. For GCC 3.2+ use __builtin_strncpy. (strncat): For GCC 3.2+ use __builtin_strncat. (strcmp): For GCC 3.2+ use __builtin_strcmp if both arguments are constant. (strcspn, strspn, strpbrk): For GCC 3.2+, use builtin function if both arguments are constant. 2004-05-26 Ulrich Drepper * nss/nss_files/files-hosts.c: Fix condition for looking up IPv4 mapped addresses in gethostbyaddr. 2004-05-25 Ulrich Drepper * nss/digits_dots.c (__nss_hostname_digits_dots): Remove typep and flags parameter, convert afp to simple int parameter. Adjust code. typep was never != NULL and flags therefore also unused. *afp is never modified. * nss/nsswitch.h: Adjust __nss_hostname_digits_dots prototype. * nss/getXXbyYY.c: Remove HAVE_TYPE handling. Adjust af parameter handling for __nss_hostname_digits_dots calls. * nss/getXXbyYY_r.c: Likewise. * elf/dl-load.c (_dl_map_object_from_fd): Map DSOs with MAP_DENYWRITE. 2004-05-25 Steven Munroe * sysdeps/powerpc/fpu/Makefile: Make ld.so a dependency of libm.so. * sysdeps/powerpc/fpu/bits/mathinline.h [__LIBC_INERNAL_MATH_INLINES] (__ieee754_sqrt): Define as __MATH_INLINE using fsqrt instruction. (__ieee754_sqrtf): Define as __MATH_INLINE using fsqrts instruction. * sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrt): Moved implementation from w_sqrt.c. * sysdeps/powerpc/fpu/e_sqrtf.c (__slow_ieee754_sqrtf): Moved implementation from w_sqrtf.c. * sysdeps/powerpc/fpu/w_sqrt.c (__sqrt): Wrapper implementation using inline __ieee754_sqrt(). * sysdeps/powerpc/fpu/w_sqrtf.c (__sqrtf): Wrapper implementation using inline __ieee754_sqrtf(). * sysdeps/powerpc/powerpc32/sysdep.h [__ASSEMBLER__]: Include independent of __ASSEMBLER__. * sysdeps/powerpc/sysdep.h [__ASSEMBLER__] (PPC_FEATURE_*): Define PPC_FEATURE_* independent of __ASSEMBLER__. 2004-05-25 Jakub Jelinek * sysdeps/pthread/aio_notify.c: Use <> instead of "" for aio_misc.h include. (aio_start_notify_thread): Define if not defined. (notify_func_wrapper): Use it. * sysdeps/pthread/aio_misc.c: Use <> instead of "" for aio_misc.h include. (aio_create_helper_thread): Define if not defined. (__aio_create_helper_thread): New function. (__aio_enqueue_request): Use aio_create_helper_thread. * nis/ypclnt.c (ypall_data, ypall_foreach): Remove. (struct ypresp_all_data): New type. (__xdr_ypresp_all): Change second argument to struct ypresp_all_data *. Replace ypall_foreach and ypall_data with objp->foreach and objp->data. (yp_all): Remove status variable, add data. Replace all uses of status with data.status. Initialize data.foreach and data.data instead of ypall_foreach and ypall_data. 2004-05-24 Jakub Jelinek * elf/dl-lookup.c (add_dependency): Set DF_1_NODELETE bit in l_flags_1, not in l_flags. 2004-04-10 Robert Millan * sysdeps/unix/sysv/linux/bits/in.h: Cosmetic fixes to get in sync with sysdeps/generic/bits/in.h. 2004-05-25 Roland McGrath * sysdeps/generic/unwind-dw2-fde-glibc.c: Change copyright terms from GCC GPL to standard glibc LGPL. 2004-05-24 Ulrich Drepper * manual/string.texi (Copying and Concatenation): Fixed second concat example. Reported by Fabian Pietsch . 2004-05-23 Ulrich Drepper * malloc/obstack.c: Don't allow linking with _obstack. 2004-05-23 Andreas Schwab * sysdeps/m68k/m68020/bits/atomic.h: Use "+m" constraint instead of separate "m" constraints. 2004-05-15 Chris Demetriou * sysdeps/mips/dl-machine.h (ELF_DL_FRAME_SIZE) (ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS): For the N32 and 64 ABIs, save and restore regs $10 and $11 (a6 and a7). 2004-05-20 Paul Eggert * malloc/obstack.c (_obstack) [!defined _LIBC]: Remove; not used. Add comment explaining why libc still defines it. 2004-05-19 Paul Eggert * malloc/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast, obstack_alignment_mask, obstack_alloc, obstack_base, obstack_blank, obstack_blank_fast, obstack_chunk_size, obstack_copy, obstack_copy0, obstack_finish, obstack_grow, obstack_grow0, obstack_init, obstack_int_grow, obstack_int_grow_fast, obstack_make_room, obstack_memory_used, obstack_next_free, obstack_object_size, obstack_ptr_grow, obstack_ptr_grow_fast, obstack_room): Remove declarations of nonexistent functions. 2004-05-18 Steven Munroe * sysdeps/powerpc/powerpc64/sysdep.h [__ASSEMBLER__]: Include independent of __ASSEMBLER__. [PIC]: Redundent for powerpc64, removed. (ENTRY): Generate size and alignment for opd entry. (EALIGN): Generate size and alignment for opd entry. (END): Use DOT_LABEL in ASM_SIZE_DIRECTIVE. (END_GEN_TB): Use DOT_LABEL in ASM_SIZE_DIRECTIVE. 2004-05-19 Ulrich Drepper * misc/regexp.h: Say the functions have been withdrawn. * wcsmbs/tst-wcpncpy.c: Add more tests. 2004-05-18 Roland McGrath * sysdeps/generic/unwind.h: Change copyright terms from GCC GPL to standard glibc LGPL. * sysdeps/generic/unwind-dw2.c: Likewise. * sysdeps/generic/unwind-dw2-fde.c: Likewise. * sysdeps/generic/unwind-dw2-fde.h: Likewise. * sysdeps/generic/unwind-pe.h: Likewise. 2004-05-15 Petter Reinholdtsen * locale/iso-3166.def: Remove YUGOSLAVIA and insert "SERBIA AND MONTENEGRO" which have taken over the code 819. Patch from Danilo Segan. [BZ #40] 2004-05-15 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (SYSCALL_ERROR_HANDLER): Rename __sparc.get_pic.l7 to __sparc_get_pic_l7. 2004-05-15 Joseph S. Myers * catgets/gencat.c: Update bug reporting instructions. * csu/version.c: Likewise. * debug/catchsegv.sh: Likewise. * debug/pcprofiledump.c: Likewise. * debug/xtrace.sh: Likewise. * elf/ldd.bash.in: Likewise. * iconv/iconv_prog.c: Likewise. * iconv/iconvconfig.c: Likewise. * locale/programs/locale.c: Likewise. * locale/programs/localedef.c: Likewise. * login/programs/pt_chown.c: Likewise. * malloc/memusage.sh: Likewise. * malloc/memusagestat.c: Likewise. * malloc/mtrace.pl: Likewise. * manual/crypt.texi: Likewise. * manual/install.texi: Likewise. * nss/makedb.c: Likewise. 2004-05-14 Jakub Jelinek * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Only CHECK_STATIC_TLS if sym != NULL. * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/i386/dl-machine.h (elf_machine_rela): Likewise. 2004-05-12 Andreas Schwab * posix/regex_internal.c (build_wcs_buffer): Also set pstr->mbs when translating. 2004-05-13 H.J. Lu * Rules (xtests): Depend on tests. 2004-05-13 Jakub Jelinek * libio/genops.c (_IO_default_xsputn): Avoid one overflow per char if count is negative, yet write_ptr < write_end. (_IO_default_xsgetn): Avoid one underflow per char if count is negative, yet read_ptr < read_end. 2004-05-12 Steven Munroe * sysdeps/unix/sysv/linux/powerpc/bits/termios.h (XTABS): Define XTABS equal to TAB3. 2004-05-12 Ulrich Drepper * elf/dl-lookup.c (_dl_lookup_symbol_x): Correct _dl_signal_cerror call. 2004-05-10 Roland McGrath * hurd/hurdlookup.c (__hurd_file_name_split): Return ENOENT for "". (__hurd_directory_name_split): Likewise. 2004-05-10 Ulrich Drepper * po/fr.po: Update from translation team. 2004-05-10 Andreas Jaeger * sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext): Correctly compute alignment. Patch by Michael Matz . 2004-05-09 Ulrich Drepper * sysdeps/generic/sigpause.c: Prevent sigpause prototype. * sysdeps/posix/sigpause.c: Likewise. * signal/signal.h: Don't define sigpause macro unless needed. 2004-05-08 Jakub Jelinek * configure.in (libc_cv_libgcc_s_suffix): New check. (libc_cv_as_needed): Use -lgcc_s$libc_cv_libgcc_s_suffix. * config.make.in (libgcc_s_suffix): Set. * Makeconfig (libgcc_eh): Use -lgcc_s$(libgcc_s_suffix). 2004-05-08 Ulrich Drepper * signal/signal.h: Use BSD sigpause only if BSD behavior is preferred. 2004-04-29 Steven Munroe * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (LOADARGS_1, LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, LOADARGS_6): Load argument values into temporary variables. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (LOADARGS_1, LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, LOADARGS_6): Likewise. 2004-05-07 Ulrich Drepper * sysdeps/unix/sysv/linux/Makefile: mq_send.c and mq_receive.c need to be compiled with exceptions. 2004-05-06 Ulrich Drepper * sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Fix memory handling. * sysdeps/generic/ifreq.c (__ifreq): Fix memory handling. * resolv/res_hconf.c (_res_hconf_reorder_addrs): Make clear that realloc cannot fail. * nss/nss_files/files-netgrp.c (EXPAND): Free buffer which cannot be expanded. * nis/nis_table.c: Clean up memory handling. * nis/nis_subr.c (nis_getnames): Clean up memory handling. * nis/nis_removemember.c (nis_removemember): Add comment explaining use of realloc. * math/tgmath.h (fabs): Use __TGMATH_UNARY_REAL_IMAG_RET_REAL. (carg): Likewise. Patch by Lev S Bishop . * math/bug-tgmath1.c (main): Test fabs and carg as well. 2004-05-06 Richard Henderson * elf/elf.h (AT_L1I_CACHESHAPE, AT_L1D_CACHESHAPE, AT_L2_CACHESHAPE, AT_L3_CACHESHAPE): New. * sysdeps/unix/sysv/linux/alpha/Versions: Export __libc_alpha_cache_shape as a private symbol. * sysdeps/unix/sysv/linux/alpha/dl-sysdep.c: New file. * sysdeps/unix/sysv/linux/alpha/sysconf.c: New file. 2004-05-06 Richard Henderson * sysdeps/alpha/div_libc.h (_ITOFS, _ITOFT, _FTOIT, _ITOFT2): New. * sysdeps/alpha/divl.S: Use them. * sysdeps/alpha/divq.S: Likewise. * sysdeps/alpha/divqu.S: Likewise. * sysdeps/alpha/reml.S: Likewise. * sysdeps/alpha/remq.S: Likewise. * sysdeps/alpha/remqu.S: Likewise. 2004-05-06 Ulrich Drepper * math/tgmath.h (__TGMATH_UNARY_REAL_IMAG_RET_REAL):Define. (cimag): Use it. (creal): Likewise. * math/Makefile (tests): Add bug-tgmath1. * math/bug-tgmath1.c: New file. 2004-05-05 Jakub Jelinek * sysdeps/alpha/atomicity.h: Remove. * sysdeps/generic/atomicity.h: Remove. 2004-05-05 H.J. Lu * sysdeps/i386/i486/bits/string.h (strpbrk): Cast return to char *. 2004-04-22 David Mosberger * sysdeps/unix/sysv/linux/ia64/Makefile (librt-routines): Mention rt-sysdep. * sysdeps/unix/sysv/linux/ia64/rt-sysdep.S: New file. * sysdeps/ia64/strcat.c: New file. * sysdeps/ia64/strcat.S: Delete. 2004-05-04 Jakub Jelinek * sysdeps/unix/sysv/linux/ia64/sysdep.S (USE___THREAD): Remove defined. 2004-04-23 Jakub Jelinek * sysdeps/ia64/fpu/libm_support.h (__libm_error_support): Add libc_hidden_proto. Define to __GI___libm_error_support for assembly going into libc.so. * sysdeps/ia64/fpu/libc_libm_error.c (__libm_error_support): Add libc_hidden_def. * include/libc-symbols.h (HIDDEN_BUILTIN_JUMPTARGET): Define. * sysdeps/ia64/bcopy.S (bcopy): Use it for jump to memmove. * sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Access gprel errno if RTLD_PRIVATE_ERRNO or __thread __libc_errno/errno if USE___THREAD. 2004-05-03 Jakub Jelinek * sysdeps/unix/bsd/bits/fcntl.h (F_SETOWN, F_GETOWN): Define if __USE_BSD or __USE_UNIX98. * sysdeps/unix/bsd/ultrix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/bsd/bsd4.4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/common/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/aix/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/irix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/cris/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/generic/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/mach/hurd/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * io/sys/stat.h (S_ISSOCK, S_IFSOCK): Likewise. 2004-05-01 Jakub Jelinek * posix/Versions (libc): Remove __libc_wait, __libc_waitpid, __libc_pause, __libc_nanosleep, __libc_pread, __libc_pread64, __libc_pwrite64, __waitid and __pselect @@GLIBC_PRIVATE. * stdlib/Versions (libc): Remove __on_exit@@GLIBC_PRIVATE. * sysdeps/unix/sysv/linux/Versions (libc): Remove __libc_sigaction@@GLIBC_PRIVATE. * sysdeps/unix/sysv/linux/x86_64/Versions (libc): Remove __modify_ldt@@GLIBC_PRIVATE. * socket/Versions (libc): Remove __libc_accept, __libc_send, __libc_recvfrom, __libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto and __libc_connect @@GLIBC_PRIVATE. * stdio-common/Versions (libc): Remove _itoa_upper_digits@@GLIBC_PRIVATE. * resolv/Versions (libresolv): Remove __ns_samename@@GLIBC_PRIVATE. * misc/Versions (libc): Remove __libc_fsync, __libc_msync, __libc_readv and __libc_writev @@GLIBC_PRIVATE. * termios/Versions (libc): Remove __libc_tcdrain@@GLIBC_PRIVATE. * io/Versions (libc): Remove __libc_open, __libc_close, __libc_read, __libc_write, __libc_lseek, __libc_fcntl, __libc_open64 and __libc_lseek64 @@GLIBC_PRIVATE. 2004-04-30 Jakub Jelinek * elf/dl-load.c (open_verify): Move e_phentsize check after e_type check. 2004-04-29 Steven Munroe * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_floor.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: Removed. * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: Removed. * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llround.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_lround.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_rint.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_round.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: New file. * math/test-misc.c [LDBL_MANT_DIG == 106](main): Correct LDBL_MAX mantissa for AIX long double format. * misc/qefgcvt.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Define for AIX long double format. * misc/qefgcvt_r.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Likewise. * stdlib/fpioconst.c [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024] (_fpioconst_pow10): AIX long double format has same exponent range as double. * stdlib/fpioconst.h [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024] (LDBL_MAX_10_EXP_LOG): AIX long double format has same exponent range as double. 2004-04-23 Art Haas * sysdeps/unix/sysv/linux/kernel-features.h: Add 'defined'. 2004-04-28 Carlos O'Donell * sysdeps/unix/sysv/linux/mq_getattr.c: Include . * sysdeps/unix/sysv/linux/mq_notify.c: Likewise. * sysdeps/unix/sysv/linux/mq_open.c: Likewise. * sysdeps/unix/sysv/linux/mq_receive.c: Likewise. * sysdeps/unix/sysv/linux/mq_send.c: Likewise. 2004-04-29 Philip Blundell * sysdeps/arm/dl-machine.h (RTLD_START): Avoid unnecessary GOT entries. 2004-04-29 Jakub Jelinek * manual/resource.texi (sched_setaffinity, sched_getaffinity): Fix prototypes and description [BZ #131]. * string/bits/string2.h (strpbrk): Cast NULL to char * [BZ #130]. Patch by Ed Catmur . * string/tst-inlcall.c (main): Add test for strpbrk. [BZ #140] * sysdeps/unix/sysv/linux/sys/sysctl.h: Remove linux/compiler.h include. (_LINUX_KERNEL_H, _LINUX_TYPES_H, _LINUX_LIST_H): Only define if not yet defined, #undef back after including linux/sysctl.h if defined here. (__LINUX_COMPILER_H, __user): Define if not yet defined, #undef back after including linux/sysctl.h if defined here. * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c (_Qp_qtoi): Use %f31 for single precision register, add it to __asm clobbers [BZ #139]. * sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c (_Qp_qtoui): Use %f31 for single precision register, add it to __asm clobbers. * sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c (_Qp_qtoux): Use fqtox instead of fqtoi in QP_HANDLE_EXCEPTIONS. * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c (_Qp_qtox): Likewise. Reported by M. H. VanLeeuwen . 2004-04-23 Andreas Schwab * sysdeps/unix/sysv/linux/m68k/register-dump.h: Use __attribute_used__. 2004-04-22 Philip Blundell * sysdeps/arm/dl-machine.h (elf_machine_rela): Don't use INTUSE when calling _dl_signal_error. (elf_machine_rel): Likewise. 2004-04-21 Ulrich Drepper * sysdeps/unix/sysv/linux/ia64/setjmp.S: Define _GI___sigsetjmp and use it internally instead of __sigsetjmp. * sysdeps/ia64/fpu/s_frexpf.c (frexpf): Use _GI___libm_frexp_4f. * sysdeps/ia64/fpu/s_frexpl.c (frexpl): Use _GI___libm_frexp_4l. * sysdeps/ia64/fpu/libm_frexp4.S: Define _GI___libm_frexp_4. * sysdeps/ia64/fpu/libm_frexp4f.S: Define _GI___libm_frexp_4f. * sysdeps/ia64/fpu/libm_frexp4l.S: Define _GI___libm_frexp_4l. * sysdeps/ia64/fpu/s_frexp.c (frexp): Use _GI___libm_frexp_4. * sysdeps/ia64/fpu/libm_support.h: Declare _GI___libm_frexp_4, _GI___libm_frexp_4f, _GI___libm_frexp_4l. * sysdeps/ia64/fpu/bits/mathinline.h: New file. * sysdeps/unix/sysv/linux/ia64/__start_context.S: Use HIDDEN_JUMPTARGET for exit call. * sysdeps/unix/sysv/linux/ia64/clone2.S: Use HIDDEN_JUMPTARGET for _exit call. * sysdeps/ia64/bcopy.S: Use HIDDEN_JUMPTARGET for memmove call. * sysdeps/ia64/strcat.S: Use HIDDEN_JUMPTARGET for strlen and strcpy calls. 2004-04-21 Jakub Jelinek * posix/tst-chmod.c (do_test): Fix a typo. * elf/lateglobal.c (main): Fix error checks. Patch by Stephen Clarke . * manual/ctype.texi (isblank, iswblank): Mark as ISO functions, mention they have been added in ISO C99. Reported by Ben Pfaff . 2004-03-31 H.J. Lu * sysdeps/ieee754/ldbl-128/bits/huge_vall.h: Fix typo. 2004-04-20 Jakub Jelinek * sysdeps/unix/sysv/linux/shm_open.c (shm_unlink): Change EPERM into EACCES. 2004-04-20 Jakub Jelinek * stdio-common/vfscanf.c (_IO_vfscanf): Revert last %% whitespace handling change. * stdio-common/tst-sscanf.c (int_tests): Adjust. * nis/nss-nis.c: Include stdlib.h. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Shut up a warning. * sysdeps/sparc/sparc64/memcmp.S (memcmp): Remove BP_SYM () from libc_hidden_builtin_def. 2004-04-20 Jim Meyering * misc/error.c (error_tail): Don't leak upon realloc failure. 2004-04-20 Martin Schwidefsky * sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable): Use RETURN_ADDRESS instead of __builtin_return_address. 2004-04-19 Ulrich Drepper * sysdeps/unix/sysv/linux/mq_unlink.c: Rewrite to produce more compact code. 2004-04-20 Jakub Jelinek * stdio-common/vfscanf.c (_IO_vfscanf): When skipping whitespace, do input_error () instead of conv_error () and don't look at errno. Don't eat any whitespace before %% if skip_space == 0. * stdio-common/tst-sscanf.c (int_tests): New array. (main): Run int_tests. See ChangeLog.14 for earlier changes.