about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Add i386 strcat multiarch functions hjl/i486/multiarch-oldH.J. Lu2015-08-2011-3/+123
|
* Add i386 strcmp family multiarch functionsH.J. Lu2015-08-2025-15/+379
|
* Add i386 strcpy family multiarch functionsH.J. Lu2015-08-2022-14/+347
|
* Add i386 s_fma family multiarch functionsH.J. Lu2015-08-205-6/+12
|
* Add i386 sched_cpucount multiarch functionsH.J. Lu2015-08-201-0/+0
|
* Add i386 rawmemchr multiarch functionsH.J. Lu2015-08-206-10/+31
|
* Add i386 memrchr multiarch functionsH.J. Lu2015-08-207-12/+11
|
* Add i386 memcmp multiarch functionsH.J. Lu2015-08-208-3/+115
|
* Add i386 memchr multiarch functionsH.J. Lu2015-08-205-12/+13
|
* Add i386 memcpy family multiarch functionsH.J. Lu2015-08-2034-109/+607
|
* Add i386 memset family multiarch functionsH.J. Lu2015-08-2018-0/+741
|
* Add multiarch support to string/strcmp.cH.J. Lu2015-08-201-1/+5
| | | | | | | | | Change function name to STRCMP so that it can be renamed for multiarch. * string/strcmp.c (STRCMP): New. Defined as strcmp if not defined. (strcmp): Rennamed to ... (STRCMP): This.
* Replace MEMPCPY_P/PIC with USE_AS_MEMPCPY/SHAREDH.J. Lu2015-08-202-8/+4
| | | | | | | | | | Replace MEMPCPY_P with USE_AS_MEMPCPY in i586 memcpy.S to support i386 multi-arch memcpy. Also we should check SHARED not PIC for libc.so since libc.a may be compiled with PIC. * sysdeps/i386/i586/memcpy.S (MEMPCPY_P): Removed. Check USE_AS_MEMPCPY/SHARED instead of MEMPCPY_P/PIC. * sysdeps/i386/i586/mempcpy.S (USE_AS_MEMPCPY): New.
* Replace BZERO_P/PIC with USE_AS_BZERO/SHAREDH.J. Lu2015-08-204-24/+20
| | | | | | | | | | | | | | | | Replace BZERO_P with USE_AS_BZERO in i586/i686 memset.S to support i386 multi-arch memset. Also we should check SHARED not PIC for libc.so since libc.a may be compiled with PIC. * sysdeps/i386/i586/bzero.S (USE_AS_BZERO): New. * sysdeps/i386/i686/bzero.S (USE_AS_BZERO): Likewise. * sysdeps/i386/i586/memset.S (BZERO_P): Removed. Check USE_AS_BZERO/SHARED instead of BZERO_P/PIC. (__memset_zero_constant_len_parameter): New. * sysdeps/i386/i686/memset.S (BZERO_P): Removed. Check USE_AS_BZERO/SHARED instead of BZERO_P/PIC. (__memset_zero_constant_len_parameter): Don't define if __memset_chk or USE_AS_BZERO are defined.
* Add i386 memset and memcpy assembly functionsH.J. Lu2015-08-2012-195/+208
| | | | | | | | | | | | | | | | | | | | | | Add i386 memset and memcpy assembly functions with REP MOVSB/STOSB instructions. * sysdeps/i386/bcopy.S: New file. * sysdeps/i386/bzero.S: Likewise. * sysdeps/i386/memcpy.S: Likewise. * sysdeps/i386/memmove.S: Likewise. * sysdeps/i386/mempcpy.S: Likewise. * sysdeps/i386/memset.S: Likewise. * sysdeps/i386/bzero.c: Removed. * sysdeps/i386/memset.c: Likewise. * sysdeps/i386/i686/memcpy_chk.S: Moved to ... * sysdeps/i386/memcpy_chk.S: Here. * sysdeps/i386/i686/memmove_chk.S: Moved to ... * sysdeps/i386/memmove_chk.S: Here. * sysdeps/i386/i686/mempcpy_chk.S: Moved to ... * sysdeps/i386/mempcpy_chk.S: Likewise. * sysdeps/i386/i686/memset_chk.S: Moved to ... * sysdeps/i386/memset_chk.S: Likewise.
* Detect i586 and i686 features at run-timeH.J. Lu2015-08-202-3/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We detect i586 and i686 features at run-time by checking CX8 and CMOV CPUID features bits. We can use these information to select the best implementation in ix86 multiarch. HAS_I586 and HAS_I686 are changed run-time check. SUPPORT_I586 and SUPPORT_I686 are added for compile-time check. * sysdeps/x86/cpu-features.c (init_cpu_features): Set bit_I586 bit if CX8 is available. Set bit_I686 bit if CMOV is available. * sysdeps/x86/cpu-features.h (bit_I586): New. (bit_I686): Likewise. (bit_CX8): Likewise. (bit_CMOV): Likewise. (index_CX8): Likewise. (index_CMOV): Likewise. (index_I586): Likewise. (index_I686): Likewise. (reg_CX8): Likewise. (reg_CMOV): Likewise. (HAS_I586): Renamed to ... (SUPPORT_I586): This. (HAS_I686): Renamed to ... (SUPPORT_I686): This. (HAS_I586): Defined as HAS_ARCH_FEATURE (I586) if i586 isn't available at compile-time. (HAS_I686): Defined as HAS_ARCH_FEATURE (I686) if i686 isn't available at compile-time.
* Don't use -Wno-strict-prototypes in timezone/.Joseph Myers2015-08-202-5/+10
| | | | | | | | | | | | | | The current timezone/ code from tzcode doesn't need -Wno-strict-prototypes. This patch removes it from the CFLAGS settings in timezone/Makefile. Tested for x86_64 that glibc still builds OK with the patch applied. * timezone/Makefile (CFLAGS-zdump.c): Remove -Wno-strict-prototypes. (CFLAGS-zic.c): Likewise. (CFLAGS-ialloc.c): Likewise. (CFLAGS-scheck.c): Likewise.
* 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.