1PROJECT := xnu/darwintests 2 3include disabled.mk 4 5# When building as part of xnu_tests, we get passed a DSTROOT that's got the 6# unit test path in it already. But, BASEDSTROOT doesn't, so use that instead. 7ifdef BASEDSTROOT 8override DSTROOT = $(BASEDSTROOT) 9endif 10 11INVALID_ARCHS = i386 $(filter armv7%,$(ARCH_CONFIGS)) 12ENABLE_LTE_TESTS=YES 13 14OTHER_LTE_INCLUDE_FILES += \ 15 /System/Library/PrivateFrameworks/LoggingSupport.framework, \ 16 /System/Library/PrivateFrameworks/MobileKeyBag.framework, \ 17 /System/Library/Frameworks/IOSurface.framework, \ 18 /usr/local/lib/libdarwintest_utils.dylib, \ 19 /usr/lib/libapple_crypto.dylib, 20 21ENV = /usr/bin/env 22 23DEVELOPER_DIR ?= $(shell xcode-select -p) 24 25 26ifeq ($(origin TIGHTBEAM_MODULE_DIR),undefined) 27 export TIGHTBEAM_MODULE_DIR := $(shell /usr/bin/xcrun --show-sdk-path -sdk $(SDKROOT))/usr/local/lib/kernel/tightbeam 28endif 29 30USE_WERROR := 1 31ifneq ($(BUILD_WERROR),) 32USE_WERROR := $(BUILD_WERROR) 33endif 34 35ifeq ($(USE_WERROR),1) 36WERROR := -Werror 37endif 38 39# the xnu build system will only ever call us with the default target 40.DEFAULT_GOAL := install 41 42include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.common 43 44OTHER_CFLAGS = -Wall 45OTHER_CFLAGS += -Wno-deprecated-declarations 46OTHER_CFLAGS += -Werror=excess-initializers 47OTHER_CFLAGS += -Wno-c2x-extensions 48OTHER_CFLAGS += -Werror=excess-initializers 49OTHER_CFLAGS += --std=gnu17 -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders 50OTHER_CFLAGS += -UT_NAMESPACE_PREFIX -DT_NAMESPACE_PREFIX=xnu -DT_LEAKS_DISABLE=1 51OTHER_CFLAGS += -F $(SDKROOT)/System/Library/PrivateFrameworks 52 53# IPC utils for tests that need ipc_utils.c 54IPC_UTILS = ipc/ipc_utils.c 55EXCLUDED_SOURCES += $(IPC_UTILS) 56 57ipc/%: OTHER_CFLAGS += -Wno-format-pedantic $(WERROR) 58 59 60CODESIGN:=$(shell xcrun -sdk "$(TARGETSDK)" -find codesign) 61CODESIGN_HARDENED_RUNTIME:=$(CODESIGN) -o runtime 62CODESIGN_ALLOCATE:=$(shell xcrun -sdk "$(TARGETSDK)" -find codesign_allocate) 63 64LIPO:=$(shell xcrun -sdk "$(TARGETSDK)" -find lipo) 65 66ifeq ($(PLATFORM),iPhoneOS) 67 IOS_TEST_COMPAT = YES 68else 69 IOS_TEST_COMPAT = NO 70endif 71 72# Generate tightbeam header for ExclavesCHelloServer from tbmodule in the SDK 73ifneq ($(wildcard $(SDKROOT)/System/Library/PrivateFrameworks/Tightbeam.framework/Headers/tightbeam.h),) 74TIGHTBEAM_MODULES := \ 75 ExclavesCHelloServer.tbmodule 76 77TIGHTBEAM_MODULE_HEADERS := $(patsubst %.tbmodule,%.tightbeam.h,$(TIGHTBEAM_MODULES)) 78TIGHTBEAM_MODULE_IMPL := $(patsubst %.tbmodule,%.tightbeam.c,$(TIGHTBEAM_MODULES)) 79 80# This makes sure to not include any tbmodules which don't exist in the SDK and 81# expand the modules listed above to their full path in the SDK. The modules 82# should only be needed when actually building with CONFIG_EXCLAVES 83# (which can't easily be checked here). 84TIGHTBEAM_MODULES := $(patsubst %.tbmodule,$(TIGHTBEAM_MODULE_DIR)/%.tbmodule,$(TIGHTBEAM_MODULES)) 85TIGHTBEAM_MODULES := $(wildcard $(TIGHTBEAM_MODULES)) 86TIGHTBEAM_MODULE_IMPL_PATH := $(addprefix $(OBJROOT)/, $(TIGHTBEAM_MODULE_IMPL)) 87 88$(TIGHTBEAM_MODULE_IMPL) : \ 89 %.tightbeam.c : $(TIGHTBEAM_MODULES) 90 $(TIGHTBEAMC) build generate-c --output-base $(OBJROOT)/$*.tightbeam.c --codegen-version 2 $< 91 92$(TIGHTBEAM_MODULE_HEADERS) : $(TIGHTBEAM_MODULE_IMPL) 93endif 94 95# Subsystems 96 97include ktrace/Makefile 98include signals/Makefile 99 100INCLUDED_TEST_SOURCE_DIRS += recount 101include recount/Makefile 102INCLUDED_TEST_SOURCE_DIRS += cpu_counters 103include cpu_counters/Makefile 104 105INCLUDED_TEST_SOURCE_DIRS += sched 106include sched/Makefile 107 108# Miscellaneous Tests 109 110mach_eventlink: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) 111mach_eventlink: $(SCHED_UTILS) 112 113atm_diagnostic_flag: OTHER_CFLAGS += drop_priv.c 114 115atm_diagnostic_flag_entitled: CODE_SIGN_ENTITLEMENTS = atm_diagnostic_flag.entitlements 116atm_diagnostic_flag_entitled: OTHER_CFLAGS += drop_priv.c 117 118avx: INVALID_ARCHS = $(filter arm%,$(ARCH_CONFIGS)) 119avx: OTHER_CFLAGS += -mavx512f -mavx512bw -mavx512vl 120avx: OTHER_CFLAGS += -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders 121avx: CONFIG_FLAGS := $(filter-out -O%,$(CONFIG_FLAGS)) 122# Add -mno-implicit-float to prevent the compiler from touching SIMD regs 123# unexpectedly 124avx: CONFIG_FLAGS += -mno-implicit-float 125# Disable vzeroupper insertion to work around rdar://problem/35035096 126avx: CONFIG_FLAGS += -mllvm -x86-use-vzeroupper=0 127ifneq (osx,$(TARGET_NAME)) 128EXCLUDED_SOURCES += avx.c 129endif 130 131CUSTOM_TARGETS = sr_entitlement_helper 132 133sr_entitlement_helper: sr_entitlement_helper.c 134 mkdir -p $(SYMROOT) 135 $(CC) -I $(OBJROOT) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) sr_entitlement_helper.c -o $(SYMROOT)/$@ 136 echo $(CODESIGN) --force --sign - --timestamp=none --entitlements sr_entitlement.entitlements $(SYMROOT)/$@; \ 137 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements sr_entitlement.entitlements $(SYMROOT)/$@; 138 139install-sr_entitlement_helper: sr_entitlement_helper 140 mkdir -p $(INSTALLDIR) 141 cp $(SYMROOT)/sr_entitlement_helper $(INSTALLDIR) 142 143sr_entitlement: OTHER_LDFLAGS += -ldarwintest_utils 144 145restrict_jit: CODE_SIGN_ENTITLEMENTS = restrict_jit.entitlements 146 147backtracing_tests: OTHER_LDFLAGS += -framework CoreSymbolication 148backtracing_tests: CODE_SIGN_ENTITLEMENTS = kernel_symbolication_entitlements.plist 149 150CUSTOM_TARGETS += corpse_backtrace2 151 152corpse_backtrace2: 153 $(MIG) $(CFLAGS) \ 154 -DMACH_EXC_SERVER_TASKIDTOKEN \ 155 -DMACH_EXC_SERVER_BACKTRACE \ 156 -sheader $(OBJROOT)/excserver_backtrace.h \ 157 -server $(OBJROOT)/excserver_backtrace.c \ 158 -header /dev/null -user /dev/null \ 159 excserver_backtrace.defs 160 161install-corpse_backtrace2: ; 162 163corpse_backtrace: corpse_backtrace2 exc_helpers.c 164corpse_backtrace: OTHER_CFLAGS += $(OBJROOT)/excserver_backtrace.c 165corpse_backtrace: OTHER_CFLAGS += -I $(OBJROOT) 166corpse_backtrace: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 167 168# Tests that use exc_guard_helper.h should add all of the build options used by exc_guard_helper_test: 169# - additional C files exc_guard_helper.c and exc_helpers.c and test_utils.c 170# - additional library darwintest_utils 171# - excserver MIG-generated file 172# - entitlement to allow thread_set_exception_ports() 173exc_guard_helper_test: exc_guard_helper.c exc_helpers.c test_utils.c excserver 174exc_guard_helper_test: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 175exc_guard_helper_test: OTHER_LDFLAGS += -ldarwintest_utils 176exc_guard_helper_test: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 177 178EXCLUDED_SOURCES += exc_guard_helper.c 179 180exc_guard_helper_test_unexpected: exc_guard_helper.c exc_helpers.c test_utils.c excserver 181exc_guard_helper_test_unexpected: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 182exc_guard_helper_test_unexpected: OTHER_LDFLAGS += -ldarwintest_utils 183exc_guard_helper_test_unexpected: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 184 185# Tests that use try_read_write.h should add all of the build options used by try_read_write_test: 186# - additional C files try_read_write.c and exc_helpers.c 187# - excserver MIG-generated file 188# - entitlement to allow thread_set_exception_ports() 189try_read_write_test: try_read_write.c exc_helpers.c excserver 190try_read_write_test: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 191try_read_write_test: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 192 193EXCLUDED_SOURCES += try_read_write.c 194 195try_read_write_test_unexpected: try_read_write.c exc_helpers.c excserver 196try_read_write_test_unexpected: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 197try_read_write_test_unexpected: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 198 199vm/corpse_owned_vmobjects: excserver_protect_state 200vm/corpse_owned_vmobjects: OTHER_CFLAGS += $(OBJROOT)/excserver_protect_state.c -I $(OBJROOT) 201vm/corpse_owned_vmobjects: CODE_SIGN_ENTITLEMENTS += vm/corpse_owned_vmobjects.entitlements 202 203vm_test_mach_map: try_read_write.c exc_helpers.c excserver 204vm_test_mach_map: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 205vm_test_mach_map: CODE_SIGN_ENTITLEMENTS = ./vm_test_mach_map.plist 206 207OTHER_TEST_TARGETS += vm/vm_parameter_validation 208vm/vm_parameter_validation: CODE_SIGN_ENTITLEMENTS = vm/vm_parameter_validation.entitlements 209 210# vm_parameter_validation builds each arch as a separate build command 211# so we can pass architecture-specific linker flags. 212# and generate arch-specific MIG files. 213 214# libdarwintest.a doesn't have an arm64 slice on watchOS 215ifeq ($(PLATFORM),WatchOS) 216VM_PARAMETER_VALIDATION_INVALID_ARCHS = arm64 217vm/vm_parameter_validation: INVALID_ARCHS += arm64 218endif 219 220VM_PARAMETER_VALIDATION_ARCHS = $(filter-out $(VM_PARAMETER_VALIDATION_INVALID_ARCHS),$(ARCH_CONFIGS)) 221 222# Some tests map-overwrite wildly at addresses near 0. 223# Use a large PAGEZERO so our executable and other data do not land there. 224# (This is 32-bit only. 64-bit uses 4GB PAGEZERO by default which is fine.) 225VM_PARAMETER_VALIDATION_LDFLAGS_i386 = -Xlinker -pagezero_size -Xlinker 0x1000000 226VM_PARAMETER_VALIDATION_LDFLAGS_armv7 = -Xlinker -pagezero_size -Xlinker 0x1000000 227VM_PARAMETER_VALIDATION_LDFLAGS_armv7s = -Xlinker -pagezero_size -Xlinker 0x1000000 228VM_PARAMETER_VALIDATION_LDFLAGS_armv7k = -Xlinker -pagezero_size -Xlinker 0x1000000 229VM_PARAMETER_VALIDATION_LDFLAGS_arm64_32 = -Xlinker -pagezero_size -Xlinker 0x1000000 230 231VM_PARAMETER_VALIDATION_SLICES=$(addprefix $(SYMROOT)/vm/vm_parameter_validation_,$(VM_PARAMETER_VALIDATION_ARCHS)) 232 233vm/vm_parameter_validation: assets $(VM_PARAMETER_VALIDATION_SLICES) 234 $(LIPO) -create $(VM_PARAMETER_VALIDATION_SLICES) -output $(SYMROOT)/$@ 235 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@ 236 237$(SYMROOT)/vm/vm_parameter_validation_%: ../osfmk/tests/vm_parameter_validation.h \ 238 $(OBJROOT)/vm_parameter_validation_%_vm32_map_user.c \ 239 $(OBJROOT)/vm_parameter_validation_%_mach_vm_user.c \ 240 $(OBJROOT)/vm_parameter_validation_%_replacement_mach_host.c \ 241 $(OBJROOT)/vm_parameter_validation_%_replacement_host_priv.c \ 242 vm/vm_parameter_validation.c 243 mkdir -p $(SYMROOT)/vm 244 $(CC) -I $(OBJROOT) \ 245 $(DT_CFLAGS) $(OTHER_CFLAGS) $(filter-out $(ARCH_FLAGS),$(CFLAGS)) -arch $* \ 246 $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $(VM_PARAMETER_VALIDATION_LDFLAGS_$*) \ 247 -DVM32_SUPPORT=1 -DKERNEL_VM_TEST=1 \ 248 $(OBJROOT)/vm_parameter_validation_$*_vm32_map_user.c \ 249 $(OBJROOT)/vm_parameter_validation_$*_mach_vm_user.c \ 250 $(OBJROOT)/vm_parameter_validation_$*_replacement_mach_host.c \ 251 $(OBJROOT)/vm_parameter_validation_$*_replacement_host_priv.c \ 252 vm/vm_parameter_validation.c -o $@ 253 254# xnu/libsyscall/mach/mach_vm.c intercepts some VM calls from userspace, 255# sometimes doing something other than the expected MIG call. 256# And on 64-bit platforms libsystem has no interface to reach the 32-bit entrypoints. 257# We generate our own MIG userspace call sites to call the kernel entrypoints directly. 258$(OBJROOT)/vm_parameter_validation_%_vm32_map_user.c: ../osfmk/mach/vm32_map.defs 259 $(MIG) $(filter-out $(ARCH_FLAGS),$(CFLAGS)) -arch $* \ 260 -I../osfmk -novouchers -DKERNEL_USER=1 -DKOBJECT_SERVER -DKERNEL_VM_TEST=1 \ 261 -user $@ -header $(subst _$*_,_,$(@:.c=.h)) \ 262 -server /dev/null -sheader /dev/null \ 263 $< 264$(OBJROOT)/vm_parameter_validation_%_mach_vm_user.c: ../osfmk/mach/mach_vm.defs 265 $(MIG) $(filter-out $(ARCH_FLAGS),$(CFLAGS)) -arch $* \ 266 -I../osfmk -novouchers -DKERNEL_USER=1 -DKOBJECT_SERVER -DKERNEL_VM_TEST=1 \ 267 -user $@ -header $(subst _$*_,_,$(@:.c=.h)) \ 268 -server /dev/null -sheader /dev/null \ 269 $< 270# The declaration of mach_memory_object_memory_entry is buggy on U32. 271# We compile in our own MIG user stub for it with a "replacement_" prefix. 272# rdar://117927965 273$(OBJROOT)/vm_parameter_validation_%_replacement_mach_host.c: vm/vm_parameter_validation_replacement_mach_host.defs 274 $(MIG) $(filter-out $(ARCH_FLAGS),$(CFLAGS)) -arch $* \ 275 -I../osfmk -novouchers -DKERNEL_USER=1 -DKOBJECT_SERVER -DKERNEL_VM_TEST=1 \ 276 -user $@ -header $(subst _$*_,_,$(@:.c=.h)) \ 277 -server /dev/null -sheader /dev/null \ 278 $< 279# The declaration of vm_wire is buggy on U32. 280# We compile in our own MIG user stub for it with a "replacement_" prefix. 281# rdar://118258929 282$(OBJROOT)/vm_parameter_validation_%_replacement_host_priv.c: vm/vm_parameter_validation_replacement_host_priv.defs 283 $(MIG) $(filter-out $(ARCH_FLAGS),$(CFLAGS)) -arch $* \ 284 -I../osfmk -novouchers -DKERNEL_USER=1 -DKOBJECT_SERVER -DKERNEL_VM_TEST=1 \ 285 -user $@ -header $(subst _$*_,_,$(@:.c=.h)) \ 286 -server /dev/null -sheader /dev/null \ 287 $< 288 289 290CUSTOM_TARGETS += immovable_send_client vm_spawn_tool port_exhaustion_client port_table_limits_client fd_table_limits_client posix_spawnattr_set_crash_behavior_np_child kqworkloop_limits_client 291CUSTOM_TARGETS += ipc/hardened_exceptions_entitled_debugger ipc/hardened_exceptions_entitled 292CUSTOM_TARGETS += excserver_protect 293CUSTOM_TARGETS += excserver_protect_state 294 295exception_tests: excserver_protect exc_helpers.c 296exception_tests: CODE_SIGN_ENTITLEMENTS = exception_tests.entitlements 297exception_tests: OTHER_CFLAGS += $(OBJROOT)/excserver_protect.c 298exception_tests: OTHER_CFLAGS += -I $(OBJROOT) 299exception_tests: OTHER_CFLAGS += -DENTITLED=1 300 301ipc/hardened_exceptions: excserver_protect_state exc_helpers.c 302ipc/hardened_exceptions: ipc/hardened_exceptions_entitled ipc/hardened_exceptions_entitled_debugger 303ipc/hardened_exceptions: $(OBJROOT)/excserver_protect_state.c 304 305ipc/hardened_exceptions_entitled: excserver_protect_state 306ipc/hardened_exceptions_entitled: CODE_SIGN_ENTITLEMENTS = entitlements/only_one_exception_port.entitlement 307ipc/hardened_exceptions_entitled: OTHER_CFLAGS += -I $(OBJROOT) 308ipc/hardened_exceptions_entitled: exc_helpers.c ipc/hardened_exceptions.c $(OBJROOT)/excserver_protect_state.c 309 mkdir -p $(SYMROOT)/ipc 310 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(OTHER_CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 311 $(filter-out $(CUSTOM_TARGETS), $^) -o $(SYMROOT)/$@ 312 $(CODESIGN) --force --sign - --entitlements $(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@ 313 314ipc/hardened_exceptions_entitled_debugger: excserver_protect_state 315ipc/hardened_exceptions_entitled_debugger: CODE_SIGN_ENTITLEMENTS = entitlements/only_one_exception_port_debugger.entitlement 316ipc/hardened_exceptions_entitled_debugger: exc_helpers.c ipc/hardened_exceptions.c $(OBJROOT)/excserver_protect_state.c 317 mkdir -p $(SYMROOT)/ipc 318 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(OTHER_CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 319 $(filter-out $(CUSTOM_TARGETS), $^) -o $(SYMROOT)/$@ 320 $(CODESIGN) --force --sign - --entitlements $(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@ 321 322install-ipc/hardened_exceptions_entitled_debugger: ipc/hardened_exceptions_entitled_debugger 323 mkdir -p $(INSTALLDIR) 324 cp $(SYMROOT)/$< $(INSTALLDIR)/ 325 326install-ipc/hardened_exceptions_entitled: ipc/hardened_exceptions_entitled 327 mkdir -p $(INSTALLDIR) 328 cp $(SYMROOT)/$< $(INSTALLDIR)/ 329 330install-reply_port_defense_client: reply_port_defense_client 331 mkdir -p $(INSTALLDIR) 332 cp $(SYMROOT)/$< $(INSTALLDIR)/ 333 334immovable_send: excserver 335immovable_send: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 336immovable_send: OTHER_LDFLAGS += -ldarwintest_utils -lpthread -framework IOKit 337immovable_send: immovable_send_client 338immovable_send: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 339 340locks: OTHER_LDFLAGS += -ldarwintest_utils 341 342immovable_send_client: immovable_send_client.c 343 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) immovable_send_client.c -o $(SYMROOT)/immovable_send_client 344 345install-immovable_send_client: immovable_send_client 346 mkdir -p $(INSTALLDIR) 347 cp $(SYMROOT)/immovable_send_client $(INSTALLDIR)/ 348 349ipc/sys_perf_notify_test: excserver_protect_state 350ipc/sys_perf_notify_test: OTHER_CFLAGS += $(OBJROOT)/excserver_protect_state.c -I $(OBJROOT) 351ipc/sys_perf_notify_test: CODE_SIGN_ENTITLEMENTS=entitlements/sys_perf_notify_test.entitlements 352 353ipc/port_type_policy: CODE_SIGN_ENTITLEMENTS = entitlements/port_type_policy.entitlements 354ipc/port_type_policy: OTHER_CFLAGS += -I $(OBJROOT) 355ipc/port_type_policy: ipc/port_type_policy.c 356ipc/port_type_policy: $(IPC_UTILS) 357 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(OTHER_CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 358 $(filter-out $(CUSTOM_TARGETS), $^) -o $(SYMROOT)/$@ 359 $(CODESIGN) --force --sign - --entitlements $(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@ 360 361EXCLUDED_SOURCES += posix_sem_namespace_helper.c 362CUSTOM_TARGETS += posix_sem_namespace_helper_team0 posix_sem_namespace_helper_team1 363posix_sem_namespace_helper_team0: posix_sem_namespace_helper.c 364 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 365 $^ -o $(SYMROOT)/$@ 366 $(CODESIGN) --force --sign - --timestamp=none --team-identifier "PSXSEMT0" $(SYMROOT)/$@ 367posix_sem_namespace_helper_team1: posix_sem_namespace_helper.c 368 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 369 $^ -o $(SYMROOT)/$@ 370 $(CODESIGN) --force --sign - --timestamp=none --team-identifier "PSXSEMT1" $(SYMROOT)/$@ 371 372install-posix_sem_namespace_helper_team0: posix_sem_namespace_helper_team0 373 mkdir -p $(INSTALLDIR) 374 cp $(SYMROOT)/posix_sem_namespace_helper_team0 $(INSTALLDIR)/ 375install-posix_sem_namespace_helper_team1: posix_sem_namespace_helper_team1 376 mkdir -p $(INSTALLDIR) 377 cp $(SYMROOT)/posix_sem_namespace_helper_team1 $(INSTALLDIR)/ 378 379posix_sem: posix_sem_namespace_helper_team0 posix_sem_namespace_helper_team1 380posix_sem: OTHER_LDFLAGS += -ldarwintest_utils 381 382 383posix_spawnattr_set_crash_behavior_np: posix_spawnattr_set_crash_behavior_np_child 384posix_spawnattr_set_crash_behavior_np: CODE_SIGN_ENTITLEMENTS = posix_spawnattr_set_crash_behavior_np_entitlements.plist 385 386posix_spawnattr_set_crash_behavior_np_child: posix_spawnattr_set_crash_behavior_np_child.c 387 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) posix_spawnattr_set_crash_behavior_np_child.c -o $(SYMROOT)/posix_spawnattr_set_crash_behavior_np_child 388 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 389 390install-posix_spawnattr_set_crash_behavior_np_child: posix_spawnattr_set_crash_behavior_np_child 391 mkdir -p $(INSTALLDIR) 392 cp $(SYMROOT)/posix_spawnattr_set_crash_behavior_np_child $(INSTALLDIR)/ 393 394posix_spawnattr_set_launch_type_np: posix_spawnattr_set_launch_type_test 395posix_spawnattr_set_launch_type_np: OTHER_CFLAGS += -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders 396 397posix_spawn_launch_type: CODE_SIGN_ENTITLEMENTS = posix_spawn_launch_type-entitlements.plist 398 399port_exhaustion: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 400port_exhaustion: port_exhaustion_client 401 402port_exhaustion_client: port_exhaustion_client.c 403 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) port_exhaustion_client.c -o $(SYMROOT)/port_exhaustion_client 404 405install-port_exhaustion_client: port_exhaustion_client 406 mkdir -p $(INSTALLDIR) 407 cp $(SYMROOT)/port_exhaustion_client $(INSTALLDIR)/ 408 409port_table_limits: rnserver 410port_table_limits: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 411port_table_limits: OTHER_CFLAGS += $(OBJROOT)/rnServer.c -I $(OBJROOT) 412port_table_limits: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 413port_table_limits: port_table_limits_client 414 415port_table_limits_client: port_table_limits_client.c 416 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) port_table_limits_client.c -o $(SYMROOT)/port_table_limits_client 417 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 418 419install-port_table_limits_client: port_table_limits_client 420 mkdir -p $(INSTALLDIR) 421 cp $(SYMROOT)/port_table_limits_client $(INSTALLDIR)/ 422 423CUSTOM_TARGETS += kqwl_rnserver 424 425kqwl_rnserver: 426 $(MIG) $(CFLAGS) \ 427 -DKQWORKLOOPS_VIOLATION_SUPPORTED \ 428 -user /dev/null \ 429 -header $(OBJROOT)/kqwl_rn.h \ 430 -sheader $(OBJROOT)/kqwl_rnServer.h \ 431 -server $(OBJROOT)/kqwl_rnServer.c \ 432 rnserver.defs 433install-kqwl_rnserver: ; 434 435kqworkloop_limits: kqwl_rnserver 436kqworkloop_limits: OTHER_CFLAGS += $(OBJROOT)/kqwl_rnServer.c -I $(OBJROOT) 437kqworkloop_limits: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 438kqworkloop_limits: kqworkloop_limits_client 439 440kqworkloop_limits_client: kqworkloop_limits_client.c 441 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) kqworkloop_limits_client.c -o $(SYMROOT)/kqworkloop_limits_client 442 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 443 444install-kqworkloop_limits_client: kqworkloop_limits_client 445 mkdir -p $(INSTALLDIR) 446 cp $(SYMROOT)/kqworkloop_limits_client $(INSTALLDIR)/ 447 448ipc/task_name_for_pid: CODE_SIGN_ENTITLEMENTS = ipc/task_name_for_pid_entitlement.plist 449 450ipc/mach_msg_transport: CODE_SIGN_ENTITLEMENTS = entitlements/create_conn_port_with_port_array.entitlements 451 452fd_table_limits: rnserver 453fd_table_limits: OTHER_CFLAGS += $(OBJROOT)/rnServer.c -I $(OBJROOT) 454fd_table_limits: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 455fd_table_limits: fd_table_limits_client 456 457fd_table_limits_client: fd_table_limits_client.c 458 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) fd_table_limits_client.c -o $(SYMROOT)/fd_table_limits_client 459 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 460 461install-fd_table_limits_client: fd_table_limits_client 462 mkdir -p $(INSTALLDIR) 463 cp $(SYMROOT)/fd_table_limits_client $(INSTALLDIR)/ 464 465vm_spawn_tool: INVALID_ARCHS = i386 466vm_spawn_tool: vm_spawn_tool.c 467 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) vm_spawn_tool.c -o $(SYMROOT)/vm_spawn_tool 468 469install-vm_spawn_tool: vm_spawn_tool 470 mkdir -p $(INSTALLDIR)/tools 471 cp $(SYMROOT)/vm_spawn_tool $(INSTALLDIR)/tools/ 472 473CUSTOM_TARGETS += ipc/imm_pinned_control_port_crasher 474CUSTOM_TARGETS += ipc/imm_pinned_control_port_crasher_3P_hardened 475 476ipc/imm_pinned_control_port: excserver_protect 477ipc/imm_pinned_control_port: CODE_SIGN_ENTITLEMENTS = entitlements/imm_pinned_control_port.entitlements 478ipc/imm_pinned_control_port: OTHER_CFLAGS += $(OBJROOT)/excserver_protect.c -I $(OBJROOT) 479ipc/imm_pinned_control_port: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 480ipc/imm_pinned_control_port: ipc/imm_pinned_control_port_crasher ipc/imm_pinned_control_port_crasher_3P_hardened 481 482ipc/imm_pinned_control_port_crasher: ipc/imm_pinned_control_port_crasher.c cs_helpers.c 483 mkdir -p $(SYMROOT)/ipc 484 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 485 $^ -o $(SYMROOT)/$@ 486 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 487 488ipc/imm_pinned_control_port_crasher_3P_hardened: CODE_SIGN_ENTITLEMENTS = entitlements/enhanced-security-binary-entitlements-1.plist 489ipc/imm_pinned_control_port_crasher_3P_hardened: ipc/imm_pinned_control_port_crasher.c cs_helpers.c 490 mkdir -p $(SYMROOT)/ipc 491 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 492 $^ -o $(SYMROOT)/$@ 493 $(CODESIGN) --force --sign - --entitlements $(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@ 494 495install-ipc/imm_pinned_control_port: ipc/imm_pinned_control_port 496 mkdir -p $(INSTALLDIR)/ipc 497 cp $(SYMROOT)/$< $(INSTALLDIR)/ipc/ 498 499install-ipc/imm_pinned_control_port_crasher: ipc/imm_pinned_control_port_crasher 500 mkdir -p $(INSTALLDIR)/ipc 501 cp $(SYMROOT)/$< $(INSTALLDIR)/ipc/ 502 503install-ipc/imm_pinned_control_port_crasher_3P_hardened: ipc/imm_pinned_control_port_crasher_3P_hardened 504 mkdir -p $(INSTALLDIR)/ipc 505 cp $(SYMROOT)/$< $(INSTALLDIR)/ipc/ 506 507# Allow this test to pull {TASK, THREAD}_KERNEL_PORT via get-movable-control-port 508ipc/imm_pinned_control_port_entitled: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 509ipc/imm_pinned_control_port_entitled: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 510 511install-ipc/imm_pinned_control_port_entitled: ipc/imm_pinned_control_port_entitled 512 mkdir -p $(INSTALLDIR)/ipc 513 cp $(SYMROOT)/$< $(INSTALLDIR)/ipc/ 514 515CUSTOM_TARGETS += reply_port_defense_client 516CUSTOM_TARGETS += reply_port_defense_client_3P_hardened 517 518reply_port_defense: excserver_protect_state 519reply_port_defense: OTHER_CFLAGS += $(OBJROOT)/excserver_protect_state.c -I $(OBJROOT) 520reply_port_defense: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 521reply_port_defense: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 522reply_port_defense: reply_port_defense_client reply_port_defense_client_3P_hardened 523reply_port_defense: $(IPC_UTILS) 524 525reply_port_defense_client: CODE_SIGN_ENTITLEMENTS=exception_tests.entitlements 526reply_port_defense_client: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 527reply_port_defense_client: reply_port_defense_client.c cs_helpers.c 528 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 529 $^ -o $(SYMROOT)/$@ 530 $(CODESIGN) --force --sign - --entitlements $(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@ 531 532reply_port_defense_client_3P_hardened: CODE_SIGN_ENTITLEMENTS=entitlements/enhanced-security-binary-entitlements-1.plist 533reply_port_defense_client_3P_hardened: reply_port_defense_client.c cs_helpers.c 534 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 535 $^ -o $(SYMROOT)/$@ 536 $(CODESIGN) --force --sign - --entitlements $(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@ 537 538install-reply_port_defense_client: reply_port_defense_client 539 mkdir -p $(INSTALLDIR) 540 cp $(SYMROOT)/$< $(INSTALLDIR)/ 541 542install-reply_port_defense_client_3P_hardened: reply_port_defense_client_3P_hardened 543 mkdir -p $(INSTALLDIR) 544 cp $(SYMROOT)/$< $(INSTALLDIR)/ 545 546kas_info: OTHER_LDFLAGS += -framework CoreSymbolication 547kas_info: CODE_SIGN_ENTITLEMENTS = kernel_symbolication_entitlements.plist 548 549net_bounds_safety: OTHER_CFLAGS += -fbounds-safety 550 551net_no_bounds_safety: OTHER_CFLAGS += -fno-bounds-safety 552net_no_bounds_safety: net_bounds_safety.c 553 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 554OTHER_TEST_TARGETS += net_no_bounds_safety 555 556host_statistics_rate_limiting: cs_helpers.c host_statistics_rate_limiting.c 557 558EXCLUDED_SOURCES += drop_priv.c xnu_quick_test_helpers.c memorystatus_assertion_helpers.c bpflib.c in_cksum.c test_utils.c inet_transfer.c net_test_lib.c cs_helpers.c vsock_helpers.c 559 560ifneq ($(IOS_TEST_COMPAT),YES) 561EXCLUDED_SOURCES += jumbo_va_spaces_28530648.c perf_compressor.c vm/ios13extended_footprint.c vm/entitlement_internal_bands.c 562endif 563 564perf_compressor: OTHER_LDFLAGS += -ldarwintest_utils 565perf_compressor: CODE_SIGN_ENTITLEMENTS=./private_entitlement.plist 566 567 568vm/memorystatus_freeze_test: CODE_SIGN_ENTITLEMENTS=./task_for_pid_entitlement.plist 569vm/memorystatus_freeze_test: OTHER_LDFLAGS += -ldarwintest_utils 570vm/memorystatus_freeze_test: memorystatus_assertion_helpers.c test_utils.c vm/memorystatus_freeze_test.c 571 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 572 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 573 574vm/memorystatus_freeze_test_entitled: CODE_SIGN_ENTITLEMENTS=./vm/memorystatus_freeze_test_entitled.plist 575vm/memorystatus_freeze_test_entitled: OTHER_LDFLAGS += -ldarwintest_utils 576vm/memorystatus_freeze_test_entitled: test_utils.c vm/memorystatus_freeze_test_entitled.c 577 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 578 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 579 580vm/memorystatus_jetsam_zprint_snapshot: CODE_SIGN_ENTITLEMENTS=./vm/memorystatus_jetsam_zprint_snapshot.entitlements 581vm/memorystatus_jetsam_zprint_snapshot: OTHER_LDFLAGS += -ldarwintest_utils 582 583vm/memorystatus_kill_counts: CODE_SIGN_ENTITLEMENTS=./vm/memorystatus_kill_counts.entitlements 584vm/memorystatus_kill_counts: OTHER_LDFLAGS += -ldarwintest_utils 585 586vm/neural_footprint: CODE_SIGN_ENTITLEMENTS=./vm/neural_footprint.entitlement 587vm/neural_footprint: OTHER_CFLAGS += -I $(OBJROOT) 588vm/neural_footprint: OTHER_LDFLAGS += -ldarwintest_utils 589vm/neural_footprint: test_utils.c vm/neural_footprint.c ./vm/neural_footprint.entitlement 590 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 591 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 592 593memorystatus_is_assertion: OTHER_LDFLAGS += -ldarwintest_utils 594memorystatus_is_assertion: OTHER_CFLAGS += memorystatus_assertion_helpers.c 595 596memorystatus_vm_map_fork: OTHER_CFLAGS += test_utils.c 597memorystatus_vm_map_fork: OTHER_LDFLAGS += -ldarwintest_utils 598 599shared_cache_tests: OTHER_LDFLAGS += -ldarwintest_utils 600 601ifneq ($(wildcard $(SDKROOT)/System/Library/PrivateFrameworks/Tightbeam.framework/Headers/tightbeam.h),) 602stackshot_tests: OTHER_LDFLAGS += -framework Tightbeam 603stackshot_tests: OTHER_CFLAGS += -I$(OBJROOT) 604stackshot_tests: OTHER_CFLAGS += $(TIGHTBEAM_MODULE_IMPL_PATH) 605stackshot_tests.m: $(TIGHTBEAM_MODULE_HEADERS) 606endif 607stackshot_tests: ./stackshot-entitlements.plist stackshot_tests.m 608stackshot_tests: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 609stackshot_tests: OTHER_CFLAGS += -Wno-objc-messaging-id test_utils.c 610stackshot_tests: OTHER_LDFLAGS += -lkdd -lz -ldarwintest_utils -framework Foundation -framework IOKit 611 612stackshot_accuracy: ./stackshot-entitlements.plist 613stackshot_accuracy: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 614stackshot_accuracy: OTHER_CFLAGS += -ldarwintest_utils -Wno-objc-messaging-id 615stackshot_accuracy: OTHER_LDFLAGS += -lkdd -ldarwintest_utils -framework Foundation 616stackshot_accuracy: INVALID_ARCHS = i386 617 618stackshot_spawn_exit_stress: ./stackshot-entitlements.plist 619stackshot_spawn_exit_stress: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 620 621ifeq ($(PLATFORM),MacOSX) 622CUSTOM_TARGETS += stackshot_translated_child 623 624stackshot_translated_child: INVALID_ARCHS = arm64 arm64e 625stackshot_translated_child: stackshot_translated_child.c 626 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) stackshot_translated_child.c -o $(SYMROOT)/stackshot_translated_child 627 628install-stackshot_translated_child: stackshot_translated_child 629 mkdir -p $(INSTALLDIR) 630 cp $(SYMROOT)/stackshot_translated_child $(INSTALLDIR)/ 631else 632EXCLUDED_SOURCES += stackshot_translated_child.c 633endif 634 635microstackshot_tests: ./stackshot-entitlements.plist 636microstackshot_tests: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 637microstackshot_tests: OTHER_LDFLAGS = -ldarwintest_utils -framework ktrace -framework kperf -framework CoreFoundation 638 639memorystatus_zone_test: ./stackshot-entitlements.plist 640memorystatus_zone_test: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 641memorystatus_zone_test: OTHER_CFLAGS += -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders 642memorystatus_zone_test: OTHER_LDFLAGS += -framework ktrace 643memorystatus_zone_test: OTHER_LDFLAGS += -ldarwintest_utils 644 645memcmp_zero: OTHER_CFLAGS += ../osfmk/arm64/memcmp_zero.s 646 647text_corruption: OTHER_LDFLAGS += -ldarwintest_utils 648CUSTOM_TARGETS += text_corruption_helper 649 650text_corruption_helper: 651 $(CC) $(LDFLAGS) $(CFLAGS) text_corruption_helper.c -lm -o $(SYMROOT)/$@; 652 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 653 654install-text_corruption_helper: text_corruption_helper 655 mkdir -p $(INSTALLDIR) 656 cp $(SYMROOT)/text_corruption_helper $(INSTALLDIR)/ 657 658codesigntests: CODE_SIGN_ENTITLEMENTS=codesigntests-entitlements.plist 659codesigntests: OTHER_CFLAGS += -DTESTNAME=codesigntests 660# Adding a custom target and build/install rules since CODE_SIGN_ENTITLEMENTS 661# does not take in arguments, and we need to sign this test using a sha256T 662# digest 663 664OTHER_TEST_TARGETS += codesigntests_sha256t 665codesigntests_sha256t: OTHER_CFLAGS += -DTESTNAME=codesigntests_sha256t 666 667codesigntests_sha256t: codesigntests.c 668 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(DT_LDFLAGS) $(LDFLAGS) $(CFLAGS) codesigntests.c -o $(SYMROOT)/$@; 669 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --digest=sha256T -s - --entitlements codesigntests-entitlements.plist $(SYMROOT)/$@; 670install-codesigntests_sha256t: codesigntests_sha256t 671 mkdir -p $(INSTALLDIR) 672 cp $(SYMROOT)/codesigntests_sha256t $(INSTALLDIR)/ 673 674 675ecc_test: OTHER_LDFLAGS += -ldarwintest_utils 676CUSTOM_TARGETS += ecc_test_helper 677 678ecc_test_helper: 679 $(CC) $(LDFLAGS) $(CFLAGS) ecc_test_helper.c -lm -o $(SYMROOT)/$@; 680 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 681 682install-ecc_test_helper: ecc_test_helper 683 mkdir -p $(INSTALLDIR) 684 cp $(SYMROOT)/ecc_test_helper $(INSTALLDIR)/ 685 686vm/test_vm_no_pager: excserver 687vm/test_vm_no_pager: OTHER_LDFLAGS += -ldarwintest_utils -lpthread -lkdd -framework Foundation 688vm/test_vm_no_pager: OTHER_CFLAGS += -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders $(OBJROOT)/excserver.c -I$(OBJROOT) 689vm/test_vm_no_pager: vm/test_vm_no_pager_helper 690vm/test_vm_no_pager: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 691CUSTOM_TARGETS += vm/test_vm_no_pager_helper 692 693vm/test_vm_no_pager_helper: vm/test_vm_no_pager_helper.c 694 $(CC) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -lm -o $(SYMROOT)/$@; 695 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 696 697install-vm/test_vm_no_pager_helper: vm/test_vm_no_pager_helper 698 mkdir -p $(INSTALLDIR)/vm 699 cp $(SYMROOT)/vm/test_vm_no_pager_helper $(INSTALLDIR)/vm/ 700 701 702kevent_qos: OTHER_CFLAGS += -Wno-unused-macros 703kevent_qos: OTHER_CFLAGS += -I $(OBJROOT)/ 704 705test_knote_use_after_free: OTHER_CFLAGS += -Wno-unused-macros 706test_knote_use_after_free: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 707 708mach_get_times: OTHER_LDFLAGS += -ldarwintest_utils 709 710monotonic_core: ./stackshot-entitlements.plist 711monotonic_core: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 712monotonic_core: OTHER_LDFLAGS += -framework ktrace 713 714perf_exit: perf_exit_proc 715perf_exit: ./stackshot-entitlements.plist 716perf_exit: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 717perf_exit: OTHER_LDFLAGS = -framework ktrace -ldarwintest_utils 718perf_exit: CODE_SIGN_ENTITLEMENTS=./private_entitlement.plist 719 720ipc/mach_exc_port_substitute: excserver 721ipc/mach_exc_port_substitute: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 722ipc/mach_exc_port_substitute: CODE_SIGN_ENTITLEMENTS = ipc/mach_exc_port_substitute.plist 723 724CUSTOM_TARGETS += prioritize_process_launch_helper 725prioritize_process_launch: prioritize_process_launch_helper 726 727prioritize_process_launch_helper: prioritize_process_launch_helper.c 728 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) prioritize_process_launch_helper.c -o $(SYMROOT)/prioritize_process_launch_helper 729 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 730 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 731 732install-prioritize_process_launch_helper: prioritize_process_launch_helper 733 mkdir -p $(INSTALLDIR) 734 cp $(SYMROOT)/prioritize_process_launch_helper $(INSTALLDIR)/ 735 736 737perf_spawn_fork: CODE_SIGN_ENTITLEMENTS=./private_entitlement.plist 738 739mach_exception_reply: OTHER_CFLAGS += -Wno-cast-align 740mach_exception_reply: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 741 742os_thread_self_restrict: os_thread_self_restrict.c os_thread_self_restrict-entitlements.plist 743os_thread_self_restrict: CODE_SIGN_ENTITLEMENTS=os_thread_self_restrict-entitlements.plist 744os_thread_self_restrict: OTHER_LDFLAGS += -sectcreate __TEXT __info_plist os_thread_self_restrict-identifier.plist 745 746# Temporarily disabled. See rdar://121952316 747EXCLUDED_SOURCES += os_thread_self_restrict.c 748 749subsystem_root_path: subsystem_root_path.c subsystem_root_path-entitlements.plist 750subsystem_root_path: CODE_SIGN_ENTITLEMENTS=subsystem_root_path-entitlements.plist 751 752EXCLUDED_SOURCES += $(wildcard bounded_ptr_src/*.cpp) 753bounded_ptr: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 754bounded_ptr: $(wildcard bounded_ptr_src/*.cpp) bounded_ptr.cpp 755 756EXCLUDED_SOURCES += bounded_ptr_03.cpp 757bounded_ptr_03: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++03 $(DT_LDFLAGS) 758bounded_ptr_03: bounded_ptr_03.cpp 759 760EXCLUDED_SOURCES += $(wildcard bounded_array_src/*.cpp) 761bounded_array: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 762bounded_array: $(wildcard bounded_array_src/*.cpp) bounded_array.cpp 763 764EXCLUDED_SOURCES += $(wildcard bounded_array_ref_src/*.cpp) 765bounded_array_ref: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 766bounded_array_ref: $(wildcard bounded_array_ref_src/*.cpp) bounded_array_ref.cpp 767 768EXCLUDED_SOURCES += $(wildcard intrusive_shared_ptr_src/*.cpp) 769intrusive_shared_ptr: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 770intrusive_shared_ptr: $(wildcard intrusive_shared_ptr_src/*.cpp) intrusive_shared_ptr.cpp 771 772EXCLUDED_SOURCES += $(wildcard safe_allocation_src/*.cpp) 773safe_allocation: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 774safe_allocation: $(wildcard safe_allocation_src/*.cpp) safe_allocation.cpp 775 776EXCLUDED_SOURCES += $(wildcard cxx_safe_buffers_src/*.cpp) 777cxx_safe_buffers: OTHER_CXXFLAGS += -Werror=unsafe-buffer-usage -I$(SRCROOT)/../libkern -std=c++20 778cxx_safe_buffers: $(wildcard cxx_safe_buffers_src/*.cpp) cxx_safe_buffers.cpp 779 780EXCLUDED_SOURCES += osptr_compat.cpp 781osptr_98: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++98 -DOSPTR_STD="98" 782osptr_98: osptr_compat.cpp 783 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 784osptr_11: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++11 -DOSPTR_STD="11" 785osptr_11: osptr_compat.cpp 786 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 787osptr_14: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++14 -DOSPTR_STD="14" 788osptr_14: osptr_compat.cpp 789 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 790osptr_17: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++17 -DOSPTR_STD="17" 791osptr_17: osptr_compat.cpp 792 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 793 794priority_queue: OTHER_CXXFLAGS += -std=c++17 795queue: OTHER_CFLAGS += -I$(SRCROOT)/../osfmk 796 797vm/zalloc: OTHER_LDFLAGS += -ldarwintest_utils 798vm/zalloc_buddy: OTHER_CFLAGS += -Wno-format-pedantic 799 800os_refcnt: OTHER_CFLAGS += -I$(SRCROOT)/../libkern/ -Wno-gcc-compat -Wno-undef -O3 -flto -ldarwintest_utils 801 802kernel_inspection: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 803kernel_inspection: OTHER_CFLAGS += -DENTITLED=1 804 805turnstile_multihop: OTHER_CFLAGS += -Wno-unused-macros 806turnstile_multihop: OTHER_CFLAGS += -I $(OBJROOT)/ 807 808CUSTOM_TARGETS += perf_exit_proc 809 810perf_exit_proc: 811 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) perf_exit_proc.c -o $(SYMROOT)/perf_exit_proc 812 813install-perf_exit_proc: perf_exit_proc 814 mkdir -p $(INSTALLDIR) 815 cp $(SYMROOT)/perf_exit_proc $(INSTALLDIR)/ 816 817# Stackshot 818 819 820stackshot_idle_25570396: ./stackshot-entitlements.plist 821stackshot_idle_25570396: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 822stackshot_idle_25570396: OTHER_LDFLAGS += -lkdd -framework Foundation 823stackshot_idle_25570396: OTHER_LDFLAGS += -lkdd -framework Foundation 824 825stackshot_block_owner_14362384: ./stackshot-entitlements.plist 826stackshot_block_owner_14362384: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 827stackshot_block_owner_14362384: OTHER_LDFLAGS += -framework Foundation -lpthread -lkdd 828ifeq ($(PLATFORM),MacOSX) 829stackshot_block_owner_14362384: OTHER_LDFLAGS += -lpcre 830endif 831 832all: $(DSTROOT)/usr/local/bin/kcdata 833 834$(DSTROOT)/usr/local/bin/kcdata: $(SRCROOT)/../tools/lldbmacros/kcdata.py 835 mkdir -p $(dir $@) 836 cp $< $@ 837 chmod a+x $@ 838 839xnu_quick_test: OTHER_CFLAGS += xnu_quick_test_helpers.c 840 841CUSTOM_TARGETS += vm_set_max_addr_helper 842 843vm_set_max_addr_helper: vm_set_max_addr_helper.c 844 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) vm_set_max_addr_helper.c -o $(SYMROOT)/vm_set_max_addr_helper; \ 845 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 846 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 847 848install-vm_set_max_addr_helper: vm_set_max_addr_helper 849 mkdir -p $(INSTALLDIR) 850 cp $(SYMROOT)/vm_set_max_addr_helper $(INSTALLDIR)/ 851 852CUSTOM_TARGETS += subsystem_root_path_helper_entitled 853CUSTOM_TARGETS += subsystem_root_path_helper 854 855subsystem_root_path_helper_entitled: subsystem_root_path_helper.c subsystem_root_path-entitlements.plist 856 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) subsystem_root_path_helper.c -o $(SYMROOT)/subsystem_root_path_helper_entitled; \ 857 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 858 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements subsystem_root_path-entitlements.plist $(SYMROOT)/$@; 859 860install-subsystem_root_path_helper_entitled: subsystem_root_path_helper_entitled 861 mkdir -p $(INSTALLDIR) 862 cp $(SYMROOT)/subsystem_root_path_helper_entitled $(INSTALLDIR)/ 863 864subsystem_root_path_helper: subsystem_root_path_helper.c 865 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) subsystem_root_path_helper.c -o $(SYMROOT)/subsystem_root_path_helper; \ 866 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 867 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 868 869install-subsystem_root_path_helper: subsystem_root_path_helper 870 mkdir -p $(INSTALLDIR) 871 cp $(SYMROOT)/subsystem_root_path_helper $(INSTALLDIR)/ 872 873CUSTOM_TARGETS += vm_test_code_signing_helper 874 875vm_test_code_signing_helper: vm_test_code_signing_helper.c 876 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) vm_test_code_signing_helper.c -o $(SYMROOT)/vm_test_code_signing_helper; \ 877 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 878 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 879 880install-vm_test_code_signing_helper: vm_test_code_signing_helper 881 mkdir -p $(INSTALLDIR) 882 cp $(SYMROOT)/vm_test_code_signing_helper $(INSTALLDIR)/ 883 884vm_test_code_signing: OTHER_LDFLAGS += -ldarwintest_utils 885 886INCLUDED_TEST_SOURCE_DIRS += ipc rm workq 887 888include vm/Makefile 889 890vm/vm_stress: OTHER_CXXFLAGS += -std=c++20 891vm/vm_stress: OTHER_LDFLAGS += -ldarwintest_utils 892vm/vm_stress: INVALID_ARCHS = x86_64h 893 894 895big_map_test: CODE_SIGN_ENTITLEMENTS = ./big_map_test_entitlement.plist 896 897task_info_28439149: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 898 899ipc/ipc_read_inspect: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 900 901ipc/ipc_thread_ports_race: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 902ipc/ipc_thread_ports_race: OTHER_LDFLAGS += -ldarwintest_utils 903 904rm/pthread_setugid: OTHER_LDFLAGS += -ldarwintest_utils 905rm/coalition_info_resource_usage: OTHER_LDFLAGS += -ldarwintest_utils 906 907proc_info: recount/recount_test_utils.c 908proc_info: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 909proc_info: OTHER_LDFLAGS += -ldarwintest_utils 910 911proc_info_list_kthreads: CODE_SIGN_ENTITLEMENTS = ./proc_info_list_kthreads.entitlements 912 913proc_info_44873309: CODE_SIGN_ENTITLEMENTS = ./proc_info_44873309.entitlements 914 915disk_mount_conditioner: disk_mount_conditioner* 916disk_mount_conditioner: CODE_SIGN_ENTITLEMENTS=./disk_mount_conditioner-entitlements.plist 917disk_mount_conditioner: OTHER_LDFLAGS += -ldarwintest_utils -framework Foundation 918 919disk_mount_conditioner: OTHER_TEST_TARGETS += disk_mount_conditioner_unentitled 920disk_mount_conditioner_unentitled: OTHER_CFLAGS += -DTEST_UNENTITLED 921disk_mount_conditioner_unentitled: OTHER_LDFLAGS += -ldarwintest_utils -framework Foundation 922disk_mount_conditioner_unentitled: disk_mount_conditioner.m 923 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 924 925work_interval_test: CODE_SIGN_ENTITLEMENTS = work_interval_test.entitlements 926work_interval_test: OTHER_CFLAGS += -DENTITLED=1 927 928work_interval_data_test: CODE_SIGN_ENTITLEMENTS = work_interval_test.entitlements 929work_interval_data_test: OTHER_CFLAGS += -DENTITLED=1 930work_interval_data_test: OTHER_LDFLAGS += -lpthread 931 932game_mode: CODE_SIGN_ENTITLEMENTS = game_mode.entitlements 933carplay_mode: CODE_SIGN_ENTITLEMENTS = carplay_mode.entitlements 934runaway_mitigation: CODE_SIGN_ENTITLEMENTS = runaway_mitigation.entitlements 935 936coalition_policy: CODE_SIGN_ENTITLEMENTS = coalition_policy.entitlements 937coalition_policy: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) 938coalition_policy: $(SCHED_UTILS) 939 940settimeofday_29193041: OTHER_CFLAGS += drop_priv.c 941 942settimeofday_29193041_entitled: CODE_SIGN_ENTITLEMENTS = settimeofday_29193041.entitlements 943settimeofday_29193041_entitled: OTHER_CFLAGS += drop_priv.c 944 945thread_group_set_32261625: ./stackshot-entitlements.plist 946thread_group_set_32261625: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 947thread_group_set_32261625: OTHER_LDFLAGS = -framework ktrace 948 949task_info: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 950task_info: OTHER_CFLAGS += test_utils.c 951task_info: OTHER_LDFLAGS += -ldarwintest_utils 952 953extract_right_soft_fail: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 954 955ifneq ($(IOS_TEST_COMPAT),YES) 956 EXCLUDED_SOURCES += task_vm_info_decompressions.c 957endif 958 959ifeq ($(PLATFORM),MacOSX) 960 EXCLUDED_SOURCES += vm/compression_sweep.c 961endif 962 963unp_sock_release: CODE_SIGN_ENTITLEMENTS = unp_sock_release-entitlements.plist 964 965accept_race: in_cksum.c net_test_lib.c 966accept_race: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 967 968flow_div_doubleconnect_55917185: in_cksum.c net_test_lib.c 969flow_div_doubleconnect_55917185: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 970 971bpf_write: bpflib.c in_cksum.c net_test_lib.c 972bpf_write: OTHER_LDFLAGS += -ldarwintest_utils 973 974bpf_write_batch: bpflib.c in_cksum.c net_test_lib.c 975bpf_write_batch: OTHER_LDFLAGS += -ldarwintest_utils 976 977udp_disconnect: in_cksum.c net_test_lib.c 978udp_disconnect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 979 980udp_bind_connect: in_cksum.c net_test_lib.c 981udp_bind_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 982 983tcp_bind_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 984tcp_send_implied_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 985 986tcp_cache_test: CODE_SIGN_ENTITLEMENTS = tcp_cache_entitlements.plist 987 988socket_bind_35243417: in_cksum.c net_test_lib.c 989socket_bind_35243417: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 990 991socket_bind_35685803: in_cksum.c net_test_lib.c 992socket_bind_35685803: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 993 994tcp_input_outputopts_uaf_56155583: in_cksum.c net_test_lib.c 995tcp_input_outputopts_uaf_56155583: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 996 997unp_connect_thread_uaf: in_cksum.c net_test_lib.c 998unp_connect_thread_uaf: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 999 1000icmp_fragmetned_payload: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1001tcp_invalid_address: OTHER_CFLAGS += -Wno-int-conversion 1002tcp_invalid_address: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1003 1004net_tuntests: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1005 1006net_bridge: inet_transfer.c bpflib.c in_cksum.c net_test_lib.c 1007net_bridge: OTHER_LDFLAGS += -ldarwintest_utils 1008net_bridge: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1009 1010net_vlan: inet_transfer.c bpflib.c in_cksum.c net_test_lib.c 1011net_vlan: OTHER_LDFLAGS += -ldarwintest_utils 1012net_vlan: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1013 1014net_bond: inet_transfer.c bpflib.c in_cksum.c net_test_lib.c 1015net_bond: OTHER_LDFLAGS += -ldarwintest_utils 1016net_bond: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1017 1018mcast_ssm: in_cksum.c net_test_lib.c 1019mcast_ssm: OTHER_LDFLAGS += -ldarwintest_utils 1020 1021if_generation_id: net_test_lib.c in_cksum.c 1022if_generation_id: OTHER_LDFLAGS += -ldarwintest_utils 1023 1024inet6_addr_mode: net_test_lib.c in_cksum.c 1025inet6_addr_mode: OTHER_LDFLAGS += -ldarwintest_utils 1026 1027bpf_direction: bpflib.c 1028bpf_direction: OTHER_LDFLAGS += -ldarwintest_utils 1029bpf_direction: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1030 1031bpf_timestamp: bpflib.c 1032bpf_timestamp: OTHER_LDFLAGS += -ldarwintest_utils 1033bpf_timestamp: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1034 1035ipv6_bind_race: in_cksum.c net_test_lib.c 1036ipv6_bind_race: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1037 1038mcast_group_race_82820812: in_cksum.c net_test_lib.c 1039mcast_group_race_82820812: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1040 1041so_bindtodevice: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1042 1043recv_link_addr_type: net_test_lib.c in_cksum.c 1044recv_link_addr_type: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1045 1046ip_pktinfo: net_test_lib.c in_cksum.c 1047ip_pktinfo: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1048 1049v4mappedv6_dontfrag: net_test_lib.c in_cksum.c 1050v4mappedv6_dontfrag: OTHER_LDFLAGS += -ldarwintest_utils 1051v4mappedv6_dontfrag: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1052 1053net_siocdifaddr: net_test_lib.c in_cksum.c 1054net_siocdifaddr: OTHER_LDFLAGS += -ldarwintest_utils 1055 1056vsock: vsock_helpers.c 1057vsock_entitled: vsock_helpers.c 1058vsock_entitled: CODE_SIGN_ENTITLEMENTS = vsock_entitlements.plist 1059 1060sendmsg_test: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1061 1062network_elevated_logging: CODE_SIGN_ENTITLEMENTS = entitlements/network_elevated_logging.entitlements 1063 1064rvi_doublefree: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1065 1066ipc/platform_restrictions_entitlements: CODE_SIGN_ENTITLEMENTS = entitlements/platform-restrictions.plist 1067 1068ipc/tpro_entitlements: CODE_SIGN_ENTITLEMENTS = entitlements/tpro.plist 1069 1070EXCLUDED_SOURCES += ipc/control_port_movability_common.c 1071 1072ipc/entitled_control_port_movability: CODE_SIGN_ENTITLEMENTS = entitlements/entitled_control_port_movability.entitlements 1073ipc/entitled_control_port_movability: ipc/control_port_movability_common.c 1074ipc/entitled_control_port_movability: $(IPC_UTILS) 1075 1076 1077ifeq ($(PLATFORM),MacOSX) 1078 1079ipc/rosetta_control_port_movability: INVALID_ARCHS = arm64 arm64e arm 1080ipc/rosetta_control_port_movability: ipc/control_port_movability_common.c $(IPC_UTILS) 1081 1082else 1083EXCLUDED_SOURCES += ipc/rosetta_control_port_movability.c 1084endif 1085 1086 1087CUSTOM_TARGETS += posix_spawn_archpref_helper 1088 1089posix_spawn_archpref_helper: posix_spawn_archpref_helper.c 1090 $(CC) $(LDFLAGS) $(CFLAGS) posix_spawn_archpref_helper.c -o $(SYMROOT)/$@; 1091 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1092 1093install-posix_spawn_archpref_helper: posix_spawn_archpref_helper 1094 mkdir -p $(INSTALLDIR) 1095 cp $(SYMROOT)/posix_spawn_archpref_helper $(INSTALLDIR)/ 1096 1097CUSTOM_TARGETS += posix_spawn_alt_rosetta_helper 1098 1099posix_spawn_alt_rosetta_helper: posix_spawn_alt_rosetta_helper.c 1100 $(CC) $(LDFLAGS) $(CFLAGS) posix_spawn_alt_rosetta_helper.c -o $(SYMROOT)/$@; 1101 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1102 1103install-posix_spawn_alt_rosetta_helper: posix_spawn_alt_rosetta_helper 1104 mkdir -p $(INSTALLDIR) 1105 cp $(SYMROOT)/posix_spawn_alt_rosetta_helper $(INSTALLDIR)/ 1106 1107MIG:=SDKROOT=$(SDKROOT) $(shell xcrun -sdk "$(TARGETSDK)" -find mig) 1108 1109CUSTOM_TARGETS += excserver 1110 1111excserver: 1112 $(MIG) $(CFLAGS) \ 1113 -sheader $(OBJROOT)/excserver.h \ 1114 -server $(OBJROOT)/excserver.c \ 1115 -header /dev/null -user /dev/null \ 1116 excserver.defs 1117install-excserver: ; 1118 1119excserver_protect: 1120 $(MIG) $(CFLAGS) \ 1121 -DMACH_EXC_SERVER_TASKIDTOKEN \ 1122 -sheader $(OBJROOT)/excserver_protect.h \ 1123 -server $(OBJROOT)/excserver_protect.c \ 1124 -header /dev/null -user /dev/null \ 1125 excserver_protect.defs 1126install-excserver_protect: ; 1127 1128excserver_protect_state: 1129 $(MIG) $(CFLAGS) \ 1130 -DMACH_EXC_SERVER_TASKIDTOKEN_STATE \ 1131 -DMACH_EXC_SERVER_TASKIDTOKEN \ 1132 -sheader $(OBJROOT)/excserver_protect_state.h \ 1133 -server $(OBJROOT)/excserver_protect_state.c \ 1134 -header /dev/null -user /dev/null \ 1135 excserver_protect.defs 1136install-excserver_protect_state: ; 1137 1138EXCLUDED_SOURCES += exc_helpers.c 1139 1140CUSTOM_TARGETS += notifyserver 1141 1142notifyserver: 1143 $(MIG) $(CFLAGS) \ 1144 -user /dev/null \ 1145 -header $(OBJROOT)/notify.h \ 1146 -sheader $(OBJROOT)/notifyServer.h \ 1147 -server $(OBJROOT)/notifyServer.c \ 1148 notifyserver.defs 1149install-notifyserver: ; 1150 1151CUSTOM_TARGETS += rnserver 1152 1153rnserver: 1154 $(MIG) $(CFLAGS) \ 1155 -user /dev/null \ 1156 -header $(OBJROOT)/rn.h \ 1157 -sheader $(OBJROOT)/rnServer.h \ 1158 -server $(OBJROOT)/rnServer.c \ 1159 rnserver.defs 1160install-rnserver: ; 1161 1162SKYWALK_COMMON_FILES := \ 1163 skywalk/skywalk_test_common.c \ 1164 skywalk/skywalk_test_utils.c 1165SKYWALK_TEST_FILES := \ 1166 skywalk/skywalk_test_driver.c \ 1167 skywalk/skt_simple.c \ 1168 skywalk/skt_features.c \ 1169 skywalk/skt_oneslot.c \ 1170 skywalk/skt_shutdown.c \ 1171 skywalk/skt_shutdown2.c \ 1172 skywalk/skt_nslots.c \ 1173 skywalk/skt_closecfd.c \ 1174 skywalk/skt_closenfd.c \ 1175 skywalk/skt_badring.c \ 1176 skywalk/skt_kqueue.c \ 1177 skywalk/skt_mangle.c \ 1178 skywalk/skt_features.c \ 1179 skywalk/skt_ringid.c \ 1180 skywalk/skt_closekq.c \ 1181 skywalk/skt_writemem.c \ 1182 skywalk/skt_debug_verify.c \ 1183 skywalk/skt_utun27302538.c \ 1184 skywalk/skt_utunleak.c \ 1185 skywalk/skt_utunloop.c \ 1186 skywalk/skt_flowswitch_ns_reserve.c \ 1187 skywalk/skt_netifcompat.c \ 1188 skywalk/skt_fswloop.c \ 1189 skywalk/skt_teardown.c \ 1190 skywalk/skt_bind.c \ 1191 skywalk/skt_fsw29301703.c \ 1192 skywalk/skt_fswbinds.c \ 1193 skywalk/skt_manyflows.c \ 1194 skywalk/skt_pllupipe.c \ 1195 skywalk/skt_fullupipe.c \ 1196 skywalk/skt_listener.c \ 1197 skywalk/skt_copy_cksum.c \ 1198 skywalk/skt_reass.c \ 1199 skywalk/skt_memory.c \ 1200 skywalk/skt_flow.c \ 1201 skywalk/skt_flowlookup.c \ 1202 skywalk/skt_libcuckoo.c \ 1203 skywalk/skt_restricted_port.c \ 1204 skywalk/skt_steering.c 1205SKYWALK_MPTEST_FILES := \ 1206 skywalk/skywalk_mptests.c \ 1207 skywalk/skywalk_mptest_driver.c \ 1208 skywalk/skt_mpsimple.c \ 1209 skywalk/skt_mpprotons.c \ 1210 skywalk/skt_xfer.c \ 1211 skywalk/skt_netifdirect.c \ 1212 skywalk/skt_filter.c 1213EXCLUDED_SOURCES += $(SKYWALK_COMMON_FILES) $(SKYWALK_TEST_FILES) $(SKYWALK_MPTEST_FILES) 1214 1215skywalk_tests: excserver 1216skywalk_tests: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1217skywalk_tests: CODE_SIGN_ENTITLEMENTS = skywalk_test.entitlements 1218skywalk_tests: $(SKYWALK_COMMON_FILES) $(SKYWALK_TEST_FILES) $(SKYWALK_MPTEST_FILES) $(SDKROOT)/usr/local/lib/libCrashReporterClient.a 1219 1220EXCLUDED_SOURCES += arm_matrix_sme.c 1221 1222arm_matrix: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1223arm_matrix: excserver exc_helpers.c arm_matrix_sme.c 1224arm_matrix: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) -Wno-language-extension-token -Wno-c++98-compat -mcpu=firestorm+nofp+sme2 1225arm_matrix: CODE_SIGN_ENTITLEMENTS = arm_matrix.entitlements 1226 1227MTE_CFLAGS = -march=armv8.5a+memtag -Wno-declaration-after-statement -Wno-format-pedantic -Wno-language-extension-token 1228 1229arm_mte: arm_mte_spawn_client_with_hardened_process_entitlement arm_mte_spawn_client_without_hardened_process_entitlement arm_mte_utilities.c 1230arm_mte: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1231arm_mte: OTHER_CFLAGS += $(MTE_CFLAGS) 1232arm_mte: OTHER_LDFLAGS += -ldarwintest_utils 1233arm_mte: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1234 1235proc_core_name_mte: proc_core_name_mte.c 1236proc_core_name_mte: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1237proc_core_name_mte: OTHER_CFLAGS += $(MTE_CFLAGS) 1238proc_core_name_mte: OTHER_LDFLAGS += -ldarwintest_utils 1239proc_core_name_mte: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1240 1241 1242arm_mte_compress: arm_mte_utilities.c 1243arm_mte_compress: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1244arm_mte_compress: OTHER_CFLAGS += $(MTE_CFLAGS) 1245arm_mte_compress: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1246 1247arm_mte_unentitled: arm_mte_utilities.c arm_mte_debugger_helper 1248arm_mte_unentitled: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1249arm_mte_unentitled: OTHER_CFLAGS += $(MTE_CFLAGS) 1250 1251arm_mte_stress: arm_mte_utilities.c 1252arm_mte_stress: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1253arm_mte_stress: OTHER_CFLAGS += $(MTE_CFLAGS) 1254arm_mte_stress: OTHER_LDFLAGS += -ldarwintest_utils 1255arm_mte_stress: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1256 1257EXCLUDED_SOURCES += arm_mte_debugger_helper.c 1258CUSTOM_TARGETS += arm_mte_debugger_helper 1259arm_mte_debugger_helper: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1260arm_mte_debugger_helper: OTHER_CFLAGS += -march=armv8.5a+memtag 1261arm_mte_debugger_helper: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1262arm_mte_debugger_helper: arm_mte_debugger_helper.c 1263 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1264 $^ -o $(SYMROOT)/$@ 1265 $(CODESIGN) -f -s- --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@ 1266 1267install-arm_mte_debugger_helper: arm_mte_debugger_helper 1268 mkdir -p $(INSTALLDIR) 1269 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1270 1271arm_mte_mach_msg: arm_mte_utilities.c 1272arm_mte_mach_msg: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1273arm_mte_mach_msg: OTHER_CFLAGS += $(MTE_CFLAGS) 1274arm_mte_mach_msg: OTHER_LDFLAGS += -ldarwintest_utils 1275 1276arm_mte_knobs_policies: arm_mte_utilities.c 1277arm_mte_knobs_policies: arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out 1278arm_mte_knobs_policies: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1279arm_mte_knobs_policies: OTHER_CFLAGS += -march=armv8.5a+memtag -Wno-declaration-after-statement -Wno-format-pedantic -Wno-language-extension-token -Wno-bad-function-cast 1280arm_mte_knobs_policies: OTHER_LDFLAGS += -ldarwintest_utils 1281arm_mte_knobs_policies: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1282 1283arm_mte_launchd: arm_mte_launchd.c 1284arm_mte_launchd: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1285arm_mte_launchd: OTHER_CFLAGS += -march=armv8.5a+memtag -Wno-declaration-after-statement -Wno-format-pedantic -Wno-language-extension-token 1286arm_mte_launchd: OTHER_LDFLAGS += -ldarwintest_utils 1287arm_mte_launchd: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1288 1289arm_mte_spawn_policies: arm_mte_utilities.c 1290arm_mte_spawn_policies: arm_mte_spawn_client_without_hardened_process_entitlement 1291arm_mte_spawn_policies: arm_mte_spawn_client_with_hardened_process_entitlement 1292arm_mte_spawn_policies: arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out 1293arm_mte_spawn_policies: arm_mte_driverkit_standin 1294arm_mte_spawn_policies: arm_mte_spawn_client_with_invalid_entitlement_setting 1295arm_mte_spawn_policies: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1296arm_mte_spawn_policies: OTHER_CFLAGS += $(MTE_CFLAGS) 1297 1298EXCLUDED_SOURCES += arm_mte_spawn_policies_helper.c 1299EXCLUDED_SOURCES += arm_mte_utilities.c 1300 1301CUSTOM_TARGETS += arm_mte_spawn_client_without_hardened_process_entitlement 1302arm_mte_spawn_client_without_hardened_process_entitlement: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1303arm_mte_spawn_client_without_hardened_process_entitlement: OTHER_CFLAGS += -march=armv8.5a+memtag 1304arm_mte_spawn_client_without_hardened_process_entitlement: arm_mte_spawn_policies_helper.c arm_mte_utilities.c 1305 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(MTE_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1306 $^ -o $(SYMROOT)/$@ 1307 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 1308 1309CUSTOM_TARGETS += arm_mte_spawn_client_with_hardened_process_entitlement 1310arm_mte_spawn_client_with_hardened_process_entitlement: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1311arm_mte_spawn_client_with_hardened_process_entitlement: OTHER_CFLAGS += -march=armv8.5a+memtag 1312arm_mte_spawn_client_with_hardened_process_entitlement: arm_mte_spawn_policies_helper.c arm_mte_utilities.c 1313 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(MTE_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1314 $^ -o $(SYMROOT)/$@ 1315 $(CODESIGN) -f -s- --entitlements $(SRCROOT)/entitlements/hardened-proc.entitlements $(SYMROOT)/$@ 1316 1317CUSTOM_TARGETS += arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out 1318arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1319arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out: OTHER_CFLAGS += -march=armv8.5a+memtag 1320arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out: arm_mte_spawn_policies_helper.c arm_mte_utilities.c 1321 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(MTE_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1322 $^ -o $(SYMROOT)/$@ 1323 $(CODESIGN) -i com.apple.internal.arm_mte_opt_out_test -s- -f --entitlements $(SRCROOT)/entitlements/hardened-proc.entitlements $(SYMROOT)/$@ 1324 1325CUSTOM_TARGETS += arm_mte_spawn_client_with_invalid_entitlement_setting 1326arm_mte_spawn_client_with_invalid_entitlement_setting: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1327arm_mte_spawn_client_with_invalid_entitlement_setting: OTHER_CFLAGS += -march=armv8.5a+memtag 1328arm_mte_spawn_client_with_invalid_entitlement_setting: arm_mte_spawn_policies_helper.c arm_mte_utilities.c 1329 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(MTE_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1330 $^ -o $(SYMROOT)/$@ 1331 $(CODESIGN) -s- -f --entitlements $(SRCROOT)/entitlements/hardened-proc-invalid.entitlements $(SYMROOT)/$@ 1332 1333CUSTOM_TARGETS += mte_posix_spawn_tool 1334mte_posix_spawn_tool: INVALID_ARCHS = i386 1335mte_posix_spawn_tool: mte_posix_spawn_tool.c 1336 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) mte_posix_spawn_tool.c -o $(SYMROOT)/mte_posix_spawn_tool -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders 1337 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 1338 1339install-mte_posix_spawn_tool: mte_posix_spawn_tool 1340 mkdir -p $(INSTALLDIR)/tools 1341 cp $(SYMROOT)/mte_posix_spawn_tool $(INSTALLDIR)/tools/ 1342 1343install-arm_mte_spawn_client_without_hardened_process_entitlement: arm_mte_spawn_client_without_hardened_process_entitlement 1344 mkdir -p $(INSTALLDIR) 1345 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1346 1347install-arm_mte_spawn_client_with_hardened_process_entitlement: arm_mte_spawn_client_with_hardened_process_entitlement 1348 mkdir -p $(INSTALLDIR) 1349 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1350 1351install-arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out: arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out 1352 mkdir -p $(INSTALLDIR) 1353 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1354 1355install-arm_mte_spawn_client_with_invalid_entitlement_setting: arm_mte_spawn_client_with_invalid_entitlement_setting 1356 mkdir -p $(INSTALLDIR)/tools 1357 cp $(SYMROOT)/$< $(INSTALLDIR)/tools/ 1358 1359vm/vm_mteinfo: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1360vm/vm_mteinfo: OTHER_CFLAGS += -Wno-implicit-int-conversion -Wno-sign-conversion -Wno-sign-compare -Wno-format-pedantic 1361 1362vm/vm_mte_reclamation_withmte: arm_mte_utilities.c 1363vm/vm_mte_reclamation_withmte: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1364vm/vm_mte_reclamation_withmte: OTHER_CFLAGS += $(MTE_CFLAGS) 1365vm/vm_mte_reclamation_withmte: OTHER_LDFLAGS += -ldarwintest_utils 1366vm/vm_mte_reclamation_withmte: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1367 1368CODESIGN_MTE_SOFT:=$(CODESIGN) -i com.apple.internal.arm_mte_soft_mode_test 1369arm_mte_soft_mode: arm_mte_utilities.c 1370arm_mte_soft_mode: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1371arm_mte_soft_mode: OTHER_CFLAGS += $(MTE_CFLAGS) 1372arm_mte_soft_mode: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1373arm_mte_soft_mode: CODESIGN = $(CODESIGN_MTE_SOFT) 1374 1375CODESIGN_MTE_API:=$(CODESIGN) -i com.apple.internal.arm_mte_api_test 1376arm_mte_api: arm_mte_utilities.c 1377arm_mte_api: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1378arm_mte_api: OTHER_CFLAGS += $(MTE_CFLAGS) 1379arm_mte_api: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1380arm_mte_api: CODESIGN = $(CODESIGN_MTE_API) 1381 1382CUSTOM_TARGETS += arm_mte_alias_restriction 1383arm_mte_alias_restriction: arm_mte_utilities.c 1384arm_mte_alias_restriction: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1385arm_mte_alias_restriction: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1386arm_mte_alias_restriction: OTHER_CFLAGS += $(MTE_CFLAGS) 1387arm_mte_alias_restriction: arm_mte_alias_restriction.c 1388 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(MTE_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1389 arm_mte_alias_restriction.c arm_mte_utilities.c -o $(SYMROOT)/$@ 1390 $(CODESIGN) -f -s- --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@ 1391 1392install-arm_mte_alias_restriction: arm_mte_alias_restriction 1393 mkdir -p $(INSTALLDIR) 1394 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1395 1396CUSTOM_TARGETS += arm_mte_alias_restriction_helper 1397EXCLUDED_SOURCES += arm_mte_alias_restriction_helper.c 1398CODESIGN_MTE_ALIAS_RESTRICTION:=$(CODESIGN) -i com.apple.internal.arm_mte_alias_restriction_opt_in_test 1399arm_mte_alias_restriction_helper: CODESIGN = $(CODESIGN_MTE_ALIAS_RESTRICTION) 1400arm_mte_alias_restriction_helper: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1401arm_mte_alias_restriction_helper: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1402arm_mte_alias_restriction_helper: arm_mte_alias_restriction_helper.c 1403 1404install-arm_mte_alias_restriction_helper: arm_mte_alias_restriction_helper 1405 mkdir -p $(INSTALLDIR) 1406 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1407 1408CUSTOM_TARGETS += arm_mte_driverkit_standin 1409EXCLUDED_SOURCES += arm_mte_driverkit_standin.c 1410arm_mte_driverkit_standin: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1411arm_mte_driverkit_standin: CODE_SIGN_ENTITLEMENTS = arm_mte_driverkit_standin.entitlements 1412arm_mte_driverkit_standin: arm_mte_driverkit_standin.c 1413 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1414 $^ -o $(SYMROOT)/$@ 1415 $(CODESIGN) -f -s- --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@ 1416 1417install-arm_mte_driverkit_standin: arm_mte_driverkit_standin 1418 mkdir -p $(INSTALLDIR) 1419 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1420 1421x18_entitled: OTHER_CFLAGS += -ffixed-x18 -Wno-language-extension-token 1422x18_entitled: CODE_SIGN_ENTITLEMENTS = x18-entitlements.plist 1423x18_unentitled: OTHER_CFLAGS += -ffixed-x18 -Wno-language-extension-token 1424ifneq ($(PLATFORM),MacOSX) 1425EXCLUDED_SOURCES += x18_legacy.c 1426else 1427x18_legacy: OTHER_CFLAGS += -ffixed-x18 -Wno-language-extension-token -Wl,-platform_version -Wl,macos -Wl,10.12 -Wl,10.12 1428endif 1429 1430ifeq ($(findstring arm64,$(ARCH_CONFIGS)),) 1431EXCLUDED_SOURCES += apple_generic_timer.c apple_generic_timer_legacy.c 1432else 1433apple_generic_timer: INVALID_ARCHS = armv7k x86_64 x86_64h 1434 1435apple_generic_timer_legacy: INVALID_ARCHS = armv7k x86_64 x86_64h 1436ifeq ($(PLATFORM),MacOSX) 1437apple_generic_timer_legacy: OTHER_CFLAGS += -Wl,-platform_version,macos,14.6,14.6 1438else ifeq ($(PLATFORM),iPhoneOS) 1439apple_generic_timer_legacy: OTHER_CFLAGS += -Wl,-platform_version,ios,14.6,14.6 1440else ifeq ($(PLATFORM),tvOS) 1441apple_generic_timer_legacy: OTHER_CFLAGS += -Wl,-platform_version,tvos,14.6,14.6 1442else ifeq ($(PLATFORM),WatchOS) 1443apple_generic_timer_legacy: OTHER_CFLAGS += -Wl,-platform_version,watchos,10.6,10.6 1444else 1445EXCLUDED_SOURCES += apple_generic_timer_legacy.c 1446endif 1447 1448ifneq ($(PLATFORM),MacOSX) 1449EXCLUDED_SOURCES += apple_generic_timer_vmm.c 1450else 1451apple_generic_timer_vmm: INVALID_ARCHS = armv7k x86_64 x86_64h 1452apple_generic_timer_vmm: CODE_SIGN_ENTITLEMENTS = hv_private.entitlements 1453endif 1454 1455endif 1456 1457bingrade: bingrade_helper_arm32 bingrade_helper_arm64 bingrade_helper_arm_fat 1458bingrade: INVALID_ARCHS = x86_64 x86_64h 1459# libdarwintest.a doesn't have an arm64 slice on watchOS 1460ifeq ($(PLATFORM),WatchOS) 1461bingrade: INVALID_ARCHS += arm64 1462endif 1463 1464EXCLUDED_SOURCES += bingrade_helper.c 1465CUSTOM_TARGETS += bingrade_helper_arm32 1466bingrade_helper_arm32: CFLAGS = -arch arm64_32 -static -nostdlib 1467bingrade_helper_arm32: bingrade_helper.c 1468 $(CC) $(CFLAGS) $< -o $(SYMROOT)/$@ 1469 $(CODESIGN) -f -s- $(SYMROOT)/$@ 1470 1471install-bingrade_helper_arm32: bingrade_helper_arm32 1472 mkdir -p $(INSTALLDIR) 1473 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1474 1475CUSTOM_TARGETS += bingrade_helper_arm64 1476bingrade_helper_arm64: CFLAGS = -arch arm64 -static -nostdlib 1477bingrade_helper_arm64: bingrade_helper.c 1478 $(CC) $(CFLAGS) $< -o $(SYMROOT)/$@ 1479 $(CODESIGN) -f -s- $(SYMROOT)/$@ 1480 1481install-bingrade_helper_arm64: bingrade_helper_arm64 1482 mkdir -p $(INSTALLDIR) 1483 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1484 1485CUSTOM_TARGETS += bingrade_helper_arm_fat 1486bingrade_helper_arm_fat: CFLAGS = -arch arm64 -arch arm64_32 -arch arm64e -static -nostdlib 1487bingrade_helper_arm_fat: bingrade_helper.c 1488 $(CC) $(CFLAGS) $< -o $(SYMROOT)/$@ 1489 $(CODESIGN) -f -s- $(SYMROOT)/$@ 1490 1491install-bingrade_helper_arm_fat: bingrade_helper_arm_fat 1492 mkdir -p $(INSTALLDIR) 1493 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1494 1495pmap_bench: INVALID_ARCHS = $(filter-out arm%,$(ARCH_CONFIGS)) 1496pmap_stress: INVALID_ARCHS = $(filter-out arm%,$(ARCH_CONFIGS)) 1497pmap_fault_on_commpage: INVALID_ARCHS = $(filter-out arm%,$(ARCH_CONFIGS)) 1498 1499hw_breakpoint_step_arm64: CODE_SIGN_ENTITLEMENTS = hw_breakpoint_step_arm64_entitlements.plist 1500hw_breakpoint_step_arm64: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1501hw_breakpoint_step_arm64: excserver 1502hw_breakpoint_step_arm64: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1503 1504exc_resource_threads: excserver 1505exc_resource_threads: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1506exc_resource_threads: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1507 1508mach_service_port: notifyserver 1509mach_service_port: OTHER_CFLAGS += $(OBJROOT)/notifyServer.c -I $(OBJROOT) 1510 1511fp_exception: excserver exc_helpers.c 1512fp_exception: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1513fp_exception: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1514 1515ptrauth_failure: excserver exc_helpers.c 1516ptrauth_failure: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) -Wno-language-extension-token 1517ptrauth_failure: CODESIGN = $(CODESIGN_HARDENED_RUNTIME) 1518ptrauth_failure: CODE_SIGN_ENTITLEMENTS = entitlements/set_state_and_exception_port.entitlement 1519 1520decompression_failure: excserver exc_helpers.c try_read_write.c 1521decompression_failure: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1522decompression_failure: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1523 1524ipc/kernel_signed_pac_thread_state: excserver 1525ipc/kernel_signed_pac_thread_state: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1526ipc/kernel_signed_pac_thread_state: CODE_SIGN_ENTITLEMENTS = pac_exception_entitlement.plist 1527 1528ifeq ($(findstring arm64e,$(ARCH_CONFIGS)),) 1529EXCLUDED_SOURCES += pac_exception_entitlement.c 1530else 1531pac_exception_entitlement: excserver exc_helpers.c 1532pac_exception_entitlement: OTHER_CFLAGS += $(OBJROOT)/excserver.c -Wno-language-extension-token 1533pac_exception_entitlement: CODE_SIGN_ENTITLEMENTS = pac_exception_entitlement.plist 1534endif 1535 1536unrecoverable_trap_test: excserver exc_helpers.c 1537unrecoverable_trap_test: OTHER_CFLAGS += $(OBJROOT)/excserver.c -Wno-language-extension-token 1538unrecoverable_trap_test: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1539# libdarwintest.a doesn't have an arm64 slice on watchOS 1540ifeq ($(PLATFORM),WatchOS) 1541unrecoverable_trap_test: INVALID_ARCHS += arm64 1542endif 1543 1544ifeq ($(findstring arm64,$(ARCH_CONFIGS)),) 1545EXCLUDED_SOURCES += arm_cpu_capabilities.c 1546else 1547arm_cpu_capabilities: INVALID_ARCHS = armv7k x86_64 x86_64h 1548arm_cpu_capabilities: excserver exc_helpers.c 1549arm_cpu_capabilities: OTHER_CFLAGS += $(OBJROOT)/excserver.c -Wno-language-extension-token -mcpu=apple-a15 1550#if HAS_ARM_FEAT_SME 1551arm_cpu_capabilities: OTHER_CFLAGS += -mcpu=apple-a15+sme2 1552#endif 1553# Including PrivateHeaders from both Kernel.framework and System.framework makes 1554# a mess out of the Mach headers we need to build exception handling support. 1555# Work around this by only including the arm/ directory. 1556arm_cpu_capabilities: OTHER_CFLAGS += -isystem $(SDKROOT)/System/Library/Frameworks/Kernel.framework/PrivateHeaders/arm 1557arm_cpu_capabilities: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1558endif 1559 1560# Disabling building of ldt files as dt_extractmeta crashes 1561# in build systems. Ref rdar://110251082 1562# Leaving commented bits for future re-enablement 1563EXCLUDED_SOURCES += ldt_code32.s ldt.c 1564 1565#\ifeq ($(findstring x86_64,$(ARCH_CONFIGS)),) 1566#EXCLUDED_SOURCES += ldt_code32.s ldt.c 1567#\else # target = osx 1568#$(OBJROOT)/ldt_mach_exc_server.c: 1569# $(MIG) $(CFLAGS) \ 1570# -user /dev/null \ 1571# -server $(OBJROOT)/ldt_mach_exc_server.c \ 1572# -header $(OBJROOT)/ldt_mach_exc.h \ 1573# mach_exc.defs 1574# 1575#ldt: INVALID_ARCHS = $(ARCH_CONFIGS) 1576#ldt: $(OBJROOT)/ldt_mach_exc_server.c 1577#ldt: OTHER_CFLAGS += -arch x86_64 -I $(OBJROOT) $(SRCROOT)/ldt_code32.s -Wl,-pagezero_size,0x1000 -Wno-missing-variable-declarations 1578#ldt: CODE_SIGN_ENTITLEMENTS=ldt_entitlement.plist 1579#\endif 1580 1581ifneq ($(PLATFORM),BridgeOS) 1582EXCLUDED_SOURCES += remote_time.c 1583else 1584remote_time: INVALID_ARCHS = armv7 armv7s arm64_32 1585endif 1586 1587vm_phys_footprint: OTHER_LDFLAGS += -framework CoreFoundation -framework IOSurface 1588 1589vm_kern_count_wired_kernelcache: OTHER_CFLAGS += -I$(SDKROOT)/System/Library/Frameworks/Kernel.framework/PrivateHeaders/mach 1590 1591debug_control_port_for_pid: CODE_SIGN_ENTITLEMENTS = ./debug_control_port_for_pid_entitlement.plist 1592 1593prng: OTHER_LDFLAGS += -ldarwintest_utils 1594 1595preoslog: OTHER_LDFLAGS += -ldarwintest_utils 1596preoslog: OTHER_CFLAGS += test_utils.c 1597 1598task_policy: CODE_SIGN_ENTITLEMENTS = ./task_policy_entitlement.plist 1599 1600OTHER_TEST_TARGETS += task_policy_unentitled 1601task_policy_unentitled: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 1602task_policy_unentitled: OTHER_CFLAGS += -DUNENTITLED 1603task_policy_unentitled: task_policy.c 1604 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 1605 $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@ 1606 1607 1608EXCLUDED_SOURCES += get_shared_cache_address.c 1609 1610 1611ifneq ($(filter iPhoneOS MacOSX, $(PLATFORM)),) 1612CUSTOM_TARGETS += get_shared_cache_address 1613 1614get_shared_cache_address: INVALID_ARCHS = arm64 i386 x86_64 1615get_shared_cache_address: get_shared_cache_address.c 1616 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/get_shared_cache_address 1617 1618install-get_shared_cache_address: get_shared_cache_address 1619 $(CODESIGN) --force --sign - --timestamp=none --identifier=com.apple.get_shared_cache_address $(SYMROOT)/get_shared_cache_address 1620 mkdir -p $(INSTALLDIR) 1621 cp $(SYMROOT)/get_shared_cache_address $(INSTALLDIR)/ 1622endif 1623 1624 1625OTHER_TEST_TARGETS += vm_memory_share_tests 1626 1627vm_memory_share_tests: INVALID_ARCHS = i386 1628vm_memory_share_tests: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 1629vm_memory_share_tests: vm_memory_tests_src/main.c vm_memory_tests_src/common.c vm_memory_tests_src/vm_tests.c 1630 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1631 echo $(CODESIGN) --force --sign - --timestamp=none --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 1632 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements "$(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS)" $(SYMROOT)/$@; 1633 1634# build the mach server as individual helper which does not use libdarwintest 1635CUSTOM_TARGETS += vm_memory_share_tests_server 1636vm_memory_share_tests_server: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 1637vm_memory_share_tests_server: vm_memory_tests_src/server.c vm_memory_tests_src/common.c vm_memory_tests_src/vm_tests.c 1638 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/vm_memory_share_tests_server 1639 echo $(CODESIGN) --force --sign - --timestamp=none --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 1640 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements "$(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS)" $(SYMROOT)/$@; 1641 1642install-vm_memory_share_tests_server: vm_memory_share_tests_server 1643 mkdir -p $(INSTALLDIR) 1644 cp $(SYMROOT)/vm_memory_share_tests_server $(INSTALLDIR)/ 1645 1646ifeq ($(PLATFORM),MacOSX) 1647EXCLUDED_SOURCES += vm/kern_max_task_pmem.c 1648endif 1649 1650EXCLUDED_SOURCES += benchmark/helpers.c 1651 1652vm/fault_throughput: OTHER_CFLAGS += benchmark/helpers.c 1653vm/fault_throughput: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1654 1655.PHONY: install-vm/fault_throughput 1656install-vm/fault_throughput: vm/fault_throughput 1657 mkdir -p $(INSTALLDIR)/vm 1658 cp $(SYMROOT)/vm/fault_throughput $(INSTALLDIR)/vm/ 1659 1660$(SYMROOT)/vm/fault_throughput.lua: $(SRCROOT)/vm/fault_throughput.lua 1661 mkdir -p $(SYMROOT)/vm 1662 cp $< $@ 1663 chmod +x $@ 1664 1665.PHONY: install-fault_throughput_benchrun 1666install-$(SYMROOT)/vm/fault_throughput.lua: $(SYMROOT)/vm/fault_throughput.lua 1667 mkdir -p $(INSTALLDIR)/vm 1668 cp $(SYMROOT)/vm/fault_throughput.lua $(INSTALLDIR)/vm/ 1669 chmod +x $(INSTALLDIR)/vm/fault_throughput.lua 1670 1671EXCLUDED_SOURCES += vm/fault_throughput.plist 1672 1673CUSTOM_TARGETS += $(SYMROOT)/vm/fault_throughput.lua vm/fault_throughput 1674 1675ifeq ($(PLATFORM),MacOSX) 1676mixed_pagesize: vm/mixed_pagesize.c 1677 mkdir -p $(SYMROOT)/vm 1678 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/vm/$@ 1679 1680install-mixed_pagesize: mixed_pagesize 1681 mkdir -p $(INSTALLDIR)/vm 1682 cp $(SYMROOT)/vm/mixed_pagesize $(INSTALLDIR)/vm/ 1683 1684BATS_PLISTS += $(SRCROOT)/vm/mixed_pagesize.plist 1685 1686EXCLUDED_SOURCES += vm/mixed_pagesize.c vm/mixed_pagesize.plist 1687CUSTOM_TARGETS += mixed_pagesize 1688else 1689EXCLUDED_SOURCES += vm/mixed_pagesize.c vm/mixed_pagesize.plist 1690endif 1691 1692manual_wq_cooperative: manual_wq_cooperative.c 1693 mkdir -p $(SYMROOT) 1694 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 1695 1696install-manual_wq_cooperative: manual_wq_cooperative 1697 mkdir -p $(INSTALLDIR) 1698 cp $(SYMROOT)/manual_wq_cooperative $(INSTALLDIR) 1699 1700BATS_PLISTS += $(SRCROOT)/workqueue.plist 1701EXCLUDED_SOURCES += manual_wq_cooperative.c workqueue.plist 1702CUSTOM_TARGETS += manual_wq_cooperative 1703 1704# VM madvise(2) benchmark 1705 1706BATS_PLISTS += $(SRCROOT)/vm/perf_madvise.plist 1707 1708vm/perf_madvise: OTHER_CFLAGS += benchmark/helpers.c 1709vm/perf_madvise: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1710 1711.PHONY: install-vm/perf_madvise 1712install-vm/perf_madvise: vm/perf_madvise 1713 mkdir -p $(INSTALLDIR)/vm 1714 cp $(SYMROOT)/vm/perf_madvise $(INSTALLDIR)/vm/ 1715 1716$(SYMROOT)/vm/perf_madvise.lua: $(SRCROOT)/vm/perf_madvise.lua 1717 mkdir -p $(SYMROOT)/vm 1718 cp $< $@ 1719 chmod +x $@ 1720 1721.PHONY: install-perf_madvise_benchrun 1722install-$(SYMROOT)/vm/perf_madvise.lua: $(SYMROOT)/vm/perf_madvise.lua 1723 mkdir -p $(INSTALLDIR)/vm 1724 cp $(SYMROOT)/vm/perf_madvise.lua $(INSTALLDIR)/vm 1725 chmod +x $(INSTALLDIR)/vm/perf_madvise.lua 1726 1727CUSTOM_TARGETS += $(SYMROOT)/vm/perf_madvise.lua vm/perf_madvise 1728 1729BATS_PLISTS += $(SRCROOT)/vm/perf_compressor.plist 1730EXCLUDED_SOURCES += vm/perf_compressor.plist 1731 1732vm/perf_compressor: OTHER_CFLAGS += benchmark/helpers.c 1733vm/perf_compressor: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1734 1735.PHONY: install-vm/perf_compressor 1736install-vm/perf_compressor: vm/perf_compressor 1737 mkdir -p $(INSTALLDIR)/vm 1738 cp $(SYMROOT)/vm/perf_compressor $(INSTALLDIR)/vm/ 1739 1740$(SYMROOT)/vm/perf_compressor.lua: $(SRCROOT)/vm/perf_compressor.lua 1741 mkdir -p $(SYMROOT)/vm 1742 cp $< $@ 1743 chmod +x $@ 1744 1745.PHONY: install-$(SYMROOT)/vm/perf_compressor_benchrun 1746install-$(SYMROOT)/vm/perf_compressor.lua: $(SYMROOT)/vm/perf_compressor.lua 1747 mkdir -p $(INSTALLDIR)/vm 1748 cp $(SYMROOT)/vm/perf_compressor.lua $(INSTALLDIR)/vm/ 1749 chmod +x $(INSTALLDIR)/vm/perf_compressor.lua 1750 1751CUSTOM_TARGETS += $(SYMROOT)/vm/perf_compressor.lua vm/perf_compressor 1752 1753ioconnectasyncmethod_57641955: OTHER_LDFLAGS += -framework IOKit 1754 1755ifeq ($(PLATFORM),BridgeOS) 1756EXCLUDED_SOURCES += ipsec.m 1757else 1758ipsec: OTHER_LDFLAGS += -framework Foundation -framework CoreFoundation -framework NetworkExtension 1759ipsec: CODE_SIGN_ENTITLEMENTS = ipsec.entitlements 1760endif 1761 1762test_sysctl_kern_procargs_25397314: OTHER_LDFLAGS += -framework Foundation -ldarwintest_utils 1763 1764INCLUDED_TEST_SOURCE_DIRS += counter 1765 1766EXCLUDED_SOURCES += counter/common.c 1767counter/counter: OTHER_CFLAGS += counter/common.c test_utils.c 1768counter/counter: OTHER_LDFLAGS += -ldarwintest_utils -ldarwintest 1769 1770counter/benchmark: OTHER_CFLAGS += counter/common.c benchmark/helpers.c 1771 1772.PHONY: install-counter/benchmark 1773install-counter/benchmark: counter/benchmark 1774 mkdir -p $(INSTALLDIR)/counter 1775 cp $(SYMROOT)/counter/benchmark $(INSTALLDIR)/counter/ 1776 1777$(SYMROOT)/counter/benchmark.lua: $(SRCROOT)/counter/benchmark.lua 1778 mkdir -p $(SYMROOT)/counter 1779 cp $< $@ 1780 chmod +x $@ 1781 1782.PHONY: install-counter_benchrun 1783install-$(SYMROOT)/counter/benchmark.lua: $(SYMROOT)/counter/benchmark.lua 1784 mkdir -p $(INSTALLDIR)/counter 1785 cp $(SYMROOT)/counter/benchmark.lua $(INSTALLDIR)/counter/ 1786 chmod +x $(INSTALLDIR)/counter/benchmark.lua 1787 1788CUSTOM_TARGETS += $(SYMROOT)/counter/benchmark.lua counter/benchmark 1789 1790ifneq ($(PLATFORM),MacOSX) 1791EXCLUDED_SOURCES += vm/page_size_globals.c 1792else 1793vm/page_size_globals: INVALID_ARCHS = arm64 arm64e 1794endif 1795 1796# Same helper used in execperf, different build system. 1797static_binary: ../tools/tests/execperf/exit-asm.S 1798 $(CC) $(DT_CFLAGS) $(CFLAGS) $(filter-out -l%,$(DT_LDFLAGS) $(LDFLAGS) $(OTHER_LDFLAGS)) $< -o $(SYMROOT)/static_binary -static -nostartfiles -nodefaultlibs -Wl,-version_load_command -Wl,-segalign,0x4000 -e _main 1799 CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/static_binary 1800 1801install-static_binary: static_binary 1802 mkdir -p $(INSTALLDIR) 1803 cp $(SYMROOT)/static_binary $(INSTALLDIR) 1804 1805CUSTOM_TARGETS += static_binary 1806EXCLUDED_SOURCES += static_binary.c 1807 1808test_static_binary_csflags: static_binary 1809test_static_binary_csflags: OTHER_LDFLAGS += -ldarwintest_utils 1810 1811 1812libmalloc_apple_array: CODE_SIGN_ENTITLEMENTS = entitlements/libmalloc_apple_array.entitlements 1813libmalloc_apple_array: OTHER_CFLAGS += -DENTITLED=1 drop_priv.c test_utils.c 1814libmalloc_apple_array: OTHER_LDFLAGS += -ldarwintest_utils 1815libmalloc_apple_array: libmalloc_apple_array.c print_apple_array print_apple_array_HR1 print_apple_array_HR2 print_apple_array_hardened_proc print_apple_array_hardened_proc_security print_apple_array_hardened_heap print_apple_array_hardened_heap_security 1816 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 1817 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 1818 1819libmalloc_apple_array_unentitled: OTHER_CFLAGS += drop_priv.c test_utils.c 1820libmalloc_apple_array_unentitled: OTHER_LDFLAGS += -ldarwintest_utils 1821libmalloc_apple_array_unentitled: libmalloc_apple_array.c print_apple_array print_apple_array_HR1 print_apple_array_HR2 print_apple_array_hardened_proc print_apple_array_hardened_heap 1822 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $(OTHER_CFLAGS) $< -o $(SYMROOT)/$@ 1823 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1824 1825CUSTOM_TARGETS += print_apple_array 1826print_apple_array: print_apple_array.c 1827 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1828 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1829 1830CUSTOM_TARGETS += print_apple_array_HR1 1831print_apple_array_HR1: CODE_SIGN_ENTITLEMENTS=entitlements/enhanced-security-binary-entitlements-1.plist 1832print_apple_array_HR1: print_apple_array.c 1833 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1834 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1835 1836CUSTOM_TARGETS += print_apple_array_HR2 1837print_apple_array_HR2: CODE_SIGN_ENTITLEMENTS=entitlements/enhanced-security-binary-entitlements-2.plist 1838print_apple_array_HR2: print_apple_array.c 1839 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1840 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1841 1842CUSTOM_TARGETS += print_apple_array_hardened_proc 1843print_apple_array_hardened_proc: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-proc.entitlements 1844print_apple_array_hardened_proc: print_apple_array.c 1845 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1846 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1847 1848CUSTOM_TARGETS += print_apple_array_hardened_proc_security 1849print_apple_array_hardened_proc_security: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-proc-security.entitlements 1850print_apple_array_hardened_proc_security: print_apple_array.c 1851 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1852 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1853 1854 1855CUSTOM_TARGETS += print_apple_array_hardened_heap 1856print_apple_array_hardened_heap: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-heap.entitlements 1857print_apple_array_hardened_heap: print_apple_array.c 1858 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1859 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1860 1861CUSTOM_TARGETS += print_apple_array_hardened_heap_security 1862print_apple_array_hardened_heap_security: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-heap-security.entitlements 1863print_apple_array_hardened_heap_security: print_apple_array.c 1864 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1865 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1866 1867install-print_apple_array: print_apple_array 1868 mkdir -p $(INSTALLDIR)/tools 1869 cp $(SYMROOT)/print_apple_array $(INSTALLDIR)/tools/ 1870 1871install-print_apple_array_HR1: print_apple_array_HR1 1872 mkdir -p $(INSTALLDIR)/tools 1873 cp $(SYMROOT)/print_apple_array_HR1 $(INSTALLDIR)/tools/ 1874 1875install-print_apple_array_HR2: print_apple_array_HR2 1876 mkdir -p $(INSTALLDIR)/tools 1877 cp $(SYMROOT)/print_apple_array_HR2 $(INSTALLDIR)/tools/ 1878 1879install-print_apple_array_hardened_proc: print_apple_array_hardened_proc 1880 mkdir -p $(INSTALLDIR)/tools 1881 cp $(SYMROOT)/print_apple_array_hardened_proc $(INSTALLDIR)/tools/ 1882 1883install-print_apple_array_hardened_proc_security: print_apple_array_hardened_proc_security 1884 mkdir -p $(INSTALLDIR)/tools 1885 cp $(SYMROOT)/print_apple_array_hardened_proc_security $(INSTALLDIR)/tools/ 1886 1887install-print_apple_array_hardened_heap: print_apple_array_hardened_heap 1888 mkdir -p $(INSTALLDIR)/tools 1889 cp $(SYMROOT)/print_apple_array_hardened_heap $(INSTALLDIR)/tools/ 1890 1891 1892install-print_apple_array_hardened_heap_security: print_apple_array_hardened_heap_security 1893 mkdir -p $(INSTALLDIR)/tools 1894 cp $(SYMROOT)/print_apple_array_hardened_heap_security $(INSTALLDIR)/tools/ 1895 1896persona: CODE_SIGN_ENTITLEMENTS = persona.entitlements 1897persona_adoption: CODE_SIGN_ENTITLEMENTS = persona_adoption.entitlements 1898 1899OTHER_TEST_TARGETS += libmalloc_apple_array libmalloc_apple_array_unentitled 1900 1901entropy: OTHER_CFLAGS += -framework perfdata 1902 1903debug_enable_syscall_rejection: OTHER_LDFLAGS += -ldarwintest_utils 1904 1905thread_set_state_arm64_cpsr: CODE_SIGN_ENTITLEMENTS = entitlements/thread_set_state.entitlement 1906 1907vm/app_swap: OTHER_LDFLAGS += -ldarwintest_utils 1908 1909CUSTOM_TARGETS += debug_syscall_rejection_helper 1910debug_syscall_rejection_helper: debug_syscall_rejection_helper.c 1911 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@; \ 1912 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 1913 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1914 1915 1916install-debug_syscall_rejection_helper: debug_syscall_rejection_helper 1917 mkdir -p $(INSTALLDIR) 1918 cp $(SYMROOT)/debug_syscall_rejection_helper $(INSTALLDIR)/ 1919 1920file_leases: OTHER_CFLAGS += test_utils.c 1921file_leases: OTHER_LDFLAGS += -ldarwintest_utils 1922file_leases: CODE_SIGN_ENTITLEMENTS = file_leases.entitlements 1923 1924iopolicy: OTHER_LDFLAGS += -ldarwintest_utils 1925iopolicy: CODE_SIGN_ENTITLEMENTS = iopolicy.entitlements 1926 1927INCLUDED_TEST_SOURCE_DIRS += vfs 1928vfs/freeable_vnodes: OTHER_LDFLAGS += -ldarwintest_utils 1929vfs/statfs_ext: OTHER_LDFLAGS += -lsandbox 1930vfs/sandbox_fstat: OTHER_LDFLAGS += -lsandbox 1931vfs/named_fork_path: OTHER_LDFLAGS += -lsandbox 1932vfs/sandbox_type_error: OTHER_LDFLAGS += -lsandbox 1933vfs/sandbox_appledouble_write: OTHER_LDFLAGS += -lsandbox 1934 1935# tests/vm/configurator_*.c use the VM configurator 1936 1937VM_CONFIGURATOR_SRCS = $(wildcard vm/configurator_*.c) 1938VM_CONFIGURATOR_TARGETS = $(VM_CONFIGURATOR_SRCS:%.c=%) 1939 1940$(VM_CONFIGURATOR_TARGETS): vm/configurator/vm_configurator.c 1941$(VM_CONFIGURATOR_TARGETS): vm/configurator/vm_configurator.h vm/configurator/vm_configurator_tests.h 1942$(VM_CONFIGURATOR_TARGETS): OTHER_CFLAGS += -Wall -Wextra -g 1943 1944# exception handling helpers 1945$(VM_CONFIGURATOR_TARGETS): exc_guard_helper.c try_read_write.c exc_helpers.c test_utils.c excserver 1946$(VM_CONFIGURATOR_TARGETS): OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1947$(VM_CONFIGURATOR_TARGETS): OTHER_LDFLAGS += -ldarwintest_utils 1948$(VM_CONFIGURATOR_TARGETS): CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1949 1950# Convenience target to build all tests that use vm_configurator.c 1951.PHONY: all-vm-configurator-tests 1952all-vm-configurator-tests: $(VM_CONFIGURATOR_TARGETS) 1953 1954# Convenience target to list all test executables that use vm_configurator.c 1955.PHONY: list-all-vm-configurator-executables 1956list-all-vm-configurator-executables: 1957 @ echo $(addprefix $(SYMROOT)/,$(VM_CONFIGURATOR_TARGETS)) 1958 1959vm/corpse_footprint: OTHER_LDFLAGS += -ldarwintest_utils 1960 1961EXCLUDED_SOURCES += constrained_ctypes_tests.c 1962CUSTOM_TARGETS += constrained_ctypes_tests_enabled constrained_ctypes_tests_enacted constrained_ctypes_tests_disabled 1963constrained_ctypes_tests_enabled: OTHER_CFLAGS += -D__CCT_TEST_ENABLED 1964constrained_ctypes_tests_enabled: OTHER_LDFLAGS += -ldarwintest_utils 1965constrained_ctypes_tests_enabled: constrained_ctypes_tests.c 1966 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_enabled 1967 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_enabled; 1968 1969install-constrained_ctypes_tests_enabled: constrained_ctypes_tests_enabled 1970 mkdir -p $(INSTALLDIR) 1971 cp $(SYMROOT)/constrained_ctypes_tests_enabled $(INSTALLDIR)/ 1972 1973constrained_ctypes_tests_enacted: OTHER_CFLAGS += -D__CCT_TEST_ENABLED 1974constrained_ctypes_tests_enacted: OTHER_CFLAGS += -D__CCT_TEST_ENACTED 1975constrained_ctypes_tests_enacted: OTHER_CFLAGS += -fbounds-safety 1976constrained_ctypes_tests_enacted: OTHER_LDFLAGS += -ldarwintest_utils 1977constrained_ctypes_tests_enacted: constrained_ctypes_tests.c 1978 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_enacted 1979 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_enacted; 1980 1981install-constrained_ctypes_tests_enacted: constrained_ctypes_tests_enacted 1982 mkdir -p $(INSTALLDIR) 1983 cp $(SYMROOT)/constrained_ctypes_tests_enacted $(INSTALLDIR)/ 1984 1985 1986constrained_ctypes_tests_disabled: OTHER_LDFLAGS += -ldarwintest_utils 1987constrained_ctypes_tests_disabled: constrained_ctypes_tests.c 1988 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_disabled 1989 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_disabled; 1990 1991install-constrained_ctypes_tests_disabled: constrained_ctypes_tests_disabled 1992 mkdir -p $(INSTALLDIR) 1993 cp $(SYMROOT)/constrained_ctypes_tests_disabled $(INSTALLDIR)/ 1994 1995task_suspend_stats: OTHER_LDFLAGS += -ldarwintest_utils 1996task_suspend_stats: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 1997 1998exec_set_proc_name: OTHER_LDFLAGS += -ldarwintest_utils 1999 2000 2001include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.targets 2002 2003exception_ports_info: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 2004 2005vfs/longpaths: vfs/longpaths.c 2006vfs/longpaths: OTHER_LDFLAGS += -ldarwintest_utils 2007vfs/longpaths: CODE_SIGN_ENTITLEMENTS = vfs/longpaths.entitlements 2008 2009vfs/devfs_fdesc: vfs/devfs_fdesc.c 2010vfs/devfs_fdesc: CODE_SIGN_ENTITLEMENTS = vfs/devfs_fdesc.entitlements 2011 2012vfs/openbyid_stress: vfs/openbyid_stress.c 2013vfs/openbyid_stress: CODE_SIGN_ENTITLEMENTS = vfs/openbyid_stress.entitlements 2014 2015OTHER_TEST_TARGETS += trial_experiment_factors_entitled 2016trial_experiment_factors_entitled: OTHER_CFLAGS += -DENTITLED=1 2017trial_experiment_factors_entitled: CODE_SIGN_ENTITLEMENTS=kern-trial.entitlements 2018trial_experiment_factors_entitled: trial_experiment_factors.c 2019 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 2020 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 2021 2022memorystatus_experiment_factors: CODESIGN_ENTITLEMENTS=./memorystatus/memorystatus_experiment_factors.entitlements 2023memorystatus_experiment_factors: memorystatus/memorystatus_experiment_factors.c 2024 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 2025 $(ENV) CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODESIGN_ENTITLEMENTS) $(SYMROOT)/$@; 2026 2027ifeq ($(PLATFORM),MacOSX) 2028CUSTOM_TARGETS += nox86exec_helper 2029 2030nox86exec_helper: INVALID_ARCHS = arm64e arm64 2031nox86exec_helper: nox86exec_helper.c 2032 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 2033 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 2034 2035install-posix_spawn_alt_rosetta_helper: nox86exec_helper 2036 mkdir -p $(INSTALLDIR) 2037 cp $(SYMROOT)/nox86exec_helper $(INSTALLDIR)/ 2038endif 2039 2040vm/memorystatus_rearm: excserver 2041vm/memorystatus_rearm: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 2042vm/memorystatus_rearm: CODE_SIGN_ENTITLEMENTS = vm/memorystatus_rearm.entitlements 2043 2044ksancov: OTHER_LDFLAGS += -framework IOKit 2045ksancov: CODE_SIGN_ENTITLEMENTS = ksancov.entitlements 2046