diff options
Diffstat (limited to 'contrib/restricted/emscripten/system/lib/libc/compat/aligned_alloc.c')
| -rw-r--r-- | contrib/restricted/emscripten/system/lib/libc/compat/aligned_alloc.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/contrib/restricted/emscripten/system/lib/libc/compat/aligned_alloc.c b/contrib/restricted/emscripten/system/lib/libc/compat/aligned_alloc.c new file mode 100644 index 00000000000..0941e5ddf00 --- /dev/null +++ b/contrib/restricted/emscripten/system/lib/libc/compat/aligned_alloc.c @@ -0,0 +1,12 @@ +#include <stdlib.h> + +// Musl has an aligned_alloc routine, but that builds on top of standard malloc(). We are using dlmalloc, so +// can route to its implementation instead. +void * weak aligned_alloc(size_t alignment, size_t size) +{ + void *ptr; + if ((alignment % sizeof(void *) != 0) || (size % alignment) != 0) + return 0; + int ret = posix_memalign(&ptr, alignment, size); + return (ret == 0) ? ptr : 0; +} |
