aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-09-232013-09-23 Steve Ellcey <sellcey@mips.com>Steve Ellcey
* sysdeps/mips/fpu_control.h (comments): Add capitalization and periods to match GNU standard.
2013-09-23Check for integer overflow in cache size computation in strcollSiddhesh Poyarekar
strcoll is implemented using a cache for indices and weights of collation sequences in the strings so that subsequent passes do not have to search through collation data again. For very large string inputs, the cache size computation could overflow. In such a case, use the fallback function that does not cache indices and weights of collation sequences. Fixes CVE-2012-4412.
2013-09-23Fall back to non-cached sequence traversal and comparison on malloc failSiddhesh Poyarekar
strcoll currently falls back to alloca if malloc fails, resulting in a possible stack overflow. This patch implements sequence traversal and comparison without caching indices and rules. Fixes CVE-2012-4424.
2013-09-23BZ #15754: Fix test case for ARM.Carlos O'Donell
Statically built binaries use __pointer_chk_guard_local, while dynamically built binaries use __pointer_chk_guard. Provide the right definition depending on the test case we are building.
2013-09-23BZ #15754: CVE-2013-4788Carlos O'Donell
The pointer guard used for pointer mangling was not initialized for static applications resulting in the security feature being disabled. The pointer guard is now correctly initialized to a random value for static applications. Existing static applications need to be recompiled to take advantage of the fix. The test tst-ptrguard1-static and tst-ptrguard1 add regression coverage to ensure the pointer guards are sufficiently random and initialized to a default value.
2013-09-22Adjust language-code fields of LC_ADDRESS.Chris Leonard
2013-09-21New locale for ak_GH.Chris Leonard
2013-09-21correct bug list in NEWSChris Leonard
2013-09-21[BZ #15859] Fix memory leak in _dl_map_object_depsVinitha Vijayan
2013-09-20Make __ffs hiddenAndreas Schwab
2013-09-20Remove trailing space.Steve Ellcey
2013-09-202013-09-20 Steve Ellcey <sellcey@mips.com>Steve Ellcey
* sysdeps/mips/memset.S: Change prefetching and add loop unrolling. * sysdeps/mips/mips64/memset.S: Remove.
2013-09-202013-09-20 Steve Ellcey <sellcey@mips.com>Steve Ellcey
* sysdeps/mips/memset.S: Change prefetching and add loop unrolling. * sysdeps/mips/mips64/memset.S: Remove.
2013-09-20Mention malloc probes in the NEWS file.Alexandre Oliva
for ChangeLog * NEWS: Mention malloc probes.
2013-09-20Add malloc probes for sbrk and heap resizing.Alexandre Oliva
for ChangeLog * malloc/arena.c (new_heap): New memory_heap_new probe. (grow_heap): New memory_heap_more probe. (shrink_heap): New memory_heap_less probe. (heap_trim): New memory_heap_free probe. * malloc/malloc.c (sysmalloc): New memory_sbrk_more probe. (systrim): New memory_sbrk_less probe. * manual/probes.texi: Document them.
2013-09-20Add catch-all alloc retry probe.Alexandre Oliva
for ChangeLog * malloc/arena.c (arena_get_retry): Add memory_arena_retry probe. * manual/probes.texi: Document it.
2013-09-20Add probes for malloc retries.Alexandre Oliva
for ChangeLog * malloc/malloc.c (__libc_malloc): Add memory_malloc_retry probe. (__libc_realloc): Add memory_realloc_retry probe. (__libc_memalign): Add memory_memalign_retry probe. (__libc_valloc): Add memory_valloc_retry probe. (__libc_pvalloc): Add memory_pvalloc_retry probe. (__libc_calloc): Add memory_calloc_retry probe. * manual/probes.texi: Document them.
2013-09-20Add probes for malloc arena changes.Alexandre Oliva
for ChangeLog * malloc/arena.c (get_free_list): Add probe memory_arena_reuse_free_list. (reused_arena) [PER_THREAD]: Add probes memory_arena_reuse_wait and memory_arena_reuse. (arena_get2) [!PER_THREAD]: Likewise. * malloc/malloc.c (__libc_realloc) [!PER_THREAD]: Add probe memory_arena_reuse_realloc. * manual/probes.texi: Document them.
2013-09-20Add probes for all changes to malloc options.Alexandre Oliva
for ChangeLog * malloc/malloc.c (__libc_free): Add memory_mallopt_free_dyn_thresholds probe. (__libc_mallopt): Add multiple memory_mallopt probes. * manual/probes.texi: Document them.
2013-09-20Add first set of memory probes.Alexandre Oliva
for ChangeLog * malloc/malloc.c: Include stap-probe.h. (__libc_mallopt): Add memory_mallopt probe. * malloc/arena.c (_int_new_arena): Add memory_arena_new probe. * manual/probes.texi: New. * manual/Makefile (chapters): Add probes. * manual/threads.texi: Set next node.
2013-09-20Copy-edit NEWS and fixup ChangeLog entries.Carlos O'Donell
2013-09-20Update Changelog and NEWSChris Leonard
2013-09-19Update iso-639.defChris Leonard
2013-09-19Consolidate common code into macrosSiddhesh Poyarekar
Consolidated common Taylor series polynomials into macros in s_sin.c to make it a bit cleaner.
2013-09-19Fix buffer overrun in strtod_lLiubov Dmitrieva
2013-09-19Add benchmark inputs for sincosSiddhesh Poyarekar
2013-09-19New test cases for sin and cos for multiple precision fallbackSiddhesh Poyarekar
2013-09-19Consolidate sin/cos table lookup codeSiddhesh Poyarekar
2013-09-19Consolidate sin/cos computation for large inputsSiddhesh Poyarekar
2013-09-19Remove redundant goto linesSiddhesh Poyarekar
2013-09-19Add BZ #15640 to resolved bug list in NEWS.Maxim Kuvyrkov
2013-09-19Improve atomic locking for ARM.Maxim Kuvyrkov
[BZ #15640] * sysdeps/arm/bits/atomic.h (atomic_exchange_acq, atomic_exchange_rel) (atomic_compare_and_exchange_bool_acq) (atomic_compare_and_exchange_val_acq) (atomic_compare_and_exchange_bool_rel) (atomic_compare_and_exchange_val_rel): Use __atomic_exchange_n and __atomic_compare_exchange_n builtins when GCC supports them.
2013-09-18MIPS: IEEE 754-2008 NaN encoding supportMaciej W. Rozycki
It has been a long practice for software using IEEE 754 floating-point arithmetic run on MIPS processors to use an encoding of Not-a-Number (NaN) data different to one used by software run on other processors. And as of IEEE 754-2008 revision [1] this encoding does not follow one recommended in the standard, as specified in section 6.2.1, where it is stated that quiet NaNs should have the first bit (d1) of their significand set to 1 while signalling NaNs should have that bit set to 0, but MIPS software interprets the two bits in the opposite manner. As from revision 3.50 [2][3] the MIPS Architecture provides for processors that support the IEEE 754-2008 preferred NaN encoding format. As the two formats (further referred to as "legacy NaN" and "2008 NaN") are incompatible to each other, tools have to provide support for the two formats to help people avoid using incompatible binary modules. The change is comprised of two functional groups of features, both of which are required for correct support. 1. Dynamic linker support. To enforce the NaN encoding requirement in dynamic linking a new ELF file header flag has been defined. This flag is set for 2008-NaN shared modules and executables and clear for legacy-NaN ones. The dynamic linker silently ignores any incompatible modules it encounters in dependency processing. To avoid unnecessary processing of incompatible modules in the presence of a shared module cache, a set of new cache flags has been defined to mark 2008-NaN modules for the three ABIs supported. Changes to sysdeps/unix/sysv/linux/mips/readelflib.c have been made following an earlier code quality suggestion made here: http://sourceware.org/ml/libc-ports/2009-03/msg00036.html and are therefore a little bit more extensive than the minimum required. Finally a new name has been defined for the dynamic linker so that 2008-NaN and legacy-NaN binaries can coexist on a single system that supports dual-mode operation and that a legacy dynamic linker that does not support verifying the 2008-NaN ELF file header flag is not chosen to interpret a 2008-NaN binary by accident. 2. Floating environment support. IEEE 754-2008 features are controlled in the Floating-Point Control and Status (FCSR) register and updates are needed to floating environment support so that the 2008-NaN flag is set correctly and the kernel default, inferred from the 2008-NaN ELF file header flag at the time an executable is loaded, respected. As the NaN encoding format is a property of GCC code generation that is both a user-selected GCC configuration default and can be overridden with GCC options, code that needs to know what NaN encoding standard it has been configured for checks for the __mips_nan2008 macro that is defined internally by GCC whenever the 2008-NaN mode has been selected. This mode is determined at the glibc configuration time and therefore a few consistency checks have been added to catch cases where compilation flags have been overridden by the user. The 2008 NaN set of features relies on kernel support as the in-kernel floating-point emulator needs to be aware of the NaN encoding used even on hard-float processors and configure the FPU context according to the value of the 2008 NaN ELF file header flag of the executable being started. As at this time work on kernel support is still in progress and the relevant changes have not made their way yet to linux.org master repository. Therefore the minimum version supported has been artificially set to 10.0.0 so that 2008-NaN code is not accidentally run on a Linux kernel that does not suppport it. It is anticipated that the version is adjusted later on to the actual initial linux.org kernel version to support this feature. Legacy NaN encoding support is unaffected, older kernel versions remain supported. [1] "IEEE Standard for Floating-Point Arithmetic", IEEE Computer Society, IEEE Std 754-2008, 29 August 2008 [2] "MIPS Architecture For Programmers, Volume I-A: Introduction to the MIPS32 Architecture", MIPS Technologies, Inc., Document Number: MD00082, Revision 3.50, September 20, 2012 [3] "MIPS Architecture For Programmers, Volume I-A: Introduction to the MIPS64 Architecture", MIPS Technologies, Inc., Document Number: MD00083, Revision 3.50, September 20, 2012
2013-09-18e500 port: fpu_control.h.Joseph Myers
2013-09-18e500 port: setjmp/longjmp.Joseph Myers
2013-09-18Don't force -msoft-float for powerpc --without-fp.Joseph Myers
2013-09-18Format sincos32.cSiddhesh Poyarekar
2013-09-17Fix powerpc fpu_control.h namespace and parenthesis issues (bug 15966).Joseph Myers
2013-09-16ARM: Improve armv7 memcpy performance.Will Newton
Only enter the aligned copy loop with buffers that can be 8-byte aligned. This improves performance slightly on Cortex-A9 and Cortex-A15 cores for large copies with buffers that are 4-byte aligned but not 8-byte aligned. ports/ChangeLog.arm: 2013-09-16 Will Newton <will.newton@linaro.org> * sysdeps/arm/armv7/multiarch/memcpy_impl.S: Tighten check on entry to aligned copy loop to improve performance.
2013-09-15Adjust language-code fields of LC_ADDRESS.Chris Leonard
2013-09-15Add country_car field to LC_ADDRESS.Chris Leonard
2013-09-13Fix some types in localedef.Richard Sandiford
2013-09-13Add CVE-2013-4332 to NEWS.Will Newton
2013-09-11sunrpc/rpc/types.h: fix OS X and FreeBSD build problemsJia Liu
When I build arm-linux-gcc on OS X, I find glibc will get a build error in sunrpc/rpc/types.h, so I add __APPLE_CC__ to make OS X build OK. For FreeBSD, Add __FreeBSD__ to make it build OK, too. URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00155.html URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00217.html URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00240.html Signed-off-by: Jia Liu <proljc@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-09-11Faster strchr implementation.Ondřej Bílka
2013-09-11benchtests: Rename argument to TIMING_INIT macro.Will Newton
The TIMING_INIT macro currently sets the number of loop iterations to 1000, which limits usefulness. Make the argument a clock resolution value and multiply by 1000 in bench-skeleton.c instead to allow easier reuse. ChangeLog: 2013-09-11 Will Newton <will.newton@linaro.org> * benchtests/bench-timing.h (TIMING_INIT): Rename ITERS parameter to RES. Remove hardcoded 1000 value. * benchtests/bench-skeleton.c (main): Pass RES parameter to TIMING_INIT and multiply result by 1000.
2013-09-11Mention closing 15855, 15856 and 15857 in NEWS.Will Newton
2013-09-11Update powerpc-fpu ULPs.Adhemerval Zanella
2013-09-11Add O_TMPFILE to <fcntl.h>Andreas Schwab
2013-09-11malloc: Check for integer overflow in memalign.Will Newton
A large bytes parameter to memalign could cause an integer overflow and corrupt allocator internals. Check the overflow does not occur before continuing with the allocation. ChangeLog: 2013-09-11 Will Newton <will.newton@linaro.org> [BZ #15857] * malloc/malloc.c (__libc_memalign): Check the value of bytes does not overflow.