2010-05-01 Alan Modra * sysdeps/powerpc/powerpc32/power4/memcmp.S: Correct cfi for r24. * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Move contents.. * sysdeps/powerpc/powerpc64/bsd-setjmp.S: ..and these too.. * sysdeps/powerpc/powerpc64/setjmp.S: ..to here.. * sysdeps/powerpc/powerpc64/setjmp-common.S: ..and here, with some tidying. Don't tail-call __sigjmp_save for static lib. * sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): Correct save location. (CFI_SAVE_ARG, CFI_REST_ARG): New macros. (CALL_MCOUNT): Add eh info, and nop after bl. (TAIL_CALL_SYSCALL_ERROR): New macro. (PSEUDO_RET): Use it. * sysdeps/powerpc/powerpc64/dl-trampoline.S (_dl_runtime_resolve): Correct save location of integer regs and cr. (_dl_profile_resolve): Correct cr save location. Delete nops after bl when SHARED. Reduce cfi size a little by better placement of cfi directives. * sysdeps/powerpc/powerpc64/fpu/s_copysign.S (__copysign): Don't make a stack frame. Instead use parm save area as a temp. * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S (__brk): Don't make a stack frame. Use TAIL_CALL_SYSCALL_ERROR. * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Don't make a stack frame for parent, use parm save area. Increase child stack frame to 112 bytes. Don't save unused reg, and adjust reg usage. Set up cfi on error recovery and epilogue of parent, and use TAIL_CALL_SYSCALL_ERROR, PSEUDO_RET. * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S (__makecontext): Add dummy nop after jump to exit. * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S (__socket): Use correct parm save area and cr save, reduce stack frame. Correct cfi for possible PSEUDO_RET frame setup. * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S (__vfork): Branch to local label emitted by PSEUDO_RET rather than __syscall_error. 2010-08-12 Andreas Schwab [BZ #11904] * locale/programs/locale.c (print_assignment): New function. (show_locale_vars): Use it. 2010-08-11 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_flags field. (struct statfs64): Likewise. (_STATFS_F_FLAGS): Define. * sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise. * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags): Don't define if __ASSUME_STATFS_F_FLAGS is defined. (ST_VALID): Define locally. (INTERNAL_STATVFS): If f_flags has ST_VALID set don't call __statvfs_getflags, use the provided value. * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_STATFS_F_FLAGS. * sysdeps/unix/sysv/linux/sys/inotify.h (IN_EXCL_UNLINK): Define. * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add sys/fanotify.h. * sysdeps/unix/sysv/linux/Versions [libc]: Export fanotify_init and fanotify_mask for GLIBC_2.13. * sysdeps/unix/sysv/linux/i386/syscalls.list: Add entries for fanotify_init and fanotify_mark. * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sys/fanotify.h: New file. * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_routines): Add prlimit. * sysdeps/unix/sysv/linux/Versions [libc]: Export prlimit and prlimit64 for GLIBC_2.13. * sysdeps/unix/sysv/linux/bits/resource.h: Declare prlimit and prlimit64. * sysdeps/unix/sysv/linux/i386/syscalls.list: Add entry for prlimit64 syscall. * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sh/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.lis: Likewise. * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise. Also add prlimit alias. * sysdeps/unix/sysv/linux/prlimit.c: New file. [BZ #11903] * sysdeps/generic/netinet/ip.h (IPTOS_CLASS): Fix definition. Patch by Evgeni Bikov . * nss/Makefile: Add rules to build and run tst-nss-test1. * shlib-versions: Add entry for libnss_test1. * nss/nss_test1.c: New file. * nss/tst-nss-test1.c: New file. * nss/nsswitch.c (__nss_database_custom): Define new variable. (__nss_configure_lookup): Set appropriate entry in __nss_configure_lookup to true. * nss/nsswitch.h: Define enum with indeces of databases in databases and __nss_database_custom arrays. Declare __nss_database_custom. * grp/initgroups.c (internal_getgrouplist): Use __nss_database_custom to avoid using nscd when custom rules are installed. * nss/getXXbyYY_r.c: Likewise. * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise. * nss/nss_files/files-parse.c: Whitespace fixes. 2010-08-09 Ulrich Drepper [BZ #11883] * posix/fnmatch.c: Keep track of alloca use and fall back on malloc. * posix/fnmatch_loop.c: Likewise. 2010-07-17 Andi Kleen * sysdeps/i386/i386-mcount.S (__fentry__): Define. * sysdeps/x86_64/_mcount.S (__fentry__): Define. * stdlib/Versions (__fentry__): Add for GLIBC 2.13 * Versions.def [GLIBC_2.13]: Add. 2010-08-06 Ulrich Drepper * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Also fail if tpwd after pwuid call is NULL. 2010-07-31 Samuel Thibault * hurd/hurdselect.c (_hurd_select): Round timeout up instead of down when converting to ms. 2010-06-06 Samuel Thibault * sysdeps/mach/hurd/ttyname.c (ttyname): Replace MIG_BAD_ID and EOPNOTSUPP errors with ENOTTY. * sysdeps/mach/hurd/ttyname_r.c (__ttyname_r): Replace MIG_BAD_ID and EOPNOTSUPP errors with ENOTTY. 2010-07-31 Ulrich Drepper * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines): Add strcasecmp_l-ssse3. * sysdeps/x86_64/multiarch/strcmp.S: Add support to compile for strcasecmp. * sysdeps/x86_64/strcmp.S: Allow more flexible compiling of strcasecmp. * sysdeps/x86_64/multiarch/strcasecmp_l.S: New file. * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: New file. 2010-07-30 Ulrich Drepper * sysdeps/x86_64/multiarch/strcmp.S: Pretty printing. * string/Makefile (strop-tests): Add strcasecmp. * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add strcasecmp_l-nonascii. (gen-as-const-headers): Add locale-defines.sym. * sysdeps/x86_64/strcmp.S: Add support for strcasecmp implementation. * sysdeps/x86_64/strcasecmp.S: New file. * sysdeps/x86_64/strcasecmp_l.S: New file. * sysdeps/x86_64/strcasecmp_l-nonascii.c: New file. * sysdeps/x86_64/locale-defines.sym: New file. * string/test-strcasecmp.c: New file. * string/test-strcasestr.c: Test both ends of the range of characters. * sysdeps/x86_64/multiarch/strstr.c: Fix UCHIGH definition. 2010-07-29 Roland McGrath [BZ #11856] * manual/locale.texi (Yes-or-No Questions): Fix example code. 2010-07-27 Ulrich Drepper * sysdeps/x86_64/multiarch/strcmp-ssse3.S: Avoid compiling the file for ld.so. 2010-07-27 Andreas Schwab * manual/memory.texi (Malloc Tunable Parameters): Document M_PERTURB. 2010-07-26 Roland McGrath [BZ #11840] * configure.in (-fgnu89-inline check): Set and substitute gnu89_inline, not libc_cv_gnu89_inline. * configure: Regenerated. * config.make.in (gnu89-inline-CFLAGS): Use @gnu89_inline@. 2010-07-26 Ulrich Drepper * string/test-strnlen.c: New file. * string/Makefile (strop-tests): Add strnlen. * string/tester.c (test_strnlen): Add a few more test cases. * string/tst-strlen.c: Better error reporting. * sysdeps/x86_64/strnlen.S: New file. 2010-07-24 Ulrich Drepper * sysdeps/x86_64/multiarch/strstr.c (__m128i_strloadu_tolower): Use lower-latency instructions. 2010-07-23 Ulrich Drepper * string/test-strcasestr.c: New file. * string/test-strstr.c: New file. * string/Makefile (strop-tests): Add strstr and strcasestr. * string/str-two-way.h: Don't undefine MAX. * string/strcasestr.c: Don't define alias if NO_ALIAS is defined. 2010-07-21 Andreas Schwab * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add strcasestr-nonascii. (CFLAGS-strcasestr-nonascii.c): Define. * sysdeps/i386/i686/multiarch/strcasestr-nonascii.c: New file. * sysdeps/x86_64/multiarch/strcasestr-nonascii.c (STRSTR_SSE42): Remove unused attribute. 2010-07-20 Roland McGrath * elf/dl-sysdep.c (_dl_important_hwcaps): Add dsocaps mask to dl_hwcap_mask as well as dl_hwcap. Without this, dsocaps matching in ld.so.cache was broken. With it, there is no way to disable dsocaps like LD_HWCAP_MASK can disable hwcaps. 2010-06-02 Emilio Pozuelo Monfort * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): Fix memory leaks. 2010-07-16 Ulrich Drepper * sysdeps/x86_64/multiarch/strstr.c: Rewrite to avoid indirect function call in strcasestr. * sysdeps/x86_64/multiarch/strcasestr.c: Declare __strcasestr_sse42_nonascii. * sysdeps/x86_64/multiarch/Makefile: Add rules to build strcasestr-nonascii.c. * sysdeps/x86_64/multiarch/strcasestr-nonascii.c: New file. 2010-06-15 Luis Machado * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: New file. * sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: New file. * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: New file. * sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: New file. 2010-07-09 Ulrich Drepper * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use __fcntl not fcntl. 2010-07-06 Andreas Schwab * elf/dl-version.c (match_symbol): Don't pass NULL occation to dl_signal_cerror. 2010-07-06 Ulrich Drepper * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Implement _PC_PIPE_BUF using F_GETPIPE_SZ. 2010-07-05 Roland McGrath * manual/arith.texi (Rounding Functions): Fix rint description implicit in round description. 2010-07-02 Ulrich Drepper * elf/Makefile: Fix linking for a few tests to make recent linker happy. 2010-06-30 Andreas Schwab * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Readd $(common-objpfx)libc_nonshared.a. 2010-06-21 Luis Machado * sysdeps/powerpc/powerpc32/970/fpu/Implies: Remove. * sysdeps/powerpc/powerpc32/power5/fpu/Implies: Remove. * sysdeps/powerpc/powerpc32/power5+/fpu/Implies: Remove. * sysdeps/powerpc/powerpc32/power6x/fpu/Implies: Remove. * sysdeps/powerpc/powerpc64/970/fpu/Implies: Remove. * sysdeps/powerpc/powerpc64/power5/fpu/Implies: Remove. * sysdeps/powerpc/powerpc64/power5+/fpu/Implies: Remove. * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5+/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5+/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/fpu/Implies: Remove. * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/fpu/Implies: Remove. * sysdeps/powerpc/powerpc32/970/Implies: Point to power4. * sysdeps/powerpc/powerpc32/power5/Implies: Point to power4. * sysdeps/powerpc/powerpc32/power5+/Implies: Point to power5. * sysdeps/powerpc/powerpc32/power6/Implies: Point to power5+. * sysdeps/powerpc/powerpc32/power6x/Implies: Point to power6. * sysdeps/powerpc/powerpc64/970/Implies: Point to power4. * sysdeps/powerpc/powerpc64/power5/Implies: Point to power4. * sysdeps/powerpc/powerpc64/power5+/Implies: Point to power5. * sysdeps/powerpc/powerpc64/power6/Implies: Point to power5+. * sysdeps/powerpc/powerpc64/power6x/Implies: Point to power6. * sysdeps/powerpc/powerpc32/power7/Implies: New file. * sysdeps/powerpc/powerpc64/power7/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/Implies: New file. 2010-06-25 H.J. Lu * debug/memmove_chk.c (__memmove_chk): Renamed to ... (MEMMOVE_CHK): ...this. Default to __memmove_chk. * string/memmove.c (memmove): Renamed to ... (MEMMOVE): ...this. Default to memmove. * sysdeps/x86_64/memcpy.S: Use ENTRY_CHK and END_CHK. * sysdeps/x86_64/sysdep.h (ENTRY_CHK): Define. (END_CHK): Define. * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add memcpy-ssse3 mempcpy-ssse3 memmove-ssse3 memcpy-ssse3-back mempcpy-ssse3-back memmove-ssse3-back. * sysdeps/x86_64/multiarch/bcopy.S: New file . * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: New file. * sysdeps/x86_64/multiarch/memcpy-ssse3.S: New file. * sysdeps/x86_64/multiarch/memcpy.S: New file. * sysdeps/x86_64/multiarch/memcpy_chk.S: New file. * sysdeps/x86_64/multiarch/memmove-ssse3-back.S: New file. * sysdeps/x86_64/multiarch/memmove-ssse3.S: New file. * sysdeps/x86_64/multiarch/memmove.c: New file. * sysdeps/x86_64/multiarch/memmove_chk.c: New file. * sysdeps/x86_64/multiarch/mempcpy-ssse3-back.S: New file. * sysdeps/x86_64/multiarch/mempcpy-ssse3.S: New file. * sysdeps/x86_64/multiarch/mempcpy.S: New file. * sysdeps/x86_64/multiarch/mempcpy_chk.S: New file. * sysdeps/x86_64/multiarch/init-arch.h (bit_Fast_Copy_Backward): Define. (index_Fast_Copy_Backward): Define. (HAS_ARCH_FEATURE): Define. (HAS_FAST_REP_STRING): Define. (HAS_FAST_COPY_BACKWARD): Define. 2010-06-21 Andreas Schwab * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Restore proper fallback handling. 2010-06-19 Ulrich Drepper [BZ #11701] * posix/group_member.c (__group_member): Correct checking loop. * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle OOM in getpwuid_r correctly. Return error number when the caller should return, otherwise -1. (getlogin_r): Adjust to return also for result of __getlogin_r_loginuid call returning > 0 value. * sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise. 2010-06-07 Andreas Schwab * dlfcn/Makefile: Remove explicit dependencies on libc.so and libc_nonshared.a from targets in modules-names. 2010-06-02 Kirill A. Shutemov * elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch requires it. 2010-06-10 Luis Machado * sysdeps/powerpc/powerpc32/power7/memcmp.S: New file * sysdeps/powerpc/powerpc64/power7/memcmp.S: New file. * sysdeps/powerpc/powerpc32/power7/strncmp.S: New file. * sysdeps/powerpc/powerpc64/power7/strncmp.S: New file. 2010-06-02 Andreas Schwab * nis/nss_nis/nis-initgroups.c (get_uid): Properly resize buffer. 2010-06-14 Ulrich Drepper * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Define F_SETPIPE_SZ and F_GETPIPE_SZ. * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise 2010-06-14 Roland McGrath * manual/libc.texinfo (@copying): Change to GFDL v1.3. 2010-06-07 Jakub Jelinek * libio/stdio.h (sscanf, vsscanf): Use __REDIRECT_NTH instead of __REDIRECT followed by __THROW. * wcsmbs/wchar.h (swscanf, vswscanf): Likewise. * posix/getopt.h (getopt): Likewise. 2010-06-02 Emilio Pozuelo Monfort * hurd/lookup-at.c (__file_name_lookup_at): Accept AT_SYMLINK_FOLLOW in AT_FLAGS. Fail with EINVAL if both AT_SYMLINK_FOLLOW and AT_SYMLINK_NOFOLLOW are present in AT_FLAGS. * hurd/hurd/fd.h (__file_name_lookup_at): Update comment. * sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS. 2010-05-28 Luis Machado * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi. 2010-05-26 H.J. Lu [BZ #11640] * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Properly check family and model. 2010-05-26 Takashi Yoshii * sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Fix iov[] size. 2010-05-24 Luis Machado * sysdeps/powerpc/powerpc32/power7/memset.S: POWER7 32-bit memset fix. 2010-05-21 Ulrich Drepper * elf/dl-runtime.c (_dl_profile_fixup): Don't crash on unresolved weak symbol reference. 2010-05-19 Andreas Schwab * elf/dl-runtime.c (_dl_fixup): Don't crash on unresolved weak symbol reference. 2010-05-21 Andreas Schwab * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add recvmmsg and internal_recvmmsg. * sysdeps/unix/sysv/linux/recvmmsg.c: New file. * sysdeps/unix/sysv/linux/internal_recvmmsg.S: New file. * sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_recvmmsg): Define. * sysdeps/unix/sysv/linux/syscalls.list (recvmmsg): Remove. * sunrpc/clnt_tcp.c (clnttcp_control): Add missing break. * sunrpc/clnt_udp.c (clntudp_control): Likewise. * sunrpc/clnt_unix.c (clntunix_control): Likewise. 2010-05-20 Andreas Schwab * sysdeps/unix/sysv/linux/sys/timex.h: Use __REDIRECT_NTH. 2010-05-17 Luis Machado POWER7 optimizations. * sysdeps/powerpc/powerpc64/power7/memset.S: New file. * sysdeps/powerpc/powerpc32/power7/memset.S: New file. 2010-05-19 Ulrich Drepper * version.h: Update for 2.13 development version. 2010-05-12 Andrew Stubbs * sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Really disable all exceptions. Return 0. 2010-05-07 Roland McGrath * elf/ldconfig.c (main): Add a const. 2010-05-06 Ulrich Drepper * nss/getent.c (idn_flags): Default to AI_IDN|AI_CANONIDN. (args_options): Add no-idn option. (ahosts_keys_int): Add idn_flags to ai_flags. (parse_option): Handle 'i' option to clear idn_flags. * malloc/malloc.c (_int_free): Possible race in the most recently added check. Only act on the data if no current modification happened. See ChangeLog.17 for earlier changes.