diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-07-31 10:47:54 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-08-06 16:10:17 +0200 |
| commit | 4f102a43fa6d36a3dcb105c424454399640df415 (patch) | |
| tree | 69b4b3c6b0b9ea811f88e58d394bcfdc789a86a0 /src | |
| parent | 2ac265d52951c2951281b25aa0aba3ad21b6565f (diff) | |
| download | box64-4f102a43fa6d36a3dcb105c424454399640df415.tar.gz box64-4f102a43fa6d36a3dcb105c424454399640df415.zip | |
Also use __libc_memalign instead of posix_memalign
Diffstat (limited to 'src')
| -rw-r--r-- | src/custommem.c | 4 | ||||
| -rwxr-xr-x | src/include/debug.h | 13 | ||||
| -rw-r--r-- | src/mallochook.c | 2 |
3 files changed, 12 insertions, 7 deletions
diff --git a/src/custommem.c b/src/custommem.c index 7d0d82f0..25c55063 100644 --- a/src/custommem.c +++ b/src/custommem.c @@ -414,7 +414,7 @@ uintptr_t AddNewDynarecMap(dynablock_t* db, size_t size) } #ifndef USE_MMAP void *p = NULL; - if(posix_memalign(&p, box64_pagesize, MMAPSIZE)) { + if(!(p=box_memalign(box64_pagesize, MMAPSIZE))) { dynarec_log(LOG_INFO, "Cannot create memory map of %d byte for dynarec block #%zu\n", MMAPSIZE, i); --mmapsize; return 0; @@ -517,7 +517,7 @@ uintptr_t AllocDynarecMap(dynablock_t* db, size_t size) if(size>MMAPSIZE-2*sizeof(blockmark_t)) { #ifndef USE_MMAP void *p = NULL; - if(posix_memalign(&p, box64_pagesize, size)) { + if(!(p=box_memalign(box64_pagesize, size))) { dynarec_log(LOG_INFO, "Cannot create dynamic map of %zu bytes\n", size); return 0; } diff --git a/src/include/debug.h b/src/include/debug.h index d39ac369..5f228f58 100755 --- a/src/include/debug.h +++ b/src/include/debug.h @@ -79,16 +79,19 @@ extern void*(*__libc_malloc)(size_t); extern void*(*__libc_realloc)(void*, size_t); extern void*(*__libc_calloc)(size_t, size_t); extern void (*__libc_free*)(void*); +extern void*(*__libc_memalign)(size_t, size_t); #else extern void* __libc_malloc(size_t); extern void* __libc_realloc(void*, size_t); extern void* __libc_calloc(size_t, size_t); -extern void __libc_free(void*); +extern void __libc_free(void*); +extern void* __libc_memalign(size_t, size_t); #endif -#define box_malloc __libc_malloc -#define box_realloc __libc_realloc -#define box_calloc __libc_calloc -#define box_free __libc_free +#define box_malloc __libc_malloc +#define box_realloc __libc_realloc +#define box_calloc __libc_calloc +#define box_free __libc_free +#define box_memalign __libc_memalign extern char* box_strdup(const char* s); #endif //__DEBUG_H_ diff --git a/src/mallochook.c b/src/mallochook.c index e5927b7f..c4a28499 100644 --- a/src/mallochook.c +++ b/src/mallochook.c @@ -12,12 +12,14 @@ void*(*__libc_malloc)(size_t) = NULL; void*(*__libc_realloc)(size_t, void*) = NULL; void*(*__libc_calloc)(size_t, size_t) = NULL; void (*__libc_free*)(void*) = NULL; +void*(*__libc_memalign)(size_t, size_t) = NULL; void init_malloc_hook() { __libc_malloc = dlsym(RTLD_NEXT, "malloc"); __libc_realloc = dlsym(RTLD_NEXT, "realloc"); __libc_calloc = dlsym(RTLD_NEXT, "realloc"); __libc_free = dlsym(RTLD_NEXT, "free"); + __libc_memalign = dlsym(RTLD_NEXT, "memalign"); } #endif |