about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Improve atomic locking for ARM.Maxim Kuvyrkov2013-09-192-8/+96
| | | | | | | | | | [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.
* MIPS: IEEE 754-2008 NaN encoding supportMaciej W. Rozycki2013-09-1820-68/+684
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* e500 port: fpu_control.h.Joseph Myers2013-09-182-1/+61
|
* e500 port: setjmp/longjmp.Joseph Myers2013-09-183-36/+54
|
* Don't force -msoft-float for powerpc --without-fp.Joseph Myers2013-09-182-5/+6
|
* Format sincos32.cSiddhesh Poyarekar2013-09-182-236/+258
|
* Fix powerpc fpu_control.h namespace and parenthesis issues (bug 15966).Joseph Myers2013-09-173-13/+22
|
* ARM: Improve armv7 memcpy performance.Will Newton2013-09-162-6/+10
| | | | | | | | | | | | | | 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.
* Adjust language-code fields of LC_ADDRESS.Chris Leonard2013-09-1524-22/+155
|
* Add country_car field to LC_ADDRESS.Chris Leonard2013-09-1565-51/+378
|
* Fix some types in localedef.Richard Sandiford2013-09-132-4/+10
|
* Add CVE-2013-4332 to NEWS.Will Newton2013-09-131-0/+5
|
* sunrpc/rpc/types.h: fix OS X and FreeBSD build problemsJia Liu2013-09-112-0/+11
| | | | | | | | | | | | 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>
* Faster strchr implementation.Ondřej Bílka2013-09-115-201/+170
|
* benchtests: Rename argument to TIMING_INIT macro.Will Newton2013-09-113-10/+17
| | | | | | | | | | | | | | | | 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.
* Mention closing 15855, 15856 and 15857 in NEWS.Will Newton2013-09-111-2/+2
|
* Update powerpc-fpu ULPs.Adhemerval Zanella2013-09-112-2/+67
|
* Add O_TMPFILE to <fcntl.h>Andreas Schwab2013-09-117-0/+24
|
* malloc: Check for integer overflow in memalign.Will Newton2013-09-112-0/+13
| | | | | | | | | | | | | | 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.
* malloc: Check for integer overflow in valloc.Will Newton2013-09-112-0/+13
| | | | | | | | | | | | | | A large bytes parameter to valloc 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 #15856] * malloc/malloc.c (__libc_valloc): Check the value of bytes does not overflow.
* malloc: Check for integer overflow in pvalloc.Will Newton2013-09-112-0/+13
| | | | | | | | | | | | | | A large bytes parameter to pvalloc 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 #15855] * malloc/malloc.c (__libc_pvalloc): Check the value of bytes does not overflow.
* Remove DO_NOT_USE_THIS conditionals.Ondřej Bílka2013-09-106-97/+8
|
* Clarify documentation cross-referenceAllan McRae2013-09-103-4/+9
| | | | | | | | | | | The end of the "Parsing of Floats" subsection currently reads: The GNU C Library also provides '_l' versions of these functions, which take an additional argument, the locale to use in conversion. *Note Parsing of Integers::. Split the final note as it is unrelated to the above comment and reference it with "See also" instead.
* Update pt_chown sections of the manualAllan McRae2013-09-104-18/+19
| | | | | | | The pt-chown binary is discussed in the "Running make install" section without clarification of the needed configure option. Clarify this and simplfy the discription which is already covered in the "Configuring and compiling" section.
* Fix static-binary lazy FPU context allocationMaciej W. Rozycki2013-09-098-11/+69
| | | | | | | | | | | | | | | | | | | Long ago static startup did not parse the auxiliary vector and therefore could not get at any `AT_FPUCW' tag to check whether upon FPU context allocation the kernel would use a FPU control word setting different to that provided by the `__fpu_control' variable. Static startup therefore always initialized the FPU control word, forcing immediate FPU context allocation even for binaries that otherwise never used the FPU. As from GIT commit f8f900ecb9096ec47f5b7bb7626e29223c69061a static startup supports parsing the auxiliary vector, so now it can avoid explicit initialization of the FPU control word, just as can dynamic startup, in the usual case where the setting written to the FPU control word would be the same as the kernel uses. This defers FPU context allocation until the binary itself actually pokes at the FPU. Note that the `AT_FPUCW' tag is usually absent from the auxiliary vector in which case _FPU_DEFAULT is assumed to be the kernel default.
* Fix typo in strcoll exampleAllan McRae2013-09-093-2/+7
|
* Fix memory leak in stdlib/isomac.cAllan McRae2013-09-093-1/+6
|
* Fix memory leaks in libio on allocation failureAllan McRae2013-09-094-4/+13
|
* Fix nesting of ifdefs in netgroupcache.cAllan McRae2013-09-093-3/+8
| | | | Fixes unclosed '{' if HAVE_SENDFILE is defined (BZ #15895).
* malloc: Add realloc test.Will Newton2013-09-093-1/+153
| | | | | | | | | | | | | The current tests don't test the functionality of realloc in detail. Add a new test for realloc that exercises some of the corner cases that are not otherwise tested. ChangeLog: 2013-09-09 Will Newton <will.newton@linaro.org> * malloc/Makefile: Add tst-realloc to tests. * malloc/tst-realloc.c: New file.
* Update to latest versions of GPL-2.0 and LGPL-2.1Allan McRae2013-09-094-68/+65
| | | | | | | | | | Pull copies of these files directly from the GNU website: http://www.gnu.org/licenses/gpl-2.0.txt http://www.gnu.org/licenses/lgpl-2.1.txt Fixes the address of the Free Software Foundation (BZ #15844). Also includes some minor formatting changes and corrects references to the GNU "Library" General Public License.
* Mention --disable-versioning removal in NEWS.Joseph Myers2013-09-071-0/+3
|
* Update Chinese (traditional) translations.David S. Miller2013-09-062-941/+980
| | | | | * po/zh_TW.po: Update Chinese (traditional) translation from translation project.
* Make localedef output generation use more logical interfaces.Richard Sandiford2013-09-0616-1611/+738
|
* Fix trailing whitespaceChris Leonard2013-09-061-1/+1
|
* ChangeLog entry for Deduplicate country_car.Chris Leonard2013-09-061-0/+9
|
* Deduplicate country_car.Chris Leonard2013-09-066-32/+32
|
* benchtests: Add memrchr benchmarkAdhemerval Zanella2013-09-065-4/+74
|
* benchtests/Makefile: Run benchmark for memcpy.Will Newton2013-09-062-5/+9
| | | | | | | | | | The benchmark for memcpy got disabled accidentally. Re-enable it. ChangeLog: 2013-09-06 Will Newton <will.newton@linaro.org> * benchtests/Makefile (string-bench): Add memcpy.
* Coordinate IPv6 definitions for Linux and glibcCarlos O'Donell2013-09-063-29/+64
| | | | | | | | | | This change synchronizes the glibc headers with the Linux kernel headers and arranges to coordinate the definition of structures already defined the Linux kernel UAPI headers. It is now safe to include glibc's netinet/in.h or Linux's linux/in6.h in any order in a userspace application and you will get the same ABI. The ABI is guaranteed by UAPI and glibc.
* PowerPC: fix POWER7 memrchr for some large inputsAdhemerval Zanella2013-09-053-4/+10
|
* Add memrchr testcaseAdhemerval Zanella2013-09-054-1/+196
|
* tst-fanotify: skip when we get back EPERMMike Frysinger2013-09-052-5/+13
| | | | | | | | Since fanotify_init requires CAP_SYS_ADMIN in order to work (which usually means running as root), we need to handle that error case too. Reported-by: Andreas Jaeger <aj@suse.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Define MMAP2_PAGE_SHIFT to -1 for m68k.Joseph Myers2013-09-042-0/+9
|
* conformtest: Fix namespace testing.Joseph Myers2013-09-044-3/+17
|
* Update iso-1427.def and related occurrences.Chris Leonard2013-09-0428-221/+85
|\
| * Remove --disable-versioning.Joseph Myers2013-09-0428-221/+85
| |
* | Update iso-1427.def and related occurrences.Chris Leonard2013-09-048-20/+31
|/
* benchtests: Switch string benchmarks to use bench-timing.h.Will Newton2013-09-0428-502/+368
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch the string benchmarks to using bench-timing.h instead of hp-timing.h directly. This allows the string benchmarks to be run usefully on architectures such as ARM that do not have support for hp-timing.h. In order to do this the tests have been changed from timing each individual call and picking the lowest execution time recorded to timing a number of calls and taking the mean execution time. ChangeLog: 2013-09-04 Will Newton <will.newton@linaro.org> * benchtests/bench-timing.h (TIMING_PRINT_MEAN): New macro. * benchtests/bench-string.h: Include bench-timing.h instead of including hp-timing.h directly. (INNER_LOOP_ITERS): New define. (HP_TIMING_BEST): Delete macro. (test_init): Remove call to HP_TIMING_DIFF_INIT. * benchtests/bench-memccpy.c: Use bench-timing.h macros instead of hp-timing.h macros. * benchtests/bench-memchr.c: Likewise. * benchtests/bench-memcmp.c: Likewise. * benchtests/bench-memcpy.c: Likewise. * benchtests/bench-memmem.c: Likewise. * benchtests/bench-memmove.c: Likewise. * benchtests/bench-memset.c: Likewise. * benchtests/bench-rawmemchr.c: Likewise. * benchtests/bench-strcasecmp.c: Likewise. * benchtests/bench-strcasestr.c: Likewise. * benchtests/bench-strcat.c: Likewise. * benchtests/bench-strchr.c: Likewise. * benchtests/bench-strcmp.c: Likewise. * benchtests/bench-strcpy.c: Likewise. * benchtests/bench-strcpy_chk.c: Likewise. * benchtests/bench-strlen.c: Likewise. * benchtests/bench-strncasecmp.c: Likewise. * benchtests/bench-strncat.c: Likewise. * benchtests/bench-strncmp.c: Likewise. * benchtests/bench-strncpy.c: Likewise. * benchtests/bench-strnlen.c: Likewise. * benchtests/bench-strpbrk.c: Likewise. * benchtests/bench-strrchr.c: Likewise. * benchtests/bench-strspn.c: Likewise. * benchtests/bench-strstr.c: Likewise.
* benchtests/Makefile: Use LDLIBS instead of LDFLAGS.Will Newton2013-09-042-16/+20
| | | | | | | | | | | LDFLAGS puts the library too early in the command line if --as-needed is being used. Use LDLIBS instead. ChangeLog: 2013-09-04 Will Newton <will.newton@linaro.org> * benchtests/Makefile: Use LDLIBS instead of LDFLAGS.