Hash :
7941742a
Author :
Date :
2024-04-25T22:07:37
doc: Remove documentation of IRIX as supported platform. * doc/posix-headers/netdb.texi: Don't mention IRIX specific workarounds. * doc/posix-headers/pthread.texi: Likewise. * doc/posix-headers/sys_socket.texi: Likewise. * doc/posix-headers/wctype.texi: Likewise. * doc/posix-functions/btowc.texi: Likewise. * doc/posix-functions/cbrtf.texi: Likewise. * doc/posix-functions/cbrtl.texi: Likewise. * doc/posix-functions/copysignf.texi: Likewise. * doc/posix-functions/exp2.texi: Likewise. * doc/posix-functions/exp2f.texi: Likewise. * doc/posix-functions/exp2l.texi: Likewise. * doc/posix-functions/expm1f.texi: Likewise. * doc/posix-functions/expm1l.texi: Likewise. * doc/posix-functions/fabsl.texi: Likewise. * doc/posix-functions/isnan.texi: Likewise. * doc/posix-functions/iswblank.texi: Likewise. * doc/posix-functions/link.texi: Likewise. * doc/posix-functions/log10l.texi: Likewise. * doc/posix-functions/log1pf.texi: Likewise. * doc/posix-functions/log2.texi: Likewise. * doc/posix-functions/log2f.texi: Likewise. * doc/posix-functions/log2l.texi: Likewise. * doc/posix-functions/lseek.texi: Likewise. * doc/posix-functions/nl_langinfo.texi: Likewise. * doc/posix-functions/pthread_sigmask.texi: Likewise. * doc/posix-functions/remainderf.texi: Likewise. * doc/posix-functions/remainderl.texi: Likewise. * doc/posix-functions/rintf.texi: Likewise. * doc/posix-functions/sigaltstack.texi: Likewise. * doc/posix-functions/strtod.texi: Likewise. * doc/posix-functions/strtold.texi: Likewise. * doc/posix-functions/vscanf.texi: Likewise. * doc/posix-functions/wctob.texi: Likewise. * doc/**/*.texi: Update.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
@node aligned_alloc
@section @code{aligned_alloc}
@findex aligned_alloc
Documentation:@* @uref{https://www.kernel.org/doc/man-pages/online/pages/man3/aligned_alloc.3.html,,man aligned_alloc}
Gnulib module: aligned_alloc
Portability problems fixed by Gnulib:
@itemize
@item
This function fails if the alignment argument is smaller than
@code{sizeof (void *)} on some platforms:
macOS 11.1, AIX 7.3.1.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
On some platforms, @code{aligned_alloc} crashes if the requested size is
not a multiple of the alignment:
AddressSanitizer (gcc 11.2 or clang 13).
@item
This function is missing on many older platforms:
glibc 2.15, macOS 10.13, FreeBSD 6.4, NetBSD 7.1, OpenBSD 6.0, Minix 3.1.8, AIX 7.1, HP-UX 11.31, Solaris 11.3, Cygwin 1.7.x, mingw, MSVC 14, Android 8.1.
@end itemize
Gnulib has partial substitutes for @code{aligned_alloc}
that do not crash even if the AddressSanitizer bug is present:
@itemize
@item
The Gnulib module @code{alignalloc} provides a portable function
@code{alignalloc} that is a near-substitute for glibc
@code{aligned_alloc}, except that the result must be freed
with @code{alignfree} rather than plain @code{free}.
@item
The Gnulib module @code{aligned-malloc} provides functions for
allocating and freeing blocks of suitably aligned memory.
@item
The Gnulib module @code{pagealign_alloc} provides a similar API for
allocating and freeing blocks of memory aligned on a system page boundary.
@end itemize