posix_memalign ¶POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_memalign.html
Although this function is superseded by aligned_alloc,
it is more portable to older systems that do not support C11.
See aligned_alloc.
Portability problems fixed by Gnulib:
Portability problems not fixed by Gnulib:
The Gnulib module aligned-malloc provides functions for
allocating and freeing blocks of suitably aligned memory.
The Gnulib module pagealign_alloc provides a similar API for
allocating and freeing blocks of memory aligned on a system page boundary.