private String gender; - Lemmy
cross-posted from: https://lemmy.ml/post/42242801
[https://lemmy.ml/post/42242801] > Major new features: > > * The ISO C23
free_sized, free_aligned_sized, memset_explicit, and > memalignment functions
have been added. > > * As specified in ISO C23, the assert macro is defined to
take variable > arguments to support expressions with a comma inside a compound
> literal initializer not surrounded by parentheses. > > * For ISO C23, the
functions bsearch, memchr, strchr, strpbrk, strrchr, > strstr, wcschr, wcspbrk,
wcsrchr, wcsstr and wmemchr that return > pointers into their input arrays now
have definitions as macros that > return a pointer to a const-qualified type
when the input argument is > a pointer to a const-qualified type. > > * The ISO
C23 typedef names long_double_t, _Float32_t, _Float64_t, and > (on platforms
supporting _Float128) _Float128_t, introduced in TS > 18661-3:2015, have been
added to <math.h>. > > * The ISO C23 optional time bases TIME_MONOTONIC,
TIME_ACTIVE, and > TIME_THREAD_ACTIVE have been added. > > * On Linux, the mseal
function has been added. It allows for sealing > memory mappings to prevent
further changes during process execution, > such as changes to protection
permissions, unmapping, relocation to > another location, or shrinking the size.
> > * Additional optimized and correctly rounded mathematical functions have >
been imported from the CORE-MATH project, in particular acosh, asinh, > atanh,
erf, erfc, lgamma, and tgamma. > > * Optimized implementations for fma, fmaf,
remainder, remaindef, frexpf, > frexp, frexpl (binary128), and frexpl (intel96)
have been added. > > * The SVID handling for acosf, acoshf, asinhf, atan2f,
atanhf, coshf, fmodf, > lgammaf/lgammaf_r, log10f, remainderf, sinhf, sqrtf,
tgammaf, y0/j0, > y1/j1, and yn/jn was moved to compat symbols, allowing
improvements in > performance. > > * Experimental support for building with
clang has been added. It requires > at least clang version 18, aarch64-linux-gnu
or x86_64-linux-gnu > targets, and a libgcc compatible runtime (including
libgcc_s.so for > pthread cancellation and backtrace runtime support). > > * On
Linux, the openat2 function has been added. It is an extension of > openat and
provides a superset of its functionality. It is supported only > in LFS mode and
is a cancellable entrypoint. > > * On AArch64, support for 2MB transparent huge
pages has been enabled by > default in malloc (similar to setting
glibc.malloc.hugetlb=1 tunable). > > * On AArch64 Linux targets supporting the
Scalable Matrix Extension > (SME), the clone() system call wrapper will disable
the ZA state of the > SME. > > * On AArch64 targets supporting the Branch Target
Identification (BTI) > extension, it is possible to enforce that all binaries in
the process > support BTI using the glibc.cpu.aarch64_bti tunable. > > * On
AArch64 Linux targets supporting at least one of the branch protection >
extensions (e.g. Branch Target Identification or Guarded Control Stack), it > is
possible to use LD_DEBUG=security to make the dynamic linker show > warning
messages about loaded binaries that do not support the > corresponding security
feature. > > * On AArch64, vector variants of the new C23 exp2m1, exp10m1,
log10p1, > log2p1, and rsqrt routines have been added. > > * On RISC-V, an
RVV-optimized implementation of memset has been added. > > * On x86, support for
the Intel Nova Lake and Wildcat Lake processors > has been added. > > * The test
suite has seen significant improvements in particular around > the scanf,
strerror, strsignal functions and multithreaded testing. > > * Unicode support
has been updated to Unicode 17.0.0. > > * The manual has been updated and
modernized, in particular also regarding > many of its code examples.