glibc/sysdeps
Joseph Myers a7ddbf456d Add once_flag, ONCE_FLAG_INIT and call_once to stdlib.h for C23
C23 adds once_flag, ONCE_FLAG_INIT and call_once to stdlib.h (in C11
they were only in threads.h, in C23 they are in both headers; this
change came from N2840).  Implement this change, with a
bits/types/once_flag.h header for the common type and initializer
definitions.

Note that there's an omnibus bug (bug 33001) that covers more than
just these missing definitions.

This doesn't seem a significant enough feature to be worth mentioning
in NEWS.

ISO C is not concerned with whether functions are in libc or
libpthread, but POSIX links this to what header they are declared in,
so functions declared in stdlib.h are supposed to be in libc.
However, the current edition of POSIX is based on C17; hopefully Hurd
glibc will have completed the merge of libpthread into libc (in
particular, moving call_once) well before a future edition of POSIX
based on C23 (or a later version of ISO C) is released.

Tested for x86_64 and x86.
2025-10-01 15:15:15 +00:00
..
aarch64 AArch64: Implement AdvSIMD and SVE log10p1(f) routines 2025-09-27 12:45:59 +00:00
alpha alpha: Fix missing inexact-flag raising for lround/lrint 2025-09-11 14:48:00 -03:00
arc math: Add fetestexcept internal alias 2025-09-11 14:46:07 -03:00
arm math: Add fetestexcept internal alias 2025-09-11 14:46:07 -03:00
csky math: Add fetestexcept internal alias 2025-09-11 14:46:07 -03:00
generic math: Add fetestexcept internal alias 2025-09-11 14:46:07 -03:00
gnu errlist: add missing entries for MIPS/SPARC 2025-08-04 11:13:48 -03:00
hppa math: Add fetestexcept internal alias 2025-09-11 14:46:07 -03:00
htl Remove futex_supports_pshared 2025-09-08 15:01:18 +02:00
hurd htl: move pthread_kill into libc. 2025-08-16 01:44:27 +02:00
i386 math: Remove unused files 2025-09-23 10:29:24 -03:00
ieee754 math: Remove clz_uint64/ctz_uint64 and use stdbit.h 2025-09-11 14:47:25 -03:00
loongarch math: Add fetestexcept internal alias 2025-09-11 14:46:07 -03:00
m68k math: Remove unused files 2025-09-23 10:29:24 -03:00
mach Implement C23 memset_explicit (bug 32378) 2025-10-01 15:14:09 +00:00
microblaze atomic: Switch microblaze to builtin atomics 2025-09-09 13:53:54 +00:00
mips mips: Fix delay slot filling in bsd-setjmp.S 2025-09-23 10:29:24 -03:00
nptl Remove futex_supports_pshared 2025-09-08 15:01:18 +02:00
or1k math: Add fetestexcept internal alias 2025-09-11 14:46:07 -03:00
posix assert: Refactor assert/assert_perror 2025-09-23 10:29:24 -03:00
powerpc math: Add fetestexcept internal alias 2025-09-11 14:46:07 -03:00
pthread Add once_flag, ONCE_FLAG_INIT and call_once to stdlib.h for C23 2025-10-01 15:15:15 +00:00
riscv Fix RISC-V soft-float _FPU_SETCW for GCC 16 set-but-not-used warnings 2025-09-13 07:11:44 -07:00
s390 math: Add fetestexcept internal alias 2025-09-11 14:46:07 -03:00
sh math: Add fetestexcept internal alias 2025-09-11 14:46:07 -03:00
sparc math: Add fetestexcept internal alias 2025-09-11 14:46:07 -03:00
unix Implement C23 memset_explicit (bug 32378) 2025-10-01 15:14:09 +00:00
wordsize-32 stdio-common: Reject integer prefixes in scanf [BZ #12701] 2025-03-28 12:35:53 +00:00
wordsize-64 stdio-common: Reject integer prefixes in scanf [BZ #12701] 2025-03-28 12:35:53 +00:00
x86 x86: Restore "*&" GCC asm memory operand workaround to installed fpu-control.h 2025-09-24 08:04:41 +02:00
x86_64 x86_64: Fix number of operands mismatch for `vdivss' 2025-09-23 08:13:13 +02:00