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 excserver 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 593vm/vm_guard_objects_telemetry: exc_guard_helper.c exc_helpers.c test_utils.c excserver 594vm/vm_guard_objects_telemetry: CODE_SIGN_ENTITLEMENTS = entitlements/guard_objects-enabled.plist 595vm/vm_guard_objects_telemetry: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 596vm/vm_guard_objects_telemetry: OTHER_LDFLAGS += -ldarwintest_utils 597vm/vm_guard_objects_telemetry: vm/vm_guard_objects_telemetry.c 598 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 599 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 600 601memorystatus_is_assertion: OTHER_LDFLAGS += -ldarwintest_utils 602memorystatus_is_assertion: OTHER_CFLAGS += memorystatus_assertion_helpers.c 603 604memorystatus_vm_map_fork: OTHER_CFLAGS += test_utils.c 605memorystatus_vm_map_fork: OTHER_LDFLAGS += -ldarwintest_utils 606 607shared_cache_tests: OTHER_LDFLAGS += -ldarwintest_utils 608 609ifneq ($(wildcard $(SDKROOT)/System/Library/PrivateFrameworks/Tightbeam.framework/Headers/tightbeam.h),) 610stackshot_tests: OTHER_LDFLAGS += -framework Tightbeam 611stackshot_tests: OTHER_CFLAGS += -I$(OBJROOT) 612stackshot_tests: OTHER_CFLAGS += $(TIGHTBEAM_MODULE_IMPL_PATH) 613stackshot_tests.m: $(TIGHTBEAM_MODULE_HEADERS) 614endif 615stackshot_tests: ./stackshot-entitlements.plist stackshot_tests.m 616stackshot_tests: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 617stackshot_tests: OTHER_CFLAGS += -Wno-objc-messaging-id test_utils.c 618stackshot_tests: OTHER_LDFLAGS += -lkdd -lz -ldarwintest_utils -framework Foundation -framework IOKit 619 620stackshot_accuracy: ./stackshot-entitlements.plist 621stackshot_accuracy: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 622stackshot_accuracy: OTHER_CFLAGS += -ldarwintest_utils -Wno-objc-messaging-id 623stackshot_accuracy: OTHER_LDFLAGS += -lkdd -ldarwintest_utils -framework Foundation 624stackshot_accuracy: INVALID_ARCHS = i386 625 626stackshot_spawn_exit_stress: ./stackshot-entitlements.plist 627stackshot_spawn_exit_stress: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 628 629ifeq ($(PLATFORM),MacOSX) 630CUSTOM_TARGETS += stackshot_translated_child 631 632stackshot_translated_child: INVALID_ARCHS = arm64 arm64e 633stackshot_translated_child: stackshot_translated_child.c 634 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) stackshot_translated_child.c -o $(SYMROOT)/stackshot_translated_child 635 636install-stackshot_translated_child: stackshot_translated_child 637 mkdir -p $(INSTALLDIR) 638 cp $(SYMROOT)/stackshot_translated_child $(INSTALLDIR)/ 639else 640EXCLUDED_SOURCES += stackshot_translated_child.c 641endif 642 643microstackshot_tests: ./stackshot-entitlements.plist 644microstackshot_tests: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 645microstackshot_tests: OTHER_LDFLAGS = -ldarwintest_utils -framework ktrace -framework kperf -framework CoreFoundation 646 647memorystatus_zone_test: ./stackshot-entitlements.plist 648memorystatus_zone_test: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 649memorystatus_zone_test: OTHER_CFLAGS += -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders 650memorystatus_zone_test: OTHER_LDFLAGS += -framework ktrace 651memorystatus_zone_test: OTHER_LDFLAGS += -ldarwintest_utils 652 653memcmp_zero: OTHER_CFLAGS += ../osfmk/arm64/memcmp_zero.s 654 655text_corruption: OTHER_LDFLAGS += -ldarwintest_utils 656CUSTOM_TARGETS += text_corruption_helper 657 658text_corruption_helper: 659 $(CC) $(LDFLAGS) $(CFLAGS) text_corruption_helper.c -lm -o $(SYMROOT)/$@; 660 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 661 662install-text_corruption_helper: text_corruption_helper 663 mkdir -p $(INSTALLDIR) 664 cp $(SYMROOT)/text_corruption_helper $(INSTALLDIR)/ 665 666codesigntests: CODE_SIGN_ENTITLEMENTS=codesigntests-entitlements.plist 667codesigntests: OTHER_CFLAGS += -DTESTNAME=codesigntests 668# Adding a custom target and build/install rules since CODE_SIGN_ENTITLEMENTS 669# does not take in arguments, and we need to sign this test using a sha256T 670# digest 671 672OTHER_TEST_TARGETS += codesigntests_sha256t 673codesigntests_sha256t: OTHER_CFLAGS += -DTESTNAME=codesigntests_sha256t 674 675codesigntests_sha256t: codesigntests.c 676 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(DT_LDFLAGS) $(LDFLAGS) $(CFLAGS) codesigntests.c -o $(SYMROOT)/$@; 677 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --digest=sha256T -s - --entitlements codesigntests-entitlements.plist $(SYMROOT)/$@; 678install-codesigntests_sha256t: codesigntests_sha256t 679 mkdir -p $(INSTALLDIR) 680 cp $(SYMROOT)/codesigntests_sha256t $(INSTALLDIR)/ 681 682 683ecc_test: OTHER_LDFLAGS += -ldarwintest_utils 684CUSTOM_TARGETS += ecc_test_helper 685 686ecc_test_helper: 687 $(CC) $(LDFLAGS) $(CFLAGS) ecc_test_helper.c -lm -o $(SYMROOT)/$@; 688 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 689 690install-ecc_test_helper: ecc_test_helper 691 mkdir -p $(INSTALLDIR) 692 cp $(SYMROOT)/ecc_test_helper $(INSTALLDIR)/ 693 694vm/test_vm_no_pager: excserver 695vm/test_vm_no_pager: OTHER_LDFLAGS += -ldarwintest_utils -lpthread -lkdd -framework Foundation 696vm/test_vm_no_pager: OTHER_CFLAGS += -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders $(OBJROOT)/excserver.c -I$(OBJROOT) 697vm/test_vm_no_pager: vm/test_vm_no_pager_helper 698vm/test_vm_no_pager: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 699CUSTOM_TARGETS += vm/test_vm_no_pager_helper 700 701vm/test_vm_no_pager_helper: vm/test_vm_no_pager_helper.c 702 mkdir -p $(SYMROOT)/vm 703 $(CC) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -lm -o $(SYMROOT)/$@; 704 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 705 706install-vm/test_vm_no_pager_helper: vm/test_vm_no_pager_helper 707 mkdir -p $(INSTALLDIR)/vm 708 cp $(SYMROOT)/vm/test_vm_no_pager_helper $(INSTALLDIR)/vm/ 709 710 711kevent_qos: OTHER_CFLAGS += -Wno-unused-macros 712kevent_qos: OTHER_CFLAGS += -I $(OBJROOT)/ 713 714test_knote_use_after_free: OTHER_CFLAGS += -Wno-unused-macros 715test_knote_use_after_free: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 716 717mach_get_times: OTHER_LDFLAGS += -ldarwintest_utils 718 719monotonic_core: ./stackshot-entitlements.plist 720monotonic_core: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 721monotonic_core: OTHER_LDFLAGS += -framework ktrace 722 723perf_exit: perf_exit_proc 724perf_exit: ./stackshot-entitlements.plist 725perf_exit: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 726perf_exit: OTHER_LDFLAGS = -framework ktrace -ldarwintest_utils 727perf_exit: CODE_SIGN_ENTITLEMENTS=./private_entitlement.plist 728 729ipc/mach_exc_port_substitute: excserver 730ipc/mach_exc_port_substitute: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 731ipc/mach_exc_port_substitute: CODE_SIGN_ENTITLEMENTS = ipc/mach_exc_port_substitute.plist 732 733CUSTOM_TARGETS += prioritize_process_launch_helper 734prioritize_process_launch: prioritize_process_launch_helper 735 736prioritize_process_launch_helper: prioritize_process_launch_helper.c 737 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) prioritize_process_launch_helper.c -o $(SYMROOT)/prioritize_process_launch_helper 738 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 739 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 740 741install-prioritize_process_launch_helper: prioritize_process_launch_helper 742 mkdir -p $(INSTALLDIR) 743 cp $(SYMROOT)/prioritize_process_launch_helper $(INSTALLDIR)/ 744 745 746perf_spawn_fork: CODE_SIGN_ENTITLEMENTS=./private_entitlement.plist 747 748mach_exception_reply: OTHER_CFLAGS += -Wno-cast-align 749mach_exception_reply: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 750 751os_thread_self_restrict: os_thread_self_restrict.c os_thread_self_restrict-entitlements.plist test_utils.c 752os_thread_self_restrict: CODE_SIGN_ENTITLEMENTS=os_thread_self_restrict-entitlements.plist 753os_thread_self_restrict: OTHER_LDFLAGS += -ldarwintest_utils -sectcreate __TEXT __info_plist os_thread_self_restrict-identifier.plist 754 755# Temporarily disabled. See rdar://121952316 756EXCLUDED_SOURCES += os_thread_self_restrict.c 757 758subsystem_root_path: subsystem_root_path.c subsystem_root_path-entitlements.plist 759subsystem_root_path: CODE_SIGN_ENTITLEMENTS=subsystem_root_path-entitlements.plist 760 761EXCLUDED_SOURCES += $(wildcard bounded_ptr_src/*.cpp) 762bounded_ptr: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 763bounded_ptr: $(wildcard bounded_ptr_src/*.cpp) bounded_ptr.cpp 764 765EXCLUDED_SOURCES += bounded_ptr_03.cpp 766bounded_ptr_03: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++03 $(DT_LDFLAGS) 767bounded_ptr_03: bounded_ptr_03.cpp 768 769EXCLUDED_SOURCES += $(wildcard bounded_array_src/*.cpp) 770bounded_array: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 771bounded_array: $(wildcard bounded_array_src/*.cpp) bounded_array.cpp 772 773EXCLUDED_SOURCES += $(wildcard bounded_array_ref_src/*.cpp) 774bounded_array_ref: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 775bounded_array_ref: $(wildcard bounded_array_ref_src/*.cpp) bounded_array_ref.cpp 776 777EXCLUDED_SOURCES += $(wildcard intrusive_shared_ptr_src/*.cpp) 778intrusive_shared_ptr: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 779intrusive_shared_ptr: $(wildcard intrusive_shared_ptr_src/*.cpp) intrusive_shared_ptr.cpp 780 781EXCLUDED_SOURCES += $(wildcard safe_allocation_src/*.cpp) 782safe_allocation: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 783safe_allocation: $(wildcard safe_allocation_src/*.cpp) safe_allocation.cpp 784 785EXCLUDED_SOURCES += $(wildcard cxx_safe_buffers_src/*.cpp) 786cxx_safe_buffers: OTHER_CXXFLAGS += -Werror=unsafe-buffer-usage -I$(SRCROOT)/../libkern -std=c++20 787cxx_safe_buffers: $(wildcard cxx_safe_buffers_src/*.cpp) cxx_safe_buffers.cpp 788 789EXCLUDED_SOURCES += osptr_compat.cpp 790osptr_98: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++98 -DOSPTR_STD="98" 791osptr_98: osptr_compat.cpp 792 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 793osptr_11: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++11 -DOSPTR_STD="11" 794osptr_11: osptr_compat.cpp 795 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 796osptr_14: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++14 -DOSPTR_STD="14" 797osptr_14: osptr_compat.cpp 798 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 799osptr_17: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++17 -DOSPTR_STD="17" 800osptr_17: osptr_compat.cpp 801 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 802 803priority_queue: OTHER_CXXFLAGS += -std=c++17 804queue: OTHER_CFLAGS += -I$(SRCROOT)/../osfmk 805 806vm/zalloc: OTHER_LDFLAGS += -ldarwintest_utils 807vm/zalloc_buddy: OTHER_CFLAGS += -Wno-format-pedantic 808 809os_refcnt: OTHER_CFLAGS += -I$(SRCROOT)/../libkern/ -Wno-gcc-compat -Wno-undef -O3 -flto -ldarwintest_utils 810 811kernel_inspection: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 812kernel_inspection: OTHER_CFLAGS += -DENTITLED=1 813 814turnstile_multihop: OTHER_CFLAGS += -Wno-unused-macros 815turnstile_multihop: OTHER_CFLAGS += -I $(OBJROOT)/ 816 817CUSTOM_TARGETS += perf_exit_proc 818 819perf_exit_proc: 820 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) perf_exit_proc.c -o $(SYMROOT)/perf_exit_proc 821 822install-perf_exit_proc: perf_exit_proc 823 mkdir -p $(INSTALLDIR) 824 cp $(SYMROOT)/perf_exit_proc $(INSTALLDIR)/ 825 826# Stackshot 827 828 829stackshot_idle_25570396: ./stackshot-entitlements.plist 830stackshot_idle_25570396: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 831stackshot_idle_25570396: OTHER_LDFLAGS += -lkdd -framework Foundation 832stackshot_idle_25570396: OTHER_LDFLAGS += -lkdd -framework Foundation 833 834stackshot_block_owner_14362384: ./stackshot-entitlements.plist 835stackshot_block_owner_14362384: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 836stackshot_block_owner_14362384: OTHER_LDFLAGS += -framework Foundation -lpthread -lkdd 837ifeq ($(PLATFORM),MacOSX) 838stackshot_block_owner_14362384: OTHER_LDFLAGS += -lpcre 839endif 840 841all: $(DSTROOT)/usr/local/bin/kcdata 842 843$(DSTROOT)/usr/local/bin/kcdata: $(SRCROOT)/../tools/lldbmacros/kcdata.py 844 mkdir -p $(dir $@) 845 cp $< $@ 846 chmod a+x $@ 847 848xnu_quick_test: OTHER_CFLAGS += xnu_quick_test_helpers.c 849 850CUSTOM_TARGETS += vm_set_max_addr_helper 851 852vm_set_max_addr_helper: vm_set_max_addr_helper.c 853 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) vm_set_max_addr_helper.c -o $(SYMROOT)/vm_set_max_addr_helper; \ 854 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 855 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 856 857install-vm_set_max_addr_helper: vm_set_max_addr_helper 858 mkdir -p $(INSTALLDIR) 859 cp $(SYMROOT)/vm_set_max_addr_helper $(INSTALLDIR)/ 860 861CUSTOM_TARGETS += subsystem_root_path_helper_entitled 862CUSTOM_TARGETS += subsystem_root_path_helper 863 864subsystem_root_path_helper_entitled: subsystem_root_path_helper.c subsystem_root_path-entitlements.plist 865 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) subsystem_root_path_helper.c -o $(SYMROOT)/subsystem_root_path_helper_entitled; \ 866 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 867 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements subsystem_root_path-entitlements.plist $(SYMROOT)/$@; 868 869install-subsystem_root_path_helper_entitled: subsystem_root_path_helper_entitled 870 mkdir -p $(INSTALLDIR) 871 cp $(SYMROOT)/subsystem_root_path_helper_entitled $(INSTALLDIR)/ 872 873subsystem_root_path_helper: subsystem_root_path_helper.c 874 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) subsystem_root_path_helper.c -o $(SYMROOT)/subsystem_root_path_helper; \ 875 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 876 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 877 878install-subsystem_root_path_helper: subsystem_root_path_helper 879 mkdir -p $(INSTALLDIR) 880 cp $(SYMROOT)/subsystem_root_path_helper $(INSTALLDIR)/ 881 882CUSTOM_TARGETS += vm_test_code_signing_helper 883 884vm_test_code_signing_helper: vm_test_code_signing_helper.c 885 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) vm_test_code_signing_helper.c -o $(SYMROOT)/vm_test_code_signing_helper; \ 886 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 887 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 888 889install-vm_test_code_signing_helper: vm_test_code_signing_helper 890 mkdir -p $(INSTALLDIR) 891 cp $(SYMROOT)/vm_test_code_signing_helper $(INSTALLDIR)/ 892 893vm_test_code_signing: OTHER_LDFLAGS += -ldarwintest_utils 894 895INCLUDED_TEST_SOURCE_DIRS += ipc rm workq 896 897include vm/Makefile 898 899vm/vm_stress: OTHER_CXXFLAGS += -std=c++20 900vm/vm_stress: OTHER_LDFLAGS += -ldarwintest_utils 901vm/vm_stress: INVALID_ARCHS = x86_64h 902 903 904big_map_test: CODE_SIGN_ENTITLEMENTS = ./big_map_test_entitlement.plist 905 906task_info_28439149: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 907 908ipc/ipc_read_inspect: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 909 910ipc/ipc_thread_ports_race: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 911ipc/ipc_thread_ports_race: OTHER_LDFLAGS += -ldarwintest_utils 912 913rm/pthread_setugid: OTHER_LDFLAGS += -ldarwintest_utils 914rm/coalition_info_resource_usage: OTHER_LDFLAGS += -ldarwintest_utils 915 916proc_info: recount/recount_test_utils.c 917proc_info: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 918proc_info: OTHER_LDFLAGS += -ldarwintest_utils 919 920proc_info_list_kthreads: CODE_SIGN_ENTITLEMENTS = ./proc_info_list_kthreads.entitlements 921 922proc_info_44873309: CODE_SIGN_ENTITLEMENTS = ./proc_info_44873309.entitlements 923 924disk_mount_conditioner: disk_mount_conditioner* 925disk_mount_conditioner: CODE_SIGN_ENTITLEMENTS=./disk_mount_conditioner-entitlements.plist 926disk_mount_conditioner: OTHER_LDFLAGS += -ldarwintest_utils -framework Foundation 927 928disk_mount_conditioner: OTHER_TEST_TARGETS += disk_mount_conditioner_unentitled 929disk_mount_conditioner_unentitled: OTHER_CFLAGS += -DTEST_UNENTITLED 930disk_mount_conditioner_unentitled: OTHER_LDFLAGS += -ldarwintest_utils -framework Foundation 931disk_mount_conditioner_unentitled: disk_mount_conditioner.m 932 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 933 934work_interval_test: CODE_SIGN_ENTITLEMENTS = work_interval_test.entitlements 935work_interval_test: OTHER_CFLAGS += -DENTITLED=1 936 937work_interval_data_test: CODE_SIGN_ENTITLEMENTS = work_interval_test.entitlements 938work_interval_data_test: OTHER_CFLAGS += -DENTITLED=1 939work_interval_data_test: OTHER_LDFLAGS += -lpthread 940 941game_mode: CODE_SIGN_ENTITLEMENTS = game_mode.entitlements 942carplay_mode: CODE_SIGN_ENTITLEMENTS = carplay_mode.entitlements 943runaway_mitigation: CODE_SIGN_ENTITLEMENTS = runaway_mitigation.entitlements 944 945coalition_policy: CODE_SIGN_ENTITLEMENTS = coalition_policy.entitlements 946coalition_policy: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) 947coalition_policy: $(SCHED_UTILS) 948 949settimeofday_29193041: OTHER_CFLAGS += drop_priv.c 950 951settimeofday_29193041_entitled: CODE_SIGN_ENTITLEMENTS = settimeofday_29193041.entitlements 952settimeofday_29193041_entitled: OTHER_CFLAGS += drop_priv.c 953 954thread_group_set_32261625: ./stackshot-entitlements.plist 955thread_group_set_32261625: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 956thread_group_set_32261625: OTHER_LDFLAGS = -framework ktrace 957 958task_info: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 959task_info: OTHER_CFLAGS += test_utils.c 960task_info: OTHER_LDFLAGS += -ldarwintest_utils 961 962extract_right_soft_fail: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 963 964ifneq ($(IOS_TEST_COMPAT),YES) 965 EXCLUDED_SOURCES += task_vm_info_decompressions.c 966endif 967 968ifeq ($(PLATFORM),MacOSX) 969 EXCLUDED_SOURCES += vm/compression_sweep.c 970endif 971 972unp_sock_release: CODE_SIGN_ENTITLEMENTS = unp_sock_release-entitlements.plist 973 974accept_race: in_cksum.c net_test_lib.c 975accept_race: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 976 977flow_div_doubleconnect_55917185: in_cksum.c net_test_lib.c 978flow_div_doubleconnect_55917185: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 979 980bpf_write: bpflib.c in_cksum.c net_test_lib.c 981bpf_write: OTHER_LDFLAGS += -ldarwintest_utils 982 983bpf_write_batch: bpflib.c in_cksum.c net_test_lib.c 984bpf_write_batch: OTHER_LDFLAGS += -ldarwintest_utils 985 986udp_disconnect: in_cksum.c net_test_lib.c 987udp_disconnect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 988 989udp_bind_connect: in_cksum.c net_test_lib.c 990udp_bind_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 991 992tcp_bind_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 993tcp_send_implied_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 994 995tcp_cache_test: CODE_SIGN_ENTITLEMENTS = tcp_cache_entitlements.plist 996 997socket_bind_35243417: in_cksum.c net_test_lib.c 998socket_bind_35243417: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 999 1000socket_bind_35685803: in_cksum.c net_test_lib.c 1001socket_bind_35685803: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1002 1003tcp_input_outputopts_uaf_56155583: in_cksum.c net_test_lib.c 1004tcp_input_outputopts_uaf_56155583: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1005 1006unp_connect_thread_uaf: in_cksum.c net_test_lib.c 1007unp_connect_thread_uaf: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1008 1009icmp_fragmetned_payload: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1010tcp_invalid_address: OTHER_CFLAGS += -Wno-int-conversion 1011tcp_invalid_address: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1012 1013net_tuntests: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1014 1015net_bridge: inet_transfer.c bpflib.c in_cksum.c net_test_lib.c 1016net_bridge: OTHER_LDFLAGS += -ldarwintest_utils 1017net_bridge: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1018 1019net_vlan: inet_transfer.c bpflib.c in_cksum.c net_test_lib.c 1020net_vlan: OTHER_LDFLAGS += -ldarwintest_utils 1021net_vlan: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1022 1023net_bond: inet_transfer.c bpflib.c in_cksum.c net_test_lib.c 1024net_bond: OTHER_LDFLAGS += -ldarwintest_utils 1025net_bond: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1026 1027mcast_ssm: in_cksum.c net_test_lib.c 1028mcast_ssm: OTHER_LDFLAGS += -ldarwintest_utils 1029 1030if_generation_id: net_test_lib.c in_cksum.c 1031if_generation_id: OTHER_LDFLAGS += -ldarwintest_utils 1032 1033inet6_addr_mode: net_test_lib.c in_cksum.c 1034inet6_addr_mode: OTHER_LDFLAGS += -ldarwintest_utils 1035 1036bpf_direction: bpflib.c 1037bpf_direction: OTHER_LDFLAGS += -ldarwintest_utils 1038bpf_direction: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1039 1040bpf_timestamp: bpflib.c 1041bpf_timestamp: OTHER_LDFLAGS += -ldarwintest_utils 1042bpf_timestamp: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1043 1044ipv6_bind_race: in_cksum.c net_test_lib.c 1045ipv6_bind_race: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1046 1047mcast_group_race_82820812: in_cksum.c net_test_lib.c 1048mcast_group_race_82820812: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1049 1050so_bindtodevice: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1051 1052recv_link_addr_type: net_test_lib.c in_cksum.c 1053recv_link_addr_type: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1054 1055ip_pktinfo: net_test_lib.c in_cksum.c 1056ip_pktinfo: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1057 1058v4mappedv6_dontfrag: net_test_lib.c in_cksum.c 1059v4mappedv6_dontfrag: OTHER_LDFLAGS += -ldarwintest_utils 1060v4mappedv6_dontfrag: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1061 1062net_siocdifaddr: net_test_lib.c in_cksum.c 1063net_siocdifaddr: OTHER_LDFLAGS += -ldarwintest_utils 1064 1065vsock: vsock_helpers.c 1066vsock_entitled: vsock_helpers.c 1067vsock_entitled: CODE_SIGN_ENTITLEMENTS = vsock_entitlements.plist 1068 1069sendmsg_test: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1070 1071network_elevated_logging: CODE_SIGN_ENTITLEMENTS = entitlements/network_elevated_logging.entitlements 1072 1073rvi_doublefree: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 1074 1075ipc/platform_restrictions_entitlements: CODE_SIGN_ENTITLEMENTS = entitlements/platform-restrictions.plist 1076 1077ipc/tpro_entitlements: CODE_SIGN_ENTITLEMENTS = entitlements/tpro.plist 1078 1079EXCLUDED_SOURCES += ipc/control_port_movability_common.c 1080 1081ipc/entitled_control_port_movability: CODE_SIGN_ENTITLEMENTS = entitlements/entitled_control_port_movability.entitlements 1082ipc/entitled_control_port_movability: ipc/control_port_movability_common.c 1083ipc/entitled_control_port_movability: $(IPC_UTILS) 1084 1085 1086ifeq ($(PLATFORM),MacOSX) 1087 1088ipc/rosetta_control_port_movability: INVALID_ARCHS = arm64 arm64e arm 1089ipc/rosetta_control_port_movability: ipc/control_port_movability_common.c $(IPC_UTILS) 1090 1091else 1092EXCLUDED_SOURCES += ipc/rosetta_control_port_movability.c 1093endif 1094 1095ipc/guard_objects_disabled_entitlement: CODE_SIGN_ENTITLEMENTS = entitlements/guard-objects-disabled.plist 1096 1097ipc/guard_objects_enabled_entitlement: CODE_SIGN_ENTITLEMENTS = entitlements/hardened-proc.entitlements 1098 1099ipc/hardened_process_version_entitlement: CODE_SIGN_ENTITLEMENTS = entitlements/hardened-proc-version.entitlements 1100 1101CUSTOM_TARGETS += posix_spawn_archpref_helper 1102 1103posix_spawn_archpref_helper: posix_spawn_archpref_helper.c 1104 $(CC) $(LDFLAGS) $(CFLAGS) posix_spawn_archpref_helper.c -o $(SYMROOT)/$@; 1105 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1106 1107install-posix_spawn_archpref_helper: posix_spawn_archpref_helper 1108 mkdir -p $(INSTALLDIR) 1109 cp $(SYMROOT)/posix_spawn_archpref_helper $(INSTALLDIR)/ 1110 1111CUSTOM_TARGETS += posix_spawn_alt_rosetta_helper 1112 1113posix_spawn_alt_rosetta_helper: posix_spawn_alt_rosetta_helper.c 1114 $(CC) $(LDFLAGS) $(CFLAGS) posix_spawn_alt_rosetta_helper.c -o $(SYMROOT)/$@; 1115 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1116 1117install-posix_spawn_alt_rosetta_helper: posix_spawn_alt_rosetta_helper 1118 mkdir -p $(INSTALLDIR) 1119 cp $(SYMROOT)/posix_spawn_alt_rosetta_helper $(INSTALLDIR)/ 1120 1121MIG:=SDKROOT=$(SDKROOT) $(shell xcrun -sdk "$(TARGETSDK)" -find mig) 1122 1123CUSTOM_TARGETS += excserver 1124 1125excserver: 1126 $(MIG) $(CFLAGS) \ 1127 -sheader $(OBJROOT)/excserver.h \ 1128 -server $(OBJROOT)/excserver.c \ 1129 -header /dev/null -user /dev/null \ 1130 excserver.defs 1131install-excserver: ; 1132 1133excserver_protect: 1134 $(MIG) $(CFLAGS) \ 1135 -DMACH_EXC_SERVER_TASKIDTOKEN \ 1136 -sheader $(OBJROOT)/excserver_protect.h \ 1137 -server $(OBJROOT)/excserver_protect.c \ 1138 -header /dev/null -user /dev/null \ 1139 excserver_protect.defs 1140install-excserver_protect: ; 1141 1142excserver_protect_state: 1143 $(MIG) $(CFLAGS) \ 1144 -DMACH_EXC_SERVER_TASKIDTOKEN_STATE \ 1145 -DMACH_EXC_SERVER_TASKIDTOKEN \ 1146 -sheader $(OBJROOT)/excserver_protect_state.h \ 1147 -server $(OBJROOT)/excserver_protect_state.c \ 1148 -header /dev/null -user /dev/null \ 1149 excserver_protect.defs 1150install-excserver_protect_state: ; 1151 1152EXCLUDED_SOURCES += exc_helpers.c 1153 1154CUSTOM_TARGETS += notifyserver 1155 1156notifyserver: 1157 $(MIG) $(CFLAGS) \ 1158 -user /dev/null \ 1159 -header $(OBJROOT)/notify.h \ 1160 -sheader $(OBJROOT)/notifyServer.h \ 1161 -server $(OBJROOT)/notifyServer.c \ 1162 notifyserver.defs 1163install-notifyserver: ; 1164 1165CUSTOM_TARGETS += rnserver 1166 1167rnserver: 1168 $(MIG) $(CFLAGS) \ 1169 -user /dev/null \ 1170 -header $(OBJROOT)/rn.h \ 1171 -sheader $(OBJROOT)/rnServer.h \ 1172 -server $(OBJROOT)/rnServer.c \ 1173 rnserver.defs 1174install-rnserver: ; 1175 1176SKYWALK_COMMON_FILES := \ 1177 skywalk/skywalk_test_common.c \ 1178 skywalk/skywalk_test_utils.c 1179SKYWALK_TEST_FILES := \ 1180 skywalk/skywalk_test_driver.c \ 1181 skywalk/skt_simple.c \ 1182 skywalk/skt_features.c \ 1183 skywalk/skt_oneslot.c \ 1184 skywalk/skt_shutdown.c \ 1185 skywalk/skt_shutdown2.c \ 1186 skywalk/skt_nslots.c \ 1187 skywalk/skt_closecfd.c \ 1188 skywalk/skt_closenfd.c \ 1189 skywalk/skt_badring.c \ 1190 skywalk/skt_kqueue.c \ 1191 skywalk/skt_mangle.c \ 1192 skywalk/skt_features.c \ 1193 skywalk/skt_ringid.c \ 1194 skywalk/skt_closekq.c \ 1195 skywalk/skt_writemem.c \ 1196 skywalk/skt_debug_verify.c \ 1197 skywalk/skt_utun27302538.c \ 1198 skywalk/skt_utunleak.c \ 1199 skywalk/skt_utunloop.c \ 1200 skywalk/skt_flowswitch_ns_reserve.c \ 1201 skywalk/skt_netifcompat.c \ 1202 skywalk/skt_fswloop.c \ 1203 skywalk/skt_teardown.c \ 1204 skywalk/skt_bind.c \ 1205 skywalk/skt_fsw29301703.c \ 1206 skywalk/skt_fswbinds.c \ 1207 skywalk/skt_manyflows.c \ 1208 skywalk/skt_pllupipe.c \ 1209 skywalk/skt_fullupipe.c \ 1210 skywalk/skt_listener.c \ 1211 skywalk/skt_copy_cksum.c \ 1212 skywalk/skt_reass.c \ 1213 skywalk/skt_memory.c \ 1214 skywalk/skt_flow.c \ 1215 skywalk/skt_flowlookup.c \ 1216 skywalk/skt_libcuckoo.c \ 1217 skywalk/skt_restricted_port.c \ 1218 skywalk/skt_steering.c 1219SKYWALK_MPTEST_FILES := \ 1220 skywalk/skywalk_mptests.c \ 1221 skywalk/skywalk_mptest_driver.c \ 1222 skywalk/skt_mpsimple.c \ 1223 skywalk/skt_mpprotons.c \ 1224 skywalk/skt_xfer.c \ 1225 skywalk/skt_netifdirect.c \ 1226 skywalk/skt_filter.c 1227EXCLUDED_SOURCES += $(SKYWALK_COMMON_FILES) $(SKYWALK_TEST_FILES) $(SKYWALK_MPTEST_FILES) 1228 1229skywalk_tests: excserver 1230skywalk_tests: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1231skywalk_tests: CODE_SIGN_ENTITLEMENTS = skywalk_test.entitlements 1232skywalk_tests: $(SKYWALK_COMMON_FILES) $(SKYWALK_TEST_FILES) $(SKYWALK_MPTEST_FILES) $(SDKROOT)/usr/local/lib/libCrashReporterClient.a 1233 1234EXCLUDED_SOURCES += arm_matrix_sme.c 1235 1236arm_matrix: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1237arm_matrix: excserver exc_helpers.c arm_matrix_sme.c 1238arm_matrix: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) -Wno-language-extension-token -Wno-c++98-compat -mcpu=firestorm+nofp+sme2 1239arm_matrix: CODE_SIGN_ENTITLEMENTS = arm_matrix.entitlements 1240 1241MTE_CFLAGS = -march=armv8.5a+memtag -Wno-declaration-after-statement -Wno-format-pedantic -Wno-language-extension-token 1242 1243arm_mte: arm_mte_spawn_client_with_hardened_process_entitlement arm_mte_spawn_client_without_hardened_process_entitlement arm_mte_utilities.c 1244arm_mte: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1245arm_mte: OTHER_CFLAGS += $(MTE_CFLAGS) 1246arm_mte: OTHER_LDFLAGS += -ldarwintest_utils 1247arm_mte: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1248 1249proc_core_name_mte: proc_core_name_mte.c 1250proc_core_name_mte: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1251proc_core_name_mte: OTHER_CFLAGS += $(MTE_CFLAGS) 1252proc_core_name_mte: OTHER_LDFLAGS += -ldarwintest_utils 1253proc_core_name_mte: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1254 1255 1256arm_mte_compress: arm_mte_utilities.c 1257arm_mte_compress: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1258arm_mte_compress: OTHER_CFLAGS += $(MTE_CFLAGS) 1259arm_mte_compress: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1260 1261arm_mte_unentitled: arm_mte_utilities.c arm_mte_debugger_helper 1262arm_mte_unentitled: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1263arm_mte_unentitled: OTHER_CFLAGS += $(MTE_CFLAGS) 1264 1265arm_mte_stress: arm_mte_utilities.c 1266arm_mte_stress: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1267arm_mte_stress: OTHER_CFLAGS += $(MTE_CFLAGS) 1268arm_mte_stress: OTHER_LDFLAGS += -ldarwintest_utils 1269arm_mte_stress: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1270 1271EXCLUDED_SOURCES += arm_mte_debugger_helper.c 1272CUSTOM_TARGETS += arm_mte_debugger_helper 1273arm_mte_debugger_helper: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1274arm_mte_debugger_helper: OTHER_CFLAGS += -march=armv8.5a+memtag 1275arm_mte_debugger_helper: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1276arm_mte_debugger_helper: arm_mte_debugger_helper.c 1277 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1278 $^ -o $(SYMROOT)/$@ 1279 $(CODESIGN) -f -s- --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@ 1280 1281install-arm_mte_debugger_helper: arm_mte_debugger_helper 1282 mkdir -p $(INSTALLDIR) 1283 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1284 1285arm_mte_mach_msg: arm_mte_utilities.c 1286arm_mte_mach_msg: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1287arm_mte_mach_msg: OTHER_CFLAGS += $(MTE_CFLAGS) 1288arm_mte_mach_msg: OTHER_LDFLAGS += -ldarwintest_utils 1289 1290arm_mte_knobs_policies: arm_mte_utilities.c 1291arm_mte_knobs_policies: arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out 1292arm_mte_knobs_policies: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1293arm_mte_knobs_policies: OTHER_CFLAGS += -march=armv8.5a+memtag -Wno-declaration-after-statement -Wno-format-pedantic -Wno-language-extension-token -Wno-bad-function-cast 1294arm_mte_knobs_policies: OTHER_LDFLAGS += -ldarwintest_utils 1295arm_mte_knobs_policies: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1296 1297arm_mte_launchd: arm_mte_launchd.c 1298arm_mte_launchd: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1299arm_mte_launchd: OTHER_CFLAGS += -march=armv8.5a+memtag -Wno-declaration-after-statement -Wno-format-pedantic -Wno-language-extension-token 1300arm_mte_launchd: OTHER_LDFLAGS += -ldarwintest_utils 1301arm_mte_launchd: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1302 1303arm_mte_spawn_policies: arm_mte_utilities.c 1304arm_mte_spawn_policies: arm_mte_spawn_client_without_hardened_process_entitlement 1305arm_mte_spawn_policies: arm_mte_spawn_client_with_hardened_process_entitlement 1306arm_mte_spawn_policies: arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out 1307arm_mte_spawn_policies: arm_mte_driverkit_standin 1308arm_mte_spawn_policies: arm_mte_spawn_client_with_invalid_entitlement_setting 1309arm_mte_spawn_policies: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1310arm_mte_spawn_policies: OTHER_CFLAGS += $(MTE_CFLAGS) 1311 1312EXCLUDED_SOURCES += arm_mte_spawn_policies_helper.c 1313EXCLUDED_SOURCES += arm_mte_utilities.c 1314 1315CUSTOM_TARGETS += arm_mte_spawn_client_without_hardened_process_entitlement 1316arm_mte_spawn_client_without_hardened_process_entitlement: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1317arm_mte_spawn_client_without_hardened_process_entitlement: OTHER_CFLAGS += -march=armv8.5a+memtag 1318arm_mte_spawn_client_without_hardened_process_entitlement: arm_mte_spawn_policies_helper.c arm_mte_utilities.c 1319 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(MTE_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1320 $^ -o $(SYMROOT)/$@ 1321 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 1322 1323CUSTOM_TARGETS += arm_mte_spawn_client_with_hardened_process_entitlement 1324arm_mte_spawn_client_with_hardened_process_entitlement: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1325arm_mte_spawn_client_with_hardened_process_entitlement: OTHER_CFLAGS += -march=armv8.5a+memtag 1326arm_mte_spawn_client_with_hardened_process_entitlement: arm_mte_spawn_policies_helper.c arm_mte_utilities.c 1327 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(MTE_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1328 $^ -o $(SYMROOT)/$@ 1329 $(CODESIGN) -f -s- --entitlements $(SRCROOT)/entitlements/hardened-proc.entitlements $(SYMROOT)/$@ 1330 1331CUSTOM_TARGETS += arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out 1332arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1333arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out: OTHER_CFLAGS += -march=armv8.5a+memtag 1334arm_mte_spawn_client_with_top_level_hardened_proc_entitlement_and_in_amfi_opt_out: arm_mte_spawn_policies_helper.c arm_mte_utilities.c 1335 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(MTE_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1336 $^ -o $(SYMROOT)/$@ 1337 $(CODESIGN) -i com.apple.internal.arm_mte_opt_out_test -s- -f --entitlements $(SRCROOT)/entitlements/hardened-proc.entitlements $(SYMROOT)/$@ 1338 1339CUSTOM_TARGETS += arm_mte_spawn_client_with_invalid_entitlement_setting 1340arm_mte_spawn_client_with_invalid_entitlement_setting: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1341arm_mte_spawn_client_with_invalid_entitlement_setting: OTHER_CFLAGS += -march=armv8.5a+memtag 1342arm_mte_spawn_client_with_invalid_entitlement_setting: arm_mte_spawn_policies_helper.c arm_mte_utilities.c 1343 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(MTE_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1344 $^ -o $(SYMROOT)/$@ 1345 $(CODESIGN) -s- -f --entitlements $(SRCROOT)/entitlements/hardened-proc-invalid.entitlements $(SYMROOT)/$@ 1346 1347CUSTOM_TARGETS += mte_posix_spawn_tool 1348mte_posix_spawn_tool: INVALID_ARCHS = i386 1349mte_posix_spawn_tool: mte_posix_spawn_tool.c 1350 $(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 1351 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 1352 1353install-mte_posix_spawn_tool: mte_posix_spawn_tool 1354 mkdir -p $(INSTALLDIR)/tools 1355 cp $(SYMROOT)/mte_posix_spawn_tool $(INSTALLDIR)/tools/ 1356 1357install-arm_mte_spawn_client_without_hardened_process_entitlement: arm_mte_spawn_client_without_hardened_process_entitlement 1358 mkdir -p $(INSTALLDIR) 1359 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1360 1361install-arm_mte_spawn_client_with_hardened_process_entitlement: arm_mte_spawn_client_with_hardened_process_entitlement 1362 mkdir -p $(INSTALLDIR) 1363 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1364 1365install-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 1366 mkdir -p $(INSTALLDIR) 1367 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1368 1369install-arm_mte_spawn_client_with_invalid_entitlement_setting: arm_mte_spawn_client_with_invalid_entitlement_setting 1370 mkdir -p $(INSTALLDIR)/tools 1371 cp $(SYMROOT)/$< $(INSTALLDIR)/tools/ 1372 1373vm/vm_mteinfo: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1374vm/vm_mteinfo: OTHER_CFLAGS += -Wno-implicit-int-conversion -Wno-sign-conversion -Wno-sign-compare -Wno-format-pedantic 1375 1376vm/vm_mte_reclamation_withmte: arm_mte_utilities.c 1377vm/vm_mte_reclamation_withmte: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1378vm/vm_mte_reclamation_withmte: OTHER_CFLAGS += $(MTE_CFLAGS) 1379vm/vm_mte_reclamation_withmte: OTHER_LDFLAGS += -ldarwintest_utils 1380vm/vm_mte_reclamation_withmte: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1381 1382CODESIGN_MTE_SOFT:=$(CODESIGN) -i com.apple.internal.arm_mte_soft_mode_test 1383arm_mte_soft_mode: arm_mte_utilities.c 1384arm_mte_soft_mode: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1385arm_mte_soft_mode: OTHER_CFLAGS += $(MTE_CFLAGS) 1386arm_mte_soft_mode: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1387arm_mte_soft_mode: CODESIGN = $(CODESIGN_MTE_SOFT) 1388 1389arm_mte_soft_mode_traced: arm_mte_utilities.c 1390arm_mte_soft_mode_traced: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1391arm_mte_soft_mode_traced: OTHER_CFLAGS += $(MTE_CFLAGS) 1392arm_mte_soft_mode_traced: CODE_SIGN_ENTITLEMENTS = arm_mte_soft_mode_traced.entitlements 1393arm_mte_soft_mode_traced: CODESIGN = $(CODESIGN_MTE_SOFT) 1394 1395CODESIGN_MTE_PREFLIGHT:=$(CODESIGN) -i com.apple.internal.arm_mte_preflight_test 1396arm_mte_preflight: arm_mte_utilities.c 1397arm_mte_preflight: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1398arm_mte_preflight: OTHER_CFLAGS += $(MTE_CFLAGS) 1399arm_mte_preflight: CODESIGN = $(CODESIGN_MTE_PREFLIGHT) 1400 1401CODESIGN_MTE_API:=$(CODESIGN) -i com.apple.internal.arm_mte_api_test 1402arm_mte_api: arm_mte_utilities.c 1403arm_mte_api: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1404arm_mte_api: OTHER_CFLAGS += $(MTE_CFLAGS) 1405arm_mte_api: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1406arm_mte_api: CODESIGN = $(CODESIGN_MTE_API) 1407 1408CUSTOM_TARGETS += arm_mte_alias_restriction 1409arm_mte_alias_restriction: arm_mte_utilities.c 1410arm_mte_alias_restriction: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1411arm_mte_alias_restriction: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1412arm_mte_alias_restriction: OTHER_CFLAGS += $(MTE_CFLAGS) 1413arm_mte_alias_restriction: arm_mte_alias_restriction.c 1414 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(MTE_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1415 arm_mte_alias_restriction.c arm_mte_utilities.c -o $(SYMROOT)/$@ 1416 $(CODESIGN) -f -s- --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@ 1417 1418install-arm_mte_alias_restriction: arm_mte_alias_restriction 1419 mkdir -p $(INSTALLDIR) 1420 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1421 1422CUSTOM_TARGETS += arm_mte_alias_restriction_helper 1423EXCLUDED_SOURCES += arm_mte_alias_restriction_helper.c 1424CODESIGN_MTE_ALIAS_RESTRICTION:=$(CODESIGN) -i com.apple.internal.arm_mte_alias_restriction_opt_in_test 1425arm_mte_alias_restriction_helper: CODESIGN = $(CODESIGN_MTE_ALIAS_RESTRICTION) 1426arm_mte_alias_restriction_helper: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1427arm_mte_alias_restriction_helper: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1428arm_mte_alias_restriction_helper: arm_mte_alias_restriction_helper.c 1429 1430install-arm_mte_alias_restriction_helper: arm_mte_alias_restriction_helper 1431 mkdir -p $(INSTALLDIR) 1432 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1433 1434CUSTOM_TARGETS += arm_mte_driverkit_standin 1435EXCLUDED_SOURCES += arm_mte_driverkit_standin.c 1436arm_mte_driverkit_standin: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1437arm_mte_driverkit_standin: CODE_SIGN_ENTITLEMENTS = arm_mte_driverkit_standin.entitlements 1438arm_mte_driverkit_standin: arm_mte_driverkit_standin.c 1439 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 1440 $^ -o $(SYMROOT)/$@ 1441 $(CODESIGN) -f -s- --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@ 1442 1443install-arm_mte_driverkit_standin: arm_mte_driverkit_standin 1444 mkdir -p $(INSTALLDIR) 1445 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1446 1447x18_entitled: OTHER_CFLAGS += -ffixed-x18 -Wno-language-extension-token 1448x18_entitled: CODE_SIGN_ENTITLEMENTS = x18-entitlements.plist 1449x18_unentitled: OTHER_CFLAGS += -ffixed-x18 -Wno-language-extension-token 1450ifneq ($(PLATFORM),MacOSX) 1451EXCLUDED_SOURCES += x18_legacy.c 1452else 1453x18_legacy: OTHER_CFLAGS += -ffixed-x18 -Wno-language-extension-token -Wl,-platform_version -Wl,macos -Wl,10.12 -Wl,10.12 1454endif 1455 1456ifeq ($(findstring arm64,$(ARCH_CONFIGS)),) 1457EXCLUDED_SOURCES += apple_generic_timer.c apple_generic_timer_legacy.c 1458else 1459apple_generic_timer: INVALID_ARCHS = armv7k x86_64 x86_64h 1460 1461apple_generic_timer_legacy: INVALID_ARCHS = armv7k x86_64 x86_64h 1462ifeq ($(PLATFORM),MacOSX) 1463apple_generic_timer_legacy: OTHER_CFLAGS += -Wl,-platform_version,macos,14.6,14.6 1464else ifeq ($(PLATFORM),iPhoneOS) 1465apple_generic_timer_legacy: OTHER_CFLAGS += -Wl,-platform_version,ios,14.6,14.6 1466else ifeq ($(PLATFORM),tvOS) 1467apple_generic_timer_legacy: OTHER_CFLAGS += -Wl,-platform_version,tvos,14.6,14.6 1468else ifeq ($(PLATFORM),WatchOS) 1469apple_generic_timer_legacy: OTHER_CFLAGS += -Wl,-platform_version,watchos,10.6,10.6 1470else 1471EXCLUDED_SOURCES += apple_generic_timer_legacy.c 1472endif 1473 1474ifneq ($(PLATFORM),MacOSX) 1475EXCLUDED_SOURCES += apple_generic_timer_vmm.c 1476else 1477apple_generic_timer_vmm: INVALID_ARCHS = armv7k x86_64 x86_64h 1478apple_generic_timer_vmm: CODE_SIGN_ENTITLEMENTS = hv_private.entitlements 1479endif 1480 1481endif 1482 1483bingrade: bingrade_helper_arm32 bingrade_helper_arm64 bingrade_helper_arm_fat 1484bingrade: INVALID_ARCHS = x86_64 x86_64h 1485# libdarwintest.a doesn't have an arm64 slice on watchOS 1486ifeq ($(PLATFORM),WatchOS) 1487bingrade: INVALID_ARCHS += arm64 1488endif 1489 1490EXCLUDED_SOURCES += bingrade_helper.c 1491CUSTOM_TARGETS += bingrade_helper_arm32 1492bingrade_helper_arm32: CFLAGS = -arch arm64_32 -static -nostdlib 1493bingrade_helper_arm32: bingrade_helper.c 1494 $(CC) $(CFLAGS) $< -o $(SYMROOT)/$@ 1495 $(CODESIGN) -f -s- $(SYMROOT)/$@ 1496 1497install-bingrade_helper_arm32: bingrade_helper_arm32 1498 mkdir -p $(INSTALLDIR) 1499 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1500 1501CUSTOM_TARGETS += bingrade_helper_arm64 1502bingrade_helper_arm64: CFLAGS = -arch arm64 -static -nostdlib 1503bingrade_helper_arm64: bingrade_helper.c 1504 $(CC) $(CFLAGS) $< -o $(SYMROOT)/$@ 1505 $(CODESIGN) -f -s- $(SYMROOT)/$@ 1506 1507install-bingrade_helper_arm64: bingrade_helper_arm64 1508 mkdir -p $(INSTALLDIR) 1509 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1510 1511CUSTOM_TARGETS += bingrade_helper_arm_fat 1512bingrade_helper_arm_fat: CFLAGS = -arch arm64 -arch arm64_32 -arch arm64e -static -nostdlib 1513bingrade_helper_arm_fat: bingrade_helper.c 1514 $(CC) $(CFLAGS) $< -o $(SYMROOT)/$@ 1515 $(CODESIGN) -f -s- $(SYMROOT)/$@ 1516 1517install-bingrade_helper_arm_fat: bingrade_helper_arm_fat 1518 mkdir -p $(INSTALLDIR) 1519 cp $(SYMROOT)/$< $(INSTALLDIR)/ 1520 1521pmap_bench: INVALID_ARCHS = $(filter-out arm%,$(ARCH_CONFIGS)) 1522pmap_stress: INVALID_ARCHS = $(filter-out arm%,$(ARCH_CONFIGS)) 1523pmap_fault_on_commpage: INVALID_ARCHS = $(filter-out arm%,$(ARCH_CONFIGS)) 1524 1525hw_breakpoint_step_arm64: CODE_SIGN_ENTITLEMENTS = hw_breakpoint_step_arm64_entitlements.plist 1526hw_breakpoint_step_arm64: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 1527hw_breakpoint_step_arm64: excserver 1528hw_breakpoint_step_arm64: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1529 1530exc_resource_threads: excserver 1531exc_resource_threads: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1532exc_resource_threads: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1533 1534mach_service_port: notifyserver 1535mach_service_port: OTHER_CFLAGS += $(OBJROOT)/notifyServer.c -I $(OBJROOT) 1536 1537fp_exception: excserver exc_helpers.c 1538fp_exception: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1539fp_exception: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1540 1541ptrauth_failure: excserver exc_helpers.c 1542ptrauth_failure: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) -Wno-language-extension-token 1543ptrauth_failure: CODESIGN = $(CODESIGN_HARDENED_RUNTIME) 1544ptrauth_failure: CODE_SIGN_ENTITLEMENTS = entitlements/set_state_and_exception_port.entitlement 1545 1546decompression_failure: excserver exc_helpers.c try_read_write.c 1547decompression_failure: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1548decompression_failure: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1549 1550ipc/kernel_signed_pac_thread_state: excserver 1551ipc/kernel_signed_pac_thread_state: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1552ipc/kernel_signed_pac_thread_state: CODE_SIGN_ENTITLEMENTS = pac_exception_entitlement.plist 1553 1554ifeq ($(findstring arm64e,$(ARCH_CONFIGS)),) 1555EXCLUDED_SOURCES += pac_exception_entitlement.c 1556else 1557pac_exception_entitlement: excserver exc_helpers.c 1558pac_exception_entitlement: OTHER_CFLAGS += $(OBJROOT)/excserver.c -Wno-language-extension-token 1559pac_exception_entitlement: CODE_SIGN_ENTITLEMENTS = pac_exception_entitlement.plist 1560endif 1561 1562unrecoverable_trap_test: excserver exc_helpers.c 1563unrecoverable_trap_test: OTHER_CFLAGS += $(OBJROOT)/excserver.c -Wno-language-extension-token 1564unrecoverable_trap_test: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1565# libdarwintest.a doesn't have an arm64 slice on watchOS 1566ifeq ($(PLATFORM),WatchOS) 1567unrecoverable_trap_test: INVALID_ARCHS += arm64 1568endif 1569 1570ifeq ($(findstring arm64,$(ARCH_CONFIGS)),) 1571EXCLUDED_SOURCES += arm_cpu_capabilities.c 1572else 1573arm_cpu_capabilities: INVALID_ARCHS = armv7k x86_64 x86_64h 1574arm_cpu_capabilities: excserver exc_helpers.c 1575arm_cpu_capabilities: OTHER_CFLAGS += $(OBJROOT)/excserver.c -Wno-language-extension-token -mcpu=apple-a15 1576#if HAS_ARM_FEAT_SME 1577arm_cpu_capabilities: OTHER_CFLAGS += -mcpu=apple-a15+sme2 1578#endif 1579# Including PrivateHeaders from both Kernel.framework and System.framework makes 1580# a mess out of the Mach headers we need to build exception handling support. 1581# Work around this by only including the arm/ directory. 1582arm_cpu_capabilities: OTHER_CFLAGS += -isystem $(SDKROOT)/System/Library/Frameworks/Kernel.framework/PrivateHeaders/arm 1583arm_cpu_capabilities: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1584endif 1585 1586# Disabling building of ldt files as dt_extractmeta crashes 1587# in build systems. Ref rdar://110251082 1588# Leaving commented bits for future re-enablement 1589EXCLUDED_SOURCES += ldt_code32.s ldt.c 1590 1591#\ifeq ($(findstring x86_64,$(ARCH_CONFIGS)),) 1592#EXCLUDED_SOURCES += ldt_code32.s ldt.c 1593#\else # target = osx 1594#$(OBJROOT)/ldt_mach_exc_server.c: 1595# $(MIG) $(CFLAGS) \ 1596# -user /dev/null \ 1597# -server $(OBJROOT)/ldt_mach_exc_server.c \ 1598# -header $(OBJROOT)/ldt_mach_exc.h \ 1599# mach_exc.defs 1600# 1601#ldt: INVALID_ARCHS = $(ARCH_CONFIGS) 1602#ldt: $(OBJROOT)/ldt_mach_exc_server.c 1603#ldt: OTHER_CFLAGS += -arch x86_64 -I $(OBJROOT) $(SRCROOT)/ldt_code32.s -Wl,-pagezero_size,0x1000 -Wno-missing-variable-declarations 1604#ldt: CODE_SIGN_ENTITLEMENTS=ldt_entitlement.plist 1605#\endif 1606 1607ifneq ($(PLATFORM),BridgeOS) 1608EXCLUDED_SOURCES += remote_time.c 1609else 1610remote_time: INVALID_ARCHS = armv7 armv7s arm64_32 1611endif 1612 1613vm_phys_footprint: OTHER_LDFLAGS += -framework CoreFoundation -framework IOSurface 1614 1615vm_kern_count_wired_kernelcache: OTHER_CFLAGS += -I$(SDKROOT)/System/Library/Frameworks/Kernel.framework/PrivateHeaders/mach 1616 1617debug_control_port_for_pid: CODE_SIGN_ENTITLEMENTS = ./debug_control_port_for_pid_entitlement.plist 1618 1619prng: OTHER_LDFLAGS += -ldarwintest_utils 1620 1621preoslog: OTHER_LDFLAGS += -ldarwintest_utils 1622preoslog: OTHER_CFLAGS += test_utils.c 1623 1624task_policy: CODE_SIGN_ENTITLEMENTS = ./task_policy_entitlement.plist 1625 1626OTHER_TEST_TARGETS += task_policy_unentitled 1627task_policy_unentitled: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 1628task_policy_unentitled: OTHER_CFLAGS += -DUNENTITLED 1629task_policy_unentitled: task_policy.c 1630 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 1631 $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@ 1632 1633 1634EXCLUDED_SOURCES += get_shared_cache_address.c 1635 1636 1637ifneq ($(filter iPhoneOS MacOSX, $(PLATFORM)),) 1638CUSTOM_TARGETS += get_shared_cache_address 1639 1640get_shared_cache_address: INVALID_ARCHS = arm64 i386 x86_64 1641get_shared_cache_address: get_shared_cache_address.c 1642 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/get_shared_cache_address 1643 1644install-get_shared_cache_address: get_shared_cache_address 1645 $(CODESIGN) --force --sign - --timestamp=none --identifier=com.apple.get_shared_cache_address $(SYMROOT)/get_shared_cache_address 1646 mkdir -p $(INSTALLDIR) 1647 cp $(SYMROOT)/get_shared_cache_address $(INSTALLDIR)/ 1648endif 1649 1650 1651OTHER_TEST_TARGETS += vm_memory_share_tests 1652 1653vm_memory_share_tests: INVALID_ARCHS = i386 1654vm_memory_share_tests: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 1655vm_memory_share_tests: vm_memory_tests_src/main.c vm_memory_tests_src/common.c vm_memory_tests_src/vm_tests.c 1656 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1657 echo $(CODESIGN) --force --sign - --timestamp=none --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 1658 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements "$(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS)" $(SYMROOT)/$@; 1659 1660# build the mach server as individual helper which does not use libdarwintest 1661CUSTOM_TARGETS += vm_memory_share_tests_server 1662vm_memory_share_tests_server: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 1663vm_memory_share_tests_server: vm_memory_tests_src/server.c vm_memory_tests_src/common.c vm_memory_tests_src/vm_tests.c 1664 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/vm_memory_share_tests_server 1665 echo $(CODESIGN) --force --sign - --timestamp=none --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 1666 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements "$(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS)" $(SYMROOT)/$@; 1667 1668install-vm_memory_share_tests_server: vm_memory_share_tests_server 1669 mkdir -p $(INSTALLDIR) 1670 cp $(SYMROOT)/vm_memory_share_tests_server $(INSTALLDIR)/ 1671 1672ifeq ($(PLATFORM),MacOSX) 1673EXCLUDED_SOURCES += vm/kern_max_task_pmem.c 1674endif 1675 1676EXCLUDED_SOURCES += benchmark/helpers.c 1677 1678vm/fault_throughput: OTHER_CFLAGS += benchmark/helpers.c 1679vm/fault_throughput: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1680 1681.PHONY: install-vm/fault_throughput 1682install-vm/fault_throughput: vm/fault_throughput 1683 mkdir -p $(INSTALLDIR)/vm 1684 cp $(SYMROOT)/vm/fault_throughput $(INSTALLDIR)/vm/ 1685 1686$(SYMROOT)/vm/fault_throughput.lua: $(SRCROOT)/vm/fault_throughput.lua 1687 mkdir -p $(SYMROOT)/vm 1688 cp $< $@ 1689 chmod +x $@ 1690 1691.PHONY: install-fault_throughput_benchrun 1692install-$(SYMROOT)/vm/fault_throughput.lua: $(SYMROOT)/vm/fault_throughput.lua 1693 mkdir -p $(INSTALLDIR)/vm 1694 cp $(SYMROOT)/vm/fault_throughput.lua $(INSTALLDIR)/vm/ 1695 chmod +x $(INSTALLDIR)/vm/fault_throughput.lua 1696 1697EXCLUDED_SOURCES += vm/fault_throughput.plist 1698 1699CUSTOM_TARGETS += $(SYMROOT)/vm/fault_throughput.lua vm/fault_throughput 1700 1701ifeq ($(PLATFORM),MacOSX) 1702mixed_pagesize: vm/mixed_pagesize.c 1703 mkdir -p $(SYMROOT)/vm 1704 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/vm/$@ 1705 1706install-mixed_pagesize: mixed_pagesize 1707 mkdir -p $(INSTALLDIR)/vm 1708 cp $(SYMROOT)/vm/mixed_pagesize $(INSTALLDIR)/vm/ 1709 1710BATS_PLISTS += $(SRCROOT)/vm/mixed_pagesize.plist 1711 1712EXCLUDED_SOURCES += vm/mixed_pagesize.c vm/mixed_pagesize.plist 1713CUSTOM_TARGETS += mixed_pagesize 1714else 1715EXCLUDED_SOURCES += vm/mixed_pagesize.c vm/mixed_pagesize.plist 1716endif 1717 1718manual_wq_cooperative: manual_wq_cooperative.c 1719 mkdir -p $(SYMROOT) 1720 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 1721 1722install-manual_wq_cooperative: manual_wq_cooperative 1723 mkdir -p $(INSTALLDIR) 1724 cp $(SYMROOT)/manual_wq_cooperative $(INSTALLDIR) 1725 1726BATS_PLISTS += $(SRCROOT)/workqueue.plist 1727EXCLUDED_SOURCES += manual_wq_cooperative.c workqueue.plist 1728CUSTOM_TARGETS += manual_wq_cooperative 1729 1730# VM madvise(2) benchmark 1731 1732BATS_PLISTS += $(SRCROOT)/vm/perf_madvise.plist 1733 1734vm/perf_madvise: OTHER_CFLAGS += benchmark/helpers.c 1735vm/perf_madvise: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1736 1737.PHONY: install-vm/perf_madvise 1738install-vm/perf_madvise: vm/perf_madvise 1739 mkdir -p $(INSTALLDIR)/vm 1740 cp $(SYMROOT)/vm/perf_madvise $(INSTALLDIR)/vm/ 1741 1742$(SYMROOT)/vm/perf_madvise.lua: $(SRCROOT)/vm/perf_madvise.lua 1743 mkdir -p $(SYMROOT)/vm 1744 cp $< $@ 1745 chmod +x $@ 1746 1747.PHONY: install-perf_madvise_benchrun 1748install-$(SYMROOT)/vm/perf_madvise.lua: $(SYMROOT)/vm/perf_madvise.lua 1749 mkdir -p $(INSTALLDIR)/vm 1750 cp $(SYMROOT)/vm/perf_madvise.lua $(INSTALLDIR)/vm 1751 chmod +x $(INSTALLDIR)/vm/perf_madvise.lua 1752 1753CUSTOM_TARGETS += $(SYMROOT)/vm/perf_madvise.lua vm/perf_madvise 1754 1755BATS_PLISTS += $(SRCROOT)/vm/perf_compressor.plist 1756EXCLUDED_SOURCES += vm/perf_compressor.plist 1757 1758vm/perf_compressor: OTHER_CFLAGS += benchmark/helpers.c 1759vm/perf_compressor: CODE_SIGN_ENTITLEMENTS = arm_mte.entitlements 1760 1761.PHONY: install-vm/perf_compressor 1762install-vm/perf_compressor: vm/perf_compressor 1763 mkdir -p $(INSTALLDIR)/vm 1764 cp $(SYMROOT)/vm/perf_compressor $(INSTALLDIR)/vm/ 1765 1766$(SYMROOT)/vm/perf_compressor.lua: $(SRCROOT)/vm/perf_compressor.lua 1767 mkdir -p $(SYMROOT)/vm 1768 cp $< $@ 1769 chmod +x $@ 1770 1771.PHONY: install-$(SYMROOT)/vm/perf_compressor_benchrun 1772install-$(SYMROOT)/vm/perf_compressor.lua: $(SYMROOT)/vm/perf_compressor.lua 1773 mkdir -p $(INSTALLDIR)/vm 1774 cp $(SYMROOT)/vm/perf_compressor.lua $(INSTALLDIR)/vm/ 1775 chmod +x $(INSTALLDIR)/vm/perf_compressor.lua 1776 1777CUSTOM_TARGETS += $(SYMROOT)/vm/perf_compressor.lua vm/perf_compressor 1778 1779ioconnectasyncmethod_57641955: OTHER_LDFLAGS += -framework IOKit 1780 1781ifeq ($(PLATFORM),BridgeOS) 1782EXCLUDED_SOURCES += ipsec.m 1783else 1784ipsec: OTHER_LDFLAGS += -framework Foundation -framework CoreFoundation -framework NetworkExtension 1785ipsec: CODE_SIGN_ENTITLEMENTS = ipsec.entitlements 1786endif 1787 1788test_sysctl_kern_procargs_25397314: OTHER_LDFLAGS += -framework Foundation -ldarwintest_utils 1789 1790INCLUDED_TEST_SOURCE_DIRS += counter 1791 1792EXCLUDED_SOURCES += counter/common.c 1793counter/counter: OTHER_CFLAGS += counter/common.c test_utils.c 1794counter/counter: OTHER_LDFLAGS += -ldarwintest_utils -ldarwintest 1795 1796counter/benchmark: OTHER_CFLAGS += counter/common.c benchmark/helpers.c 1797 1798.PHONY: install-counter/benchmark 1799install-counter/benchmark: counter/benchmark 1800 mkdir -p $(INSTALLDIR)/counter 1801 cp $(SYMROOT)/counter/benchmark $(INSTALLDIR)/counter/ 1802 1803$(SYMROOT)/counter/benchmark.lua: $(SRCROOT)/counter/benchmark.lua 1804 mkdir -p $(SYMROOT)/counter 1805 cp $< $@ 1806 chmod +x $@ 1807 1808.PHONY: install-counter_benchrun 1809install-$(SYMROOT)/counter/benchmark.lua: $(SYMROOT)/counter/benchmark.lua 1810 mkdir -p $(INSTALLDIR)/counter 1811 cp $(SYMROOT)/counter/benchmark.lua $(INSTALLDIR)/counter/ 1812 chmod +x $(INSTALLDIR)/counter/benchmark.lua 1813 1814CUSTOM_TARGETS += $(SYMROOT)/counter/benchmark.lua counter/benchmark 1815 1816ifneq ($(PLATFORM),MacOSX) 1817EXCLUDED_SOURCES += vm/page_size_globals.c 1818else 1819vm/page_size_globals: INVALID_ARCHS = arm64 arm64e 1820endif 1821 1822# Same helper used in execperf, different build system. 1823static_binary: ../tools/tests/execperf/exit-asm.S 1824 $(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 1825 CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/static_binary 1826 1827install-static_binary: static_binary 1828 mkdir -p $(INSTALLDIR) 1829 cp $(SYMROOT)/static_binary $(INSTALLDIR) 1830 1831CUSTOM_TARGETS += static_binary 1832EXCLUDED_SOURCES += static_binary.c 1833 1834test_static_binary_csflags: static_binary 1835test_static_binary_csflags: OTHER_LDFLAGS += -ldarwintest_utils 1836 1837 1838libmalloc_apple_array: CODE_SIGN_ENTITLEMENTS = entitlements/libmalloc_apple_array.entitlements 1839libmalloc_apple_array: OTHER_CFLAGS += -DENTITLED=1 drop_priv.c test_utils.c 1840libmalloc_apple_array: OTHER_LDFLAGS += -ldarwintest_utils 1841libmalloc_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 1842 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 1843 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 1844 1845libmalloc_apple_array_unentitled: OTHER_CFLAGS += drop_priv.c test_utils.c 1846libmalloc_apple_array_unentitled: OTHER_LDFLAGS += -ldarwintest_utils 1847libmalloc_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 1848 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $(OTHER_CFLAGS) $< -o $(SYMROOT)/$@ 1849 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1850 1851CUSTOM_TARGETS += print_apple_array 1852print_apple_array: print_apple_array.c 1853 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1854 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1855 1856CUSTOM_TARGETS += print_apple_array_HR1 1857print_apple_array_HR1: CODE_SIGN_ENTITLEMENTS=entitlements/enhanced-security-binary-entitlements-1.plist 1858print_apple_array_HR1: print_apple_array.c 1859 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1860 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1861 1862CUSTOM_TARGETS += print_apple_array_HR2 1863print_apple_array_HR2: CODE_SIGN_ENTITLEMENTS=entitlements/enhanced-security-binary-entitlements-2.plist 1864print_apple_array_HR2: print_apple_array.c 1865 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1866 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1867 1868CUSTOM_TARGETS += print_apple_array_hardened_proc 1869print_apple_array_hardened_proc: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-proc.entitlements 1870print_apple_array_hardened_proc: print_apple_array.c 1871 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1872 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1873 1874CUSTOM_TARGETS += print_apple_array_hardened_proc_security 1875print_apple_array_hardened_proc_security: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-proc-security.entitlements 1876print_apple_array_hardened_proc_security: print_apple_array.c 1877 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1878 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1879 1880 1881CUSTOM_TARGETS += print_apple_array_hardened_heap 1882print_apple_array_hardened_heap: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-heap.entitlements 1883print_apple_array_hardened_heap: print_apple_array.c 1884 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1885 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1886 1887CUSTOM_TARGETS += print_apple_array_hardened_heap_security 1888print_apple_array_hardened_heap_security: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-heap-security.entitlements 1889print_apple_array_hardened_heap_security: print_apple_array.c 1890 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1891 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1892 1893install-print_apple_array: print_apple_array 1894 mkdir -p $(INSTALLDIR)/tools 1895 cp $(SYMROOT)/print_apple_array $(INSTALLDIR)/tools/ 1896 1897install-print_apple_array_HR1: print_apple_array_HR1 1898 mkdir -p $(INSTALLDIR)/tools 1899 cp $(SYMROOT)/print_apple_array_HR1 $(INSTALLDIR)/tools/ 1900 1901install-print_apple_array_HR2: print_apple_array_HR2 1902 mkdir -p $(INSTALLDIR)/tools 1903 cp $(SYMROOT)/print_apple_array_HR2 $(INSTALLDIR)/tools/ 1904 1905install-print_apple_array_hardened_proc: print_apple_array_hardened_proc 1906 mkdir -p $(INSTALLDIR)/tools 1907 cp $(SYMROOT)/print_apple_array_hardened_proc $(INSTALLDIR)/tools/ 1908 1909install-print_apple_array_hardened_proc_security: print_apple_array_hardened_proc_security 1910 mkdir -p $(INSTALLDIR)/tools 1911 cp $(SYMROOT)/print_apple_array_hardened_proc_security $(INSTALLDIR)/tools/ 1912 1913install-print_apple_array_hardened_heap: print_apple_array_hardened_heap 1914 mkdir -p $(INSTALLDIR)/tools 1915 cp $(SYMROOT)/print_apple_array_hardened_heap $(INSTALLDIR)/tools/ 1916 1917 1918install-print_apple_array_hardened_heap_security: print_apple_array_hardened_heap_security 1919 mkdir -p $(INSTALLDIR)/tools 1920 cp $(SYMROOT)/print_apple_array_hardened_heap_security $(INSTALLDIR)/tools/ 1921 1922persona: CODE_SIGN_ENTITLEMENTS = persona.entitlements 1923persona_adoption: CODE_SIGN_ENTITLEMENTS = persona_adoption.entitlements 1924 1925OTHER_TEST_TARGETS += libmalloc_apple_array libmalloc_apple_array_unentitled 1926 1927entropy: OTHER_CFLAGS += -framework perfdata 1928 1929debug_enable_syscall_rejection: OTHER_LDFLAGS += -ldarwintest_utils 1930 1931thread_set_state_arm64_cpsr: CODE_SIGN_ENTITLEMENTS = entitlements/thread_set_state.entitlement 1932 1933vm/app_swap: OTHER_LDFLAGS += -ldarwintest_utils 1934 1935CUSTOM_TARGETS += debug_syscall_rejection_helper 1936debug_syscall_rejection_helper: debug_syscall_rejection_helper.c 1937 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@; \ 1938 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 1939 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1940 1941 1942install-debug_syscall_rejection_helper: debug_syscall_rejection_helper 1943 mkdir -p $(INSTALLDIR) 1944 cp $(SYMROOT)/debug_syscall_rejection_helper $(INSTALLDIR)/ 1945 1946file_leases: OTHER_CFLAGS += test_utils.c 1947file_leases: OTHER_LDFLAGS += -ldarwintest_utils 1948file_leases: CODE_SIGN_ENTITLEMENTS = file_leases.entitlements 1949 1950iopolicy: OTHER_LDFLAGS += -ldarwintest_utils 1951iopolicy: CODE_SIGN_ENTITLEMENTS = iopolicy.entitlements 1952 1953INCLUDED_TEST_SOURCE_DIRS += vfs 1954vfs/freeable_vnodes: OTHER_LDFLAGS += -ldarwintest_utils 1955vfs/statfs_ext: OTHER_LDFLAGS += -lsandbox 1956vfs/sandbox_fstat: OTHER_LDFLAGS += -lsandbox 1957vfs/named_fork_path: OTHER_LDFLAGS += -lsandbox 1958vfs/sandbox_type_error: OTHER_LDFLAGS += -lsandbox 1959vfs/sandbox_appledouble_write: OTHER_LDFLAGS += -lsandbox 1960 1961# tests/vm/configurator_*.c use the VM configurator 1962 1963VM_CONFIGURATOR_SRCS = $(wildcard vm/configurator_*.c) 1964VM_CONFIGURATOR_TARGETS = $(VM_CONFIGURATOR_SRCS:%.c=%) 1965 1966$(VM_CONFIGURATOR_TARGETS): vm/configurator/vm_configurator.c 1967$(VM_CONFIGURATOR_TARGETS): vm/configurator/vm_configurator.h vm/configurator/vm_configurator_tests.h 1968$(VM_CONFIGURATOR_TARGETS): OTHER_CFLAGS += -Wall -Wextra -g 1969 1970# exception handling helpers 1971$(VM_CONFIGURATOR_TARGETS): exc_guard_helper.c try_read_write.c exc_helpers.c test_utils.c excserver 1972$(VM_CONFIGURATOR_TARGETS): OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1973$(VM_CONFIGURATOR_TARGETS): OTHER_LDFLAGS += -ldarwintest_utils 1974$(VM_CONFIGURATOR_TARGETS): CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 1975 1976# Convenience target to build all tests that use vm_configurator.c 1977.PHONY: all-vm-configurator-tests 1978all-vm-configurator-tests: $(VM_CONFIGURATOR_TARGETS) 1979 1980# Convenience target to list all test executables that use vm_configurator.c 1981.PHONY: list-all-vm-configurator-executables 1982list-all-vm-configurator-executables: 1983 @ echo $(addprefix $(SYMROOT)/,$(VM_CONFIGURATOR_TARGETS)) 1984 1985vm/corpse_footprint: OTHER_LDFLAGS += -ldarwintest_utils 1986 1987EXCLUDED_SOURCES += constrained_ctypes_tests.c 1988CUSTOM_TARGETS += constrained_ctypes_tests_enabled constrained_ctypes_tests_enacted constrained_ctypes_tests_disabled 1989constrained_ctypes_tests_enabled: OTHER_CFLAGS += -D__CCT_TEST_ENABLED 1990constrained_ctypes_tests_enabled: OTHER_LDFLAGS += -ldarwintest_utils 1991constrained_ctypes_tests_enabled: constrained_ctypes_tests.c 1992 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_enabled 1993 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_enabled; 1994 1995install-constrained_ctypes_tests_enabled: constrained_ctypes_tests_enabled 1996 mkdir -p $(INSTALLDIR) 1997 cp $(SYMROOT)/constrained_ctypes_tests_enabled $(INSTALLDIR)/ 1998 1999constrained_ctypes_tests_enacted: OTHER_CFLAGS += -D__CCT_TEST_ENABLED 2000constrained_ctypes_tests_enacted: OTHER_CFLAGS += -D__CCT_TEST_ENACTED 2001constrained_ctypes_tests_enacted: OTHER_CFLAGS += -fbounds-safety 2002constrained_ctypes_tests_enacted: OTHER_LDFLAGS += -ldarwintest_utils 2003constrained_ctypes_tests_enacted: constrained_ctypes_tests.c 2004 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_enacted 2005 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_enacted; 2006 2007install-constrained_ctypes_tests_enacted: constrained_ctypes_tests_enacted 2008 mkdir -p $(INSTALLDIR) 2009 cp $(SYMROOT)/constrained_ctypes_tests_enacted $(INSTALLDIR)/ 2010 2011 2012constrained_ctypes_tests_disabled: OTHER_LDFLAGS += -ldarwintest_utils 2013constrained_ctypes_tests_disabled: constrained_ctypes_tests.c 2014 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_disabled 2015 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_disabled; 2016 2017install-constrained_ctypes_tests_disabled: constrained_ctypes_tests_disabled 2018 mkdir -p $(INSTALLDIR) 2019 cp $(SYMROOT)/constrained_ctypes_tests_disabled $(INSTALLDIR)/ 2020 2021task_suspend_stats: OTHER_LDFLAGS += -ldarwintest_utils 2022task_suspend_stats: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 2023 2024exec_set_proc_name: OTHER_LDFLAGS += -ldarwintest_utils 2025 2026 2027include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.targets 2028 2029exception_ports_info: CODE_SIGN_ENTITLEMENTS = entitlements/set_exception_port.entitlement 2030 2031vfs/longpaths: vfs/longpaths.c 2032vfs/longpaths: OTHER_LDFLAGS += -ldarwintest_utils 2033vfs/longpaths: CODE_SIGN_ENTITLEMENTS = vfs/longpaths.entitlements 2034 2035vfs/devfs_fdesc: vfs/devfs_fdesc.c 2036vfs/devfs_fdesc: CODE_SIGN_ENTITLEMENTS = vfs/devfs_fdesc.entitlements 2037 2038vfs/openbyid_stress: vfs/openbyid_stress.c 2039vfs/openbyid_stress: CODE_SIGN_ENTITLEMENTS = vfs/openbyid_stress.entitlements 2040 2041OTHER_TEST_TARGETS += trial_experiment_factors_entitled 2042trial_experiment_factors_entitled: OTHER_CFLAGS += -DENTITLED=1 2043trial_experiment_factors_entitled: CODE_SIGN_ENTITLEMENTS=kern-trial.entitlements 2044trial_experiment_factors_entitled: trial_experiment_factors.c 2045 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 2046 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 2047 2048memorystatus_experiment_factors: CODESIGN_ENTITLEMENTS=./memorystatus/memorystatus_experiment_factors.entitlements 2049memorystatus_experiment_factors: memorystatus/memorystatus_experiment_factors.c 2050 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 2051 $(ENV) CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODESIGN_ENTITLEMENTS) $(SYMROOT)/$@; 2052 2053ifeq ($(PLATFORM),MacOSX) 2054CUSTOM_TARGETS += nox86exec_helper 2055 2056nox86exec_helper: INVALID_ARCHS = arm64e arm64 2057nox86exec_helper: nox86exec_helper.c 2058 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 2059 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 2060 2061install-posix_spawn_alt_rosetta_helper: nox86exec_helper 2062 mkdir -p $(INSTALLDIR) 2063 cp $(SYMROOT)/nox86exec_helper $(INSTALLDIR)/ 2064endif 2065 2066vm/memorystatus_rearm: excserver 2067vm/memorystatus_rearm: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 2068vm/memorystatus_rearm: CODE_SIGN_ENTITLEMENTS = vm/memorystatus_rearm.entitlements 2069 2070ksancov: OTHER_LDFLAGS += -framework IOKit 2071ksancov: CODE_SIGN_ENTITLEMENTS = ksancov.entitlements 2072