2010-11-04 Luis Machado * sysdeps/powerpc/powerpc32/power7/mempcpy.S: New file. * sysdeps/powerpc/powerpc64/power7/mempcpy.S: New file. 2009-11-06 Petr Baudis * include/sys/uio.h: Change __vector to __iovec to avoid clash with altivec. 2010-10-26 Ryan S. Arnold * config.h.in: Added HAVE_PPC64_PT_GNU_STACK which is set during a configure test to determine whether the the $(CC) compiler defaults to PT_GNU_STACK support for PPC64. * elf/Makefile (($objpfx)check-execstac:): Replaced $(native-compile) with an operation which does the same thing but searches sysdeps/ for the testcase before settling on elf/check-execstack.c. This allows overriding in sysdeps/powerpc/powerpc64/check-execstack.c. * elf/dl-load.c (_dl_map_object_from_fd): Replace PF_R|RF_W|PF_X with _STACK_FLAGS, defined in stackinfo.h. * elf/dl-support.c (_dl_stack_flags): Likewise. * elf/rtld.c (_rtld_global): Likewise. * sysdeps/generic/stackinfo.h: Define _STACK_FLAGS = PF_R|PF_W|PF_X. Define _STACKINFO_H. * sysdeps/i386/stackinfo.h: Include and remove #define _STACKINFO_H. * sysdeps/ia64/stackinfo.h: Likewise. * sysdeps/s390/stackinfo.h: Likewise. * sysdeps/sh/stackinfo.h: Likewise. * sysdeps/sparc/stackinfo.h: Likewise. * sysdeps/x86_64/stackinfo.h: Likewise. * sysdeps/powerpc/stackinfo.h: Define _STACK_FLAGS as PF_R|PF_W, i.e., nonexecutable, on PowerPC64, but PF_R|PF_W|PF_X on PowerPC32. * sysdeps/powerpc/powerpc64/check-execstack.c: New file which checks the test executable to make sure it doesn't have PT_GNU_STACK set and then checks the executable to see if the mapfile indicates that the [stack] is nonexecutable. * sysdeps/powerpc/powerpc64/configure: Regenerated. * sysdeps/powerpc/powerpc64/configure.in: Added fragment to test for PT_GNU_STACK default in the compiler. It sets HAVE_PPC64_PT_GNU_STACK. 2010-10-16 Jakub Jelinek [BZ #3268] * math/libm-test.inc (fma_test): Add IEEE quad long double fmal tests. * sysdeps/ieee754/ldbl-128/s_fmal.c (__fmal): Ensure a1 + u.d computation is not scheduled after fetestexcept. Fix value of minimum denormal long double. 2010-10-19 Michael Meissner * bits/mathdef.h (FP_FAST_FMA): If the GCC 4.6 port has fast fma builtins, define the macros in the C99 standard. (FP_FAST_FMAF): Likewise. (FP_FAST_FMAL): Likewise. * sysdeps/powerpc/bits/mathdef.h (FP_FAST_FMA): Define, ppc as multiply/add. (FP_FAST_FMAF): Likewise. 2010-10-15 Jakub Jelinek [BZ #3268] * math/libm-test.inc (fma_test): Some new testcases. * sysdeps/ieee754/ldbl-128/s_fmal.c: New file. * sysdeps/ieee754/ldbl-96/s_fma.c (__fma): Fix fma with finite x and y and infinite z. Do multiplication by C already in long double. * sysdeps/ieee754/ldbl-96/s_fmal.c: New file. * sysdeps/ieee754/dbl-64/s_fma.c (__fma): Fix fma with finite x and y and infinite z. Do bitwise or of inexact bit into u.d. * sysdeps/ieee754/ldbl-64-128/s_fmal.c: New file. * sysdeps/i386/fpu/s_fmaf.S: Removed. * sysdeps/i386/fpu/s_fma.S: Removed. * sysdeps/i386/fpu/s_fmal.S: Removed. 2010-10-14 Jakub Jelinek [BZ #3268] * math/libm-test.inc (fma_test): Add some more tests. * sysdeps/ieee754/dbl-64/s_fma.c (__fma): Handle underflows correctly. 2010-10-13 Jakub Jelinek [BZ #3268] * math/libm-test.inc (fma_test): Some more fmaf and fma tests. * sysdeps/i386/i686/multiarch/s_fma.c: Include ldbl-96 version instead of dbl-64. * sysdeps/i386/fpu/bits/mathinline.h (fma, fmaf, fmal): Remove inlines. * sysdeps/ieee754/ldbl-96/s_fma.c: New file. * sysdeps/ieee754/dbl-64/s_fma.c (__fma): Fix exponent adjustment if one of x and y is very large and the other is subnormal. * sysdeps/s390/fpu/s_fmaf.c: New file. * sysdeps/s390/fpu/s_fma.c: New file. * sysdeps/powerpc/fpu/s_fmaf.S: New file. * sysdeps/powerpc/fpu/s_fma.S: New file. * sysdeps/powerpc/powerpc32/fpu/s_fma.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_fma.S: New file. * sysdeps/unix/sysv/linux/s390/fpu/s_fma.c: New file. 2010-10-12 Jakub Jelinek [BZ #3268] * math/libm-test.inc (fma_test): Add some more fmaf tests, add fma tests. * sysdeps/ieee754/dbl-64/s_fmaf.c (__fmaf): Fix Inf/Nan check. * sysdeps/ieee754/dbl-64/s_fma.c: New file. * sysdeps/i386/i686/multiarch/s_fma.c: Include sysdeps/ieee754/dbl-64/s_fma.c instead of math/s_fma.c. * sysdeps/x86_64/multiarch/s_fma.c: Likewise. * sysdeps/ieee754/ldbl-opt/s_fma.c: Likewise. * sysdeps/ieee754/ldbl-128/s_fma.c: New file. 2010-10-07 Jakub Jelinek [BZ #3268] * math/libm-test.inc (fma_test): Add 2 fmaf tests. * sysdeps/ieee754/dbl-64/s_fmaf.c: New file. * sysdeps/i386/i686/multiarch/s_fmaf.c: Include sysdeps/ieee754/dbl-64/s_fmaf.c instead of math/s_fmaf.c. * sysdeps/x86_64/multiarch/s_fmaf.c: Likewise. * include/fenv.h (feupdateenv, fetestexcept): Add libm_hidden_proto. * math/feupdateenv.c (feupdateenv): Add libm_hidden_ver. * sysdeps/i386/fpu/feupdateenv.c (feupdateenv): Likewise. * sysdeps/powerpc/fpu/feupdateenv.c (feupdateenv): Likewise. * sysdeps/x86_64/fpu/feupdateenv.c (feupdateenv): Likewise. * sysdeps/sparc/fpu/feupdateenv.c (feupdateenv): Likewise. * sysdeps/ia64/fpu/feupdateenv.c (feupdateenv): Add libm_hidden_def. * sysdeps/s390/fpu/feupdateenv.c (feupdateenv): Likewise. * math/ftestexcept.c (fetestexcept): Likewise. * sysdeps/ia64/fpu/ftestexcept.c (fetestexcept): Likewise. * sysdeps/i386/fpu/ftestexcept.c (fetestexcept): Likewise. * sysdeps/s390/fpu/ftestexcept.c (fetestexcept): Likewise. * sysdeps/powerpc/fpu/ftestexcept.c (fetestexcept): Likewise. * sysdeps/x86_64/fpu/ftestexcept.c (fetestexcept): Likewise. * sysdeps/sparc/fpu/ftestexcept.c (fetestexcept): Likewise. * sysdeps/sh/sh4/fpu/ftestexcept.c (fetestexcept): Likewise. 2010-10-20 Michael B. Brutman * sysdeps/powerpc/dl-procinfo.c: Add support for ppca2 platform * sysdeps/powerpc/dl-procinfo.h: Add support for ppca2 platform * sysdeps/powerpc/powerpc32/a2/memcpy.S: New file. * sysdeps/powerpc/powerpc64/a2/memcpy.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/a2/Implies: New submachine. * sysdeps/unix/sysv/linux/powerpc/powerpc64/a2/Implies: Likewise. 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-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-08-19 Luis Machado * sysdeps/powerpc/powerpc32/power7/memchr.S: New file. * sysdeps/powerpc/powerpc32/power7/memrchr.S: New file. * sysdeps/powerpc/powerpc32/power7/rawmemchr.S: New file. * sysdeps/powerpc/powerpc32/power7/strchr.S: New file. * sysdeps/powerpc/powerpc32/power7/strchrnul.S: New file. * sysdeps/powerpc/powerpc32/power7/strlen.S: New file. * sysdeps/powerpc/powerpc32/power7/strnlen.S: New file. * sysdeps/powerpc/powerpc64/power7/memchr.S: New file. * sysdeps/powerpc/powerpc64/power7/memrchr.S: New file. * sysdeps/powerpc/powerpc64/power7/rawmemchr.S: New file. * sysdeps/powerpc/powerpc64/power7/strchr.S: New file. * sysdeps/powerpc/powerpc64/power7/strchrnul.S: New file. * sysdeps/powerpc/powerpc64/power7/strlen.S: New file. * sysdeps/powerpc/powerpc64/power7/strnlen.S: New file. 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-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-05-24 Luis Machado * sysdeps/powerpc/powerpc32/power7/memset.S: POWER7 32-bit memset fix. 2010-05-28 Luis Machado * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi. 2010-05-17 Luis Machado POWER7 optimizations. * sysdeps/powerpc/powerpc64/power7/memset.S: New file. * sysdeps/powerpc/powerpc32/power7/memset.S: New file. 2010-10-26 Peter Bergner * elf/rtld.c (process_envvars): Added conditional EXTRA_LD_ENVVARS_11 macro which allows overriding of AT_PLATFORM using an environment variable. * sysdeps/unix/sysv/linux/powerpc/dl-librecon.h: New file adding definition for the EXTRA_LD_ENVVARS_11 macro. 2010-10-06 Ulrich Drepper * string/bug-strstr1.c: New file. * string/Makefile: Add rules to build and run bug-strstr1. 2010-10-05 Eric Blake [BZ #12092] * string/str-two-way.h (two_way_long_needle): Always clear memory when skipping input due to the shift table. 2010-10-03 Ulrich Drepper [BZ #12077] * sysdeps/x86_64/strcmp.S: Fix handling of remaining bytes in buffer for strncmp. * string/stratcliff.c: Add tests for strcmp and strncmp. * wcsmbs/wcsatcliff.c: Adjust for stratcliff change. 2010-08-19 Andreas Schwab * sysdeps/i386/i686/multiarch/strspn.S [!SHARED]: Fix SSE4.2 check. 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-06-21 Andreas Schwab * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Restore proper fallback handling. 2010-06-19 Ulrich Drepper * 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-07-27 Andreas Schwab * version.h (VERSION): Bump for 2.12.1 release. 2010-06-02 Kirill A. Shutemov * elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch requires it. 2010-06-02 Andreas Schwab * nis/nss_nis/nis-initgroups.c (get_uid): Properly resize buffer. 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-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-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. 2010-05-21 Andreas Schwab * 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-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.