aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2025-01-06nptl: Add <thread_pointer.h> for microblazeMichael Jeanson1-0/+30
This will be required by the rseq extensible ABI implementation on all Linux architectures exposing the '__rseq_size' and '__rseq_offset' symbols to set the initial value of the 'cpu_id' field which can be used by applications to test if rseq is available and registered. As long as the symbols are exposed it is valid for an application to perform this test even if rseq is not yet implemented in libc for this architecture. Compile tested with build-many-glibcs.py but I don't have access to any hardware to run the tests. Signed-off-by: Michael Jeanson <mjeanson@efficios.com> Reviewed-by: Florian Weimer <fweimer@redhat.com>
2025-01-06math: update i686 multiarch ulpsAndreas K. Hüttel1-36/+36
Linux waikiki 6.6.53-gentoo #1 SMP Wed Oct 2 13:21:27 CEST 2024 x86_64 AMD EPYC 7532 32-Core Processor AuthenticAMD GNU/Linux Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
2025-01-06hurd: Fix shutdown() errno on non-sockSamuel Thibault1-0/+5
2025-01-06math: update mips64 ulpsAndreas K. Hüttel1-0/+141
Linux matoro-mipsdev 6.12.0-gentoo-mips #2 SMP Tue Nov 19 15:34:04 EST 2024 mips64 Cavium Octeon II V0.10 EBB6800 (CN6880p2.2-1200-AAP) GNU/Linux Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
2025-01-06LoongArch: Regenerate preconfigure. [bug 32521]mengqinggang2-0/+2
Add "mtls_descriptor=desc" to preconfigure.ac and regenerate preconfigure. Fix failure: elf/tst-gnu2-tls2. Reported-by: Joseph S. Myers <josmyers@redhat.com> Reported-by: Andreas K. Huettel <dilfridge@gentoo.org>
2025-01-06or1k: Update nofpu libm-test-ulpsStafford Horne1-12/+8
Updates tolerances due to change to use CORE-MATH
2025-01-05math: update alpha ulpsAndreas K. Hüttel1-12/+96
Linux matoro-alphadev 6.12.3-gentoo-alpha #1 Sun Dec 8 04:39:11 EST 2024 alpha EV68CB Titan GNU/Linux Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
2025-01-05loongarch: Drop __GI_XXX for strcpy/stpcpy IFUNC implementationsH.J. Lu4-5/+0
There is no need for __GI_XXX symbols, like __GI___strcpy_aligned since __strcpy_aligned is used directly. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
2025-01-04hppa: Update libm-test-ulpsJohn David Anglin1-13/+13
Signed-off-by: John David Anglin <dave.anglin@bell.net>
2025-01-04math: update loongarch64 ulpsAndreas K. Hüttel1-0/+140
Linux matoro-loongdev 6.12.0-gentoo-loongarch64 #1 SMP PREEMPT Fri Nov 22 00:38:46 EST 2024 loongarch64 GNU/Linux Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
2025-01-04Regenerate libc.potAndreas K. Hüttel1-33/+33
Only changes to line numbers Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
2025-01-04loongarch: Provide stpcpy in stpcpy-aligned.S for rtld [BZ #32512]H.J. Lu1-0/+1
When stpcpy-aligned.S is used in rtld, provide stpcpy as a weak alias of __stpcpy. This fixes BZ #32512. Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2025-01-03AArch64: Improve codegen in SVE expm1f and usersLuna Lamb4-45/+44
Use unpredicated muls, use absolute compare and improve memory access. Expm1f, sinhf and tanhf show 7%, 5% and 1% improvement in throughput microbenchmark on Neoverse V1.
2025-01-03AArch64: Add vector tanpi routinesJoe Ramsay16-2/+361
Vector variant of the new C23 tanpi. New tests pass on AArch64.
2025-01-03AArch64: Add vector cospi routinesJoe Ramsay16-1/+344
Vector variant of the new C23 cospi. New tests pass on AArch64.
2025-01-03AArch64: Add vector sinpi to libmvecJoe Ramsay16-1/+334
Vector variant of the new C23 sinpi. New tests pass on AArch64.
2025-01-03math: Remove no-mathvec flagJoe Ramsay9-220/+215
More routines are to follow, some of which hit many failures in the current testsuite due to wrong sign of zero (mathvec routines are not required to get this right). Instead of disabling a large number of tests, change the failure condition such that, for vector routines, tests pass as long as computed == expected == 0.0, regardless of sign. Affected tests (vector tests for expm1, log1p, sin, tan and tanh) all still pass.
2025-01-03AArch64: Improve codegen for SVE log1pf usersYat Long Poon5-122/+95
Reduce memory access by using lanewise MLA and reduce number of MOVPRFXs. Move log1pf implementation to inline helper function. Speedup on Neoverse V1 for log1pf (10%), acoshf (-1%), atanhf (2%), asinhf (2%).
2025-01-03AArch64: Improve codegen for SVE logsYat Long Poon4-47/+114
Reduce memory access by using lanewise MLA and moving constants to struct and reduce number of MOVPRFXs. Update maximum ULP error for double log_sve from 1 to 2. Speedup on Neoverse V1 for log (3%), log2 (5%), and log10 (4%).
2025-01-03AArch64: Improve codegen in SVE tansLuna Lamb2-41/+68
Improves memory access. Tan: MOVPRFX 7 -> 2, LD1RD 12 -> 5, move MOV away from return. Tanf: MOV 2 -> 1, MOVPRFX 6 -> 3, LD1RW 5 -> 4, move mov away from return.
2025-01-03AArch64: Improve codegen in AdvSIMD asinhLuna Lamb1-55/+119
Improves memory access and removes spills. Load the polynomial evaluation coefficients into 2 vectors and use lanewise MLAs. Reduces MOVs 6->3 , LDR 11->5, STR/STP 2->0, ADRP 3->2.
2025-01-04math: Add a reference to Clang's <tgmath.h> C23 issueH.J. Lu1-0/+1
Clang's <tgmath.h> doesn't support all C23 functions in glibc's <tgmath.h>: https://github.com/llvm/llvm-project/issues/121536 Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
2025-01-04Rename have-mtls-descriptor to have-test-mtls-descriptorH.J. Lu6-65/+33
Since have-mtls-descriptor is only used for glibc testing, rename it to have-test-mtls-descriptor. Also enable tst-gnu2-tls2-amx only if $(have-test-mtls-descriptor) == gnu2. Tested with GCC 14 and Clang 19/18/17 on x86-64. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
2025-01-03math: update powerpc ulpsAndreas K. Hüttel1-25/+25
Linux timberdoodle 6.1.60-gentoo-dist-hardened #1 SMP Fri Dec 1 22:10:49 UTC 2023 ppc64 POWER9 (architected), altivec supported CHRP IBM pSeries (emulated by qemu) GNU/Linux Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
2025-01-03math: update sparc ulpsAndreas K. Hüttel1-15/+95
Linux catbus 6.1.112 #1 SMP Sun Oct 13 10:52:08 PDT 2024 sparc64 sun4v UltraSparc T5 (Niagara5) GNU/Linux Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
2025-01-03math: update s390 ulpsAndreas K. Hüttel1-15/+95
Linux lgentoo4 6.8.9-gentoo #1 SMP Tue May 7 09:52:48 EDT 2024 s390x 8561 IBM GNU/Linux Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
2025-01-03conform: Do not use __SIG_ATOMIC_TYPE__Adhemerval Zanella2-2/+6
clang does not define __SIG_ATOMIC_TYPE__, instead add another directive ('size:') which instruct to use an integer type of defined minimum size. Reviewed-by: Sam James <sam@gentoo.org>
2025-01-03Redirect mempcpy and stpcpy only in libc.aH.J. Lu1-1/+1
The mempcpy and stpcpy redirections to __mempcpy and __stpcpy were added by commit 939da41143341bbcdd3dd50ee7b57776603da260 Author: Joseph Myers <joseph@codesourcery.com> Date: Wed Nov 12 22:36:34 2014 +0000 Fix stpcpy / mempcpy namespace (bug 17573). to fix the namespace bug since __mempcpy and __stpcpy were defined as macros in <bits/string2.h>. These macros call __builtin_mempcpy and __builtin_stpcpy which may end up calling the C functions mempcpy and stpcpy. In libc.so, libc_hidden_builtin_proto ensures that calls to mempcpy and stpcpy are in turn mapped to call __GI_mempcpy and __GI_stpcpy. The redirections were applied outside of libc.so, including libc.a, to map mempcpy and stpcpy to __mempcpy and __stpcpy. Since commit 18b10de7ced9e9c3843299fb600e40b11af3e0af Author: Wilco Dijkstra <wdijkstr@arm.com> Date: Mon Jun 12 15:19:38 2017 +0100 2017-06-12 Wilco Dijkstra <wdijkstr@arm.com> There is no longer a need for string2.h, so remove it and all mention of it. Move the redirect for __stpcpy to include/string.h since it is still required until all internal uses have been renamed. This fixes several linknamespace/localplt failures when building with -Os. removed the __mempcpy and __stpcpy macros from the public header file, limit these redirections to libc.a to avoid Clang error: In file included from tst-iconv-sticky-input-error.c:22: In file included from ./gconv_int.h:24: ../include/string.h:182:44: error: attribute declaration must precede definition [-Werror,-Wignored-attributes] 182 | extern __typeof (mempcpy) mempcpy __asm__ ("__mempcpy"); | ^ ../string/bits/string_fortified.h:42:8: note: previous definition is here 42 | __NTH (mempcpy (void *__restrict __dest, const void *__restrict __src, | ^ when testing with Clang for fortify build. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
2025-01-03not-cancel.h: Support testing fortify build with ClangH.J. Lu1-5/+5
When Clang is used to test fortify glibc build configured with --enable-fortify-source=N clang issues errors like In file included from tst-rfc3484.c:60: In file included from ./getaddrinfo.c:81: ../sysdeps/unix/sysv/linux/not-cancel.h:36:10: error: reference to overloaded function could not be resolved; did you mean to call it? 36 | __typeof (open64) __open64_nocancel; | ^~~~~~~~ ../include/bits/../../io/bits/fcntl2.h:127:1: note: possible target for call 127 | open64 (__fortify_clang_overload_arg (const char *, ,__path), int __oflag, | ^ ../include/bits/../../io/bits/fcntl2.h:118:1: note: possible target for call 118 | open64 (__fortify_clang_overload_arg (const char *, ,__path), int __oflag) | ^ ../include/bits/../../io/bits/fcntl2.h:114:1: note: possible target for call 114 | open64 (const char *__path, int __oflag, mode_t __mode, ...) | ^ ../io/fcntl.h:219:12: note: possible target for call 219 | extern int open64 (const char *__file, int __oflag, ...) __nonnull ((1)); | ^ because clang fortify support for functions with variable arguments relies on function overload. Update not-cancel.h to avoid __typeof on functions with variable arguments. Co-Authored-By: Adhemerval Zanella <adhemerval.zanella@linaro.org> Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
2025-01-03tst-unique[34].cc: Use explicit instantiation declaration/definitionH.J. Lu3-22/+51
Use explicit instantiation declaration and definition to silence Clang error: tst-unique3.cc:6:18: error: instantiation of variable 'S<char>::i' required here, but no definition is available [-Werror,-Wundefined-var-template] 6 | int t = S<char>::i; | ^ ./tst-unique3.h:5:14: note: forward declaration of template entity is here 5 | static int i; | ^ tst-unique3.cc:6:18: note: add an explicit instantiation declaration to suppress this warning if 'S<char>::i' is explicitly instantiated in another translation unit 6 | int t = S<char>::i; | ^ Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
2025-01-02RISC-V: Regenerate ULPsAurelien Jarno1-1/+158
Generated on a VisionFive 2 board running Linux version 6.12.6 and GCC 14.2.0. Needed due to: - commit bbd578b38df4 ("math: Use expm1f from CORE-MATH") - commit 8ae9e513762b ("math: Use log1pf from CORE-MATH") - commit 0ae0af68d8fa ("Implement C23 cospi") - commit 776938e8b8dc ("Implement C23 sinpi") - commit f9e90e4b4ce7 ("Implement C23 tanpi") - commit 28d102d15c6a ("Implement C23 acospi") - commit f962932206ec ("Implement C23 asinpi") - commit ffe79c446ced ("Implement C23 atanpi") - commit 3374de90386f ("Implement C23 atan2pi") - commit a357d6273f79 ("math: Use atanf from CORE-MATH") - commit 6f9bacf36b20 ("math: Use atan2f from CORE-MATH") - commit e5ca265a9c90 ("new inputs with large errors for [a]cospi, [a]sinpi, [a]tanpi, atan2pi") Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2025-01-02mlock, mlock2, munlock: Use __attr_access_none macroSam James2-3/+3
This fixes build failures using GCC 7.5.0 against glibc headers, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118194#c5. Followup to 013106ae677af9836614ace1a01d25b63fa555a7. Reported-by: vvinayag@arm.com
2025-01-02AArch64: Update libm-test-ulpsWilco Dijkstra1-24/+24
Update ulps for (a)cospi, (a)sinpi, (a)tanpi, atan2pi.
2025-01-02new inputs with large errors for [a]cospi, [a]sinpi, [a]tanpi, atan2piPaul Zimmermann9-33/+2784
These inputs were generated with the programs from https://gitlab.inria.fr/zimmerma/math_accuracy, with rounding to nearest: * for univariate binary32 functions by exhaustive search * for other functions with the "threshold" parameter up to 10^6
2025-01-02stdlib: fix lint failureSam James1-1/+1
Fixes: d5bceac99d24af1131b90027dab267e437b65cd1
2025-01-02stdlib: random_r: fix unaligned access in initstate and initstate_r [BZ #30584]Sam James3-11/+70
The initstate{,_r} interfaces are documented in BSD as needing an aligned array of 32-bit values, but neither POSIX nor glibc's own documentation require it to be aligned. glibc's documentation says it "should" be a power of 2, but not must. Use memcpy to read and write to `state` to handle such an unaligned argument. Co-authored-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Reviewed-by: Florian Weimer <fweimer@redhat.com>
2025-01-02assert: Remove the use of %n from __assert_fail_base (BZ #32456)Adhemerval Zanella3-26/+15
The require size for mmap can be inferred from __vasprintf return value. It also fixes tst-assert-2 when building with --enable-fortify, where even if the format is not translated, __readonly_area fails because malloc can not be used. Checked on aarch64-linux-gnu. Reviewed-by: Florian Weimer <fweimer@redhat.com>
2025-01-02Translations: Regenerate libc.potAdhemerval Zanella1-126/+152
Reviewed-by: Florian Weimer <fweimer@redhat.com>
2025-01-02elf: Remove the remaining uses of GET_ADDR_OFFSETFlorian Weimer9-10/+5
Expand the macro where it is used in static definitions of __tls_get_addr. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2025-01-02elf: Use TLS_DTV_OFFSET in __tls_get_addrFlorian Weimer1-4/+16
This fixes commit 5e249192cac7354af02a7347a0d8c984e0c88ed3 ("elf: Remove the GET_ADDR_ARGS and related macros from the TLS code"): GET_ADDR_ARGS was indeed unused, but GET_ADDR_OFFSET was used on several targets, those that define TLS_DTV_OFFSET. Instead of reintroducing GET_ADDR_OFFSET, use TLS_DTV_OFFSET directly, now that it is defined on all targets. In the new tls_get_addr_adjust helper function, add a cast to uintptr_t to help the s390 case, where the offset can be positive or negative, depending on the addresses malloc returns. The cast avoids pointer wraparound/overflow. The outer uintptr_t cast is needed to suppress a warning on x86-64 x32 about mismatched integer/pointer sizes. Eventually this offset should be folded into the DTV addresses themselves, to eliminate the subtraction on the TLS fast path. This will require an adjustment to libthread_db because the debugger interface currently returns unadjusted pointers. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2025-01-02s390: Define TLS_DTV_OFFSET instead of GET_ADDR_OFFSETFlorian Weimer1-3/+3
This will be used in __tls_get_addr to adjust the returned pointer value. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2025-01-02elf: Introduce generic <dl-tls.h>Florian Weimer13-277/+43
On arc, the definition of TLS_DTV_UNALLOCATED now comes from <dl-dtv.h>. For x86-64 x32, a separate version is needed because unsigned long int is 32 bits on this target. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2025-01-02powerpc: Update acosf ulpsFlorian Weimer1-0/+2
As seen on powerpc64le-linux-gnu with GCC 11 defaulting to POWER9 instructions.
2025-01-02htl: move pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling ↵gfleury9-13/+37
into libc. Message-ID: <20241231134909.1166440-9-gfleury@disroot.org>
2025-01-02htl: move pthread_mutexattr_{setrobust, setrobust_np}, ↵gfleury9-19/+59
pthread_mutexattr_{getrobust, getrobust_np} into libc. Message-ID: <20241231134909.1166440-8-gfleury@disroot.org>
2025-01-02htl: move pthread_mutexattr_setpshared, pthread_mutexattr_getpshared into libc.gfleury9-12/+41
Message-ID: <20241231134909.1166440-7-gfleury@disroot.org>
2025-01-02htl: move pthread_mutexattr_settype, pthread_mutexattr_gettype into libc.gfleury9-11/+37
Message-ID: <20241231134909.1166440-6-gfleury@disroot.org>
2025-01-02htl: move pthread_mutexattr_setprotocol into libc.Samuel Thibault8-6/+21
Message-ID: <20241231134909.1166440-5-gfleury@disroot.org>
2025-01-02htl: move pthread_mutexattr_getprotocol into libc.gfleury8-6/+20
Message-ID: <20241231134909.1166440-4-gfleury@disroot.org>
2025-01-01htl: move pthread_mutexattr_destroy into libc.gfleury8-7/+9
Message-ID: <20241231134909.1166440-3-gfleury@disroot.org>