mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-07-06 19:38:41 +03:00
match track free size to tracked malloc size
This commit is contained in:
parent
20ae35a1d4
commit
056c2ce45b
4 changed files with 57 additions and 45 deletions
|
@ -6,7 +6,7 @@ set(CMAKE_CXX_STANDARD 17)
|
|||
|
||||
option(MI_SECURE "Use full security mitigations (like guard pages, allocation randomization, double-free mitigation, and free-list corruption detection)" OFF)
|
||||
option(MI_DEBUG_FULL "Use full internal heap invariant checking in DEBUG mode (expensive)" OFF)
|
||||
option(MI_PADDING "Enable padding to detect heap block overflow (always on in DEBUG mode or with Valgrind)" OFF)
|
||||
option(MI_PADDING "Enable padding to detect heap block overflow (always on in DEBUG or SECURE mode, or with Valgrind/ASAN)" OFF)
|
||||
option(MI_OVERRIDE "Override the standard malloc interface (e.g. define entry points for malloc() etc)" ON)
|
||||
option(MI_XMALLOC "Enable abort() call on memory allocation failure by default" OFF)
|
||||
option(MI_SHOW_ERRORS "Show error and warning messages by default (only enabled by default in DEBUG mode)" OFF)
|
||||
|
@ -25,6 +25,7 @@ option(MI_BUILD_TESTS "Build test executables" ON)
|
|||
option(MI_DEBUG_TSAN "Build with thread sanitizer (needs clang)" OFF)
|
||||
option(MI_DEBUG_UBSAN "Build with undefined-behavior sanitizer (needs clang++)" OFF)
|
||||
option(MI_SKIP_COLLECT_ON_EXIT, "Skip collecting memory on program exit" OFF)
|
||||
option(MI_NO_PADDING "Force no use of padding even in DEBUG mode ets." OFF)
|
||||
|
||||
# deprecated options
|
||||
option(MI_CHECK_FULL "Use full internal invariant checking in DEBUG mode (deprecated, use MI_DEBUG_FULL instead)" OFF)
|
||||
|
@ -186,9 +187,14 @@ if(MI_DEBUG_FULL)
|
|||
list(APPEND mi_defines MI_DEBUG=3) # full invariant checking
|
||||
endif()
|
||||
|
||||
if(MI_PADDING)
|
||||
message(STATUS "Enable padding of heap blocks explicitly (MI_PADDING=ON)")
|
||||
list(APPEND mi_defines MI_PADDING=1)
|
||||
if(MI_NO_PADDING)
|
||||
message(STATUS "Suppress any padding of heap blocks (MI_NO_PADDING=ON)")
|
||||
list(APPEND mi_defines MI_PADDING=0)
|
||||
else()
|
||||
if(MI_PADDING)
|
||||
message(STATUS "Enable explicit padding of heap blocks (MI_PADDING=ON)")
|
||||
list(APPEND mi_defines MI_PADDING=1)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(MI_XMALLOC)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue