Преглед изворни кода

Revert "Enable MAP_32BIT for macOS (#2992)" (#3032)

Revert "Do not use pagezero size option if osx version >= 13 (#3025)"
and  "Enable MAP_32BIT for macOS (#2992)".

Discussion: https://github.com/bytecodealliance/wasm-micro-runtime/issues/3009
YAMAMOTO Takashi пре 2 година
родитељ
комит
d13a54f860
2 измењених фајлова са 2 додато и 25 уклоњено
  1. 0 11
      build-scripts/config_common.cmake
  2. 2 14
      core/shared/platform/common/posix/posix_memmap.c

+ 0 - 11
build-scripts/config_common.cmake

@@ -473,14 +473,3 @@ else ()
   # Disable quick aot/jit entries for interp and fast-jit
   add_definitions (-DWASM_ENABLE_QUICK_AOT_ENTRY=0)
 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} ${PAGE_ZERO_SIZE_OPTION}")
-endif ()

+ 2 - 14
core/shared/platform/common/posix/posix_memmap.c

@@ -78,19 +78,15 @@ os_mmap(void *hint, size_t size, int prot, int flags, os_file_handle file)
         map_prot |= PROT_EXEC;
 
 #if defined(BUILD_TARGET_X86_64) || defined(BUILD_TARGET_AMD_64)
+#ifndef __APPLE__
     if (flags & MMAP_MAP_32BIT)
         map_flags |= MAP_32BIT;
+#endif
 #endif
 
     if (flags & MMAP_MAP_FIXED)
         map_flags |= MAP_FIXED;
 
-#if defined(BUILD_TARGET_X86_64) || defined(BUILD_TARGET_AMD_64)
-#if defined(__APPLE__)
-retry_without_map_32bit:
-#endif
-#endif
-
 #if defined(BUILD_TARGET_RISCV64_LP64D) || defined(BUILD_TARGET_RISCV64_LP64)
     /* As AOT relocation in RISCV64 may require that the code/data mapped
      * is in range 0 to 2GB, we try to map the memory with hint address
@@ -148,14 +144,6 @@ retry_without_map_32bit:
     }
 
     if (addr == MAP_FAILED) {
-#if defined(BUILD_TARGET_X86_64) || defined(BUILD_TARGET_AMD_64)
-#if defined(__APPLE__)
-        if ((map_flags & MAP_32BIT) != 0) {
-            map_flags &= ~MAP_32BIT;
-            goto retry_without_map_32bit;
-        }
-#endif
-#endif
 #if BH_ENABLE_TRACE_MMAP != 0
         os_printf("mmap failed\n");
 #endif