Loading...
--- libmalloc/libmalloc-474.0.13/src/platform.h
+++ libmalloc/libmalloc-646.40.3/src/platform.h
@@ -24,6 +24,20 @@
#ifndef __PLATFORM_H
#define __PLATFORM_H
+#include <TargetConditionals.h>
+
+#ifndef MALLOC_TARGET_DK_OSX
+#define MALLOC_TARGET_DK_OSX 0
+#endif // MALLOC_TARGET_DK_OSX
+
+#ifndef MALLOC_TARGET_DK_IOS
+#define MALLOC_TARGET_DK_IOS 0
+#endif // MALLOC_TARGET_DK_OSX
+
+#ifndef MALLOC_TARGET_EXCLAVES_INTROSPECTOR
+#define MALLOC_TARGET_EXCLAVES_INTROSPECTOR 0
+#endif // MALLOC_TARGET_EXCLAVES_INTROSPECTOR
+
#if (TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR) || (TARGET_OS_DRIVERKIT && !MALLOC_TARGET_DK_OSX)
#define MALLOC_TARGET_IOS 1
#else // (TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR) || (TARGET_OS_DRIVERKIT && !MALLOC_TARGET_DK_OSX)
@@ -35,6 +49,20 @@
#else // __LP64__
#define MALLOC_TARGET_64BIT 0
#endif
+
+#if !defined(TARGET_OS_EXCLAVECORE)
+#define TARGET_OS_EXCLAVECORE 0
+#endif
+
+#if !defined(TARGET_OS_EXCLAVEKIT)
+#define TARGET_OS_EXCLAVEKIT 0
+#endif
+
+#if TARGET_OS_EXCLAVECORE || TARGET_OS_EXCLAVEKIT
+#define MALLOC_TARGET_EXCLAVES 1
+#else // TARGET_OS_EXCLAVECORE || TARGET_OS_EXCLAVEKIT
+#define MALLOC_TARGET_EXCLAVES 0
+#endif // TARGET_OS_EXCLAVECORE || TARGET_OS_EXCLAVEKIT
// <rdar://problem/12596555>
#define CONFIG_RECIRC_DEPOT 1
@@ -158,21 +186,6 @@
#define CONFIG_FEATUREFLAGS_SIMPLE 0
#endif
-#if !defined(TARGET_OS_EXCLAVECORE)
-#define TARGET_OS_EXCLAVECORE 0
-#endif
-
-#if !defined(TARGET_OS_EXCLAVEKIT)
-#define TARGET_OS_EXCLAVEKIT 0
-#endif
-
-// Sanitizer zone, only useful on macOS (+ DriverKit, 64-bit simulators) and exclavecore/exclavekit.
-#if (TARGET_OS_EXCLAVECORE || TARGET_OS_EXCLAVEKIT || TARGET_OS_OSX || TARGET_OS_DRIVERKIT || TARGET_OS_SIMULATOR) && MALLOC_TARGET_64BIT
-#define CONFIG_SANITIZER 1
-#else
-#define CONFIG_SANITIZER 0
-#endif
-
// presence of commpage memsize
#define CONFIG_HAS_COMMPAGE_MEMSIZE 1
@@ -180,9 +193,11 @@
#define CONFIG_HAS_COMMPAGE_NCPUS 1
// Distribute magazines by cluster number if nmagazines == nclusters
-#if (TARGET_OS_IOS && !TARGET_OS_SIMULATOR)
+#if (TARGET_OS_IOS && !TARGET_OS_SIMULATOR) || \
+ MALLOC_TARGET_DK_IOS || \
+ TARGET_OS_OSX || MALLOC_TARGET_DK_OSX
#define CONFIG_MAGAZINE_PER_CLUSTER 1
-#else // (TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR)
+#else
#define CONFIG_MAGAZINE_PER_CLUSTER 0
#endif
@@ -191,15 +206,20 @@
#define CONFIG_NANO_USES_HYPER_SHIFT 0
#define CONFIG_SZONE_USES_HYPER_SHIFT 0
-// FIXME: limit number of malloc_create_zone() wrapper zones for watchOS to remove this
-#if TARGET_OS_OSX || TARGET_OS_IOS
-#define CONFIG_PGM_WRAP_CUSTOM_ZONES 1
-#else
-#define CONFIG_PGM_WRAP_CUSTOM_ZONES 0
-#endif
+#if TARGET_OS_OSX
+#define CONFIG_CHECK_PLATFORM_BINARY 1
+#else
+#define CONFIG_CHECK_PLATFORM_BINARY 0
+#endif
+
+#define CONFIG_CHECK_SECURITY_POLICY 1
#define MALLOC_ZERO_POLICY_DEFAULT MALLOC_ZERO_ON_FREE
+
+#ifndef MALLOC_XZONE_ENABLED_DEFAULT
+#define MALLOC_XZONE_ENABLED_DEFAULT false
+#endif
#if MALLOC_TARGET_64BIT
#define CONFIG_EARLY_MALLOC 1
@@ -214,12 +234,17 @@
#endif
-#if MALLOC_TARGET_IOS_ONLY
+#if MALLOC_TARGET_IOS_ONLY || TARGET_OS_OSX
#define CONFIG_MALLOC_PROCESS_IDENTITY 1
#else
#define CONFIG_MALLOC_PROCESS_IDENTITY 0
#endif
+#ifndef CONFIG_SANITIZER
+#define CONFIG_SANITIZER 1
+#endif
+
#define MALLOC_SECURE_ALLOCATOR_LAUNCHD_ENABLED_DEFAULT true
+
#endif // __PLATFORM_H