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