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