From 2fc8b4c4bac576427b0054a13cc78e395b93d6c4 Mon Sep 17 00:00:00 2001 From: "Ondrej Zajicek (work)" Date: Tue, 8 Feb 2022 22:42:00 +0100 Subject: Alloc: Use posix_memalign() instead of aligned_alloc() For compatibility with older systems use posix_memalign(). We can switch to aligned_alloc() when we commit to C11 for multithreading. --- sysdep/unix/alloc.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'sysdep/unix') diff --git a/sysdep/unix/alloc.c b/sysdep/unix/alloc.c index 5dd70c99..0e944d57 100644 --- a/sysdep/unix/alloc.c +++ b/sysdep/unix/alloc.c @@ -72,16 +72,17 @@ alloc_page(void) { void *ret = mmap(NULL, get_page_size(), PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); if (ret == MAP_FAILED) - bug("mmap(%lu) failed: %m", page_size); + bug("mmap(%lu) failed: %m", (long unsigned int) page_size); return ret; } else #endif { - void *ret = aligned_alloc(page_size, page_size); - if (!ret) - bug("aligned_alloc(%lu) failed", page_size); - return ret; + void *ptr = NULL; + int err = posix_memalign(&ptr, page_size, page_size); + if (err || !ptr) + bug("posix_memalign(%lu) failed", (long unsigned int) page_size); + return ptr; } } -- cgit v1.2.3