mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-07-01 17:24:38 +03:00
make macOS interposes compile for older macOS versions (by @noxybot, PR #1028)
This commit is contained in:
parent
c1249a4b15
commit
82cd900834
1 changed files with 9 additions and 7 deletions
|
@ -71,24 +71,20 @@ typedef void* mi_nothrow_t;
|
||||||
#define MI_INTERPOSE_FUN(oldfun,newfun) { (const void*)&newfun, (const void*)&oldfun }
|
#define MI_INTERPOSE_FUN(oldfun,newfun) { (const void*)&newfun, (const void*)&oldfun }
|
||||||
#define MI_INTERPOSE_MI(fun) MI_INTERPOSE_FUN(fun,mi_##fun)
|
#define MI_INTERPOSE_MI(fun) MI_INTERPOSE_FUN(fun,mi_##fun)
|
||||||
|
|
||||||
__attribute__((used)) static struct mi_interpose_s _mi_interposes[] __attribute__((section("__DATA, __interpose"))) =
|
#define MI_INTERPOSE_DECLS(name) __attribute__((used)) static struct mi_interpose_s name[] __attribute__((section("__DATA, __interpose")))
|
||||||
|
|
||||||
|
MI_INTERPOSE_DECLS(_mi_interposes) =
|
||||||
{
|
{
|
||||||
MI_INTERPOSE_MI(malloc),
|
MI_INTERPOSE_MI(malloc),
|
||||||
MI_INTERPOSE_MI(calloc),
|
MI_INTERPOSE_MI(calloc),
|
||||||
MI_INTERPOSE_MI(realloc),
|
MI_INTERPOSE_MI(realloc),
|
||||||
MI_INTERPOSE_MI(strdup),
|
MI_INTERPOSE_MI(strdup),
|
||||||
#if defined(MAC_OS_X_VERSION_10_7) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
|
|
||||||
MI_INTERPOSE_MI(strndup),
|
|
||||||
#endif
|
|
||||||
MI_INTERPOSE_MI(realpath),
|
MI_INTERPOSE_MI(realpath),
|
||||||
MI_INTERPOSE_MI(posix_memalign),
|
MI_INTERPOSE_MI(posix_memalign),
|
||||||
MI_INTERPOSE_MI(reallocf),
|
MI_INTERPOSE_MI(reallocf),
|
||||||
MI_INTERPOSE_MI(valloc),
|
MI_INTERPOSE_MI(valloc),
|
||||||
MI_INTERPOSE_FUN(malloc_size,mi_malloc_size_checked),
|
MI_INTERPOSE_FUN(malloc_size,mi_malloc_size_checked),
|
||||||
MI_INTERPOSE_MI(malloc_good_size),
|
MI_INTERPOSE_MI(malloc_good_size),
|
||||||
#if defined(MAC_OS_X_VERSION_10_15) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_15
|
|
||||||
MI_INTERPOSE_MI(aligned_alloc),
|
|
||||||
#endif
|
|
||||||
#ifdef MI_OSX_ZONE
|
#ifdef MI_OSX_ZONE
|
||||||
// we interpose malloc_default_zone in alloc-override-osx.c so we can use mi_free safely
|
// we interpose malloc_default_zone in alloc-override-osx.c so we can use mi_free safely
|
||||||
MI_INTERPOSE_MI(free),
|
MI_INTERPOSE_MI(free),
|
||||||
|
@ -99,6 +95,12 @@ typedef void* mi_nothrow_t;
|
||||||
MI_INTERPOSE_FUN(vfree,mi_cfree),
|
MI_INTERPOSE_FUN(vfree,mi_cfree),
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
MI_INTERPOSE_DECLS(_mi_interposes_10_7) __OSX_AVAILABLE(10.7) = {
|
||||||
|
MI_INTERPOSE_MI(strndup),
|
||||||
|
};
|
||||||
|
MI_INTERPOSE_DECLS(_mi_interposes_10_15) __OSX_AVAILABLE(10.15) = {
|
||||||
|
MI_INTERPOSE_MI(aligned_alloc),
|
||||||
|
};
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
Loading…
Add table
Reference in a new issue