about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Don't use -Wno-error=undef.Joseph Myers2015-08-202-1/+6
| | | | | | | | | | This patch removes the use of -Wno-error=undef, so that -Wundef warnings become errors. Tested for x86_64, x86, mips64 (all three ABIs) and arm. * Makeconfig [$(enable-werror) = yes] (+gccwarn): Do not add -Wno-error=undef.
* Add missing ChangeLog entry for the last commitH.J. Lu2015-08-201-0/+7
|
* Remove the unused IFUNC filesH.J. Lu2015-08-203-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sysdeps/i386/i686/multiarch/strcasestr-c.c became unused after commit 1818483b15d22016b0eae41d37ee91cc87b37510 Author: Andreas Schwab <schwab@suse.de> Date: Wed Dec 18 11:53:27 2013 +1000 Remove use of SSE4.2 functions for strstr on i686 which contains -sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c +sysdep_routines += strcspn-c strpbrk-c strspn-c sysdeps/x86_64/multiarch/strcasestr.c became useless after t 584b18eb4df61ccd447db2dfe8c8a7901f8c8598 Author: Ondřej Bílka <neleai@seznam.cz> Date: Sat Dec 14 19:33:56 2013 +0100 Add strstr with unaligned loads. Fixes bug 12100. which changes sysdeps/x86_64/multiarch/strcasestr.c to libc_ifunc (__strcasestr, __strcasestr_sse2); This patch removes these file. * i386/i686/multiarch/strcasestr-c.c: Removed. * x86_64/multiarch/strcasestr.c: Likewise. * x86_64/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Remove strcasestr.
* Don't use -Wno-uninitialized in math/.Joseph Myers2015-08-202-3/+2
| | | | | | | | | | | | The uninitialized variable warnings in math/ having been fixed for all the supported floating-point formats, this patch removes the use of -Wno-uninitialized there, continuing with the goal of avoiding -Wno- options in makefiles as far as possible.. Tested for x86_64 and x86 (full build and testsuite runs), and for powerpc and mips64 (verified that glibc builds without errors). * math/Makefile (CFLAGS): Don't add -Wno-uninitialized.
* Fix uninitialized variable use in ldbl-128ibm nearbyintl.Joseph Myers2015-08-202-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing the use of -Wno-uninitialized for math/ shows errors for ldbl-128ibm: ../sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c: In function '__nearbyintl': ../sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c:119:34: error: 'low' may be used uninitialized in this function [-Werror=maybe-uninitialized] u.d[1].d = high - u.d[0].d + low; ^ ../sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c:119:23: error: 'high' may be used uninitialized in this function [-Werror=maybe-uninitialized] u.d[1].d = high - u.d[0].d + low; ^ These errors are correct: if the high part of the argument is a NaN, and the low part is nonzero but has absolute value less than 2^52, those variables can be used uninitialized. This patch rearranges the code so that the variables are always initialized with the natural values, and then possibly modified later, to avoid this uninitialized use. (Note that there are still other issues with this code and NaNs that are not fixed by this patch.) No bug filed in Bugzilla or testcase added for the uninitialized use since it wasn't user-visible with the compiler I tried (that is, I still got a NaN result). Tested for powerpc. * sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c: Always initialize variables for high and low parts before possibly modifying them.
* Move x86_64 init-arch.h to sysdeps/x86/init-arch.hH.J. Lu2015-08-205-3/+10
| | | | | | | | | | | | Move sysdeps/x86_64/multiarch/init-arch.h to sysdeps/x86/init-arch.h which can be used for both i386 and x86_64. * sysdeps/i386/i686/multiarch/init-arch.h: Removed. * sysdeps/unix/sysv/linux/x86/init-arch.h: Likewise. * sysdeps/x86_64/cacheinfo.c: Include <init-arch.h> instead of "multiarch/init-arch.h". * sysdeps/x86_64/multiarch/init-arch.h: Renamed to ... * sysdeps/x86/init-arch.h: This.
* Remove x86 init-arch.cH.J. Lu2015-08-203-2/+5
| | | | | | | | Both files include sysdeps/x86_64/multiarch/init-arch.c which has been removed. * sysdeps/i386/i686/multiarch/init-arch.c: Removed. * sysdeps/unix/sysv/linux/x86/init-arch.c: Likewise.
* Fix exponents in manual.Ondřej Bílka2015-08-206-26/+45
| | | | | | | * manual/macros.texi: Add twoexp macro. * manual/filesys.texi: Fix exponents. * manual/llio.texi: Likewise. * manual/stdio.texi: Likewise.
* nptl: Document crash due to incorrect use of locksFlorian Weimer2015-08-202-1/+8
|
* Fix csqrt missing underflows (bug 18370).Joseph Myers2015-08-198-2/+411
| | | | | | | | | | | | | | | | | | | The csqrt implementations in glibc can miss underflow exceptions when the real or imaginary part of the result becomes tiny in the course of scaling down (in particular, multiplication by 0.5) and that scaling is exact although the relevant part of the mathematical result isn't. This patch forces the exception in a similar way to previous fixes. Tested for x86_64 and x86. [BZ #18370] * math/s_csqrt.c (__csqrt): Force underflow exception for results whose real or imaginary part has small absolute value. * math/s_csqrtf.c (__csqrtf): Likewise. * math/s_csqrtl.c (__csqrtl): Likewise. * math/auto-libm-test-in: Add more tests of csqrt. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update.
* relocate localedata ChangeLog entriesMike Frysinger2015-08-192-13/+13
|
* PowerPC: Extend Program Priority Register supportGabriel F. T. Gomes2015-08-193-0/+56
| | | | | | | | | | | | This patch adds extra inline functions to change the Program Priority Register from ISA 2.07. 2015-08-19 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com> * sysdeps/powerpc/sys/platform/ppc.h (__ppc_set_ppr_med_high, __ppc_set_ppr_very_low): New functions. * manual/platform.texi: Add documentation about __ppc_set_ppr_med_high and __ppc_set_ppr_very_low.
* Mention BZ #18796 fix in NEWS.Andrew Senkevich2015-08-191-1/+1
|
* Improve stpncpy performance by using __strnlen/memcpy/memset rather than aWilco Dijkstra2015-08-192-54/+10
| | | | byte loop. Performance on bench-stpncpy is ~2x faster on average.
* [BZ #18796]Andrew Senkevich2015-08-192-1/+18
| | | | | * scripts/test-installation.pl: Don't add -lmvec to build options if libmvec wasn't built.
* Add BZ #14341 to NEWSH.J. Lu2015-08-191-3/+3
|
* Fix dynamic linker issue with bind-nowPetar Jovanovic2015-08-195-6/+57
| | | | | | | | | | | | | | Fix the bind-now case when DT_REL and DT_JMPREL sections are separate and there is a gap between them. [BZ #14341] * elf/dynamic-link.h (elf_machine_lazy_rel): Properly handle the case when there is a gap between DT_REL and DT_JMPREL sections. * sysdeps/x86_64/Makefile (tests): Add tst-split-dynreloc. (LDFLAGS-tst-split-dynreloc): New. (tst-split-dynreloc-ENV): Likewise. * sysdeps/x86_64/tst-split-dynreloc.c: New file. * sysdeps/x86_64/tst-split-dynreloc.lds: Likewise.
* Mark __xstatXX_conv as hiddenH.J. Lu2015-08-192-3/+14
| | | | | | | | | | | | __xstat_conv, __xstat64_conv and __xstat32_conv are internal to glibc. They should be marked as hidden so that they can't be called without PLT. [BZ #18822] * sysdeps/unix/sysv/linux/xstatconv.h (__xstat_conv): Add attribute_hidden. (__xstat64_conv): Likewise. (__xstat32_conv): Likewise.
* Call __setcontext with HIDDEN_JUMPTARGETH.J. Lu2015-08-193-6/+11
| | | | | | | | | | | i386 __makecontext should call __setcontext with HIDDEN_JUMPTARGET. [BZ #18822] * sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): Don't load %ebx when calling __setcontext. Call __setcontext with HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/i386/setcontext.S (__setcontext): Add libc_hidden_def.
* Use x86-64 cacheinfo.c and sysconf.c for x86H.J. Lu2015-08-197-515/+17
| | | | | | | | | | | | | | | Since _dl_x86_cpu_features is always available, we can use x86-64 cacheinfo.c and sysconf.c for both i386 and x86-64. * sysdeps/i386/i686/Makefile [$(subdir) == string] (sysdep_routines): Moved to ... * sysdeps/i386/Makefile: Here. * sysdeps/i386/i686/cacheinfo.c: Moved to ... * sysdeps/i386/cacheinfo.c: Here. * sysdeps/unix/sysv/linux/i386/sysconf.c: Removed. * sysdeps/unix/sysv/linux/i386/i686/sysconf.c: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysconf.c: Moved to ... * sysdeps/unix/sysv/linux/x86/sysconf.c: Here.
* Also check __i586__/__i686__ for HAS_I586/HAS_I686H.J. Lu2015-08-192-8/+15
| | | | | | * sysdeps/x86/cpu-features.h (HAS_I586): Defined to 1 if __i586__ is defined. (HAS_I686): Defined to 1 if __i686__ is defined.
* Fix -Wundef warnings in elf/tst-execstack.c.Joseph Myers2015-08-192-0/+4
| | | | | | | | | | | | | | | | | | | | | | To remove -Wno-error=undef, we need to fix the remaining cases where there are -Wundef warnings in the testsuite. One of those places is in elf/tst-execstack.c. tst-execstack.c tests USE_PTHREADS with #if. nptl/tst-execstack.c defines USE_PTHREADS to 1 before including ../elf/tst-execstack.c, while elf/tst-execstack.c, when compiled directly, leaves it undefined. This patch adds a setting of CPPFLAGS-tst-execstack.c to elf/Makefile. An alternative approach would be to rename tst-execstack.c to tst-execstack-main.c and have two different tst-execstack.c files include it, each with an appropriate USE_PTHREADS #define. Tested for x86_64. * elf/Makefile [$(have-z-execstack) = yes] (CPPFLAGS-tst-execstack.c): New variable.
* Fix -Wundef warnings in login/tst-utmp.c.Joseph Myers2015-08-192-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To remove -Wno-error=undef, we need to fix the remaining cases where there are -Wundef warnings in the testsuite. One of those places is in login/tst-utmp.c. When included from tst-utmpx.c, <utmpx.h> is included instead of <utmp.h>, meaning the _HAVE_UT_* macros are not defined. The test is prepared for them not being defined, in that all the relevant conditionals also include "defined UTMPX". However, they test the _HAVE_UT_* macros first, so resulting in -Wundef warnings. This patch does the minimal fix of swapping the || operands. This is logically correct - avoiding checking a macro we know will not be defined in the case where it is not defined. It won't fix such warnings for the case where the toplevel bits/utmp.h is used and most _HAVE_UT_* aren't defined at all even when <utmp.h> is included, but that case doesn't apply to any current glibc configuration. Fixing it would also be tricky in that, while glibc itself consistently uses _HAVE_UT_* in ways that would work with 0 instead of undefined, external packages that use the macros expect defined / undefined instead of 1 / 0 (codesearch.debian.net shows uses by util-linux, python-utmp, libsys-utmp-perl). Tested for x86_64. * login/tst-utmp.c [_HAVE_UT_TYPE || defined UTMPX]: Change conditional to [defined UTMPX || _HAVE_UT_TYPE]. [_HAVE_UT_TV || defined UTMPX]: Change conditional to [defined UTMPX || _HAVE_UT_TV]. [_HAVE_UT_TV - 0 || defined UTMPX]: Change conditional to [defined UTMPX || _HAVE_UT_TV - 0].
* Fix MIPS -Wundef warnings for __mips_isa_rev.Joseph Myers2015-08-183-3/+9
| | | | | | | | | | | | | This patch fixes -Wundef warnings relating to __mips_isa_rev being undefined. Tested for mips64 (all three ABIs) that there is a clean build and testsuite run with -Wno-error=undef removed (and my other -Wundef patches applied). * sysdeps/mips/dl-machine.h [__mips_isa_rev < 6]: Change conditionals to [!defined __mips_isa_rev || __mips_isa_rev < 6]. * sysdeps/mips/machine-gmon.h [__mips_isa_rev < 6]: Likewise.
* powerpc: Add missing hwcap strings.Carlos Eduardo Seo2015-08-183-5/+12
| | | | | | | | | | | | Some features in hwcap.h do not have matching string descriptors to be displayed when LD_SHOW_AUXV=1. This patch fixes the problem. 2015-08-13 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com> * sysdeps/powerpc/dl-procinfo.c: (_dl_powerpc_cap_flags): Added missing strings for some hwcap features. * sysdeps/powerpc/dl-procinfo.h: Updated hwcap bit count.
* Port the 0x7efe...feff pattern to GCC 6.Paul Eggert2015-08-185-32/+19
| | | | | | | | | | See Steve Ellcey's bug report in: https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html * string/memrchr.c (MEMRCHR): * string/rawmemchr.c (RAWMEMCHR): * string/strchr.c (strchr): * string/strchrnul.c (STRCHRNUL): Rewrite code to avoid issues with signed shift overflow.
* Define HAS_CPUID/HAS_I586/HAS_I686 from -march=H.J. Lu2015-08-183-2/+37
| | | | | | | | | | | | cpuid, i586 and i686 instructions are available if the processor specified by -march= supports them. We can use this information to determine whether those instructions can be used safely. * sysdeps/x86/cpu-features.c (init_cpu_features): Check whether cpuid is available only if HAS_CPUID is 0. * sysdeps/x86/cpu-features.h (HAS_CPUID): New. (HAS_I586): Likewise. (HAS_I686): Likewise.
* Fix lang_lib/lang_term as per ISO 639-2 [BZ #16973]Marko Myllynen2015-08-1811-15/+41
| | | | | | | | | | lang_lib (which reflects ISO 639-2/B (bibliographic) codes) and lang_term (which reflects ISO 639-2/T (terminology) codes) should be identical except for those languages for which ISO 639-2 specifies separate bibliographic/terminology values. I used this Library of Congress page as the source: http://www.loc.gov/standards/iso639-2/php/code_list.php
* regexp.h: update Versions to match file usage [BZ #18681]Zack Weinberg2015-08-182-0/+7
| | | | | Since the new regexp.c code uses the GLIBC_2.23 symbol, make sure we declare it to avoid warnings/errors.
* NEWS: note fixed bugMike Frysinger2015-08-181-3/+3
|
* hppa: start.S: rework references to fix PIE TEXTRELs [BZ #18421]Alan Modra2015-08-182-2/+22
| | | | | The startup code was not using PIC friendly references leading to TEXTRELs in every PIE ELF.
* hppa: timerfd.h: move to common sys/timerfd.hMike Frysinger2015-08-182-33/+8
| | | | | Use the common sys/timerfd.h to avoid duplication and move the arch-specific settings into bits/timerfd.h.
* hppa: signalfd.h: move to common sys/signalfd.hMike Frysinger2015-08-182-39/+8
| | | | | Use the common sys/signalfd.h to avoid duplication and move the arch-specific settings into bits/signalfd.h.
* hppa: inotify.h: move to common sys/inotify.hMike Frysinger2015-08-183-106/+34
| | | | | Use the common sys/inotify.h to avoid duplication and move the arch-specific settings into bits/inotify.h.
* hppa: eventfd.h: move to common sys/eventfd.hMike Frysinger2015-08-182-26/+9
| | | | | Use the common sys/eventfd.h to avoid duplication and move the arch-specific settings into bits/eventfd.h.
* hppa: epoll.h: move to common sys/epoll.hMike Frysinger2015-08-183-143/+32
| | | | | Use the common sys/epoll.h to avoid duplication and move the arch-specific settings into bits/epoll.h.
* hppa: sigaction.h: update define export based on __USE_XOPEN2K8Mike Frysinger2015-08-182-0/+7
| | | | | This brings hppa in line with other ports by exporting a few more defines based on the __USE_XOPEN2K8 define and not just __USE_MISC.
* hppa: shm.h: add SHM_EXECMike Frysinger2015-08-182-0/+5
| | | | This brings hppa in line with all the other arches.
* hppa: drop __ASSUME_LWS_CAS defineMike Frysinger2015-08-183-11/+9
| | | | | We require recent enough kernels for this now, and we've been hardcoding it to 1, so drop it entirely now.
* hppa: assume TLS everywhereMike Frysinger2015-08-186-111/+10
| | | | | | | This brings hppa inline with all the other arches and main code where we require TLS support everywhere. That means dropping the defines USE_TLS and USE___THREAD, and dropping the binutils check (since we already have a version requirement that is new enough).
* Fix csqrt spurious underflows (bug 18823).Joseph Myers2015-08-177-10/+1861
| | | | | | | | | | | | | | | | | | The csqrt functions scale up small arguments to avoid underflows when calling hypot functions. However, even when hypot does not underflow, a subsequent calculation of 0.5 * hypot can underflow. This patch duly increases the threshold and scale factor to avoid such underflows as well. Tested for x86_64, x86 and mips64. [BZ #18823] * math/s_csqrt.c (__csqrt): Increase threshold and scale factor for scaling up small arguments. * math/s_csqrtf.c (__csqrtf): Likewise. * math/s_csqrtl.c (__csqrtl): Likewise. * math/auto-libm-test-in: Add more tests of csqrt. * math/auto-libm-test-out: Regenerated.
* Add version set GLIBC_2.19 for linux/powerpcAndreas Schwab2015-08-172-0/+9
|
* Desupport regexp.h (bug 18681)Zack Weinberg2015-08-164-209/+37
|
* Fix BZ #18084 -- backtrace (..., 0) dumps core on x86.Paul Pluzhnikov2015-08-1511-16/+57
| | | | Other architectures also had bugs, or did unnecessary work.
* stpncpy: fix bug number [BZ #18795]Mike Frysinger2015-08-142-3/+3
| | | | The previous commit used 18975 instead of 18795.
* stpncpy: fix size checking [BZ #18975]Zack Weinberg2015-08-144-13/+172
| | | | | | | | | | I think the last clause of the conditional, || __n <= __bos (__dest) may be backward. The code should call the runtime-checking function if __n is not constant, or if __n is known to be LARGER than the size of the destination.
* Fix fma spurious underflows (bug 18824).Joseph Myers2015-08-147-4/+288
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various fma implementations have logic that, when computing fma (x, y, z) where z is large (so care needs taking to avoid internal overflow) but x * y is small, scale x * y up instead of down to avoid internal underflows resulting from scaling down. (In these cases, x * y is small enough that only its sign actually matters rather than the exact value.) The threshold for scaling up instead of down was correct for "if the unscaled values were multiplied, the low part of the multiplication could underflow", and the scaling was sufficient to ensure that the low part of the multiplication did not underflow (given that cases of very small x * y - less than half the least subnormal - were previously dealt with). However, the choice in the functions wasn't between scaling up or no scaling, but between scaling up and scaling down (scaling down actually being needed when x * y isn't so small compared to z and so the exact value does matter). Thus a larger threshold is needed to ensure that scaling down doesn't produce values the multiplication of whose low parts underflows. This patch increases the thresholds accordingly. Tested for x86_64, x86 and mips64 (with the MIPS version of s_fmal.c removed so that the ldbl-128 version gets tested instead of the soft-fp one). [BZ #18824] * sysdeps/ieee754/dbl-64/s_fma.c (__fma): Increase threshold for scaling x * y up instead of down. * sysdeps/ieee754/ldbl-128/s_fmal.c (__fmal): Likewise. * sysdeps/ieee754/ldbl-96/s_fmal.c (__fmal): Likewise. * math/auto-libm-test-in: Add more tests of fma. * math/auto-libm-test-out: Regenerated.
* Regenerated sysdeps/x86_64/fpu/libm-test-ulps with AVX2.Paul Pluzhnikov2015-08-142-1/+5
|
* Remove incorrect register mov in floorf/nearbyint on x86_64Siddhesh Poyarekar2015-08-143-2/+7
| | | | | | | | | | | | | The change in 0b5395f052ee09cd7e3d219af4e805c38058afb5 replaced calls to __get_cpu_features@plt followed by a mov from rax to rdx, with a single macro LOAD_RTLD_GLOBAL_RO_RDX. It is pretty clear that there was a typo in s_floorf and __nearbyint due to which the (now incorrect) mov was not removed. This patch removes that mov. * sysdeps/x86_64/fpu/multiarch/s_floorf.S (__floorf): Remove unnecessary movq. * sysdeps/x86_64/fpu/multiarch/s_nearbyint.S (__nearbyint): Likewise.
* Add more random libm-test inputs.Joseph Myers2015-08-135-105/+2347
| | | | | | | | | | | | | | | | This patch adds more test inputs to various libm functions found through random generation to have larger ulps errors than previously listed in libm-test-ulp, on at least one of x86_64 and x86. Tested for x86_64 and x86. * math/auto-libm-test-in: Add more tests of acos, acosh, asin, asinh, atan, atan2, atanh, cabs, cbrt, cosh, csqrt, erf, erfc, exp, exp2, lgamma, log, log1p, log2, pow, sin, sincos, tan, tanh and tgamma. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.