about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* aarch64: Disable using DC ZVA in emag memsetFeng Xue2019-08-143-7/+24
| | | | | | | * sysdeps/aarch64/multiarch/memset_base64.S (DC_ZVA_THRESHOLD): Disable DC ZVA code if this macro is defined as zero. * sysdeps/aarch64/multiarch/memset_emag.S (DC_ZVA_THRESHOLD): Change to zero to disable using DC ZVA.
* Declare some TS 18661-4 interfaces for C2X.Joseph Myers2019-08-134-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C2X (current version in git, postdating the most recent public draft available as a PDF on the WG14 website) adds the interfaces from TS 18661-4, other than the reduction functions, as unconditionally required and visible in <math.h> for hosted implementations; the __STDC_WANT_IEC_60559_FUNCS_EXT__ macro is not included in C2X at all (as the reduction functions aren't included at all, expected to end up in a version of the TS updated to be relative to C2X). This patch updates the glibc headers accordingly, following the same pattern used for 18661-1 functions. As the only 18661-4 functions currently supported are the exp10 functions that have been in glibc for a very long time, this means that in fact __GLIBC_USE (IEC_60559_FUNCS_EXT) ends up being used only to determine the definition of __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X, not yet in any headers other than bits/libc-header-start.h. (I hope to add the other 18661-4 functions to glibc at some point; the main complication is the current lack of MPFR support for many of these functions.) Tested for x86_64. * bits/libc-header-start.h (__GLIBC_USE_IEC_60559_FUNCS_EXT): Update comment. (__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X): New macro. * bits/math-finite.h [__GLIBC_USE (IEC_60559_FUNCS_EXT)]: Change to [__GLIBC_USE (IEC_60559_FUNCS_EXT_C2X)]. * math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_FUNCS_EXT)]: Likewise.
* login: Replace macro-based control flow with function calls in utmpFlorian Weimer2019-08-132-73/+112
|
* Declare most TS 18661-1 interfaces for C2X.Joseph Myers2019-08-1327-40/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C2X adds the interfaces from TS 18661-1, and all except a handful in Annex F are unconditionally visible in C2X rather than only visible when __STDC_WANT_IEC_60559_BFP_EXT__ is defined. This patch updates glibc headers accordingly: most uses of __GLIBC_USE (IEC_60559_BFP_EXT) are changed to a new __GLIBC_USE (IEC_60559_BFP_EXT_C2X). (Regarding totalorder and totalordermag, the type-generic macros in tgmath.h will go away when the functions are changed to take pointer arguments.) * bits/libc-header-start.h (__GLIBC_USE_IEC_60559_BFP_EXT): Update comment. (__GLIBC_USE_IEC_60559_BFP_EXT_C2X): New macro. * bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Change to [__GLIBC_USE (IEC_60559_BFP_EXT_C2X)]. * include/limits.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * math/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * math/math.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * stdlib/bits/stdlib-ldbl.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * stdlib/stdint.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * stdlib/stdlib.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/aarch64/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/alpha/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/arm/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/csky/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/hppa/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/ia64/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/m68k/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/microblaze/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/mips/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/nios2/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/powerpc/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/riscv/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/s390/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/sh/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/sparc/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * sysdeps/x86/fpu/bits/fenv.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise. * math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise, except for totalorder, totalordermag, getpayload, setpayload and setpayloadsig. * math/tgmath.h [__GLIBC_USE (IEC_60559_BFP_EXT)]: Likewise, except for totalorder and totalordermag.
* Declare memccpy, strdup, strndup for C2X.Joseph Myers2019-08-132-3/+7
| | | | | | | | | | | | C2X adds the memccpy, strdup and strndup functions. This patch duly adds __GLIBC_USE (ISOC2X) to the conditions under which <string.h> declares them. Tested for x86_64. * string/string.h (memccpy): Also declare if [__GLIBC_USE (ISOC2X)]. (strdup): Likewise. (strndup): Likewise.
* Add feature test macro _ISOC2X_SOURCE.Joseph Myers2019-08-134-4/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch starts preparation for C2X support in glibc headers by adding a feature test macro _ISOC2X_SOURCE and corresponding __GLIBC_USE (ISOC2X). (I chose to use the newer __GLIBC_USE style for this rather than the older __USE_* macros tested with #ifdef.) As with other such macros, C2X features are also enabled by compiling for a standard newer than C17, or by using _GNU_SOURCE. This patch does not itself enable anything new in the headers for C2X; that is to be done in followup patches. (For example, most of the TS 18661-1 functions should be declared for C2X without any __STDC_WANT_IEC_60559_BFP_EXT__ being needed, but the ones that 18661-1 adds to Annex F because of their close relation to IEEE 754 formats do still need the WANT macro in C2X.) Once C2X becomes an actual standard we'll presumably move to using the actual year in the feature test macro and __GLIBC_USE, with some period when both macro spellings are accepted, as was done with _ISOC9X_SOURCE. Tested for x86_64. * include/features.h (_ISOC2X_SOURCE): New feature test macro. Undefine and define to 1 if [_GNU_SOURCE]. (__GLIBC_USE_ISOC2X): New macro. Undefine and redefine depending on [_ISOC2X_SOURCE] and [__STDC_VERSION__ > 201710L]. (__USE_ISOC11): Also define to 1 if [_ISOC2X_SOURCE]. (__USE_ISOC99): Likewise. (__USE_ISOC95): Likewise. * manual/creature.texi (_ISOC2X_SOURCE): Document.
* login: Assume that _HAVE_UT_* constants are trueFlorian Weimer2019-08-1313-302/+138
| | | | | | Make the GNU version of bits/utmp.h the generic version because all remaining ports use it (with a sysdeps override for Linux s390/s390x).
* elf: Support elf/tst-dlopen-aout in more configurationsFlorian Weimer2019-08-123-13/+23
| | | | | | | | | | | | dlopen can no longer open PIE binaries, so it is not necessary to link the executable as non-PIE to trigger a dlopen failure. If we hard-code the path to the real executable, we can run the test with and without hard-coded paths because the dlopen path will not be recognized as the main program in both cases. (With an explict loader invocation, the loader currently adds argv[0] to l_libname for the main map and the dlopen call suceeds as a result; it does not do that in standard mode.)
* Add glibc.malloc.mxfast tunableDJ Delorie2019-08-097-7/+96
| | | | | | | | | | | | * elf/dl-tunables.list: Add glibc.malloc.mxfast. * manual/tunables.texi: Document it. * malloc/malloc.c (do_set_mxfast): New. (__libc_mallopt): Call it. * malloc/arena.c: Add mxfast tunable. * malloc/tst-mxfast.c: New. * malloc/Makefile: Add it. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* malloc: Fix missing accounting of top chunk in malloc_info [BZ #24026]Niklas Hambüchen2019-08-082-0/+12
| | | | | | | | | | | | Fixes `<total type="rest" size="..."> incorrectly showing as 0 most of the time. The rest value being wrong is significant because to compute the actual amount of memory handed out via malloc, the user must subtract it from <system type="current" size="...">. That result being wrong makes investigating memory fragmentation issues like <https://bugzilla.redhat.com/show_bug.cgi?id=843478> close to impossible.
* Add SYNC_FILE_RANGE_WRITE_AND_WAIT from Linux 5.2 to bits/fcntl-linux.h.Joseph Myers2019-08-072-0/+10
| | | | | | | | | | | This patch adds the SYNC_FILE_RANGE_WRITE_AND_WAIT constant from Linux 5.2 (a new name for a combination of existing bits, not actually a new kernel interface) to bits/fcntl-linux.h. Tested for x86_64. * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] (SYNC_FILE_RANGE_WRITE_AND_WAIT): New macro.
* Add AT_RECURSIVE from Linux 5.2 to fcntl.h.Joseph Myers2019-08-062-0/+5
| | | | | | | | | | This patch adds the AT_RECURSIVE constant from Linux 5.2 to glibc's fcntl.h. (Existing practice in glibc is that the AT_* constants go directly in io/fcntl.h rather than somewhere OS-specific.) Tested for x86_64. * io/fcntl.h [__USE_GNU] (AT_RECURSIVE): New macro.
* s390: Fix Enable VDSO for static linkingStefan Liebler2019-08-062-0/+6
| | | | | | | | | | | | | The commit 5e855c8954014bca7b0d6f07312ec09553695ffd "s390: Enable VDSO for static linking" removed the definition of VDSO_SETUP which leads to not setup the vdso symbols. Instead it jumps to false addresses. This patch just re adds the removed VDSO_SETUP macro definition. ChangeLog: * sysdeps/unix/sysv/linux/s390/init-first.c (VDSO_SETUP): New define.
* Add CLONE_PIDFD from Linux 5.2 to bits/sched.h.Joseph Myers2019-08-052-0/+7
| | | | | | | | | | This patch adds the CLONE_PIDFD constant from Linux 5.2 to glibc's bits/sched.h. Tested for x86_64. * sysdeps/unix/sysv/linux/bits/sched.h [__USE_GNU] (CLONE_PIDFD): New macro.
* linux: Enable vDSO for static linking as default (BZ#19767)Adhemerval Zanella2019-08-0517-52/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch assumes static vDSO is supported as default, it is now supported on all current architectures that support vDSO. It allows removing both ALWAYS_USE_VSYSCALL define, which an architecture requires to explicit define and USE_VSYSCALL (which defines vDSO only for shared or if architecture defines ALWAYS_USE_VSYSCALL). Checked with a build against all affected ABIs. [BZ #19767] * sysdeps/unix/sysv/linux/aarch64/sysdep.h (ALWAYS_USE_VSYSCALL): Remove definition. * sysdeps/unix/sysv/linux/arm/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/riscv/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise. * sysdeps/unix/sysv/linux/x86/libc-vdso.h: Remove #if USE_VSYSCALL. * sysdeps/unix/sysv/linux/sysdep-vdso.h: Likewise. * sysdeps/unix/sysv/linux/sysdep.h (ALWAYS_USE_VSYSCALL, USE_VSYSCALL): Remove defitions.
* sparc: Enable VDSO for static linkingAdhemerval Zanella2019-08-054-10/+13
| | | | | | | | | | Checked on sparc64-linux-gnu and sparcv9-linux-gnu. [BZ #19767] * sysdeps/unix/sysv/linux/sparc/init-first.c: Remove #ifdef SHARED. * sysdeps/unix/sysv/linux/sparc/libc-vdso.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h (ALWAYS_USE_VSYSCALL): Define.
* s390: Enable VDSO for static linkingAdhemerval Zanella2019-08-055-9/+16
| | | | | | | | | | | | | | | | | | | Although s390 only enables vDSO for dynamically linked elf binaries (arch/s390/kernel/vdso.c:217), there is no indication in the code or associated commit message for why not enable it for statically linked binaries as well. To double check, I rebuilt a kernel with the check removed and the vDSO does work for static build for supplied symbols. Checked on s390x-linux-gnu and s390-linux-gnu. [BZ #19767] * sysdeps/unix/sysv/linux/s390/init-first.c: Remove #ifdef SHARED. * sysdeps/unix/sysv/linux/s390/libc-vdso.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (ALWAYS_USE_VSYSCALL): Define. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (ALWAYS_USE_VSYSCALL): Likewise.
* riscv: Enable VDSO for static linkingAdhemerval Zanella2019-08-054-10/+13
| | | | | | | | | | | Checked on riscv64-linux-gnu-rv64imafdc-lp64d qemu system with some static tests. [BZ #19767] * sysdeps/unix/sysv/linux/riscv/init-first.c: Remove #ifdef SHARED. * sysdeps/unix/sysv/linux/riscv/libc-vdso.h: Likewise. * sysdeps/unix/sysv/linux/riscv/sysdep.h (ALWAYS_USE_VSYSCALL): Define.
* sh: Update libm-tests-ulpsAdhemerval Zanella2019-08-052-20/+24
| | | | | | The make regen-ulps was done on a SH7785LCR. * sysdeps/sh/libm-test-ulps: Update.
* login: Remove utmp backend jump tables [BZ #23518]Florian Weimer2019-08-0510-197/+105
| | | | | | | There is just one file-based implementation, so this dispatch mechanism is unnecessary. Instead of the vtable pointer __libc_utmp_jump_table, use a non-negative file_fd as the indicator that the backend is initialized.
* elf: tst-ldconfig-bad-aux-cache: use support_capture_subprocessAlexandra Hájková2019-08-052-39/+38
|
* Update kernel version in comment in syscall-names.list.Joseph Myers2019-08-022-1/+3
| | | | | | | This patch updates the Linux kernel version in a comment in syscall-names.list to agree with the following "kernel" line. * sysdeps/unix/sysv/linux/syscall-names.list: Update comment.
* Update Linux kernel version number in tst-mman-consts.py to 5.2.Joseph Myers2019-08-022-1/+6
| | | | | | | | | | | | | | The tst-mman-consts.py test includes a kernel version number, to avoid failures because of newly added constants in the kernel (if kernel headers are newer than this version of glibc) or missing constants in the kernel (if kernel headers are older than this version of glibc). This patch updates it to 5.2 to reflect that the MAP_* constants in glibc are still current as of that kernel version. Tested with build-many-glibcs.py. * sysdeps/unix/sysv/linux/tst-mman-consts.py (main): Update Linux kernel version number to 5.2.
* powerpc: Cleanup: use actual power8 assembly mnemonicsRaoni Fassina Firmino2019-08-0112-187/+102
| | | | | | | | | | | | | | | | | | | | | | Some implementations in sysdeps/powerpc/powerpc64/power8/*.S still had pre power8 compatible binutils hardcoded macros and were not using .machine power8. This patch should not have semantic changes, in fact it should have the same exact code generated. Tested that generated stripped shared objects are identical when using "strip --remove-section=.note.gnu.build-id". Checked on: - powerpc64le, power9, build-many-glibcs.py, gcc 6.4.1 20180104, binutils 2.26.2.20160726 - powerpc64le, power8, debian 9, gcc 6.3.0 20170516, binutils 2.28 - powerpc64le, power9, ubuntu 19.04, gcc 8.3.0, binutils 2.32 - powerpc64le, power9, opensuse tumbleweed, gcc 9.1.1 20190527, binutils 2.32 - powerpc64, power9, debian 10, gcc 8.3.0, binutils 2.31.1 Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Reviewed-by: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
* hppa: Update libm-tests-ulpsAdhemerval Zanella2019-08-012-44/+48
| | | | | | The make regen-ulps was done on a PA8900 with 8.3.0. * sysdeps/hppa/fpu/libm-test-ulps: Update.
* malloc: Remove unwanted leading whitespace in malloc_info [BZ #24867]Florian Weimer2019-08-012-1/+7
| | | | | | | It was introduced in commit 6c8dbf00f536d78b1937b5af6f57be47fd376344 ("Reformat malloc to gnu style."). Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* Get new entropy on each attempt __gen_tempname (BZ #15813)Adhemerval Zanella2019-08-012-7/+12
| | | | | | | | | | | This is missing bit for fully fix BZ#15813 (the other two were fixed by 359653aaacad463). Checked on x86_64-linux-gnu. [BZ #15813] sysdeps/posix/tempname.c (__gen_tempname): get entrypy on each attempt.
* Open master for 2.31 development. glibc-2.30.9000Carlos O'Donell2019-08-012-2/+26
|
* Tag 2.30 release. glibc-2.30Carlos O'Donell2019-08-013-3/+7
|
* Update install and NEWS for 2.30 release.Carlos O'Donell2019-08-014-12/+119
|
* Update translations.Carlos O'Donell2019-07-3135-8668/+8494
| | | | Update translations from translationproject.org for 2.29.9000.
* iconv: Revert steps array reference counting changesFlorian Weimer2019-07-318-132/+31
| | | | | | | | | | | | | | | The changes introduce a memory leak for gconv steps arrays whose first element is an internal conversion, which has a fixed reference count which is not decremented. As a result, after the change in commit 50ce3eae5ba304650459d4441d7d246a7cefc26f, the steps array is never freed, resulting in an unbounded memory leak. This reverts commit 50ce3eae5ba304650459d4441d7d246a7cefc26f ("gconv: Check reference count in __gconv_release_cache [BZ #24677]") and commit 7e740ab2e7be7d83b75513aa406e0b10875f7f9c ("libio: Fix gconv-related memory leak [BZ #24583]"). It reintroduces bug 24583. (Bug 24677 was just a regression caused by the second commit.)
* Restore r31 setting in powerpc32 swapcontext.Joseph Myers2019-07-302-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit ffe8a9a8318e1db225b22da8bc067408494bac5c, "powerpc: Remove rt_sigreturn usage on context function", removed from powerpc32 swapcontext a setting of r31 that is relied upon in subsequent code. I'm not sure why this didn't produce test failures in Adhemerval's 32-bit testing; in my (soft-float) testing in preparation for 2.30 release, I see several context-related failures FAIL: stdlib/tst-makecontext2 FAIL: stdlib/tst-makecontext3 FAIL: stdlib/tst-setcontext FAIL: stdlib/tst-setcontext2 FAIL: stdlib/tst-setcontext4 FAIL: stdlib/tst-setcontext7 FAIL: stdlib/tst-setcontext9 FAIL: stdlib/tst-swapcontext1 that did not appear in 2.29 testing. This patch restores the removed register setting in question, and thus fixes those failures. Tested for powerpc (soft-float). * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S (__CONTEXT_FUNC_NAME): Restore setting of r31.
* nptl: Use uintptr_t for address diagnostic in nptl/tst-pthread-getattrFlorian Weimer2019-07-302-8/+15
| | | | | | | | | | | | | | | | | | | | | Recent GCC versions warn about the attempt to return the address of a local variable: tst-pthread-getattr.c: In function ‘allocate_and_test’: tst-pthread-getattr.c:54:10: error: function returns address of local variable [-Werror=return-local-addr] 54 | return mem; | ^~~ In file included from ../include/alloca.h:3, from tst-pthread-getattr.c:26: ../stdlib/alloca.h:35:23: note: declared here 35 | # define alloca(size) __builtin_alloca (size) | ^~~~~~~~~~~~~~~~~~~~~~~ tst-pthread-getattr.c:51:9: note: in expansion of macro ‘alloca’ 51 | mem = alloca ((size_t) (mem - target)); | ^~~~~~ The address itself is used in a check in the caller, so using uintptr_t instead is reasonable.
* Linux: Move getdents64 to <dirent.h>Florian Weimer2019-07-297-8/+70
| | | | | | This matches the location of the declaration in musl. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* test-container: Install with $(sorted-subdirs) [BZ #24794]Tulio Magno Quites Machado Filho2019-07-293-4/+12
| | | | | | | | | | | | | Commit 35e038c1d2ccb3a75395662f9c4f28d85a61444f started to use an incomplete list of subdirs based on $(all-subdirs) causing testroot.pristine to miss files from nss. Tested if the list of files in testroot.pristine remains the same. [BZ #24794] * Makeconfig (all-subdirs): Improved source comments. * Makefile (testroot.pristine/install.stamp): Pass subdirs='$(sorted-subdirs)' to make install.
* gconv: Check reference count in __gconv_release_cache [BZ #24677]Florian Weimer2019-07-262-3/+12
| | | | | | | | | | This fixes a regression introduced in commit 7e740ab2e7be7d83b75513aa406e0b10875f7f9c ("libio: Fix gconv-related memory leak [BZ #24583]"). __gconv_release_cache is only ever called with heap-allocated arrays which contain at least one member. The statically allocated ASCII steps are filtered out by __wcsmbs_close_conv.
* x86-64: Compile branred.c with -mprefer-vector-width=128 [BZ #24603]H.J. Lu2019-07-244-0/+52
| | | | | | | | | | | | | | | | | | | | | When compiled with -O3 and AVX, GCC 8 and 9 optimize some loops in sysdeps/ieee754/dbl-64/branred.c with 256-bit vector instructions, which leads to store forward stall: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90579 There is no easy fix in compiler. This patch limits vector width to 128 bits to work around this issue. It improves performance of sin and cos by more than 40% on Skylake compiled with -O3 -march=skylake. Tested with GCC 7/8/9 on x86-64. [BZ #24603] * sysdeps/x86_64/configure.ac: Check if -mprefer-vector-width=128 works. * sysdeps/x86_64/configure: Regenerated. * sysdeps/x86_64/fpu/Makefile (CFLAGS-branred.c): New. Set to -mprefer-vector-width=128 if supported.
* build-many-glibcs.py: Use Linux 5.2 by defaultFlorian Weimer2019-07-242-1/+6
|
* Linux: Use in-tree copy of SO_ constants for !__USE_MISC [BZ #24532]Florian Weimer2019-07-2410-94/+333
| | | | | | | | | | | | | | | | | | | | The kernel changes for a 64-bit time_t on 32-bit architectures resulted in <asm/socket.h> indirectly including <linux/posix_types.h>. The latter is not namespace-clean for the POSIX version of <sys/socket.h>. This issue has persisted across several Linux releases, so this commit creates our own copy of the SO_* definitions for !__USE_MISC mode. The new test socket/tst-socket-consts ensures that the copy is consistent with the kernel definitions (which vary across architectures). The test is tricky to get right because CPPFLAGS includes include/libc-symbols.h, which in turn defines _GNU_SOURCE unconditionally. Tested with build-many-glibcs.py. I verified that a discrepancy in the definitions actually results in a failure of the socket/tst-socket-consts test.
* test-container: Install with $(all-subdirs) [BZ #24794]Tulio Magno Quites Machado Filho2019-07-232-1/+6
| | | | | | | | | | | | | Whenever a sub-make is created, it inherits the variable subdirs from its parent. This is also true when make check is called with a restricted list of subdirs. In this scenario, make install is executed "partially" and testroot.pristine ends up with an incomplete installation. [BZ #24794] * Makefile (testroot.pristine/install.stamp): Pass subdirs='$(all-subdirs)' to make install. Reviewed-by: DJ Delorie <dj@redhat.com>
* test-container: Avoid copying unintended system librariesTulio Magno Quites Machado Filho2019-07-232-2/+7
| | | | | | | | | | | | | | Some DSOs are distributed in hardware capability directories, e.g. /usr/lib64/power7/libc.so.6 Whenever the processor is able to use one of these hardware-enabled DSOs, testroot.pristine ends up with copies of glibc-provided libraries from the system because it can't overwrite or remove them. This patch avoids the unintended copies by executing ld.so with the same arguments passed to each glibc test. * Makefile (testroot.pristine/install.stamp): Execute ld.so with the same arguments used in all tests.
* Add NEWS entry about the new AArch64 IFUNC resolver call ABISzabolcs Nagy2019-07-222-0/+8
| | | | | | | | | | | | The new IFUNC resolver call ABI was introduced in commit 2b8a3c86e7606cf1b0a997dad8af2d45ae8989c3 Commit: Szabolcs Nagy <szabolcs.nagy@arm.com> CommitDate: 2019-07-04 11:13:32 +0100 aarch64: new ifunc resolver ABI See the commit log and the comments in sys/ifunc.h for details.
* locale/C-translit.h.in: Cyrillic -> ASCII transliteration [BZ #2872]Egor Kobylkin2019-07-202-0/+174
| | | | | | | | This patch adds Cyrillic to plain ASCII transliteration table according to GOST 7.79-2000 System B standard to the C locale. [BZ #2872] * locale/C-translit.h.in: Add Cyrillic transliteration.
* Linux: Update syscall-names.list to Linux 5.2Florian Weimer2019-07-192-1/+18
| | | | | | | This adds the system call names fsconfig, fsmount, fsopen, fspick, move_mount, open_tree. Tested with build-many-glibcs.py.
* Regenerate po/libc.pot for 2.30 release.Carlos O'Donell2019-07-182-225/+220
|
* nptl: Add POSIX-proposed _clock functions to hppa pthread.hAdhemerval Zanella2019-07-182-0/+41
| | | | | | | | | | | | | | The pthread _clock functions that were recently added to nptl need to be declared in hppa's pthread.h too. After this change, the function declaration part of sysdeps/nptl/pthread.h and sysdeps/unix/sysv/linux/hppa/pthread.h are identical. * sysdeps/unix/sysv/linux/hppa/pthread.h: Add declarations of functions recently added to sysdeps/nptl/pthread.h: pthread_mutex_clocklock, pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock and pthread_cond_clockwait. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* nptl: Remove unnecessary forwarding of pthread_cond_clockwait from libcMike Crowe2019-07-184-10/+10
| | | | | | | | | | | | | | | | | | | | In afe4de7d283ebd88157126c5494ce1796194c16e, I added forwarding functions from libc to libpthread for __pthread_cond_clockwait and pthread_cond_clockwait to mirror those for pthread_cond_timedwait. These are unnecessary[1], since these functions aren't (yet) being called from within libc itself. Let's remove them. * nptl/forward.c: Remove unnecessary __pthread_cond_clockwait and pthread_cond_clockwait forwarding functions. There are no internal users, so it is unnecessary to expose these functions in libc.so. * sysdeps/nptl/pthread-functions.h (pthread_functions): Remove unnecessary ptr___pthread_cond_clockwait member. * nptl/nptl-init.c (pthread_functions): Remove assignment of removed member. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> [1] https://sourceware.org/ml/libc-alpha/2017-10/msg00082.html
* Afar locales: Months and days updated from CLDR (bug 21897).Rafal Luzynski2019-07-175-12/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit updates month and weekday names (full and abbreviated) from CLDR 35.1 with the following exceptions. It was not clear why the full name of February in aa_DJ and aa_ER was "Kudo" while the abbreviated version is "Nah" but some additional sources [1] [2] as well as the content of aa_ER and aa_ER@saaho suggest it should be "Naharsi Kudo". This commit consequently sets the translation of February to "Naharsi Kudo" in aa_DJ and aa_ET. aa_ER@saaho is not supported by CLDR but since the month names were identical to aa_ER before this commit, the same values have been copied from aa_ER. Links: [1] https://fr.wiktionary.org/wiki/naharsi_kudo [2] http://www.mcit.gov.et/web/guest/-/localization-standard-for-afaraf [BZ #21897] * localedata/locales/aa_DJ (abday): Update from CLDR, all words begin with an uppercase letter now. (abmon): Likewise. (mon): Update from CLDR, reword February from "Kudo" to "Naharsi Kudo", April from "Agda Baxisso" to "Agda Baxis", and August from "Liiqen" to "Leqeeni". * localedata/locales/aa_ER (mon): Update from CLDR, reword April from "Agda Baxisso" to "Agda Baxis" and August from "Leqeeni" to "Liiqen". * localedata/locales/aa_ER@saaho (mon): Likewise. * localedata/locales/aa_ET (abmon): Update from CLDR, reword abbreviated February from "Kud" to "Nah". (mon): Update from CLDR, reword February from "Kudo" to "Naharsi Kudo" and April from "Agda Baxisso" to "Agda Baxis".
* nl_BE locale: Use "copy "nl_NL"" in LC_NAME (bug 23996).Rafal Luzynski2019-07-172-6/+6
| | | | | | | The content of the section is identical in both languages. [BZ #23996] * localedata/locales/nl_BE (LC_NAME): Replace with “copy "nl_NL"”.