Fix memory handling in strxfrm_l [BZ #16009]
[platform/upstream/glibc.git] / ChangeLog
index 829c7ec..09f1a80 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,99 @@
-2014-01-12  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+2015-01-13  Leonhard Holz  <leonhard.holz@web.de>
+
+       [BZ #16009]
+       * string/strxfrm_l.c (STRXFRM): Allocate fixed size cache for
+       weights and rules. Use do_xfrm_cached if data fits in cache,
+       do_xfrm otherwise.  Moved former main loop to...
+       * (do_xfrm_cached): New function.
+       * (do_xfrm): Non-caching version of do_xfrm_cached. Uses
+       find_idx, find_position and stack_push.
+       * (find_idx): New function.
+       * (find_position): Likewise.
+       * localedata/sort-test.sh: Added test run for do_xfrm.
+       * localedata/xfrm-test.c (main): Added command line option
+       -nocache to run the test with strings that are too large for
+       the STRXFRM cache.
+
+2015-01-13  Torvald Riegel  <triegel@redhat.com>
+
+       * sysdeps/nptl/fork.c (__libc_fork): Provide address of futex
+       variable to lll_futex_wake call, not the value itself.
+
+2015-01-12  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #17803]
+       * sysdeps/ieee754/ldbl-96/s_scalblnl.c (twom63): Rename to
+       twom64.  Adjust value to 0x1p-64L.
+       (__scalblnl): Only return standard underflowing result for K <=
+       -64 not K <= -63; adjust exponent for underflowing result by 64
+       not 63.
+       * math/libm-test.inc (scalbn_test_data): Add more tests.
+       (scalbln_test_data): Likewise.
+
+       [BZ #17834]
+       * sysdeps/ieee754/ldbl-96/s_scalblnl.c (two63): Change value to
+       0x1p63L.
+       (__scalblnl): Get new exponent of adjusted subnormal value from ES
+       not HX.
+       * math/libm-test.inc (scalbn_test_data): Add more tests.
+       (scalbln_test_data): Likewise.
+
+2015-01-12  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+           Stefani Seibold  <stefani@seibold.net>
+
+       * sysdeps/unix/sysv/linux/x86_64/Makefile [$(subdir) = elf]
+       (sysdep_routines): Add dl-vdso here, ...
+       * sysdeps/unix/sysv/linux/x86/Makefile [$(subdir) = elf]
+       (sysdep_routines): ... not here.
+       * sysdeps/unix/sysv/linux/i386/gettimeofday.c: New file: set syscall
+       fallback when vDSO is not presented.
+       * sysdeps/unix/sysv/linux/x86_64/init-first.c (__vdso_clock_gettime):
+       Define with libc_hidden_proto/libc_hidden_data_def definitions.
+       (_libc_vdso_platform_setup): Rename to __vdso_platform_setup.
+       * sysdeps/unix/sysv/linux/i386/init-first.c: New file: likewise.
+       * sysdeps/unix/sysv/linux/i386/time.c: New file: likewise.
+       * sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h: Moved to ...
+       * sysdeps/unix/sysv/linux/x86/libc-vdso.h: ... here.
+       * sysdeps/unix/sysv/linux/x86_64/clock_gettime.c: Move to ...
+       * sysdeps/unix/sysv/linux/x86/clock_gettime.c: ... here.
+       * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c: Move to ...
+       * sysdeps/unix/sysv/linux/x86/gettimeofday.c: ... here.  Also added
+       fallback configurable symbol when vDSO is not available.
+       * sysdeps/unix/sysv/linux/x86_64/time.c: Move to ...
+       * sysdeps/unix/sysv/linux/x86/time.c: ... here.  Also refactored to
+       be able to redefine fallback symbol when vDSO is not available.
+       * sysdeps/unix/sysv/linux/x86_64/timespec_get.c: Move to ...
+       * sysdeps/unix/sysv/linux/x86/timespec_get.c: ... here.
+
+2015-01-12  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+
+       * sysdeps/powerpc/nptl/tls.h (tcbhead_t): Add tm_capable field.
+       (TLS_INIT_TP): Add tm_capable initialization.
+       (TLS_DEFINE_INIT_TP): Likewise.
+       (THREAD_GET_TM_CAPABLE): New file: get tm_capable field value from
+       TCB.
+       (THREAD_SET_TM_CAPABLE): New file: set tm_capable field value in TCB.
+       * sysdeps/powerpc/nptl/tcb-offsets.sym (TM_CAPABLE): Add field offset
+       calculation.
+       * sysdeps/powerpc/powerpc32/sysdep.h (DO_CALL): Abort hardware
+       transactoion is lock elision is built and TCB tm_capable is set.
+       * sysdeps/powerpc/powerpc64/sysdep.h (DO_CALL): Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
+       (INTERNAL_SYSCALL_NCS): Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
+       (INTERNAL_SYSCALL_NCS): Likewise.
+       * sysdeps/powerpc/sysdep.h (ABORT_TRANSACTION): New define.
+
+       * sysdeps/powerpc/nptl/elide.h: New file: generic lock elision support
+       for powerpc.
+       * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
+       [pthread_rwlock_t] (__pad1): Change size to 7 bytes in 64 bits case
+       and remove it for 32 bits case.
+       [pthread_rwlock_t] (__rwelision): New field for lock elision.
+       (__PTHREAD_RWLOCK_ELISION_EXTRA): Adjust for new lock elision field
+       initialization.
+       * sysdeps/unix/sysv/linux/powerpc/elision-conf.c (elision_init):
+       Disable lock elision with rdlocks if elision is not available.
 
        * sysdeps/unix/sysv/linux/powerpc/Makefile [nptl]
        (sysdep_routines): Add lock elision objects.