about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Make ABI tests generate .out files.Joseph Myers2014-02-123-10/+21
| | | | | | | | | | | | | | | | | | | If you rerun "make check" in a tree where some tests have already been run, it will rerun ABI tests because those do not create an output file. This patch changes those tests to create .out files so they only get rerun if the dependencies (on the ABI baselines and the generated .symlist files) indicate they should be rerun. Tested x86_64. * Makerules (check-abi-%): Change target to $(objpfx)check-abi-%.out. (check-abi target): Update dependencies. (check-abi-pattern variable): Redirect output of diff to $@. (check-abi variable): Likewise. * elf/Makefile (check-abi): Update dependencies.
* soft-fp: support after-rounding tininess detection.Joseph Myers2014-02-1213-4/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IEEE 754-2008 defines two ways in which tiny results can be detected, "before rounding" (based on the infinite-precision result) and "after rounding" (based on the result when rounded to normal precision as if the exponent range were unbounded). All binary operations on an architecture must use the same choice of how tininess is detected. soft-fp has so far implemented only before-rounding tininess detection. This patch adds support for after-rounding tininess detection. A new macro _FP_TININESS_AFTER_ROUNDING is added that sfp-machine.h must define (soft-fp is meant to be self-contained so the existing tininess.h files aren't used here, though the information going in sfp-machine.h has been taken from them). The soft-fp macros dealing with raising underflow exceptions then handle the cases where the choice matters specially, rounding a copy of the input to the appropriate precision to see if a value that's tiny before rounding isn't tiny after rounding. Tested for mips64 using GCC trunk (which now uses soft-fp on MIPS, so supporting exceptions and rounding modes for long double where not previously supported - this is the immediate motivation for doing this patch now) together with (a) a patch to sysdeps/mips/math-tests.h to enable exceptions / rounding modes tests for long double for GCC 4.9 and later, and (b) corresponding changes applied to libgcc's soft-fp and sfp-machine.h files. In the libgcc context this is also tested on x86_64 (also an after-rounding architecture) with testcases for __float128 that I intend to add to the GCC testsuite when updating soft-fp there. (To be clear: this patch does not fix any glibc bugs that were user-visible in past releases, since after-rounding architectures didn't use soft-fp in any affected case with support for floating-point exceptions - so there is no corresponding Bugzilla bug. Rather, it works together with the GCC changes to use soft-fp on MIPS to allow previously absent long double functionality to work properly, and allows soft-fp to be used in glibc on after-rounding architectures in cases where it couldn't previously be used.) * soft-fp/op-common.h (_FP_DECL): Mark exponent as possibly unused. (_FP_PACK_SEMIRAW): Determine tininess based on rounding shifted value if _FP_TININESS_AFTER_ROUNDING and unrounded value is in subnormal range. (_FP_PACK_CANONICAL): Determine tininess based on rounding to normal precision if _FP_TININESS_AFTER_ROUNDING and unrounded value has largest subnormal exponent. * soft-fp/soft-fp.h [FP_NO_EXCEPTIONS] (_FP_TININESS_AFTER_ROUNDING): Undefine and redefine to 0. * sysdeps/aarch64/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): New macro. * sysdeps/alpha/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/arm/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/mips/mips64/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/mips/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/powerpc/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/sh/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/sparc/sparc32/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/sparc/sparc64/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/tile/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise.
* Update x86_64 libm-test-ulps on AMD family 21h model 1 (bug 16545).Dylan Alex Simon2014-02-123-17/+70
|
* Relocate alpha from ports to libcRichard Henderson2014-02-12363-6/+18
| | | | | | | | | | Also fixed the following whitespace nits to satisfy the push: sysdeps/alpha/alphaev6/memset.S:142: space before tab in indent. sysdeps/alpha/configure:1: new blank line at EOF. sysdeps/alpha/fpu/e_sqrt.c:126: space before tab in indent. sysdeps/alpha/preconfigure:1: new blank line at EOF. sysdeps/unix/sysv/linux/alpha/syscalls.list:1: new blank line at EOF.
* NEWS: Add 16447 to fixed bugs list.Andreas Krebbel2014-02-121-1/+1
|
* Remove _BSD_SOURCE and _SVID_SOURCE.Joseph Myers2014-02-1110-43/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a minimal patch to remove _BSD_SOURCE and _SVID_SOURCE from the documented user API, making them into aliases for _DEFAULT_SOURCE with a #warning given, but keeping most of the features.h logic using those macros and all the exising __USE_* conditionals, on the basis that all the consequent cleanups will go in followup patches. Tested x86_64. * include/features.h: Update comment documenting feature test macros. [_BSD_SOURCE || _SVID_SOURCE]: Give #warning. Define _DEFAULT_SOURCE. * manual/creature.texi (_BSD_SOURCE): Remove documentation. (_SVID_SOURCE): Likewise. (_DEFAULT_SOURCE): Update description of default features. (Feature Test Macros): Don't mention _SVID_SOURCE in conjunction with _GNU_SOURCE. * manual/filesys.texi (__ftw_func_t): Do not refer to _BSD_SOURCE. (S_ISVTX): Likewise. * manual/math.texi (Mathematical Constants): Likewise. * manual/signal.texi (Interrupted Primitives): Likewise. * manual/startup.texi (putenv): Do not refer to _SVID_SOURCE. * math/test-matherr.c (_SVID_SOURCE): Do not define. * sysvipc/sys/ipc.h [__USE_SVID && !__USE_XOPEN && __GNUC__ >= 2]: Don't refer to _SVID_SOURCE in warning text.
* Regenerate x86_64 ulps.Joseph Myers2014-02-112-0/+5
|
* Merge MIPS dl-lookup.c into generic file.Joseph Myers2014-02-114-1029/+31
| | | | | | | | | | | | | | | | | | | | | | | MIPS has its own version of dl-lookup.c to deal with differences between undefined symbol semantics in the PIC and non-PIC ABIs. This is often liable to get out of date with respect to the generic file (for example, the recent __builtin_expect changes didn't cover ports, and it's not obvious to anyone changing dl-lookup.c that there would be architecture-specific versions). This patch adds a macro that dl-machine.h can define that is used in the appropriate place in dl-lookup.c, so that MIPS no longer needs its own version of that file. Tested for mips64 that the only changes to disassembly of installed shared libraries appear to be ld.so changes attributable to different line numbers and paths in assertions. * elf/dl-lookup.c (ELF_MACHINE_SYM_NO_MATCH): Define if not already defined. (do_lookup_x): Use ELF_MACHINE_SYM_NO_MATCH. * sysdeps/mips/dl-lookup.c: Remove. * sysdeps/mips/dl-machine.h (ELF_MACHINE_SYM_NO_MATCH): New macro.
* BZ #16447: Fix ldbl-128 expl implementation.Andreas Krebbel2014-02-115-1/+39
| | | | | Extend the range of numbers handled via unsafe mode. Add expl testcase and regenerate ULPs for s390.
* Remove unused variable from stdlib/setenv.cOndřej Bílka2014-02-111-1/+0
|
* Relocate AArch64 from ports to libc.Marcus Shawcroft2014-02-11176-1/+21
| | | | | | | | | | | | | This patch moves the AArch64 port to the main sysdeps hierarchy. The move is essentially: git mv ports/sysdeps/aarch64 sysdeps/aarch64 git mv ports/sysdeps/unix/sysv/linux/aarch64 sysdeps/unix/sysv/linux/aarch64 The README is updated and I've updated ChangeLog.aarch64 along the lines of the ARM move. The AArch64 build has been tested to confirm that there were no changes in objdump -dr output or the shared objects.
* manual/probes.texi: Use "triggered" instead of "hit"Will Newton2014-02-112-73/+84
| | | | | | | | | | | | Use the term "triggered" instead of "hit" when talking about probe points. ChangeLog: 2014-02-11 Will Newton <will.newton@linaro.org> * manual/probes.texi (Mathematical Function Probes): Use "triggered" instead of "hit".
* manual/probes.texi: Add documentation of setjmp/longjmp probesWill Newton2014-02-112-0/+45
| | | | | | | | | | | | Add some documentation of the setjmp, longjmp and longjmp_target Systemtap probe points. ChangeLog: 2014-02-11 Will Newton <will.newton@linaro.org> * manual/probes.texi (Internal Probes): Add documentation of setjmp, longjmp and longjmp_target probes.
* include/stap-probe.h: Add comment about SystemTap argument formatWill Newton2014-02-112-1/+14
| | | | | | | | | | | | | | Add a comment pointing to the SystemTap wiki page that documents the format of the arguments. Also add a pointer to the SystemTap and gdb sources which seem to be the best place to get the architecture specific details. ChangeLog: 2014-02-11 Will Newton <will.newton@linaro.org> * include/stap-probe.h: Add comment about probe argument format.
* malloc/mtrace.c: Cosmetic cleanup.Will Newton2014-02-112-31/+16
| | | | | | | | | | | | | | Remove an unused #define and use ANSI prototypes. Generated code identical on x86_64-unknown-linux-gnu. ChangeLog: 2014-02-11 Will Newton <will.newton@linaro.org> * malloc/mtrace.c (attribute_hidden): Remove unused macro definition. (tr_where, tr_freehook, tr_mallochook, tr_reallochook, tr_memalignhook): Use ANSI protoype.
* Fix tst-sscanf and tst-swscanf on 64-bit.David S. Miller2014-02-112-1/+7
| | | | | * stdio-common/tst-sscanf.c (main): Use 'long' for 'dummy' when processing int_tests.
* Fix whitespace in MIPS files to allow move.Joseph Myers2014-02-102-2/+0
|
* Move mips from ports to libc.Joseph Myers2014-02-10366-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I've moved the MIPS port from ports to the main sysdeps hierarchy. Beyond the README update, the move of the files was simply git mv ports/sysdeps/mips sysdeps/mips git mv ports/sysdeps/unix/mips sysdeps/unix/mips git mv ports/sysdeps/unix/sysv/linux/mips sysdeps/unix/sysv/linux/mips and in addition to the ChangeLog entries here, I put a note at the top of ports/ChangeLog.mips similar to those in other files. Tested that disassembly of installed shared libraries for mips is the same before and after this patch (except for ld.so where paths in assertions are involved, as for arm). * sysdeps/mips: Move directory from ports/sysdeps/mips. * sysdeps/unix/mips: Move directory from ports/sysdeps/unix/mips. * sysdeps/unix/sysv/linux/mips: Move directory from ports/sysdeps/unix/sysv/linux/mips. * README: Update listing for mips-*-linux-gnu and mips64-*-linux-gnu. * sysdeps/mips: Move directory to ../sysdeps/mips. * sysdeps/unix/mips: Move directory to ../sysdeps/unix/mips. * sysdeps/unix/sysv/linux/mips: Move directory to ../sysdeps/unix/sysv/linux/mips.
* Move shared umount.c from hppa to mips.Joseph Myers2014-02-104-31/+43
| | | | | | | | | | | | | | | | | | | | | | This patch prepares for moving mips from ports to libc by reversing the #include ordering between mips and hppa. Reversing #include ordering for umount.c is the conservative change in preparation for moving the mips port. In fact, it appears there are several redundant umount.c files all implementing umount in terms of the umount2 syscall; I've filed bug 16552 for eliminating that redundancy properly. Tested that disassembly of shared libraries for mips (o32, n32, n64) is the same before and after this patch. * sysdeps/unix/sysv/linux/hppa/umount.c: Move to sysdeps/unix/sysv/linux/mips/mips64/umount.c and #include that file. * sysdeps/unix/sysv/linux/mips/mips64/umount.c: Move from sysdeps/unix/sysv/linux/hppa/umount.c instead of #include of that file.
* Whitespace fixesAndreas Schwab2014-02-102-2/+0
|
* Move m68k from ports to libcAndreas Schwab2014-02-10402-1/+21
|
* Remove mips dependency on alpha.Joseph Myers2014-02-102-1/+7
| | | | | | | | | | This patch removes an unnecessary dependency of the mips port on alpha by including a powerpc file directly where previously the mips file included the alpha one which then included the powerpc one. * sysdeps/unix/sysv/linux/mips/ipc_priv.h: Directly include sysdeps/unix/sysv/linux/powerpc/ipc_priv.h instead of via sysdeps/unix/sysv/linux/alpha/ipc_priv.h.
* Move tilegx, tilepro, and linux-generic from ports to libc.Chris Metcalf2014-02-10275-7/+41
| | | | | | | | | | | | | | | | I've moved the TILE-Gx and TILEPro ports to the main sysdeps hierarchy, along with the linux-generic ports infrastructure. Beyond the README update, the move was just git mv ports/sysdeps/tile sysdeps/tile git mv ports/sysdeps/unix/sysv/linux/tile \ sysdeps/unix/sysv/linux/tile git mv ports/sysdeps/unix/sysv/linux/generic \ sysdeps/unix/sysv/linux/generic I updated the relevant ChangeLogs along the lines of the ARM move in commit c6bfe5c4d75 and tested the 64-bit tilegx build to confirm that there were no changes in "objdump -dr" output in the shared objects.
* Use glibc_likely instead __builtin_expect.Ondřej Bílka2014-02-10466-1655/+2224
|
* Fix previous commit.Ondřej Bílka2014-02-101-0/+5
|
* Deduplicate setenv.Ondřej Bílka2014-02-103-72/+10
| | | | | Setenv contained a code path that was redundant as it could be handled in general case.
* Remove THREAD_STATS.Ondřej Bílka2014-02-103-60/+7
| | | | | A THREAD_STATS macro duplicates gathering information that could be obtained by systemtap probes instead.
* shm_open: sync with logic in sem_openMike Frysinger2014-02-082-3/+11
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* sem_open: allow RAMFS_MAGIC for mount pointsMike Frysinger2014-02-082-2/+8
| | | | | | | A ramfs mount supports the same requirements as a tmpfs, so accept that as a magic type too. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* manual: setjmp: fix typos/grammarMike Frysinger2014-02-082-9/+13
| | | | | | Should hopefully be all obvious stuff. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* tst-backtrace4: expand output even on failuresMike Frysinger2014-02-082-7/+13
| | | | | | | | When debugging failures in this test, it's helpful to see as much output as possible. So rather than returning immediately, let the code run as far as it can. We still mark failures as soon as they happen. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* tst-longjmp_chk3: new test for checking sigaltstack edge casesMike Frysinger2014-02-083-0/+93
| | | | | | | Make sure the longjmp checking logic catches stacks that are slightly outside of a valid alternative signal stack. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* tests: unify fortification handler logicMike Frysinger2014-02-086-79/+58
| | | | | | | We have multiple tests that copy & paste the same logic for disabling the fortification output. Let's unify this in the test-skeleton instead. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* tst-longjmp_chk: add comments and convert to test-skeletonMike Frysinger2014-02-082-2/+14
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* linux: bits/in.h: sync with latest kernel headersMike Frysinger2014-02-081-0/+24
| | | | | | Forgot to include ChangeLog update. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* linux: bits/in.h: sync with latest kernel headersMike Frysinger2014-02-081-1/+25
| | | | | | | This pulls in the latest defines for {g,s}etsockopt. Reviewed-by: Carlos O'Donell <carlos@redhat.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* tzselect: stop requiring kshMike Frysinger2014-02-083-3/+7
| | | | | | | This script works fine under bash (which we already require), so drop the legacy ksh munging. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* linux_fsinfo.h: sync with current linux/magic.hMike Frysinger2014-02-082-4/+139
| | | | | | | Import the current list of defines available in the kernel headers. Reviewed-by: Carlos O'Donell <carlos@redhat.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Fix whitespace in ARM files to allow move.Joseph Myers2014-02-083-8/+6
|
* Move arm from ports to libc.Joseph Myers2014-02-08269-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've moved the ARM port from ports to the main sysdeps hierarchy. Beyond the README update, the move of the files was simply git mv ports/sysdeps/arm sysdeps/arm git mv ports/sysdeps/unix/arm sysdeps/unix/arm git mv ports/sysdeps/unix/sysv/linux/arm sysdeps/unix/sysv/linux/arm and in addition to the ChangeLog entries here, I put a note at the top of ports/ChangeLog.arm similar to that at the top of ChangeLog.powerpc. There is deliberately no NEWS change, as I think it makes the most sense to put in a general note above all ports having moved if we can achieve that for 2.20. Tested that disassembly of installed shared libraries for arm is the same before and after this patch, except for data (not instructions) in ld.so (there are assertions in sysdeps/arm/dl-machine.h, and the path by which that file is found, and so by which it appears in the assertion message, changes as a result of the move). * sysdeps/arm: Move directory from ports/sysdeps/arm. * sysdeps/unix/arm: Move directory from ports/sysdeps/unix/arm. * sysdeps/unix/sysv/linux/arm: Move directory from ports/sysdeps/unix/sysv/linux/arm. * README: Update listing for arm-*-linux-gnueabi. ports/ChangeLog.arm: * sysdeps/arm: Move directory to ../sysdeps/arm. * sysdeps/unix/arm: Move directory to ../sysdeps.arm. * sysdeps/unix/sysv/linux/arm: Move directory to ../sysdeps/unix/sysv/linux/arm.
* Move shared sysdeps files from alpha to arm.Joseph Myers2014-02-0812-127/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch prepares for moving arm from ports to libc (see overall plan at <https://sourceware.org/ml/libc-alpha/2014-01/msg00373.html> and discussion of ordering starting at <https://sourceware.org/ml/libc-ports/2014-01/msg00071.html>) by reversing the #include order between arm and alpha, so that arm can move early as a test for the general pattern of moving architectures. MicroBlaze files (that used the same alpha files) were made to include the files directly from their new locations rather than indirecting. Tested that disassembly of installed shared libraries for arm is the same before and after this patch. * sysdeps/unix/sysv/linux/alpha/msgctl.c: Move to sysdeps/unix/sysv/linux/arm/msgctl.c and #include that file. * sysdeps/unix/sysv/linux/alpha/semctl.c: Move to sysdeps/unix/sysv/linux/arm/semctl.c and #include that file. * sysdeps/unix/sysv/linux/alpha/shmctl.c: Move to sysdeps/unix/sysv/linux/arm/shmctl.c and #include that file. * sysdeps/unix/sysv/linux/arm/msgctl.c: Move from sysdeps/unix/sysv/linux/alpha/msgctl.c instead of #include of that file. * sysdeps/unix/sysv/linux/arm/semctl.c: Move from sysdeps/unix/sysv/linux/alpha/semctl.c instead of #include of that file. * sysdeps/unix/sysv/linux/arm/shmctl.c: Move from sysdeps/unix/sysv/linux/alpha/shmctl.c instead of #include of that file. * sysdeps/unix/sysv/linux/microblaze/msgctl.c: Include sysdeps/unix/sysv/linux/arm/msgctl.c instead of sysdeps/unix/sysv/linux/alpha/msgctl.c. * sysdeps/unix/sysv/linux/microblaze/semctl.c: Include sysdeps/unix/sysv/linux/arm/semctl.c instead of sysdeps/unix/sysv/linux/alpha/semctl.c. * sysdeps/unix/sysv/linux/microblaze/shmctl.c: Include sysdeps/unix/sysv/linux/arm/shmctl.c instead of sysdeps/unix/sysv/linux/alpha/shmctl.c.
* Remove am33 port.Joseph Myers2014-02-0886-3187/+12
| | | | | | This patch removes the am33 port (no other port #includes any files from it), as previously discussed (see <https://sourceware.org/ml/libc-ports/2014-01/msg00046.html>).
* Avoid comma operator warnings.Roland McGrath2014-02-074-6/+18
|
* Open development for 2.20 glibc-2.19.90Allan McRae2014-02-083-2/+13
|
* Update version.h and include/features.h for 2.19 release glibc-2.19Allan McRae2014-02-072-3/+3
|
* Bug 15968 was fixed by commit 0748546f660d27a2ad29fa6174d456e2f6490758.Joseph Myers2014-02-072-8/+9
|
* Bug 6981 was fixed by commit 1484e65736f4cab27e5051e0f06be8470e69af82.Joseph Myers2014-02-072-18/+19
|
* BZ #16529: Fix pedantic warning with netinet/in.h.Carlos O'Donell2014-02-063-2/+7
| | | | | | | | | | | | | | | | | When compiling with pedantic the following warning is seen: gcc -Wall -pedantic -O0 -o test test.c In file included from test.c:3:0: /path/inet/netinet/in.h:111:21: warning: comma at end of \ enumerator list [-Wpedantic] IPPROTO_MH = 135, /* IPv6 mobility header. */ ^ It is valid C99 to have a trailing comma after the last item in an enumeration. However it is not valid C90. If possible glibc attempts to keep all headers C90 + long long without requiring C99 features. In this case it's easy to fix the headers and it removes the warning seem with -pedantic.
* Update contrib.texiSiddhesh Poyarekar2014-02-062-7/+17
| | | | Update blurb for Roland, Alex, Ryan, Joseph and Carlos.
* Add missing ChangeLog from yesterday's sparc ULPs update.David S. Miller2014-02-051-0/+5
|