aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-03-25Change how the symbol_version_reference macro is definedFlorian Weimer
A subsequent change will require including <config.h> for defining symbol_version_reference. <libc-symbol.h> should not include <config.h> for _ISOMAC, so it cannot define symbol_version_reference anymore, but symbol_version_reference is needed <shlib-compat.h> even for _ISOMAC. Moving the definition of symbol_version_reference to a separate file <libc-symver.h> makes it possible to use a single definition for both cases. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-24stdlib: Fix BZ #26241 testcase on GNU/HurdSamuel Thibault
GNU/Hurd's readlink system call is partly implemented in userspace, which also allocates a buffer on the stack for the result, and thus needs one more path. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-24elf: Fix not compiling ifunc tests that need gcc ifunc supportSamuel Thibault
2021-03-24htl: Add missing fork.hSamuel Thibault
2b47727c68b6 ("posix: Consolidate register-atfork") introduced a fork.h header to declare the atfork unregister hook, but was missing adding it for htl. This fixes tst-atfork2.
2021-03-23hurd: handle EINTR during critical sectionsSamuel Thibault
During critical sections, signal handling is deferred and thus RPCs return EINTR, even if SA_RESTART is set. We thus have to restart the whole critical section in that case. This also adds HURD_CRITICAL_UNLOCK in the cases where one wants to break the section in the middle.
2021-03-23tst: Add test for sigtimedwaitLukasz Majewski
This change adds new test to assess sigtimedwait's timeout related functionality - the sigset_t is configured for SIGUSR1, which will not be triggered, so sigtimedwait just waits for timeout. To be more specific - two use cases are checked: - if sigtimedwait times out immediately when passed struct timespec has zero values of tv_nsec and tv_sec. - if sigtimedwait times out after timeout specified in passed argument Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-23tst: Provide test for selectLukasz Majewski
This change adds new test to assess select()'s timeout related functionality (the rdfs set provides valid fd - stderr - but during normal program operation there is no data to be read, so one just waits for timeout). To be more specific - two use cases are checked: - if select() times out immediately when passed struct timeval has zero values of tv_usec and tv_sec. - if select() times out after timeout specified in passed argument Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-23tst: Add test for ntp_gettimexLukasz Majewski
This test is a wrapper on tst-ntp_gettime test. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-23tst: Add test for ntp_gettimeLukasz Majewski
This code provides test to check if time on target machine is properly read via ntp_gettime syscall. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-23fix: Always export ntp_gettimex functionLukasz Majewski
After this patch applied the ntp_gettimex function is always declared in the sys/timex.h header. Currently it is not when __REDIRECT_NTH is defined (i.e. in ARM 32 bit port).
2021-03-19nptl: Remove MULTI_PAGE_ALIASING [BZ #23554]H.J. Lu
MULTI_PAGE_ALIASING was introduced to mitigate an aliasing issue on Pentium 4. It is no longer needed for processors after Pentium 4.
2021-03-19elf: Add EM_INTELGT for Intel Graphics TechnologyH.J. Lu
Add EM_INTELGT (205) for Intel Graphics Technology which has been added to gABI: https://groups.google.com/g/generic-abi/c/ofBevXA48dM
2021-03-18support: Use syscall function instead of INLINE_SYSCALL_CALLAdhemerval Zanella
It fixes the build on ARM in thumb mode that requires an out of the line helper (__libc_do_syscall) to issue the syscall.
2021-03-18signal: Add __libc_sigactionAdhemerval Zanella
The generic implementation basically handle the system agnostic logic (filtering out the invalid signals) while the __libc_sigaction is the function with implements the system and architecture bits. Checked on x86_64-linux-gnu and i686-linux-gnu.
2021-03-18nptl: Move system to libcAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Move fcntl from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove sendmsg from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove recvmsg from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove sigwait from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove tcdrain from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove pause from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove msync from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove fsync from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove sendto from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove recvfrom from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove recv from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove connect from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove accept from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove close from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove read from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-18nptl: Remove write from libpthreadAdhemerval Zanella
The libc version is identical and built with same flags. Checked on x86_64-linux-gnu.
2021-03-16benchtests: Add ilogb* testsRaphael Moreira Zinsly
Add a benchtest to ilogb, ilogbf and ilogbf128 based on the logb* benchtests.
2021-03-16powerpc: Add optimized llogb* for POWER9Raphael Moreira Zinsly
The POWER9 builtins used to improve the ilogb* functions can be used in the llogb* functions as well.
2021-03-16powerpc: Add optimized ilogb* for POWER9Raphael Moreira Zinsly
The instructions xsxexpdp and xsxexpqp introduced on POWER9 extract the exponent from a double-precision and quad-precision floating-point respectively, thus they can be used to improve ilogb, ilogbf and ilogbf128.
2021-03-16glibcymbols.read_abilist: Add check for duplicate symbolsFlorian Weimer
This detects some bogus abilist files. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-16scripts/glibcsymbols.py: Extract from scripts/move-symbol-to-libc.pyFlorian Weimer
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-16Legacy unwinder: Remove definition of _Unwind_GetCFAFlorian Weimer
It is not actually used by the legacy unwinder linked into libc.so, and it conflicts with the unwind-link functionality in libpthread. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-16support: Pass environ to child processSiddhesh Poyarekar
Pass environ to posix_spawn so that the child process can inherit environment of the test.
2021-03-16powerpc: Update libm-test-ulpsMatheus Castanho
Generated with 'make regen-ulps' on POWER8. Tested on powerpc, powerpc64, and powerpc64le
2021-03-15Build libc-start with stack protector for SHAREDSiddhesh Poyarekar
This does not change the emitted code since __libc_start_main does not return, but is important for formal flags compliance. This also cleans up the cosmetic inconsistency in the stack protector flags in csu, especially the incorrect value of STACK_PROTECTOR_LEVEL. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-15Build get-cpuid-feature-leaf.c without stack-protector [BZ #27555]Siddhesh Poyarekar
__x86_get_cpuid_feature_leaf is called during early startup, before the stack check guard is initialized and is hence not safe to build with stack-protector. Additionally, IFUNC resolvers for static tst-ifunc-isa tests get called too early for stack protector to be useful, so fix them to disable stack protector for the resolver functions. This fixes all failures seen with --enable-stack-protector=all configuration. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-15Add inhibit_stack_protector to ifuncmain9 [BZ #25680]David Hughes
Enabling --enable-stack-protector=all causes the following tests to fail: FAIL: elf/ifuncmain9picstatic FAIL: elf/ifuncmain9static Nick Alcock (who committed the stack protector code) marked the IFUNC resolvers with inhibit_stack_protector when he done the original work and suggested doing so again @ BZ #25680. This patch adds inhibit_stack_protector to ifuncmain9. After patch is applied, --enable-stack-protector=all does not fail the above tests. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2021-03-15support: Typo and formatting fixesSiddhesh Poyarekar
- Add a newline to the end of error messages in transfer(). - Fixed the name of support_subprocess_init().
2021-03-15elf: ld.so --help calls _dl_init_paths without a main map [BZ #27577]Florian Weimer
In this case, use the link map of the dynamic loader itself as a replacement. This is more than just a hack: if we ever support DT_RUNPATH/DT_RPATH for the dynamic loader, reporting it for ld.so --help (without further command line arguments) would be the right thing to do. Fixes commit 332421312576bd7095e70589154af99b124dd2d1 ("elf: Always set l in _dl_init_paths (bug 23462)").
2021-03-15x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444]H.J. Lu
commit 2d651eb9265d1366d7b9e881bfddd46db9c1ecc4 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Sep 18 07:55:14 2020 -0700 x86: Move x86 processor cache info to cpu_features missed _SC_LEVEL1_ICACHE_LINESIZE. 1. Add level1_icache_linesize to struct cpu_features. 2. Initialize level1_icache_linesize by calling handle_intel, handle_zhaoxin and handle_amd with _SC_LEVEL1_ICACHE_LINESIZE. 3. Return level1_icache_linesize for _SC_LEVEL1_ICACHE_LINESIZE. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2021-03-12elf: Always set l in _dl_init_paths (bug 23462)Carlos O'Donell
After d1d5471579eb0426671bf94f2d71e61dfb204c30 ("Remove dead DL_DST_REQ_STATIC code.") we always setup the link map l to make the static and shared cases the same. The bug is that in elf/dl-load.c (_dl_init_paths) we conditionally set l only in the #ifdef SHARED case, but unconditionally use it later. The simple solution is to remove the #ifdef SHARED conditional, because it's no longer needed, and unconditionally setup l for both the static and shared cases. A regression test is added to run a static binary with LD_LIBRARY_PATH='$ORIGIN' which crashes before the fix and runs after the fix. Co-Authored-By: Florian Weimer <fweimer@redhat.com>
2021-03-12s390x: Regenerate ULPs.Stefan Liebler
Updates needed after recent commit: db3f7bb5586392d9809fc6397c7184983aed6008 "math: Remove slow paths from asin and acos [BZ #15267]" Compre to the required ulps update for x86_64.
2021-03-12support: Add xpthread_killAdhemerval Zanella
Checked on x86_64-linux-gnu.
2021-03-12nptl: Move fork into libcAdhemerval Zanella
This is part of the libpthread removal project: <https://sourceware.org/ml/libc-alpha/2019-10/msg00080.html> Checked on x86_64-linux-gnu.
2021-03-12linux: Use __libc_single_threaded on forkAdhemerval Zanella
Checked on x86_64-linux-gnu.