Loading...
--- libmalloc/libmalloc-283/xcodeconfig/libmalloc.xcconfig
+++ libmalloc/libmalloc-474.0.13/xcodeconfig/libmalloc.xcconfig
@@ -1,16 +1,11 @@
#include "<DEVELOPER_DIR>/Makefiles/CoreOS/Xcode/BSD.xcconfig"
SDKROOT = macosx.internal
-SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator
+SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator driverkit
BUILD_VARIANTS = normal debug
-SDK_INSTALL_VARIANT = $(SDK_INSTALL_VARIANT_$(DRIVERKIT))
-SDK_INSTALL_VARIANT_1 = driverkit
-SDK_INSTALL_VARIANT_ = default
-SDK_INSTALL_ROOT = $(SDK_INSTALL_ROOT_$(SDK_INSTALL_VARIANT))
-SDK_INSTALL_ROOT_driverkit = $(DRIVERKITROOT)
-SDK_INSTALL_HEADERS_ROOT = $(SDK_INSTALL_HEADERS_ROOT_$(SDK_INSTALL_VARIANT))
-SDK_INSTALL_HEADERS_ROOT_driverkit = $(SDK_INSTALL_ROOT)/$(SDK_RUNTIME_HEADERS_PREFIX)
+SDK_INSTALL_ROOT[sdk=driverkit*] = $(DRIVERKITROOT)
+SDK_INSTALL_HEADERS_ROOT[sdk=driverkit*] = $(SDK_INSTALL_ROOT)/$(SDK_RUNTIME_HEADERS_PREFIX)
SDK_RUNTIME_HEADERS_PREFIX = Runtime
PRODUCT_NAME = libsystem_malloc
@@ -21,20 +16,27 @@
SYSTEM_FRAMEWORK_HEADERS = $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/System/Library/Frameworks/System.framework/PrivateHeaders
HEADER_SEARCH_PATHS = $(DERIVED_FILES_DIR)/dtrace $(SRCROOT)/include $(SRCROOT)/private $(SRCROOT)/resolver $(inherited)
-SYSTEM_HEADER_SEARCH_PATHS = $(SYSTEM_FRAMEWORK_HEADERS) $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/usr/local/include $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/usr/include
-SYSTEM_FRAMEWORK_SEARCH_PATHS = $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/System/Library/Frameworks
+SYSTEM_HEADER_SEARCH_PATHS = $(SYSTEM_FRAMEWORK_HEADERS)
+SYSTEM_HEADER_SEARCH_PATHS[sdk=driverkit*] = $(SYSTEM_FRAMEWORK_HEADERS) $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/usr/local/include $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/usr/include
+SYSTEM_FRAMEWORK_SEARCH_PATHS[sdk=driverkit*] = $(SDKROOT)/$(SDK_INSTALL_HEADERS_ROOT)/System/Library/Frameworks
-GCC_PREPROCESSOR_DEFINITIONS = _FORTIFY_SOURCE=0 NDEBUG $(OSATOMIC_PREPROCESSOR_DEFINITIONS) $(PLATFORM_PREPROCESSOR_DEFINITIONS)
+GCC_PREPROCESSOR_DEFINITIONS = _FORTIFY_SOURCE=0 $(DEBUG_PREPROCESSOR_DEFINITIONS) $(OSATOMIC_PREPROCESSOR_DEFINITIONS) $(PLATFORM_PREPROCESSOR_DEFINITIONS) $(DRIVERKIT_PREPROCESSOR_DEFINITIONS)
OSATOMIC_PREPROCESSOR_DEFINITIONS = OSATOMIC_USE_INLINED=1 OS_UNFAIR_LOCK_INLINE=1
OSATOMIC_PREPROCESSOR_DEFINITIONS_NOINLINE = OSATOMIC_DEPRECATED=0 OSATOMIC_USE_INLINED=0 OS_UNFAIR_LOCK_INLINE=0
+DRIVERKIT_PREPROCESSOR_DEFINITIONS = MALLOC_TARGET_DK_OSX=0
+DRIVERKIT_PREPROCESSOR_DEFINITIONS[sdk=driverkit.macosx*] = MALLOC_TARGET_DK_OSX=1
+DEBUG_PREPROCESSOR_DEFINITIONS = NDEBUG
+DEBUG_PREPROCESSOR_DEFINITIONS[config=Debug] = DEBUG
GCC_NO_COMMON_BLOCKS = YES
ENABLE_STRICT_OBJC_MSGSEND = YES
// TODO: Add -fno-stack-protector when uplink to Libc is removed
-OTHER_CFLAGS = $(PLATFORM_CFLAGS)
+OTHER_CFLAGS = $(PLATFORM_CFLAGS) -fno-typed-memory-operations
OTHER_CFLAGS_normal = -momit-leaf-frame-pointer
OTHER_CFLAGS_debug = -fstack-protector -fno-inline -O0 -DDEBUG=1 -UNDEBUG
+
+GCC_OPTIMIZATION_LEVEL[config=Debug] = 0
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES
//GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
@@ -47,6 +49,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES
GCC_WARN_UNDECLARED_SELECTOR = YES
GCC_WARN_UNINITIALIZED_AUTOS = YES
+GCC_TREAT_WARNINGS_AS_ERRORS = YES
CLANG_WARN_BOOL_CONVERSION = YES
CLANG_WARN_CONSTANT_CONVERSION = YES
CLANG_WARN_EMPTY_BODY = YES
@@ -58,7 +61,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
// clang doesn't understand the simple_printf %y specifier
-WARNING_CFLAGS = -Wno-format-invalid-specifier -Wno-format-extra-args
+WARNING_CFLAGS = -Wno-format-invalid-specifier -Wno-format-extra-args -Watomic-implicit-seq-cst -Wundef
LLVM_LTO = LLVM_LTO_$(CURRENT_VARIANT)
LLVM_LTO_normal = YES
@@ -69,23 +72,27 @@
SIM_SUFFIX[sdk=*simulator*] = _sim
LINK_WITH_STANDARD_LIBRARIES = NO
-OTHER_LDFLAGS = -all_load -L$(SDK_INSTALL_ROOT)/usr/lib/system -umbrella System $(CR_LDFLAGS) $(LIBCOMPILER_RT_LDFLAGS) $(LIBDYLD_LDFLAGS) $(LIBSYSCALL_LDFLAGS) $(LIBPLATFORM_LDFLAGS) $(PLATFORM_LDFLAGS) $(UPLINK_LDFLAGS) $(INTERPOSE_LDFLAGS) $(DIRTY_LDFLAGS)
+OTHER_LDFLAGS = -all_load -L$(SDK_INSTALL_ROOT)/usr/lib/system -umbrella System $(CR_LDFLAGS) $(LIBCOMPILER_RT_LDFLAGS) $(LIBDYLD_LDFLAGS) $(LIBSYSCALL_LDFLAGS) $(LIBPLATFORM_LDFLAGS) $(PLATFORM_LDFLAGS) $(LIBPTHREAD_LDFLAGS) $(LIBFEATUREFLAGS_LDFLAGS) $(UPLINK_LDFLAGS) $(INTERPOSE_LDFLAGS) $(DIRTY_LDFLAGS)
LIBCOMPILER_RT_LDFLAGS = -lcompiler_rt
LIBPLATFORM_LDFLAGS = -lsystem$(SIM_SUFFIX)_platform
LIBSYSCALL_LDFLAGS = -lsystem$(SIM_SUFFIX)_kernel
+LIBPTHREAD_LDFLAGS = -lsystem$(SIM_SUFFIX)_pthread
LIBDYLD_LDFLAGS = -ldyld
+LIBFEATUREFLAGS_LDFLAGS = -Wl,-upward-lsystem_featureflags
+LIBFEATUREFLAGS_LDFLAGS[sdk=macosx*][arch=i386] =
+LIBFEATUREFLAGS_LDFLAGS[sdk=driverkit*] =
+LIBFEATUREFLAGS_EXCLUDES =
+LIBFEATUREFLAGS_EXCLUDES[sdk=driverkit*] = libmalloc.plist
+
+EXCLUDED_SOURCE_FILE_NAMES = $(LIBFEATUREFLAGS_EXCLUDES)
+
// TODO: Eliminate the crosslink between libmalloc and Libc (13046853)
-UPLINK_LDFLAGS = -Wl,-upward-lsystem_c
+// The blocks runtime is safe for use only in the context of introspection
+// logic, which isn't really in the same layer as the rest of libmalloc
+UPLINK_LDFLAGS = -Wl,-upward-lsystem_c -Wl,-upward-lsystem_blocks
INTERPOSE_LDFLAGS = -Wl,-interposable_list,$(SRCROOT)/xcodeconfig/interposable.list
-
-ORDER_FILE = $(SDKROOT)/$(APPLE_INTERNAL_DIR)/OrderFiles/$(PRODUCT_NAME).order
-ORDER_FILE[sdk=*simulator*] =
-ORDER_FILE[sdk=driverkit*] =
-
-DIRTY_LDFLAGS = -Wl,-dirty_data_list,$(SRCROOT)/xcodeconfig/libmalloc.dirty
-DIRTY_LDFLAGS[sdk=macosx*] =
DYLIB_CURRENT_VERSION = $(CURRENT_PROJECT_VERSION)
@@ -93,3 +100,4 @@
SUPPORTS_TEXT_BASED_API = YES
TAPI_VERIFY_MODE = Pedantic
OTHER_TAPI_FLAGS = -umbrella System -extra-private-header $(SRCROOT)/private/make_tapi_happy.h -extra-private-header $(SRCROOT)/src/frozen_malloc.h -extra-private-header $(SRCROOT)/private/stack_logging.h -extra-private-header $(SRCROOT)/private/malloc_implementation.h
+