Joseph Myers
77261698b4
Implement C23 rsqrt
...
C23 adds various <math.h> function families originally defined in TS
18661-4. Add the rsqrt functions (1/sqrt(x)). The test inputs are
taken from those for sqrt.
Tested for x86_64 and x86, and with build-many-glibcs.py.
2025-03-07 19:15:26 +00:00
Samuel Thibault
81c4ec1ca8
htl: Make __pthread_sigmask directly call __sigthreadmask
...
If no thread was created yet, __pthread_sigstate will not find our ss
because self->kernel_thread is still nul, and then change the global
sigstate instead of our sigstate! We can directly call __sigthreadmask and
skip the (bogus) lookup step.
2025-03-06 02:28:35 +01:00
Samuel Thibault
7a185eb9e9
hurd: Consolidate signal mask change
...
__pthread_sigstate and __sigprocmask were already the same, except for
clear_pending.
2025-03-06 02:28:35 +01:00
Adhemerval Zanella
1d60b9dfda
Remove dl-procinfo.h
...
powerpc was the only architecture with arch-specific hooks for
LD_SHOW_AUXV, and with the information moved to ld diagnostics there
is no need to keep the _dl_procinfo hook.
Checked with a build for all affected ABIs.
Reviewed-by: Peter Bergner <bergner@linux.ibm.com>
2025-03-05 11:22:09 -03:00
Samuel Thibault
ccdb68e829
htl: move pthread_once into libc
2025-03-02 15:37:33 +01:00
gfleury
6f6732c1c4
htl: move pthread_rwlock_init into libc.
...
Signed-off-by: gfleury <gfleury@disroot.org>
Message-ID: <20250216145434.7089-10-gfleury@disroot.org>
2025-02-16 23:43:03 +01:00
gfleury
d3ef1b56aa
htl: move pthread_rwlock_destroy into libc.
...
Signed-off-by: gfleury <gfleury@disroot.org>
Message-ID: <20250216145434.7089-9-gfleury@disroot.org>
2025-02-16 23:42:38 +01:00
gfleury
25650ef6b9
htl: move pthread_rwlock_{rdlock, timedrdlock, timedwrlock, wrlock, clockrdlock, clockwrlock} into libc.
...
Signed-off-by: gfleury <gfleury@disroot.org>
Message-ID: <20250216145434.7089-8-gfleury@disroot.org>
2025-02-16 23:08:54 +01:00
gfleury
119798a7b1
htl: move pthread_rwlock_unlock into libc.
...
Signed-off-by: gfleury <gfleury@disroot.org>
Message-ID: <20250216145434.7089-7-gfleury@disroot.org>
2025-02-16 23:08:54 +01:00
gfleury
18accc19b9
htl: move pthread_rwlock_tryrdlock, pthread_rwlock_trywrlock into libc.
...
Signed-off-by: gfleury <gfleury@disroot.org>
Message-ID: <20250216145434.7089-6-gfleury@disroot.org>
2025-02-16 22:59:34 +01:00
gfleury
4b25413df5
htl: move pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared into libc.
...
Signed-off-by: gfleury <gfleury@disroot.org>
Message-ID: <20250216145434.7089-5-gfleury@disroot.org>
2025-02-16 22:59:25 +01:00
gfleury
cd2d31ed58
htl: move pthread_rwlockattr_destroy into libc.
...
Signed-off-by: gfleury <gfleury@disroot.org>
Message-ID: <20250216145434.7089-4-gfleury@disroot.org>
2025-02-16 22:59:16 +01:00
gfleury
e618b671cd
htl: move pthread_rwlockattr_init into libc.
...
Signed-off-by: gfleury <gfleury@disroot.org>
Message-ID: <20250216145434.7089-3-gfleury@disroot.org>
2025-02-16 22:59:07 +01:00
Samuel Thibault
392261a2b6
hurd: Replace char foo[1024] with string_t
...
Like already done in various other places and advised by Roland in
https://lists.gnu.org/archive/html/bug-hurd/2012-04/msg00124.html
2025-02-10 20:10:59 +01:00
Samuel Thibault
659fa18dde
hurd: Drop useless buffer initialization in ttyname*
...
The RPC stub will write a string anyway.
2025-02-10 20:10:59 +01:00
gfleury
710bbc9659
htl: move pthread_barrier_wait into libc.
...
Message-ID: <20250209200108.865599-8-gfleury@disroot.org>
2025-02-10 01:39:17 +01:00
gfleury
2789003489
htl: move pthread_barrier_init into libc.
...
Message-ID: <20250209200108.865599-7-gfleury@disroot.org>
2025-02-10 01:39:17 +01:00
gfleury
735c9b73d6
htl: move pthread_barrier_destroy into libc.
...
Message-ID: <20250209200108.865599-6-gfleury@disroot.org>
2025-02-10 01:39:17 +01:00
gfleury
ccf19a68ab
htl: move pthread_barrierattr_getpshared, pthread_barrierattr_setpshared into libc.
...
Message-ID: <20250209200108.865599-5-gfleury@disroot.org>
2025-02-10 01:39:17 +01:00
gfleury
ca2a95ee67
htl: move pthread_barrierattr_init into libc.
...
Message-ID: <20250209200108.865599-4-gfleury@disroot.org>
2025-02-10 01:18:56 +01:00
gfleury
40cbd3c361
htl: move pthread_barrierattr_destroy into libc.
...
Message-ID: <20250209200108.865599-3-gfleury@disroot.org>
2025-02-10 01:18:17 +01:00
Sergey Bugaev
a7aad6e2b7
hurd: Use the new __proc_reauthenticate_complete protocol
2025-02-01 18:20:42 +01:00
gfleury
cf51d18b9d
htl: move pthread_setcancelstate into libc.
...
sysdeps/pthread/sem_open.c: call pthread_setcancelstate directely
since forward declaration is gone on hurd too
Message-ID: <20250201080202.494671-1-gfleury@disroot.org>
2025-02-01 11:24:14 +01:00
gfleury
9a31eb64db
htl: move pthread_setcanceltype into libc.
...
Message-ID: <20250103103750.870897-7-gfleury@disroot.org>
2025-01-29 02:32:36 +01:00
gfleury
265c5991af
htl: move pthread_mutex_consistent, pthread_mutex_consistent_np into libc.
...
Message-ID: <20250103103750.870897-6-gfleury@disroot.org>
2025-01-29 02:32:36 +01:00
gfleury
8bfabe7a92
htl: move pthread_mutex_destroy into libc.
...
Message-ID: <20250103103750.870897-5-gfleury@disroot.org>
2025-01-29 02:32:36 +01:00
gfleury
be9f0e7681
htl: move pthread_mutex_getprioceiling, pthread_mutex_setprioceiling into libc
...
Message-ID: <20250103103750.870897-4-gfleury@disroot.org>
2025-01-29 02:32:36 +01:00
gfleury
2ebc2d8e24
htl: move pthread_mutex_{lock, unlock, trylock, timedlock, clocklock}
...
I haven't exposed _pthread_mutex_lock, _pthread_mutex_trylock and
_pthread_mutex_unlock in GLIBC_PRIVATE since there aren't used in any
code in libpthread
Message-ID: <20250103103750.870897-3-gfleury@disroot.org>
2025-01-29 02:32:36 +01:00
gfleury
e892a93073
htl: move pthread_mutex_init into libc.
...
Message-ID: <20250103103750.870897-2-gfleury@disroot.org>
2025-01-29 02:32:36 +01:00
Samuel Thibault
8ef1791950
hurd: Fix EINVAL error on linking to a slash-trailing path [BZ #32569 ]
...
When the target path finishes with a slash, __file_name_split_at returns
an empty file name. We can test for this to refuse doing the link.
2025-01-19 15:11:44 +01:00
Samuel Thibault
e9f16cb6d1
hurd: Set _POSIX_MONOTONIC_CLOCK to 200809L
...
Now that CLOCK_MONOTONIC is supported.
2025-01-12 22:47:00 +01:00
Samuel Thibault
73b854e955
hurd: Mark more memory-hungry tests as unsupported
...
until RLIMIT_AS support gets commited in gnumach.
2025-01-12 16:06:00 +01:00
Samuel Thibault
dbe3e6e022
hurd: Mark more memory-hungry tests as unsupported
...
until RLIMIT_AS support gets commited in gnumach.
2025-01-12 01:03:13 +01:00
Samuel Thibault
1a09aa03ee
hurd: Mark tst-tls-allocation-failure-static-patched as supported
...
The failure was not due to RLIMIT_AS but unsupported intentional early
abort.
2025-01-12 00:55:56 +01:00
Samuel Thibault
0c48562508
hurd: Cope with signals sent to ourself early
...
Typically when aborting during initialization, before signals are set
up.
2025-01-12 00:55:56 +01:00
Samuel Thibault
53a71b9f66
hurd: Mark more memory-hungry tests as unsupported
...
until RLIMIT_AS support gets commited in gnumach.
2025-01-11 04:17:38 +01:00
Samuel Thibault
75fed76dfd
hurd: Accept null arguments for utimensat pathname
...
This follows Linux' behavior, making it a replacement for the futimens
interface.
2025-01-07 01:36:43 +01:00
Samuel Thibault
6ab5980f4c
hurd: Fix shutdown() errno on non-sock
2025-01-06 18:03:16 +01:00
gfleury
396048fa5a
htl: move pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling into libc.
...
Message-ID: <20241231134909.1166440-9-gfleury@disroot.org>
2025-01-02 01:20:21 +01:00
gfleury
4371b11c86
htl: move pthread_mutexattr_{setrobust, setrobust_np}, pthread_mutexattr_{getrobust, getrobust_np} into libc.
...
Message-ID: <20241231134909.1166440-8-gfleury@disroot.org>
2025-01-02 01:20:20 +01:00
gfleury
1e5b39a5e0
htl: move pthread_mutexattr_setpshared, pthread_mutexattr_getpshared into libc.
...
Message-ID: <20241231134909.1166440-7-gfleury@disroot.org>
2025-01-02 01:19:29 +01:00
gfleury
b386295727
htl: move pthread_mutexattr_settype, pthread_mutexattr_gettype into libc.
...
Message-ID: <20241231134909.1166440-6-gfleury@disroot.org>
2025-01-02 00:51:35 +01:00
Samuel Thibault
3cd1cf5fe0
htl: move pthread_mutexattr_setprotocol into libc.
...
Message-ID: <20241231134909.1166440-5-gfleury@disroot.org>
2025-01-02 00:51:17 +01:00
gfleury
15686aa188
htl: move pthread_mutexattr_getprotocol into libc.
...
Message-ID: <20241231134909.1166440-4-gfleury@disroot.org>
2025-01-02 00:51:05 +01:00
gfleury
beabc5dff5
htl: move pthread_mutexattr_destroy into libc.
...
Message-ID: <20241231134909.1166440-3-gfleury@disroot.org>
2025-01-01 23:46:19 +01:00
gfleury
826b1bbcca
htl: move pthread_mutexattr_init into libc.
...
Message-ID: <20241231134909.1166440-2-gfleury@disroot.org>
2025-01-01 23:44:32 +01:00
Samuel Thibault
cf13f740a9
bits/socket.h: Update to recent BSD definition
...
The old BSD 4.4 definition (not used by Linux) was not 64b-proof: the
cmsg_data field is supposed to CMSG_ALIGN'ed (as can be also seen in the
CMSG_LEN macro).
Suggested-by: Diego Nieto Cid <dnietoc@gmail.com>
2025-01-01 22:11:13 +01:00
Paul Eggert
2642002380
Update copyright dates with scripts/update-copyrights
2025-01-01 11:22:09 -08:00
Adhemerval Zanella
0ca8785a28
elf: Do not change stack permission on dlopen/dlmopen
...
If some shared library loaded with dlopen/dlmopen requires an executable
stack, either implicitly because of a missing GNU_STACK ELF header
(where the ABI default flags implies in the executable bit) or explicitly
because of the executable bit from GNU_STACK; the loader will try to set
the both the main thread and all thread stacks (from the pthread cache)
as executable.
Besides the issue where any __nptl_change_stack_perm failure does not
undo the previous executable transition (meaning that if the library
fails to load, there can be thread stacks with executable stacks), this
behavior was used on a CVE [1] as a vector for RCE.
This patch changes that if a shared library requires an executable
stack, and the current stack is not executable, dlopen fails. The
change is done only for dynamically loaded modules, if the program
or any dependency requires an executable stack, the loader will still
change the main thread before program execution and any thread created
with default stack configuration.
[1] https://www.qualys.com/2023/07/19/cve-2023-38408/rce-openssh-forwarded-ssh-agent.txt
Checked on x86_64-linux-gnu and i686-linux-gnu.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
2024-12-31 09:04:20 -03:00
Samuel Thibault
7fa9e786b6
hurd: Avoid asm statements which return
...
They are not supposed to change flow control.
This fixes miscompilation with gcc 14.2.0 which then drops code, see
https://lists.gnu.org/archive/html/bug-hurd/2024-11/msg00145.html
2024-12-27 01:10:58 +01:00