Do not use pagezero size option if osx version >= 13 (#3025)

Reported in https://github.com/bytecodealliance/wasm-micro-runtime/issues/3009.
This commit is contained in:
Enrico Loparco 2024-01-16 05:14:43 +01:00 committed by GitHub
parent 705bf807b2
commit bb053e3a2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -464,7 +464,13 @@ else ()
endif ()
if (APPLE)
EXEC_PROGRAM(sw_vers ARGS -productVersion OUTPUT_VARIABLE OS_X_VERSION)
STRING(REGEX MATCH "([0-9]+)" OS_X_VERSION ${OS_X_VERSION})
if (OS_X_VERSION LESS 13)
set(PAGE_ZERO_SIZE_OPTION "-Wl,-pagezero_size,0x4000")
endif ()
# On recent macOS versions, by default, the size of page zero is 4GB.
# Shrink it to make MAP_32BIT mmap can work.
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-pagezero_size,0x4000")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PAGE_ZERO_SIZE_OPTION}")
endif ()