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