aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-06-07WIP observations from an XSAVE size mismatch kernel issuefw/x86-diagnosticsFlorian Weimer1-39/+46
2024-05-30WIP CPUID consistency checksFlorian Weimer9-12/+632
2024-05-28x86: Introduce _dl_x86_init_cpu_failure for startup failure reportingFlorian Weimer1-8/+15
2024-05-28LoongArch: Use "$fcsr0" instead of "$r0" in _FPU_{GET,SET}CWXi Ruoyao1-2/+2
Clang inline-asm parser does not allow using "$r0" in movfcsr2gr/movgr2fcsr, so everything using _FPU_{GET,SET}CW is now failing to build with Clang on LoongArch. As we now requires Binutils >= 2.41 which supports using "$fcsr0" here, use it instead of "$r0" to fix the issue. Link: https://github.com/loongson-community/discussions/issues/53#issuecomment-2081507390 Link: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=4142b2368353 Signed-off-by: Xi Ruoyao <xry111@xry111.site>
2024-05-27x86_64: Reformat elf_machine_relaXin Wang1-4/+5
A space is added before the left bracket of the x86_64 elf_machine_rela function, in order to harmonize with the rest of the implementation of the function and to make it easier to retrieve the function. The lines where the function definition is located has been re-indented, as well as its left curly bracket placed in the correct position. Signed-off-by: Xin Wang <yw987194828@gmail.com> Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-27i386: Disable Intel Xeon Phi tests for GCC 15 and above (BZ 31782)Sunil K Pandey1-1/+7
This patch disables Intel Xeon Phi tests for GCC 15 and above. GCC 15 removed Intel Xeon Phi ISA support. commit e1a7e2c54d52d0ba374735e285b617af44841ace Author: Haochen Jiang <haochen.jiang@intel.com> Date: Mon May 20 10:43:44 2024 +0800 i386: Remove Xeon Phi ISA support Fixes BZ 31782. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-27difftime is pure, not constPaul Eggert1-2/+2
Because difftime's behavior depends on the floating-point environment, the function is pure, not const (BZ 31802). Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-05-27parse_fdinfo: Don't advance pointer twice [BZ #31798]H.J. Lu1-1/+3
pidfd_getpid.c has /* Ignore invalid large values. */ if (INT_MULTIPLY_WRAPV (10, n, &n) || INT_ADD_WRAPV (n, *l++ - '0', &n)) return -1; For GCC older than GCC 7, INT_ADD_WRAPV(a, b, r) is defined as _GL_INT_OP_WRAPV (a, b, r, +, _GL_INT_ADD_RANGE_OVERFLOW) and *l++ - '0' is evaluated twice. Fix BZ #31798 by moving "l++" out of the if statement. Tested with GCC 6.4 and GCC 14.1. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-05-25elf/Makefile: Split and sort PIE testsH.J. Lu1-3/+13
Put each item on a separate line and sort PIE tests. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-24Revert "Test fscanf of long double without <stdio.h>"H.J. Lu3-39/+0
This reverts commit 30a745450e01e4c6f484dc691c16a54a6ea72288. On ppc64le, without <stdio.h>, vfscanf is used and with <stdio.h> __isoc23_vfscanfieee128 is used. I am reverting this since it doesn't work on all targets.
2024-05-24sysdeps/ieee754/ldbl-opt/Makefile: Split and sort libnldbl-callsH.J. Lu1-42/+233
Put each item on a separate line and sort libnldbl-calls. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-24Test fscanf of long double without <stdio.h>H.J. Lu3-0/+39
Add a test for fscanf of long double without including <stdio.h>. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com>
2024-05-24sysdeps/ieee754/ldbl-opt/Makefile: Remove test-nldbl-redirect-staticH.J. Lu1-1/+0
Remove $(objpfx)test-nldbl-redirect-static checked in by accident. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-24sysdeps/ieee754/ldbl-opt/Makefile: Split and sort testsH.J. Lu1-10/+18
Put each test on a separate line and sort tests. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-24s390x: Regenerate ULPs.Stefan Liebler1-0/+20
Needed due to: "Implement C23 log2p1" commit ID 79c52daf4740b00bef43e4f5a4281b3480459b38
2024-05-23powerpc: Remove duplicated versionsort from libm.a (BZ 31789)Adhemerval Zanella1-1/+1
The powerpc32 have an extra versionsort provided by LFS versionsort64.o. It seems that 5226a81f5517bcbc892679cca792006a6bafc53f used the wrong check to create the alias for the LFS to non-LFS version. It should not matter for _DIRENT_MATCHES_DIRENT64 since both symbols have the same implementation. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-23Update kernel version to 6.9 in header constant testsJoseph Myers2-3/+3
This patch updates the kernel version in the tests tst-mman-consts.py and tst-mount-consts.py to 6.9. (There are no new constants covered by these tests in 6.9 that need any other header changes; tst-pidfd-consts.py was updated separately along with adding new constants relevant to that test.) Tested with build-many-glibcs.py.
2024-05-23localedata: cv_RU: update translationMike FABIAN2-209/+102
Resolves: BZ # 21271
2024-05-23math: Provide missing math symbols on libc.a (BZ 31781)Adhemerval Zanella3-6/+6
The libc.a for alpha, s390, and sparcv9 does not provide copysignf64x, copysignf128, frexpf64x, frexpf128, modff64x, and modff128. Checked with a static build for the affected ABIs. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-23s390: Make utmp32, utmpx32, and login32 shared only (BZ 31790)Adhemerval Zanella1-0/+1
The function that work with 'struct utmp32' and 'struct utmpx32' are only for compat symbols. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-23microblaze: Remove cacheflush from libc.a (BZ 31788)Adhemerval Zanella1-2/+0
microblaze does not export it in libc.so nor the kernel provides the cacheflush syscall. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-23powerpc: Remove duplicated llrintf and llrintf32 from libm.a (BZ 31787)Adhemerval Zanella2-0/+8
Both the generic and POWER6 versions provide definitions of the symbol, which are already provided by the ifunc resolver. Checked on powerpc-linux-gnu-power4. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-23powerpc: Remove duplicate strchrnul and strncasecmp_l libc.a (BZ 31786)Adhemerval Zanella3-1/+19
For powerpc64 the generic version provides a weak definition of strchrnul, which are already provided by the ifunc resolver. The powerpc32 version is slight different, where for static case there is no iFUNC support. The strncasecmp_l is provided ifunc resolver. Checked on powerpc-linux-gnu-power4 and powerpc64-linux-gnu. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-23loongarch: Remove duplicate strnlen in libc.a (BZ 31785)Adhemerval Zanella1-0/+2
The generic version provides weak definitions of strnlen, which are already provided by the ifunc resolver. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-23aarch64: Remove duplicate memchr/strlen in libc.a (BZ 31777)Adhemerval Zanella2-0/+6
The generic version provides weak definitions of memchr/strlen, which are already provided by the ifunc resolvers. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-23Update PIDFD_* constants for Linux 6.9Joseph Myers2-9/+8
Linux 6.9 adds some more PIDFD_* constants. Add them to glibc's sys/pidfd.h, including updating comments that said FLAGS was reserved and must be 0, along with updating tst-pidfd-consts.py. Tested with build-many-glibcs.py.
2024-05-22Define write_profiling functions only in profile library [BZ #31756]H.J. Lu1-1/+2
libc.so doesn't use nor export write_profiling functions. There is no point to define them in libc.so nor in libc.a. Fix BZ #31756 by defining them only in profile library. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-05-22Don't provide XXXf128_do_not_use aliases [BZ #31757]H.J. Lu4-0/+10
Don't provide __nexttowardf128_do_not_use, nexttowardf128_do_not_use, finitef128_do_not_use, isinff128_do_not_use and isnanf128_do_not_use. This fixes BZ #31757. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-05-22Don't provide scalb/significand _FloatN aliases [BZ #31760]H.J. Lu2-0/+24
scalb is a deprecated interface which was obsolescent in POSIX.1-2001, removed in POSIX.1-2008, never made to C standard. significant was originally from BSD and never made in any standard. Fix BZ #31760 by not providing _FloatN aliases for them. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-05-21math: Fix isnanf128 static build (BZ 31774)Adhemerval Zanella1-0/+4
Some static implementation of float128 routines might call __isnanf128, which is not provided by the static object. Checked on x86_64-linux-gnu. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-21math: Add support for auto static math testsAdhemerval Zanella12-5/+133
It basically copy the already in place rules for dynamic tests for auto-generated math functions for all support types. To avoid the need to duplicate .inc files, a .SECONDEXPANSION rules is adeed for the gen-libm-test.py generation. New tests are added on the new rules 'libm-test-funcs-auto-static', 'libm-test-funcs-noauto-static', and 'libm-test-funcs-narrow-static'; similar to the non-static counterparts. To avoid add extra build and disk requirement, the new math static tests are only enable with a new define 'build-math-static-tests'. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2024-05-21Change _IO_stderr_/_IO_stdin_/_IO_stdout to compat symbols [BZ #31766]H.J. Lu1-0/+4
Since Glibc never provides symbol binary compatibility for relocatable files, fix BZ #31766 by changing _IO_stderr_/_IO_stdin_/_IO_stdout to compat symbols. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com>
2024-05-21Obsolete _dl_mcount_wrapper in glibc 2.40 [BZ #31765]H.J. Lu1-1/+5
There is no _dl_mcount_wrapper prototype in any installed header files. Fix BZ #31765 by changing _dl_mcount_wrapper to a compat symbol and obsolete it in glibc 2.40. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com>
2024-05-21math: Fix i386 and m68k exp10 on static build (BZ 31775)Adhemerval Zanella2-4/+14
The commit 08ddd26814 removed the static exp10 on i386 and m68k with an empty w_exp10.c (required for the ABIs that uses the newly implementation). This patch fixes by adding the required symbols on the arch-specific w_exp{f}_compat.c implementation. Checked on i686-linux-gnu and with a build for m68k-linux-gnu. Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
2024-05-21math: Fix i386 and m68k fmod/fmodf on static build (BZ 31488)Adhemerval Zanella5-13/+17
The commit 16439f419b removed the static fmod/fmodf on i386 and m68k with and empty w_fmod.c (required for the ABIs that uses the newly implementation). This patch fixes by adding the required symbols on the arch-specific w_fmod{f}_compat.c implementation. To statically build fmod fails on some ABI (alpha, s390, sparc) because it does not export the ldexpf128, this is also fixed by this patch. Checked on i686-linux-gnu and with a build for m68k-linux-gnu. Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Tested-by: Aurelien Jarno <aurelien@aurel32.net>
2024-05-21Remove the clone3 symbol from libc.a [BZ #31770]H.J. Lu11-11/+0
clone3 isn't exported from glibc and is hidden in libc.so. Fix BZ #31770 by removing clone3 alias. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2024-05-21aarch64/fpu: Add vector variants of powJoe Ramsay21-12/+2236
Plus a small amount of moving includes around in order to be able to remove duplicate definition of asuint64. Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
2024-05-21Compile libmvec with -fno-math-errnoJoe Ramsay1-3/+4
Rounding intrinsics may not be inlined without -fno-math-errno. libmvec is free to do what it likes with errno, so disable it for better performance. Tested with no regression on aarch64 and x86_64. Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
2024-05-21manual: clarify defintions of floating point exponent bounds (bug 31518)Andreas Schwab1-5/+5
For decimal exponent bounds the range is inclusive, for binary exponent bounds the range is exclusive.
2024-05-21LoongArch: Update ulpscaiyinyu1-0/+20
For the log2p1 implementation.
2024-05-21LoongArch: Fix tst-gnu2-tls2 compiler errormengqinggang3-2/+8
Add -mno-lsx to tst-gnu2-tlsmod*.c if gcc support -mno-lsx. Add escape character '\' in vector support test function.
2024-05-20resolv: Make _res_opcodes a compat symbol [BZ #31764]H.J. Lu1-0/+1
_res_opcodes was exported by accident as a variable. Fix BZ #31764 by making _res_opcodes a compat symbol. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com>
2024-05-20i386: Don't define stpncpy alias when used in IFUNC [BZ #31768]H.J. Lu1-0/+2
Fix BZ #31768 by not defining stpncpy alias when used in IFUNC. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com>
2024-05-20powerpc: Update ulpsAdhemerval Zanella1-0/+24
For the log2p1 implementation.
2024-05-20arm: Update ulpsAdhemerval Zanella1-0/+16
For the log2p1 implementation.
2024-05-20aarch64: Update ulpsAdhemerval Zanella1-0/+20
For the log2p1 implementation.
2024-05-20math: Add more details to the test driver output.Joe Simmons-Talbott3-49/+162
Add start and end indicators that identify the test being run in the verbose output. Better identify the tests for max errors in the summary output. Count each exception checked for each test. Remove double counting of tests for the check_<type> functions other than check_float_internal. Rename print_max_error and print_complex_max_error to check_max_error and check_complex_max_error respectively since they have side effects. Co-Authored-By: Carlos O'Donell <carlos@redhat.com> Reviewed-By: Joseph Myers <josmyers@redhat.com>
2024-05-20Implement C23 log2p1Joseph Myers52-2/+3206
C23 adds various <math.h> function families originally defined in TS 18661-4. Add the log2p1 functions (log2(1+x): like log1p, but for base-2 logarithms). This illustrates the intended structure of implementations of all these function families: define them initially with a type-generic template implementation. If someone wishes to add type-specific implementations, it is likely such implementations can be both faster and more accurate than the type-generic one and can then override it for types for which they are implemented (adding benchmarks would be desirable in such cases to demonstrate that a new implementation is indeed faster). The test inputs are copied from those for log1p. Note that these changes make gen-auto-libm-tests depend on MPFR 4.2 (or later). The bulk of the changes are fairly generic for any such new function. (sysdeps/powerpc/nofpu/Makefile only needs changing for those type-generic templates that use fabs.) Tested for x86_64 and x86, and with build-many-glibcs.py.
2024-05-20Update syscall lists for Linux 6.9Joseph Myers1-2/+2
Linux 6.9 has no new syscalls. Update the version number in syscall-names.list to reflect that it is still current for 6.9. Tested with build-many-glibcs.py.
2024-05-20Rename procutils_read_file to __libc_procutils_read_file [BZ #31755]H.J. Lu3-5/+7
Fix BZ #31755 by renaming the internal function procutils_read_file to __libc_procutils_read_file. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>