devel/mimalloc: Update to 3.0.3

* Update to 3.0.3
* Disable optimizations [1]

PR:		285593 [1]
This commit is contained in:
Emanuel Haupt 2025-03-29 14:27:35 +01:00
parent 2fe74b20d4
commit 8ecb76bb8a
5 changed files with 59 additions and 26 deletions

View file

@ -1,6 +1,6 @@
PORTNAME= mimalloc
DISTVERSIONPREFIX= v
DISTVERSION= 3.0.1
DISTVERSION= 3.0.3
CATEGORIES= devel
MAINTAINER= ehaupt@FreeBSD.org

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1736781220
SHA256 (microsoft-mimalloc-v3.0.1_GH0.tar.gz) = 6a514ae31254b43e06e2a89fe1cbc9c447fdbf26edc6f794f3eb722f36e28261
SIZE (microsoft-mimalloc-v3.0.1_GH0.tar.gz) = 1281782
TIMESTAMP = 1743245257
SHA256 (microsoft-mimalloc-v3.0.3_GH0.tar.gz) = baf343041420e2924e1760bbbc0c111101c44e1cecb998e7951f646a957ee05f
SIZE (microsoft-mimalloc-v3.0.3_GH0.tar.gz) = 1302625

View file

@ -1,13 +1,57 @@
--- CMakeLists.txt.orig 2025-01-13 15:16:06 UTC
--- CMakeLists.txt.orig 2025-03-29 12:01:12 UTC
+++ CMakeLists.txt
@@ -513,8 +513,8 @@ string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_
set(mi_basename "${mi_basename}-asan")
endif()
string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LC)
-if(NOT(CMAKE_BUILD_TYPE_LC MATCHES "^(release|relwithdebinfo|minsizerel|none)$"))
- set(mi_basename "${mi_basename}-${CMAKE_BUILD_TYPE_LC}") #append build type (e.g. -debug) if not a release version
+if(NOT(CMAKE_BUILD_TYPE_LC MATCHES "^(debug|release|relwithdebinfo|minsizerel|none)$"))
+ set(mi_basename "${mi_basename}-${CMAKE_BUILD_TYPE_LC}") #append build type if not a release version or debug
@@ -120,29 +120,6 @@ endif()
set(MI_SECURE "ON")
endif()
-
-# Determine architecture
-set(MI_OPT_ARCH_FLAGS "")
-set(MI_ARCH "unknown")
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86|i[3456]86)$" OR CMAKE_GENERATOR_PLATFORM MATCHES "^(x86|Win32)$")
- set(MI_ARCH "x86")
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|x64|amd64|AMD64)$" OR CMAKE_GENERATOR_PLATFORM STREQUAL "x64" OR "x86_64" IN_LIST CMAKE_OSX_ARCHITECTURES) # must be before arm64
- set(MI_ARCH "x64")
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|armv[89].?|ARM64)$" OR CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64" OR "arm64" IN_LIST CMAKE_OSX_ARCHITECTURES)
- set(MI_ARCH "arm64")
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|armv[34567]|ARM)$")
- set(MI_ARCH "arm32")
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(riscv|riscv32|riscv64)$")
- if(CMAKE_SIZEOF_VOID_P==4)
- set(MI_ARCH "riscv32")
- else()
- set(MI_ARCH "riscv64")
- endif()
-else()
- set(MI_ARCH ${CMAKE_SYSTEM_PROCESSOR})
-endif()
-message(STATUS "Architecture: ${MI_ARCH}") # (${CMAKE_SYSTEM_PROCESSOR}, ${CMAKE_GENERATOR_PLATFORM}, ${CMAKE_GENERATOR})")
-
# negative overrides (mainly to support vcpkg features)
if(MI_NO_USE_CXX)
set(MI_USE_CXX "OFF")
@@ -436,24 +413,6 @@ if(CMAKE_C_COMPILER_ID MATCHES "AppleClang|Clang|GNU|I
if(CMAKE_C_COMPILER_ID MATCHES "AppleClang|Clang|GNU|Intel")
if(MI_OVERRIDE)
list(APPEND mi_cflags -fno-builtin-malloc)
- endif()
-endif()
-
-# Compiler and architecture specific flags
-if(CMAKE_C_COMPILER_ID MATCHES "AppleClang|Clang|GNU|Intel" AND NOT CMAKE_SYSTEM_NAME MATCHES "Haiku")
- if(MI_OPT_ARCH)
- if(APPLE AND CMAKE_C_COMPILER_ID MATCHES "AppleClang|Clang" AND CMAKE_OSX_ARCHITECTURES) # to support multi-arch binaries (#999)
- if("arm64" IN_LIST CMAKE_OSX_ARCHITECTURES)
- list(APPEND MI_OPT_ARCH_FLAGS "-Xarch_arm64;-march=armv8.1-a")
- endif()
- if("x86_64" IN_LIST CMAKE_OSX_ARCHITECTURES)
- list(APPEND MI_OPT_ARCH_FLAGS "-Xarch_x86_64;-march=haswell;-Xarch_x86_64;-mavx2")
- endif()
- elseif(MI_ARCH STREQUAL "x64")
- set(MI_OPT_ARCH_FLAGS "-march=haswell;-mavx2") # fast bit scan (since 2013)
- elseif(MI_ARCH STREQUAL "arm64")
- set(MI_OPT_ARCH_FLAGS "-march=armv8.1-a") # fast atomics (since 2016)
- endif()
endif()
endif()
if(MI_BUILD_SHARED)

View file

@ -1,12 +0,0 @@
--- src/prim/unix/prim.c.orig 2025-01-04 04:21:48 UTC
+++ src/prim/unix/prim.c
@@ -201,7 +201,8 @@ static void* unix_mmap_prim(void* addr, size_t size, s
void* p = NULL;
#if defined(MAP_ALIGNED) // BSD
if (addr == NULL && try_alignment > 1 && (try_alignment % _mi_os_page_size()) == 0) {
- size_t n = mi_bsr(try_alignment);
+ size_t idx;
+ size_t n = mi_bsr(try_alignment, &idx);
if (((size_t)1 << n) == try_alignment && n >= 12 && n <= 30) { // alignment is a power of 2 and 4096 <= alignment <= 1GiB
p = mmap(addr, size, protect_flags, flags | MAP_ALIGNED(n), fd, 0);
if (p==MAP_FAILED || !_mi_is_aligned(p,try_alignment)) {

View file

@ -1,5 +1,6 @@
include/mimalloc-new-delete.h
include/mimalloc-override.h
include/mimalloc-stats.h
include/mimalloc.h
lib/cmake/mimalloc/mimalloc-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/mimalloc/mimalloc-config-version.cmake