From 7f05871d527bdc72cb6038ea005159bc8a20e3a2 Mon Sep 17 00:00:00 2001 From: streaksu Date: Thu, 6 Feb 2025 05:12:05 +0100 Subject: [PATCH] options/posix: move mremap and remap_file_pages to the linux option --- options/posix/generic/sys-mman.cpp | 34 +++++++++++++++--------------- options/posix/include/sys/mman.h | 4 +--- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/options/posix/generic/sys-mman.cpp b/options/posix/generic/sys-mman.cpp index c42f3a35c1..c8b83382dd 100644 --- a/options/posix/generic/sys-mman.cpp +++ b/options/posix/generic/sys-mman.cpp @@ -70,23 +70,6 @@ int msync(void *addr, size_t length, int flags) { return 0; } -void *mremap(void *pointer, size_t size, size_t new_size, int flags, ...) { - __ensure(flags == MREMAP_MAYMOVE); - - void *window; - MLIBC_CHECK_OR_ENOSYS(mlibc::sys_vm_remap, (void *)-1); - if(int e = mlibc::sys_vm_remap(pointer, size, new_size, &window); e) { - errno = e; - return (void *)-1; - } - return window; -} - -int remap_file_pages(void *, size_t, int, size_t, int) { - __ensure(!"Not implemented"); - __builtin_unreachable(); -} - void *mmap(void *hint, size_t size, int prot, int flags, int fd, off_t offset) { void *window; if(int e = mlibc::sys_vm_map(hint, size, prot, flags, fd, offset, &window); e) { @@ -146,6 +129,23 @@ int shm_unlink(const char *name) { } #if __MLIBC_LINUX_OPTION +void *mremap(void *pointer, size_t size, size_t new_size, int flags, ...) { + __ensure(flags == MREMAP_MAYMOVE); + + void *window; + MLIBC_CHECK_OR_ENOSYS(mlibc::sys_vm_remap, (void *)-1); + if(int e = mlibc::sys_vm_remap(pointer, size, new_size, &window); e) { + errno = e; + return (void *)-1; + } + return window; +} + +int remap_file_pages(void *, size_t, int, size_t, int) { + __ensure(!"Not implemented"); + __builtin_unreachable(); +} + int memfd_create(const char *name, unsigned int flags) { int ret = -1; diff --git a/options/posix/include/sys/mman.h b/options/posix/include/sys/mman.h index 5c48465bb6..3d17b308ea 100644 --- a/options/posix/include/sys/mman.h +++ b/options/posix/include/sys/mman.h @@ -29,11 +29,9 @@ int msync(void *__addr, size_t __size, int __flags); int shm_open(const char *__name, int __oflag, mode_t __mode); int shm_unlink(const char *__name); -/* Linux extension: */ +#if __MLIBC_LINUX_OPTION void *mremap(void *__old_address, size_t __old_size, size_t __new_size, int __flags, ...); int remap_file_pages(void *__addr, size_t __size, int __prot, size_t __pgoff, int __flags); - -#if __MLIBC_LINUX_OPTION int memfd_create(const char *__name, unsigned int __flags); int madvise(void *__addr, size_t __size, int __advise); int mincore(void *__addr, size_t __size, unsigned char *__vec);