about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* y2038: linux: Provide __timerfd_gettime64 implementationLukasz Majewski2020-02-024-2/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces auto generated wrapper (as described in sysdeps/unix/sysv/linux/syscalls.list) for timerfd_gettime with one which adds extra support for reading 64 bit time values on machines with __TIMESIZE != 64. There is no functional change for architectures already supporting 64 bit time ABI. This patch is conceptually identical to timer_gettime conversion already done in sysdeps/unix/sysv/linux/timer_gettime.c. Please refer to corresponding commit message for detailed description of introduced functions and the testing procedure. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> --- Changes for v4: - Update date from 2019 to 2020 Changes for v3: - Add missing libc_hidden_def() Changes for v2: - Remove "Contributed by" from the file header - Remove early check for (fd < 0) in __timerfd_gettime64 as the fd correctness check is already done in Linux kernel - Add single descriptive comment line to provide concise explanation of the code
* i386: Remove _exit.SH.J. Lu2020-02-011-44/+0
| | | | | | | The generic implementation is suffice since __NR_exit_group is always support and i386 does define ABORT_INSTRUCTION. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* i386: Use ENTRY/END in assembly codesH.J. Lu2020-02-013-15/+10
| | | | | | | Use ENTRY and END in assembly codes so that ENDBR32 will be added at function entries when CET is enabled. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* i386-mcount.S: Add _CET_ENDBR to _mcount and __fentry__H.J. Lu2020-02-011-0/+2
| | | | | | | Since _mcount and __fentry__ don't use ENTRY, we need to add _CET_ENDBR by hand. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* i386/sub_n.S: Add a missing _CET_ENDBR to indirect jump targetH.J. Lu2020-02-011-0/+1
| | | | | | Add a missing _CET_ENDBR to indirect jump targe in sysdeps/i386/sub_n.S. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* i386: Don't unnecessarily save and restore EAX, ECX and EDX [BZ# 25262]H.J. Lu2020-02-014-29/+10
| | | | | | | | | | | On i386, since EAX, ECX and EDX are caller-saved, there are no need to save and restore EAX, ECX and EDX in getcontext, setcontext and swapcontext. They just need to clear EAX on success. The extra scratch registers are needed to enable CET. Tested on i386. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* x86: Don't make 2 calls to dlerror () in a rowH.J. Lu2020-02-012-2/+2
| | | | | | | | | | We shouldn't make 2 calls to dlerror () in a row since the first call will clear the error. We should just use the return value from the first call. Tested on Linux/x86-64. Reviewed-by: Florian Weimer <fweimer@redhat.com>
* Open master for 2.32 development glibc-2.31.9000Siddhesh Poyarekar2020-02-012-2/+25
| | | | happy hacking!
* Generate ChangeLog.old/ChangeLog.20 for 2.31 glibc-2.31Siddhesh Poyarekar2020-02-011-0/+6542
| | | | We're ready to tag!
* Update version numbers for 2.31 releaseSiddhesh Poyarekar2020-02-012-3/+3
|
* Add bugs fixed in 2.31 in NEWSSiddhesh Poyarekar2020-02-011-2/+77
|
* Update newest tested versions of dependencies in install.texiSiddhesh Poyarekar2020-02-012-10/+10
| | | | Updated versions of gcc, binutils, awk, bison and perl.
* Add more contributors to the manualSiddhesh Poyarekar2020-02-011-0/+18
|
* Add note to NEWS about kernel headers dependency on risc-vSiddhesh Poyarekar2020-02-011-1/+2
| | | | | | | | | It was discovered that RISC-V 64-bit still needs kernel headers >= 5.0 to be installed to build correctly: https://gitlab.com/kubu93/toolchains-builder/-/jobs/422726962 Fix up the NEWS item to make that clear.
* Add Portuguese (Portugal) translationSiddhesh Poyarekar2020-02-011-0/+2422
|
* Add NEWS entry about 64-bit time_t syscall use on 32-bit targetsSzabolcs Nagy2020-01-311-0/+7
| | | | | | | | | This internal change ideally should not affect the public API or ABI, but there is a widespread use of seccomp sandboxes, even on 32-bit targets, that don't handle new Linux syscall usage well, so it's worth mentioning in the NEWS. Co-authored-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
* nptl: Avoid using PTHREAD_MUTEX_DEFAULT in macro definition [BZ #25271]Florian Weimer2020-01-301-1/+1
| | | | | | | | | | | | | | | | | | | Commit 1c3f9acf1f1f75faa7a28bf39af64afd ("nptl: Add struct_mutex.h") replaced a zero constant with the identifier PTHREAD_MUTEX_DEFAULT in the macro PTHREAD_MUTEX_INITIALIZER. However, that constant is not available in ISO C11 mode: In file included from /usr/include/bits/thread-shared-types.h:74, from /usr/include/bits/pthreadtypes.h:23, from /usr/include/pthread.h:26, from bug25271.c:1: bug25271.c:3:21: error: ‘PTHREAD_MUTEX_DEFAULT’ undeclared here (not in a function) 3 | pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER; | ^~~~~~~~~~~~~~~~~~~~~~~~~ This commit change the constant to the equivalent PTHREAD_MUTEX_TIMED_NP, which is in the POSIX extension namespace and thus always available.
* Build raise with -fasynchronous-unwind-tables.Joseph Myers2020-01-241-0/+1
| | | | | | | | | | | | | | | In testing glibc for Arm and MIPS, I see: FAIL: misc/tst-sigcontext-get_pc If this test - backtracing through a call to raise - is valid, then raise needs to be built with -fasynchronous-unwind-tables (as the test itself is) to have the required unwind information for that backtracing to work. Adding that option, which this patch does, causes the test for pass for Arm. For MIPS, the test still does not pass (the backtrace has an address that is 2 bytes after the "address in signal handler", for unknown reasons), although the patch allows a longer backtrace to be produced.
* Fix locale/tst-locale-locpath cross-testing when sshd sets LANG.Joseph Myers2020-01-241-3/+1
| | | | | | | | | | | | | | | | | | | | | | | The locale/tst-locale-locpath test unsets LANG, then runs a test with test_wrapper_env and expects LANG to remain unset for that test. This does not work for cross-testing with cross-test-ssh.sh when sshd (on the system specified as an argument to cross-test-ssh.sh) is configured to have a default LANG setting. The general design used in cross testing, after commit 8540f6d2a74fe9d67440535ebbcfa252180a3172 ("Don't require test wrappers to preserve environment variables, use more consistent environment.", 6 June 2014), is that environment settings required by tests should be passed explicitly to $(test-wrapper-env). This patch changes tst-locale-locpath.sh to pass an explicit LANG= rather than expecting "unset LANG" to be in effect for the program run under test_wrapper_env. Note that this does slightly change the environment in which the test is run natively (empty LANG instead of unset LANG) but that difference does not appear relevant to what it is trying to test. Tested for Arm that this fixes the failure seen for that test in cross-testing.
* Fix elf/tst-rtld-preload cross-testing.Joseph Myers2020-01-242-9/+8
| | | | | | | | | | | | | | | | | As noted in <https://sourceware.org/ml/libc-alpha/2019-06/msg00824.html>, elf/tst-rtld-preload fails when cross-testing because it attempts to run the test wrapper with itself. Unfortunately, that thread never resulted in a complete and correct patch for that test. This patch addresses the issues with that test more thoroughly. The test is changed not to use the wrapper twice, including updating the message it prints about the command it runs to be more complete and accurate after the change; the Makefile is changed not to pass the redundant '$(test-wrapper)' argument. Tested for Arm that this fixes the failure seen for that test in cross-testing.
* Fix cross-testing of tst-ifunc-fault-* tests.Joseph Myers2020-01-231-3/+4
| | | | | | | | | | The tests elf/tst-ifunc-fault-bindnow and elf/tst-ifunc-fault-lazy fail in cross-testing because they run the dynamic linker directly without using the test wrapper. This patch fixes them to use the test wrapper instead. Tested that this fixes the failure of those two tests for powerpc soft-float.
* gitlog-to-changelog: Drop scripts in favour of gnulib versionSiddhesh Poyarekar2020-01-235-1181/+0
| | | | | | | | | | | | | The ChangeLog automation scripts were incorporated in gnulib as vcs-to-changelog for a while now since other projects expressed the desire to use and extend this script. In the interest of avoiding duplication of code, drop the glibc version of gitlog-to-changelog and use the gnulib one directly. The only file that remains is vcstocl_quirks.py, which specifies properties and quirks of the glibc project source code. This patch also drops the shebang at the start of vcstocl_quirks.py since the file is not intended to be directly executable.
* Add NEWS entry about the change in handling of PT_GNU_STACK on MIPSDragan Mladjenovic2020-01-231-0/+12
| | | | | | | | | | | | | | The change was introduced in: commit 33bc9efd91de1b14354291fc8ebd5bce96379f12 Author: Dragan Mladjenovic <dmladjenovic@wavecomp.com> Date: Fri Aug 23 16:38:04 2019 +0000 mips: Force RWX stack for hard-float builds that can run on pre-4.8 kernels and probably requires a small explanation. Co-authored-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
* Fix array overflow in backtrace on PowerPC (bug 25423)Andreas Schwab2020-01-213-0/+16
| | | | | | When unwinding through a signal frame the backtrace function on PowerPC didn't check array bounds when storing the frame address. Fixes commit d400dcac5e ("PowerPC: fix backtrace to handle signal trampolines").
* getaddrinfo: Fix resource leak after strdup failure in gethosts [BZ #25425]Florian Weimer2020-01-201-0/+1
| | | | | | | | | | | | Filip Ochnik spotted that one of the error jumps in gethosts fails to call __resolv_context_put to release the resolver context. Fixes commit 352f4ff9a268b81ef5d4b2413f582565806e4790 ("resolv: Introduce struct resolv_context [BZ #21668]") and commit 964263bb8d650f1681665c55704fb01a8e725621 ("getaddrinfo: Release resolver context on error in gethosts [BZ #21885]"). Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
* Run bench-timing-type with newly built libc.Joseph Myers2020-01-201-1/+4
| | | | | benchtests/timing-type is built with the newly built libc, so should be run with it like actual tests and benchmarks.
* Get rid of Werror=maybe-uninitialized in res_send.c.Stefan Liebler2020-01-201-0/+4
| | | | | | | | | | | | | | The commit 446997ff1433d33452b81dfa9e626b8dccf101a4 introduced this new usage of resplen. If build with gcc 9 -march>=z13 on s390x, the following warning occurs: res_send.c: In function ‘__res_context_send’: res_send.c:539:6: error: ‘resplen’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 539 | if (resplen > HFIXEDSZ) | ^ Therefore this patch adds a further DIAG_IGNORE_NEEDS_COMMENT in the same way as it was previously done for usages of resplen or n. See commit d1bc2cbbed9aea2017ef941f63c8786571da5b4f.
* translations: Update translationsSiddhesh Poyarekar2020-01-1932-65960/+0
| | | | | Update translations after adding msgattrib to the update-translations makefile target.
* translations: Trim po files using msgattribSiddhesh Poyarekar2020-01-191-1/+3
| | | | | | | | | The translation project coordinator Benno Schulenberg suggested that we could save space in our tarball by trimming the generated po files by using msgattrib and dropping all untranslated, fuzzy and obsolete messages. This patch updates the update-translations target to do that. Testing indicates that the current po files reduce by over 65K lines due to this trimming.
* Update translationsSiddhesh Poyarekar2020-01-1934-3945/+4304
| | | | Update translations from the translation project.
* translations: Run msgmerge when downloading translationsSiddhesh Poyarekar2020-01-191-1/+3
| | | | | | | | | | The latest translations in the translationproject URL need to be merged in using msgmerge for the po files to be correctly updated, otherwise we may end up getting odd results, such as the previous translations update. This patch adds another step to the update-translations Makefile target which does a msgmerge of the downloaded po file with libc.pot and then uses that as the final result.
* Fix maybe-uninitialized error on powerpcMatheus Castanho2020-01-171-0/+7
| | | | | | | | | | | | | | | | | | | | | | The build has been failing on powerpc64le-linux-gnu with GCC 10 due to a maybe-uninitialized error: ../sysdeps/ieee754/dbl-64/mpa.c:875:6: error: ‘w.e’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 875 | EY -= EX; | ^~ The warning is thrown because when __inv is called by __dvd *y is not initialized and if t == 0 before calling __dbl_mp, EY will stay uninitialized, as the function does not touch it in this case. However, since t will be set to 1/t before calling __dbl_mp, t == 0 will never happen, so we can instruct the compiler to ignore this case, which suppresses the warning. Tested on powerpc64le. Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
* powerpc32: Fix syntax error in __GLRO macroAndreas Schwab2020-01-181-1/+1
|
* Remove incorrect alloc_size attribute from pvalloc [BZ #25401]Florian Weimer2020-01-173-3/+50
| | | | | | | | | | | | | | pvalloc is guarantueed to round up the allocation size to the page size, so applications can assume that the memory region is larger than the passed-in argument. The alloc_size attribute cannot express that. The test case is based on a suggestion from Jakub Jelinek. This fixes commit 9bf8e29ca136094f73f69f725f15c51facc97206 ("malloc: make malloc fail with requests larger than PTRDIFF_MAX (BZ#23741)"). Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* Fix tst-pkey.c pkey_alloc return checks and manualLucas A. M. Magalhaes2020-01-172-0/+8
| | | | | | | | | | | | This test was failing in some powerpc systems as it was not checking for ENOSPC return. As said on the Linux man-pages and can be observed by the implementation at mm/mprotect.c in the Linux Kernel source. The syscall pkey_alloc can return EINVAL or ENOSPC. ENOSPC will indicate either that all keys are in use or that the kernel does not support pkeys. Reviewed-by: Gabriel F. T. Gomes <gabriel@inconstante.net.br>
* powerpc: Move cache line size to rtld_global_roTulio Magno Quites Machado Filho2020-01-1720-67/+312
| | | | | | | | | | | | | | GCC 10.0 enabled -fno-common by default and this started to point that __cache_line_size had been implemented in 2 different places: loader and libc. In order to avoid this duplication, the libc variable has been removed and the loader variable is moved to rtld_global_ro. File sysdeps/unix/sysv/linux/powerpc/dl-auxv.h has been added in order to reuse code for both static and dynamic linking scenarios. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* powerpc: Initialize rtld_global_ro for static dlopen [BZ #20802]Tulio Magno Quites Machado Filho2020-01-171-2/+11
| | | | | | | Initialize dl_auxv, dl_hwcap and dl_hwcap2 in rtld_global_ro for DSOs that have been statically dlopen'ed. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* Revert outdated translationsSiddhesh Poyarekar2020-01-1716-38597/+54712
| | | | | | The update-translation target seems to have downloaded outdated translations for these languages. Revert them and try to figure out if this is a problem with the target or an error in translations.
* vcs-to-changelog: Add quirk for __nonnullSiddhesh Poyarekar2020-01-171-0/+2
| | | | | The parser cannot identify the __nonnull off the bat and confuses __typeof in the change db25266c9 to be a function declaration.
* elf: Add elf/tst-dlopenfail-2 [BZ #25396]Florian Weimer2020-01-163-2/+83
| | | | | | | | | | | | | Without CET, a jump into a newly loaded object through an overwritten link map often does not crash, it just executes some random code. CET detects this in some cases because the function pointer does not point to the start of a function in the replacement shared object, so there is no ENDBR instruction. The new test uses a small shared object and the existing dangling link map to trigger the bug. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
* Clear GL(dl_initfirst) when freeing its link_map memory [BZ# 25396]H.J. Lu2020-01-161-0/+4
| | | | | | | | We should clear GL(dl_initfirst) when freeing its link_map memory. Tested on Fedora 31/x86-64 with CET. Reviewed-by: Florian Weimer <fweimer@redhat.com>
* Update TranslationsSiddhesh Poyarekar2020-01-1627-57666/+40739
| | | | Update translations from translationproject.org for 2.30.9000.
* htl: Add internal version of __pthread_mutex_timedlockSamuel Thibault2020-01-134-2/+7
| | | | The C11 threads implementation will need it.
* htl: Avoid crashing when passed invalid pthread_t valuesSamuel Thibault2020-01-131-2/+4
|
* Update build-many-glibcs.py for GCC move to git.Joseph Myers2020-01-131-10/+17
| | | | | | | This patch updates build-many-glibcs.py for the move of GCC to git, teaching it to do the initial checkout from git, to replace an SVN checkout with a git one if --replace-sources is used, and to get the commit identifier from a git checkout after updating it.
* Fix "elf: Add tst-ldconfig-ld_so_conf-update test" on 32bit.Stefan Liebler2020-01-131-2/+4
| | | | | | | | | | This new test was introduced with recent commit 591236f1a33f11cc65ccf009d997071ba853e186. If run on 32bit, it fails while renaming tst-ldconfig-ld-mod.so as there is no /usr/lib64 directory. This patch is constructing the file name with help of support_libdir_prefix. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
* htl: Avoid exposing unixoid functionsSamuel Thibault2020-01-135-4/+7
| | | | C11 threads should not expose them.
* htl: Add type sizes in bits/pthreadtypes-arch.h and check themSamuel Thibault2020-01-1314-0/+42
|
* htl: Add internal versions of functions used by C11 threadsSamuel Thibault2020-01-134-2/+7
| | | | | The C11 threads implementation needs to call pthread_join and pthread_key_delete without exposing them.
* Update timezone/READMEPaul Eggert2020-01-092-6/+9
| | | | | | | * timezone/version: New file, also taken from tzcode2018i. * timezone/README: Reword so that people needn't paw through old ChangeLog files to see which version we're using, a process that is error-prone. Update an obsolescent URL.