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 22# the xnu build system will only ever call us with the default target 23.DEFAULT_GOAL := install 24 25include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.common 26 27OTHER_CFLAGS = -Weverything -Wno-gnu-union-cast -Wno-missing-field-initializers -Wno-partial-availability 28OTHER_CFLAGS += -Wno-missing-noreturn -Wno-vla -Wno-reserved-id-macro -Wno-documentation-unknown-command 29OTHER_CFLAGS += -Wno-padded -Wno-used-but-marked-unused -Wno-covered-switch-default -Wno-nullability-extension 30OTHER_CFLAGS += -Wno-gnu-empty-initializer -Wno-unused-macros -Wno-undef -Wno-fixed-enum-extension 31OTHER_CFLAGS += -Wno-gnu-auto-type -Wno-switch-enum -Wno-variadic-macros 32OTHER_CFLAGS += --std=gnu11 -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders 33OTHER_CFLAGS += -UT_NAMESPACE_PREFIX -DT_NAMESPACE_PREFIX=xnu -DT_LEAKS_DISABLE=1 34OTHER_CFLAGS += -F $(SDKROOT)/System/Library/PrivateFrameworks 35 36 37CODESIGN:=$(shell xcrun -sdk "$(TARGETSDK)" -find codesign) 38CODESIGN_HARDENED_RUNTIME:=$(CODESIGN) -o runtime 39CODESIGN_ALLOCATE:=$(shell xcrun -sdk "$(TARGETSDK)" -find codesign_allocate) 40 41ifeq ($(PLATFORM),iPhoneOS) 42 IOS_TEST_COMPAT = YES 43else 44 IOS_TEST_COMPAT = NO 45endif 46 47# Subsystems 48 49include ktrace/Makefile 50 51INCLUDED_TEST_SOURCE_DIRS += recount 52include recount/Makefile 53INCLUDED_TEST_SOURCE_DIRS += cpu_counters 54include cpu_counters/Makefile 55 56# Miscellaneous Tests 57 58atm_diagnostic_flag: OTHER_CFLAGS += drop_priv.c 59 60atm_diagnostic_flag_entitled: CODE_SIGN_ENTITLEMENTS = atm_diagnostic_flag.entitlements 61atm_diagnostic_flag_entitled: OTHER_CFLAGS += drop_priv.c 62 63avx: INVALID_ARCHS = $(filter arm%,$(ARCH_CONFIGS)) 64avx: OTHER_CFLAGS += -mavx512f -mavx512bw -mavx512vl 65avx: OTHER_CFLAGS += -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders 66avx: CONFIG_FLAGS := $(filter-out -O%,$(CONFIG_FLAGS)) 67# Add -mno-implicit-float to prevent the compiler from touching SIMD regs 68# unexpectedly 69avx: CONFIG_FLAGS += -mno-implicit-float 70# Disable vzeroupper insertion to work around rdar://problem/35035096 71avx: CONFIG_FLAGS += -mllvm -x86-use-vzeroupper=0 72ifneq (osx,$(TARGET_NAME)) 73EXCLUDED_SOURCES += avx.c 74endif 75 76CUSTOM_TARGETS = sr_entitlement_helper 77 78sr_entitlement_helper: sr_entitlement_helper.c 79 mkdir -p $(SYMROOT) 80 $(CC) -I $(OBJROOT) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) sr_entitlement_helper.c -o $(SYMROOT)/$@ 81 echo $(CODESIGN) --force --sign - --timestamp=none --entitlements sr_entitlement.entitlements $(SYMROOT)/$@; \ 82 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements sr_entitlement.entitlements $(SYMROOT)/$@; 83 84install-sr_entitlement_helper: sr_entitlement_helper 85 mkdir -p $(INSTALLDIR) 86 cp $(SYMROOT)/sr_entitlement_helper $(INSTALLDIR) 87 88sr_entitlement: OTHER_LDFLAGS += -ldarwintest_utils 89 90restrict_jit: CODE_SIGN_ENTITLEMENTS = restrict_jit.entitlements 91 92backtracing_tests: OTHER_LDFLAGS += -framework CoreSymbolication 93backtracing_tests: CODE_SIGN_ENTITLEMENTS = kernel_symbolication_entitlements.plist 94 95CUSTOM_TARGETS += corpse_backtrace2 96 97corpse_backtrace2: 98 $(MIG) $(CFLAGS) \ 99 -DMACH_EXC_SERVER_TASKIDTOKEN \ 100 -DMACH_EXC_SERVER_BACKTRACE \ 101 -sheader $(OBJROOT)/excserver_backtrace.h \ 102 -server $(OBJROOT)/excserver_backtrace.c \ 103 -header /dev/null -user /dev/null \ 104 excserver_backtrace.defs 105 106install-corpse_backtrace2: ; 107 108corpse_backtrace: corpse_backtrace2 exc_helpers.c 109corpse_backtrace: OTHER_CFLAGS += $(OBJROOT)/excserver_backtrace.c 110corpse_backtrace: OTHER_CFLAGS += -I $(OBJROOT) 111corpse_backtrace: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 112 113CUSTOM_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 114 115exception_tests: excserver_protect exc_helpers.c 116exception_tests: CODE_SIGN_ENTITLEMENTS = exception_tests.entitlements 117exception_tests: OTHER_CFLAGS += $(OBJROOT)/excserver_protect.c 118exception_tests: OTHER_CFLAGS += -I $(OBJROOT) 119exception_tests: OTHER_CFLAGS += -DENTITLED=1 120 121immovable_send: excserver 122immovable_send: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 123immovable_send: OTHER_LDFLAGS += -ldarwintest_utils -lpthread -framework IOKit 124immovable_send: immovable_send_client 125immovable_send: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 126 127locks: OTHER_LDFLAGS += -ldarwintest_utils 128 129immovable_send_client: immovable_send_client.c 130 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) immovable_send_client.c -o $(SYMROOT)/immovable_send_client 131 132install-immovable_send_client: immovable_send_client 133 mkdir -p $(INSTALLDIR) 134 cp $(SYMROOT)/immovable_send_client $(INSTALLDIR)/ 135 136 137posix_spawnattr_set_crash_behavior_np: posix_spawnattr_set_crash_behavior_np_child 138posix_spawnattr_set_crash_behavior_np: CODE_SIGN_ENTITLEMENTS = posix_spawnattr_set_crash_behavior_np_entitlements.plist 139 140posix_spawnattr_set_crash_behavior_np_child: posix_spawnattr_set_crash_behavior_np_child.c 141 $(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 142 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 143 144install-posix_spawnattr_set_crash_behavior_np_child: posix_spawnattr_set_crash_behavior_np_child 145 mkdir -p $(INSTALLDIR) 146 cp $(SYMROOT)/posix_spawnattr_set_crash_behavior_np_child $(INSTALLDIR)/ 147 148posix_spawnattr_set_launch_type_np: posix_spawnattr_set_launch_type_test 149posix_spawnattr_set_launch_type_np: OTHER_CFLAGS += -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders 150 151posix_spawn_launch_type: CODE_SIGN_ENTITLEMENTS = posix_spawn_launch_type-entitlements.plist 152 153port_exhaustion: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 154port_exhaustion: port_exhaustion_client 155 156port_exhaustion_client: port_exhaustion_client.c 157 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) port_exhaustion_client.c -o $(SYMROOT)/port_exhaustion_client 158 159install-port_exhaustion_client: port_exhaustion_client 160 mkdir -p $(INSTALLDIR) 161 cp $(SYMROOT)/port_exhaustion_client $(INSTALLDIR)/ 162 163port_table_limits: rnserver 164port_table_limits: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 165port_table_limits: OTHER_CFLAGS += $(OBJROOT)/rnServer.c -I $(OBJROOT) 166port_table_limits: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 167port_table_limits: port_table_limits_client 168 169port_table_limits_client: port_table_limits_client.c 170 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) port_table_limits_client.c -o $(SYMROOT)/port_table_limits_client 171 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 172 173install-port_table_limits_client: port_table_limits_client 174 mkdir -p $(INSTALLDIR) 175 cp $(SYMROOT)/port_table_limits_client $(INSTALLDIR)/ 176 177CUSTOM_TARGETS += kqwl_rnserver 178 179kqwl_rnserver: 180 $(MIG) $(CFLAGS) \ 181 -DKQWORKLOOPS_VIOLATION_SUPPORTED \ 182 -user /dev/null \ 183 -header $(OBJROOT)/kqwl_rn.h \ 184 -sheader $(OBJROOT)/kqwl_rnServer.h \ 185 -server $(OBJROOT)/kqwl_rnServer.c \ 186 rnserver.defs 187install-kqwl_rnserver: ; 188 189kqworkloop_limits: kqwl_rnserver 190kqworkloop_limits: OTHER_CFLAGS += $(OBJROOT)/kqwl_rnServer.c -I $(OBJROOT) 191kqworkloop_limits: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 192kqworkloop_limits: kqworkloop_limits_client 193 194kqworkloop_limits_client: kqworkloop_limits_client.c 195 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) kqworkloop_limits_client.c -o $(SYMROOT)/kqworkloop_limits_client 196 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 197 198install-kqworkloop_limits_client: kqworkloop_limits_client 199 mkdir -p $(INSTALLDIR) 200 cp $(SYMROOT)/kqworkloop_limits_client $(INSTALLDIR)/ 201 202ipc/task_name_for_pid: CODE_SIGN_ENTITLEMENTS = ipc/task_name_for_pid_entitlement.plist 203 204fd_table_limits: rnserver 205fd_table_limits: OTHER_CFLAGS += $(OBJROOT)/rnServer.c -I $(OBJROOT) 206fd_table_limits: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 207fd_table_limits: fd_table_limits_client 208 209fd_table_limits_client: fd_table_limits_client.c 210 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) fd_table_limits_client.c -o $(SYMROOT)/fd_table_limits_client 211 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 212 213install-fd_table_limits_client: fd_table_limits_client 214 mkdir -p $(INSTALLDIR) 215 cp $(SYMROOT)/fd_table_limits_client $(INSTALLDIR)/ 216 217vm_spawn_tool: INVALID_ARCHS = i386 218vm_spawn_tool: vm_spawn_tool.c 219 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) vm_spawn_tool.c -o $(SYMROOT)/vm_spawn_tool 220 221install-vm_spawn_tool: vm_spawn_tool 222 mkdir -p $(INSTALLDIR)/tools 223 cp $(SYMROOT)/vm_spawn_tool $(INSTALLDIR)/tools/ 224 225CUSTOM_TARGETS += imm_pinned_control_port_crasher 226CUSTOM_TARGETS += imm_pinned_control_port_crasher_3P_hardened 227 228imm_pinned_control_port: excserver_protect 229imm_pinned_control_port: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 230imm_pinned_control_port: OTHER_CFLAGS += $(OBJROOT)/excserver_protect.c -I $(OBJROOT) 231imm_pinned_control_port: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 232imm_pinned_control_port: imm_pinned_control_port_crasher imm_pinned_control_port_crasher_3P_hardened 233 234imm_pinned_control_port_crasher: imm_pinned_control_port_crasher.c cs_helpers.c 235 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 236 $^ -o $(SYMROOT)/$@ 237 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 238 239imm_pinned_control_port_crasher_3P_hardened: CODE_SIGN_ENTITLEMENTS = entitlements/hardened-binary-entitlements-1.plist 240imm_pinned_control_port_crasher_3P_hardened: imm_pinned_control_port_crasher.c cs_helpers.c 241 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 242 $^ -o $(SYMROOT)/$@ 243 $(CODESIGN) --force --sign - --entitlements $(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@ 244 245install-imm_pinned_control_port_crasher: imm_pinned_control_port_crasher 246 mkdir -p $(INSTALLDIR) 247 cp $(SYMROOT)/$^ $(INSTALLDIR)/ 248 249install-imm_pinned_control_port_crasher_3P_hardened: imm_pinned_control_port_crasher_3P_hardened 250 mkdir -p $(INSTALLDIR) 251 cp $(SYMROOT)/$^ $(INSTALLDIR)/ 252 253CUSTOM_TARGETS += reply_port_defense_client 254CUSTOM_TARGETS += reply_port_defense_client_3P_hardened 255 256reply_port_defense: excserver_protect 257reply_port_defense: OTHER_CFLAGS += $(OBJROOT)/excserver_protect.c -I $(OBJROOT) 258reply_port_defense: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 259reply_port_defense: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 260reply_port_defense: reply_port_defense_client reply_port_defense_client_3P_hardened 261 262reply_port_defense_client: reply_port_defense_client.c cs_helpers.c 263 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 264 $^ -o $(SYMROOT)/$@ 265 $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@ 266 267reply_port_defense_client_3P_hardened: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-binary-entitlements-1.plist 268reply_port_defense_client_3P_hardened: reply_port_defense_client.c cs_helpers.c 269 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders \ 270 $^ -o $(SYMROOT)/$@ 271 $(CODESIGN) --force --sign - --entitlements $(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@ 272 273install-reply_port_defense_client: reply_port_defense_client 274 mkdir -p $(INSTALLDIR) 275 cp $(SYMROOT)/$< $(INSTALLDIR)/ 276 277install-reply_port_defense_client_3P_hardened: reply_port_defense_client_3P_hardened 278 mkdir -p $(INSTALLDIR) 279 cp $(SYMROOT)/$< $(INSTALLDIR)/ 280 281kas_info: OTHER_LDFLAGS += -framework CoreSymbolication 282kas_info: CODE_SIGN_ENTITLEMENTS = kernel_symbolication_entitlements.plist 283 284host_statistics_rate_limiting: cs_helpers.c host_statistics_rate_limiting.c 285 286EXCLUDED_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 287 288ifneq ($(IOS_TEST_COMPAT),YES) 289EXCLUDED_SOURCES += jumbo_va_spaces_28530648.c perf_compressor.c vm/entitlement_increased_memory_limit.c vm/ios13extended_footprint.c vm/entitlement_internal_bands.c 290endif 291 292perf_compressor: OTHER_LDFLAGS += -ldarwintest_utils 293perf_compressor: CODE_SIGN_ENTITLEMENTS=./private_entitlement.plist 294 295 296vm/memorystatus_freeze_test: CODE_SIGN_ENTITLEMENTS=./task_for_pid_entitlement.plist 297vm/memorystatus_freeze_test: OTHER_LDFLAGS += -ldarwintest_utils 298vm/memorystatus_freeze_test: memorystatus_assertion_helpers.c test_utils.c vm/memorystatus_freeze_test.c 299 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 300 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 301 302vm/memorystatus_freeze_test_entitled: CODE_SIGN_ENTITLEMENTS=./vm/memorystatus_freeze_test_entitled.plist 303vm/memorystatus_freeze_test_entitled: OTHER_LDFLAGS += -ldarwintest_utils 304vm/memorystatus_freeze_test_entitled: test_utils.c vm/memorystatus_freeze_test_entitled.c 305 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 306 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 307 308memorystatus_is_assertion: OTHER_LDFLAGS += -ldarwintest_utils 309memorystatus_is_assertion: OTHER_CFLAGS += memorystatus_assertion_helpers.c 310 311memorystatus_vm_map_fork: OTHER_CFLAGS += test_utils.c 312memorystatus_vm_map_fork: OTHER_LDFLAGS += -ldarwintest_utils 313 314shared_cache_tests: OTHER_LDFLAGS += -ldarwintest_utils 315 316stackshot_tests: ./stackshot-entitlements.plist stackshot_tests.m 317stackshot_tests: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 318stackshot_tests: OTHER_CFLAGS += -Wno-objc-messaging-id 319stackshot_tests: OTHER_LDFLAGS += -lkdd -lz -ldarwintest_utils -framework Foundation -framework IOKit 320 321stackshot_accuracy: ./stackshot-entitlements.plist 322stackshot_accuracy: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 323stackshot_accuracy: OTHER_CFLAGS += -ldarwintest_utils -Wno-objc-messaging-id 324stackshot_accuracy: OTHER_LDFLAGS += -lkdd -ldarwintest_utils -framework Foundation 325stackshot_accuracy: INVALID_ARCHS = i386 326 327stackshot_spawn_exit_stress: ./stackshot-entitlements.plist 328stackshot_spawn_exit_stress: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 329 330ifeq ($(PLATFORM),MacOSX) 331CUSTOM_TARGETS += stackshot_translated_child 332 333stackshot_translated_child: INVALID_ARCHS = arm64 arm64e 334stackshot_translated_child: stackshot_translated_child.c 335 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) stackshot_translated_child.c -o $(SYMROOT)/stackshot_translated_child 336 337install-stackshot_translated_child: stackshot_translated_child 338 mkdir -p $(INSTALLDIR) 339 cp $(SYMROOT)/stackshot_translated_child $(INSTALLDIR)/ 340else 341EXCLUDED_SOURCES += stackshot_translated_child.c 342endif 343 344microstackshot_tests: ./stackshot-entitlements.plist 345microstackshot_tests: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 346microstackshot_tests: OTHER_LDFLAGS = -ldarwintest_utils -framework ktrace -framework kperf -framework CoreFoundation 347 348memorystatus_zone_test: ./stackshot-entitlements.plist 349memorystatus_zone_test: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 350memorystatus_zone_test: OTHER_CFLAGS += -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders 351memorystatus_zone_test: OTHER_LDFLAGS += -framework ktrace 352memorystatus_zone_test: OTHER_LDFLAGS += -ldarwintest_utils 353 354memcmp_zero: OTHER_CFLAGS += ../osfmk/arm64/memcmp_zero.s 355 356text_corruption: OTHER_LDFLAGS += -ldarwintest_utils 357CUSTOM_TARGETS += text_corruption_helper 358 359text_corruption_helper: 360 $(CC) $(LDFLAGS) $(CFLAGS) text_corruption_helper.c -lm -o $(SYMROOT)/$@; 361 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 362 363install-text_corruption_helper: text_corruption_helper 364 mkdir -p $(INSTALLDIR) 365 cp $(SYMROOT)/text_corruption_helper $(INSTALLDIR)/ 366 367codesigntests: CODE_SIGN_ENTITLEMENTS=codesigntests-entitlements.plist 368codesigntests: OTHER_CFLAGS += -DTESTNAME=codesigntests 369# Adding a custom target and build/install rules since CODE_SIGN_ENTITLEMENTS 370# does not take in arguments, and we need to sign this test using a sha256T 371# digest 372 373OTHER_TEST_TARGETS += codesigntests_sha256t 374codesigntests_sha256t: OTHER_CFLAGS += -DTESTNAME=codesigntests_sha256t 375 376codesigntests_sha256t: codesigntests.c 377 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(DT_LDFLAGS) $(LDFLAGS) $(CFLAGS) codesigntests.c -o $(SYMROOT)/$@; 378 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --digest=sha256T -s - --entitlements codesigntests-entitlements.plist $(SYMROOT)/$@; 379install-codesigntests_sha256t: codesigntests_sha256t 380 mkdir -p $(INSTALLDIR) 381 cp $(SYMROOT)/codesigntests_sha256t $(INSTALLDIR)/ 382 383 384ecc_test: OTHER_LDFLAGS += -ldarwintest_utils 385CUSTOM_TARGETS += ecc_test_helper 386 387ecc_test_helper: 388 $(CC) $(LDFLAGS) $(CFLAGS) ecc_test_helper.c -lm -o $(SYMROOT)/$@; 389 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 390 391install-ecc_test_helper: ecc_test_helper 392 mkdir -p $(INSTALLDIR) 393 cp $(SYMROOT)/ecc_test_helper $(INSTALLDIR)/ 394 395vm/test_vm_no_pager: excserver 396vm/test_vm_no_pager: OTHER_LDFLAGS += -ldarwintest_utils -lpthread -lkdd -framework Foundation 397vm/test_vm_no_pager: OTHER_CFLAGS += -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders $(OBJROOT)/excserver.c -I$(OBJROOT) 398vm,/test_vm_no_pager: vm/test_vm_no_pager_helper 399vm/test_vm_no_pager: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 400CUSTOM_TARGETS += vm/test_vm_no_pager_helper 401 402vm/test_vm_no_pager_helper: vm/test_vm_no_pager_helper.c 403 $(CC) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -lm -o $(SYMROOT)/$@; 404 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 405 406install-vm/test_vm_no_pager_helper: vm/test_vm_no_pager_helper 407 mkdir -p $(INSTALLDIR)/vm 408 cp $(SYMROOT)/vm/test_vm_no_pager_helper $(INSTALLDIR)/vm/ 409 410 411kevent_qos: OTHER_CFLAGS += -Wno-unused-macros 412kevent_qos: OTHER_CFLAGS += -I $(OBJROOT)/ 413 414test_knote_use_after_free: OTHER_CFLAGS += -Wno-unused-macros 415test_knote_use_after_free: OTHER_LDFLAGS += -ldarwintest_utils -lpthread 416 417mach_get_times: OTHER_LDFLAGS += -ldarwintest_utils 418 419monotonic_core: ./stackshot-entitlements.plist 420monotonic_core: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 421monotonic_core: OTHER_LDFLAGS += -framework ktrace 422 423perf_exit: perf_exit_proc 424perf_exit: ./stackshot-entitlements.plist 425perf_exit: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 426perf_exit: OTHER_LDFLAGS = -framework ktrace -ldarwintest_utils 427perf_exit: CODE_SIGN_ENTITLEMENTS=./private_entitlement.plist 428 429ipc/mach_exc_port_substitute: excserver 430ipc/mach_exc_port_substitute: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 431ipc/mach_exc_port_substitute: CODE_SIGN_ENTITLEMENTS = ipc/mach_exc_port_substitute.plist 432 433CUSTOM_TARGETS += prioritize_process_launch_helper 434prioritize_process_launch: prioritize_process_launch_helper 435 436prioritize_process_launch_helper: prioritize_process_launch_helper.c 437 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) prioritize_process_launch_helper.c -o $(SYMROOT)/prioritize_process_launch_helper 438 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 439 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 440 441install-prioritize_process_launch_helper: prioritize_process_launch_helper 442 mkdir -p $(INSTALLDIR) 443 cp $(SYMROOT)/prioritize_process_launch_helper $(INSTALLDIR)/ 444 445 446perf_spawn_fork: CODE_SIGN_ENTITLEMENTS=./private_entitlement.plist 447 448mach_exception_reply: OTHER_CFLAGS += -Wno-cast-align 449mach_exception_reply: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 450 451os_thread_self_restrict: os_thread_self_restrict.c os_thread_self_restrict-entitlements.plist 452os_thread_self_restrict: CODE_SIGN_ENTITLEMENTS=os_thread_self_restrict-entitlements.plist 453os_thread_self_restrict: OTHER_LDFLAGS += -sectcreate __TEXT __info_plist os_thread_self_restrict-identifier.plist 454 455# Temporarily disabled. See rdar://121952316 456EXCLUDED_SOURCES += os_thread_self_restrict.c 457 458subsystem_root_path: subsystem_root_path.c subsystem_root_path-entitlements.plist 459subsystem_root_path: CODE_SIGN_ENTITLEMENTS=subsystem_root_path-entitlements.plist 460 461EXCLUDED_SOURCES += $(wildcard bounded_ptr_src/*.cpp) 462bounded_ptr: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 463bounded_ptr: $(wildcard bounded_ptr_src/*.cpp) bounded_ptr.cpp 464 465EXCLUDED_SOURCES += bounded_ptr_03.cpp 466bounded_ptr_03: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++03 $(DT_LDFLAGS) 467bounded_ptr_03: bounded_ptr_03.cpp 468 469EXCLUDED_SOURCES += $(wildcard bounded_array_src/*.cpp) 470bounded_array: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 471bounded_array: $(wildcard bounded_array_src/*.cpp) bounded_array.cpp 472 473EXCLUDED_SOURCES += $(wildcard bounded_array_ref_src/*.cpp) 474bounded_array_ref: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 475bounded_array_ref: $(wildcard bounded_array_ref_src/*.cpp) bounded_array_ref.cpp 476 477EXCLUDED_SOURCES += $(wildcard intrusive_shared_ptr_src/*.cpp) 478intrusive_shared_ptr: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 479intrusive_shared_ptr: $(wildcard intrusive_shared_ptr_src/*.cpp) intrusive_shared_ptr.cpp 480 481EXCLUDED_SOURCES += $(wildcard safe_allocation_src/*.cpp) 482safe_allocation: OTHER_CXXFLAGS += -Werror=implicit-int-conversion -Werror=shorten-64-to-32 -I$(SRCROOT)/../libkern -std=c++17 483safe_allocation: $(wildcard safe_allocation_src/*.cpp) safe_allocation.cpp 484 485EXCLUDED_SOURCES += osptr_compat.cpp 486osptr_98: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++98 -DOSPTR_STD="98" 487osptr_98: osptr_compat.cpp 488 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 489osptr_11: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++11 -DOSPTR_STD="11" 490osptr_11: osptr_compat.cpp 491 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 492osptr_14: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++14 -DOSPTR_STD="14" 493osptr_14: osptr_compat.cpp 494 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 495osptr_17: OTHER_CXXFLAGS += -I$(SRCROOT)/../libkern -std=c++17 -DOSPTR_STD="17" 496osptr_17: osptr_compat.cpp 497 $(CXX) $(DT_CXXFLAGS) $(OTHER_CXXFLAGS) $(CXXFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 498 499priority_queue: OTHER_CXXFLAGS += -std=c++17 500vm/zalloc: OTHER_LDFLAGS += -ldarwintest_utils 501vm/zalloc_buddy: OTHER_CFLAGS += -Wno-format-pedantic 502 503os_refcnt: OTHER_CFLAGS += -I$(SRCROOT)/../libkern/ -Wno-gcc-compat -Wno-undef -O3 -flto 504 505kernel_inspection: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 506kernel_inspection: OTHER_CFLAGS += -DENTITLED=1 507 508turnstile_multihop: OTHER_CFLAGS += -Wno-unused-macros 509turnstile_multihop: OTHER_CFLAGS += -I $(OBJROOT)/ 510 511CUSTOM_TARGETS += perf_exit_proc 512 513perf_exit_proc: 514 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) perf_exit_proc.c -o $(SYMROOT)/perf_exit_proc 515 516install-perf_exit_proc: perf_exit_proc 517 mkdir -p $(INSTALLDIR) 518 cp $(SYMROOT)/perf_exit_proc $(INSTALLDIR)/ 519 520# Stackshot 521 522 523stackshot_idle_25570396: ./stackshot-entitlements.plist 524stackshot_idle_25570396: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 525stackshot_idle_25570396: OTHER_LDFLAGS += -lkdd -framework Foundation 526stackshot_idle_25570396: OTHER_LDFLAGS += -lkdd -framework Foundation 527 528stackshot_block_owner_14362384: ./stackshot-entitlements.plist 529stackshot_block_owner_14362384: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 530stackshot_block_owner_14362384: OTHER_LDFLAGS += -framework Foundation -lpthread -lkdd 531ifeq ($(PLATFORM),MacOSX) 532stackshot_block_owner_14362384: OTHER_LDFLAGS += -lpcre 533endif 534 535all: $(DSTROOT)/usr/local/bin/kcdata 536 537$(DSTROOT)/usr/local/bin/kcdata: $(SRCROOT)/../tools/lldbmacros/kcdata.py 538 mkdir -p $(dir $@) 539 cp $< $@ 540 chmod a+x $@ 541 542xnu_quick_test: OTHER_CFLAGS += xnu_quick_test_helpers.c 543 544CUSTOM_TARGETS += vm_set_max_addr_helper 545 546vm_set_max_addr_helper: vm_set_max_addr_helper.c 547 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) vm_set_max_addr_helper.c -o $(SYMROOT)/vm_set_max_addr_helper; \ 548 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 549 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 550 551install-vm_set_max_addr_helper: vm_set_max_addr_helper 552 mkdir -p $(INSTALLDIR) 553 cp $(SYMROOT)/vm_set_max_addr_helper $(INSTALLDIR)/ 554 555CUSTOM_TARGETS += subsystem_root_path_helper_entitled 556CUSTOM_TARGETS += subsystem_root_path_helper 557 558subsystem_root_path_helper_entitled: subsystem_root_path_helper.c subsystem_root_path-entitlements.plist 559 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) subsystem_root_path_helper.c -o $(SYMROOT)/subsystem_root_path_helper_entitled; \ 560 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 561 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements subsystem_root_path-entitlements.plist $(SYMROOT)/$@; 562 563install-subsystem_root_path_helper_entitled: subsystem_root_path_helper_entitled 564 mkdir -p $(INSTALLDIR) 565 cp $(SYMROOT)/subsystem_root_path_helper_entitled $(INSTALLDIR)/ 566 567subsystem_root_path_helper: subsystem_root_path_helper.c 568 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) subsystem_root_path_helper.c -o $(SYMROOT)/subsystem_root_path_helper; \ 569 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 570 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 571 572install-subsystem_root_path_helper: subsystem_root_path_helper 573 mkdir -p $(INSTALLDIR) 574 cp $(SYMROOT)/subsystem_root_path_helper $(INSTALLDIR)/ 575 576CUSTOM_TARGETS += vm_test_code_signing_helper 577 578vm_test_code_signing_helper: vm_test_code_signing_helper.c 579 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) vm_test_code_signing_helper.c -o $(SYMROOT)/vm_test_code_signing_helper; \ 580 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 581 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 582 583install-vm_test_code_signing_helper: vm_test_code_signing_helper 584 mkdir -p $(INSTALLDIR) 585 cp $(SYMROOT)/vm_test_code_signing_helper $(INSTALLDIR)/ 586 587vm_test_code_signing: OTHER_LDFLAGS += -ldarwintest_utils 588 589INCLUDED_TEST_SOURCE_DIRS += vm ipc rm workq 590 591# Revert to legacy vm_test suite until <rdar://problem/56675212> gets solved 592EXCLUDED_SOURCES += vm/vm_allocation.c 593 594EXCLUDED_SOURCES += jumbo_va_spaces_common.c 595 596ifeq ($(IOS_TEST_COMPAT),YES) 597OTHER_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/ios13extended_footprint vm/memorystatus_freeze_test vm/memorystatus_freeze_test_entitled vm/entitlement_internal_bands vm/entitlement_internal_bands_unentitled 598 599jumbo_va_spaces_28530648: CODE_SIGN_ENTITLEMENTS = jumbo_va_spaces_28530648.entitlements 600jumbo_va_spaces_28530648: OTHER_CFLAGS += -DENTITLED=1 -DTESTNAME=jumbo_va_spaces_28530648 601jumbo_va_spaces_28530648: jumbo_va_spaces_common.c 602jumbo_va_spaces_28530648: OTHER_LDFLAGS += -ldarwintest_utils 603jumbo_va_spaces_28530648: OTHER_LDFLAGS += -sectcreate __TEXT __info_plist jumbo_va_spaces_28530648-identifier.plist 604 605jumbo_va_spaces_52551256: CODE_SIGN_ENTITLEMENTS = jumbo_va_spaces_52551256.entitlements 606jumbo_va_spaces_52551256: OTHER_CFLAGS += -DENTITLED=1 -DTESTNAME=jumbo_va_spaces_52551256 607jumbo_va_spaces_52551256: OTHER_LDFLAGS += -ldarwintest_utils 608jumbo_va_spaces_52551256: jumbo_va_spaces_28530648.c jumbo_va_spaces_common.c 609 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 610 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 611 612jumbo_va_spaces_28530648_unentitled: OTHER_LDFLAGS += -ldarwintest_utils 613jumbo_va_spaces_28530648_unentitled: OTHER_CFLAGS += -DTESTNAME=jumbo_va_spaces_28530648_unentitled 614 615jumbo_va_spaces_28530648_unentitled: jumbo_va_spaces_28530648.c jumbo_va_spaces_common.c 616 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 617 618vm/entitlement_increased_memory_limit: CODE_SIGN_ENTITLEMENTS = vm/entitlement_increased_memory_limit.entitlements 619vm/entitlement_increased_memory_limit: OTHER_CFLAGS += -DENTITLED=1 jumbo_va_spaces_common.c 620vm/entitlement_increased_memory_limit: OTHER_LDFLAGS += -ldarwintest_utils memorystatus_assertion_helpers.c 621vm/entitlement_increased_memory_limit: vm/entitlement_increased_memory_limit.c 622 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 623 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 624 625vm/entitlement_increased_memory_limit_unentitled: OTHER_LDFLAGS += -ldarwintest_utils memorystatus_assertion_helpers.c 626vm/entitlement_increased_memory_limit_unentitled: vm/entitlement_increased_memory_limit.c jumbo_va_spaces_common.c 627 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 628 629vm/entitlement_internal_bands: CODE_SIGN_ENTITLEMENTS = vm/entitlement_internal_bands.entitlements 630vm/entitlement_internal_bands: OTHER_CFLAGS += -DENTITLED=1 631vm/entitlement_internal_bands: OTHER_LDFLAGS += -ldarwintest_utils 632vm/entitlement_internal_bands: vm/entitlement_internal_bands.c memorystatus_assertion_helpers.c 633 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 634 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 635 636vm/entitlement_internal_bands_unentitled: OTHER_LDFLAGS += -ldarwintest_utils 637vm/entitlement_internal_bands_unentitled: vm/entitlement_internal_bands.c memorystatus_assertion_helpers.c 638 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 639 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 640 641vm/ios13extended_footprint: CODE_SIGN_ENTITLEMENTS = vm/ios13extended_footprint.entitlements 642vm/ios13extended_footprint: vm/ios13extended_footprint.c 643 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 644 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 645 646vm_phys_footprint_legacy: OTHER_LDFLAGS += -framework CoreFoundation -framework IOSurface 647vm_phys_footprint_legacy: OTHER_CFLAGS += -DLEGACY_FOOTPRINT_ENTITLED=1 648vm_phys_footprint_legacy: CODE_SIGN_ENTITLEMENTS=./legacy_footprint.entitlement 649vm_phys_footprint_legacy: vm_phys_footprint.c 650 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 651 652endif 653 654CUSTOM_TARGETS += vm/hello 655 656vm/hello: vm/hello.c 657 $(CC) $(LDFLAGS) $(CFLAGS) $< -o $(SYMROOT)/$@ 658 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 659 660.PHONY: install-vm/hello 661install-vm/hello: vm/hello 662 mkdir -p $(INSTALLDIR)/vm 663 cp $(SYMROOT)/vm/hello $(INSTALLDIR)/vm/ 664 665vm/vm_tainted_executable: vm/hello 666 667task_info_28439149: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 668 669ipc_read_inspect: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 670 671ipc_thread_ports_race: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 672ipc_thread_ports_race: OTHER_LDFLAGS += -ldarwintest_utils 673 674proc_info: recount/recount_test_utils.c 675proc_info: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 676proc_info: OTHER_LDFLAGS += -ldarwintest_utils 677 678proc_info_list_kthreads: CODE_SIGN_ENTITLEMENTS = ./proc_info_list_kthreads.entitlements 679 680proc_info_44873309: CODE_SIGN_ENTITLEMENTS = ./proc_info_44873309.entitlements 681 682disk_mount_conditioner: disk_mount_conditioner* 683disk_mount_conditioner: CODE_SIGN_ENTITLEMENTS=./disk_mount_conditioner-entitlements.plist 684disk_mount_conditioner: OTHER_LDFLAGS += -ldarwintest_utils 685 686disk_mount_conditioner: OTHER_TEST_TARGETS += disk_mount_conditioner_unentitled 687disk_mount_conditioner_unentitled: OTHER_CFLAGS += -DTEST_UNENTITLED 688disk_mount_conditioner_unentitled: OTHER_LDFLAGS += -ldarwintest_utils 689disk_mount_conditioner_unentitled: disk_mount_conditioner.c 690 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 691 692work_interval_test: CODE_SIGN_ENTITLEMENTS = work_interval_test.entitlements 693work_interval_test: OTHER_CFLAGS += -DENTITLED=1 694 695work_interval_data_test: CODE_SIGN_ENTITLEMENTS = work_interval_test.entitlements 696work_interval_data_test: OTHER_CFLAGS += -DENTITLED=1 697work_interval_data_test: OTHER_LDFLAGS += -lpthread 698 699game_mode: CODE_SIGN_ENTITLEMENTS = game_mode.entitlements 700 701settimeofday_29193041: OTHER_CFLAGS += drop_priv.c 702 703settimeofday_29193041_entitled: CODE_SIGN_ENTITLEMENTS = settimeofday_29193041.entitlements 704settimeofday_29193041_entitled: OTHER_CFLAGS += drop_priv.c 705 706thread_group_set_32261625: ./stackshot-entitlements.plist 707thread_group_set_32261625: CODE_SIGN_ENTITLEMENTS=./stackshot-entitlements.plist 708thread_group_set_32261625: OTHER_LDFLAGS = -framework ktrace 709 710task_info: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 711task_info: OTHER_CFLAGS += test_utils.c 712task_info: OTHER_LDFLAGS += -ldarwintest_utils 713 714extract_right_soft_fail: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 715 716ifneq ($(IOS_TEST_COMPAT),YES) 717 EXCLUDED_SOURCES += task_vm_info_decompressions.c 718endif 719 720ifneq ($(PLATFORM),iPhoneOS) 721 EXCLUDED_SOURCES += vm/compression_sweep.c 722endif 723 724unp_sock_release: CODE_SIGN_ENTITLEMENTS = unp_sock_release-entitlements.plist 725 726bpf_write: bpflib.c in_cksum.c net_test_lib.c 727bpf_write: OTHER_LDFLAGS += -ldarwintest_utils 728 729bpf_write_batch: bpflib.c in_cksum.c net_test_lib.c 730bpf_write_batch: OTHER_LDFLAGS += -ldarwintest_utils 731 732udp_bind_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 733tcp_bind_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 734tcp_send_implied_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 735socket_bind_35243417: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 736socket_bind_35685803: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 737icmp_fragmetned_payload: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 738tcp_invalid_address: OTHER_CFLAGS += -Wno-int-conversion 739tcp_invalid_address: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 740 741net_tuntests: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 742 743net_bridge: inet_transfer.c bpflib.c in_cksum.c net_test_lib.c 744net_bridge: OTHER_LDFLAGS += -ldarwintest_utils 745net_bridge: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 746 747if_generation_id: net_test_lib.c in_cksum.c 748if_generation_id: OTHER_LDFLAGS += -ldarwintest_utils 749 750inet6_addr_mode: net_test_lib.c in_cksum.c 751inet6_addr_mode: OTHER_LDFLAGS += -ldarwintest_utils 752 753bpf_direction: bpflib.c 754bpf_direction: OTHER_LDFLAGS += -ldarwintest_utils 755bpf_direction: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 756 757ipv6_bind_race: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 758 759CUSTOM_TARGETS += posix_spawn_archpref_helper 760 761posix_spawn_archpref_helper: posix_spawn_archpref_helper.c 762 $(CC) $(LDFLAGS) $(CFLAGS) posix_spawn_archpref_helper.c -o $(SYMROOT)/$@; 763 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 764 765install-posix_spawn_archpref_helper: posix_spawn_archpref_helper 766 mkdir -p $(INSTALLDIR) 767 cp $(SYMROOT)/posix_spawn_archpref_helper $(INSTALLDIR)/ 768 769CUSTOM_TARGETS += posix_spawn_alt_rosetta_helper 770 771posix_spawn_alt_rosetta_helper: posix_spawn_alt_rosetta_helper.c 772 $(CC) $(LDFLAGS) $(CFLAGS) posix_spawn_alt_rosetta_helper.c -o $(SYMROOT)/$@; 773 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 774 775install-posix_spawn_alt_rosetta_helper: posix_spawn_alt_rosetta_helper 776 mkdir -p $(INSTALLDIR) 777 cp $(SYMROOT)/posix_spawn_alt_rosetta_helper $(INSTALLDIR)/ 778 779MIG:=SDKROOT=$(SDKROOT) $(shell xcrun -sdk "$(TARGETSDK)" -find mig) 780 781CUSTOM_TARGETS += excserver 782 783excserver: 784 $(MIG) $(CFLAGS) \ 785 -sheader $(OBJROOT)/excserver.h \ 786 -server $(OBJROOT)/excserver.c \ 787 -header /dev/null -user /dev/null \ 788 excserver.defs 789install-excserver: ; 790 791CUSTOM_TARGETS += excserver_protect 792 793excserver_protect: 794 $(MIG) $(CFLAGS) \ 795 -DMACH_EXC_SERVER_TASKIDTOKEN \ 796 -sheader $(OBJROOT)/excserver_protect.h \ 797 -server $(OBJROOT)/excserver_protect.c \ 798 -header /dev/null -user /dev/null \ 799 excserver_protect.defs 800install-excserver_protect: ; 801 802EXCLUDED_SOURCES += exc_helpers.c 803 804CUSTOM_TARGETS += notifyserver 805 806notifyserver: 807 $(MIG) $(CFLAGS) \ 808 -DMACH_NOTIFY_SERVICE_PORT_DESTROYED_EXPECTED \ 809 -user /dev/null \ 810 -header $(OBJROOT)/notify.h \ 811 -sheader $(OBJROOT)/notifyServer.h \ 812 -server $(OBJROOT)/notifyServer.c \ 813 notifyserver.defs 814install-notifyserver: ; 815 816CUSTOM_TARGETS += rnserver 817 818rnserver: 819 $(MIG) $(CFLAGS) \ 820 -user /dev/null \ 821 -header $(OBJROOT)/rn.h \ 822 -sheader $(OBJROOT)/rnServer.h \ 823 -server $(OBJROOT)/rnServer.c \ 824 rnserver.defs 825install-rnserver: ; 826 827 828x18_entitled: OTHER_CFLAGS += -Wno-language-extension-token 829x18_entitled: CODE_SIGN_ENTITLEMENTS = x18-entitlements.plist 830x18_unentitled: OTHER_CFLAGS += -Wno-language-extension-token 831ifneq ($(PLATFORM),MacOSX) 832EXCLUDED_SOURCES += x18_legacy.c 833else 834x18_legacy: OTHER_CFLAGS += -Wno-language-extension-token -Wl,-platform_version -Wl,macos -Wl,10.12 -Wl,10.12 835endif 836 837pmap_bench: INVALID_ARCHS = $(filter-out arm%,$(ARCH_CONFIGS)) 838 839pmap_stress: INVALID_ARCHS = $(filter-out arm%,$(ARCH_CONFIGS)) 840 841hw_breakpoint_step_arm64: CODE_SIGN_ENTITLEMENTS = hw_breakpoint_step_arm64_entitlements.plist 842hw_breakpoint_step_arm64: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 843hw_breakpoint_step_arm64: excserver 844hw_breakpoint_step_arm64: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 845 846exc_resource_threads: excserver 847exc_resource_threads: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 848exc_resource_threads: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 849 850mach_service_port: notifyserver 851mach_service_port: OTHER_CFLAGS += $(OBJROOT)/notifyServer.c -I $(OBJROOT) 852 853fp_exception: excserver exc_helpers.c 854fp_exception: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 855fp_exception: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 856 857ptrauth_failure: excserver exc_helpers.c 858ptrauth_failure: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) -Wno-language-extension-token 859ptrauth_failure: CODESIGN = $(CODESIGN_HARDENED_RUNTIME) 860ptrauth_failure: CODE_SIGN_ENTITLEMENTS = set_state_and_exception_port.entitlement 861 862decompression_failure: excserver exc_helpers.c 863decompression_failure: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 864decompression_failure: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 865 866ipc/kernel_signed_pac_thread_state: excserver 867ipc/kernel_signed_pac_thread_state: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 868ipc/kernel_signed_pac_thread_state: CODE_SIGN_ENTITLEMENTS = pac_exception_entitlement.plist 869 870ifeq ($(findstring arm64e,$(ARCH_CONFIGS)),) 871EXCLUDED_SOURCES += pac_exception_entitlement.c 872else 873pac_exception_entitlement: excserver exc_helpers.c 874pac_exception_entitlement: OTHER_CFLAGS += $(OBJROOT)/excserver.c -Wno-language-extension-token 875pac_exception_entitlement: CODE_SIGN_ENTITLEMENTS = pac_exception_entitlement.plist 876endif 877 878ifeq ($(findstring arm64,$(ARCH_CONFIGS)),) 879EXCLUDED_SOURCES += arm_cpu_capabilities.c 880else 881arm_cpu_capabilities: INVALID_ARCHS = armv7k x86_64 x86_64h 882arm_cpu_capabilities: excserver exc_helpers.c 883arm_cpu_capabilities: OTHER_CFLAGS += $(OBJROOT)/excserver.c -Wno-language-extension-token -mcpu=apple-a15 884arm_cpu_capabilities: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 885endif 886 887# Disabling building of ldt files as dt_extractmeta crashes 888# in build systems. Ref rdar://110251082 889# Leaving commented bits for future re-enablement 890EXCLUDED_SOURCES += ldt_code32.s ldt.c 891 892#\ifeq ($(findstring x86_64,$(ARCH_CONFIGS)),) 893#EXCLUDED_SOURCES += ldt_code32.s ldt.c 894#\else # target = osx 895#$(OBJROOT)/ldt_mach_exc_server.c: 896# $(MIG) $(CFLAGS) \ 897# -user /dev/null \ 898# -server $(OBJROOT)/ldt_mach_exc_server.c \ 899# -header $(OBJROOT)/ldt_mach_exc.h \ 900# mach_exc.defs 901# 902#ldt: INVALID_ARCHS = $(ARCH_CONFIGS) 903#ldt: $(OBJROOT)/ldt_mach_exc_server.c 904#ldt: OTHER_CFLAGS += -arch x86_64 -I $(OBJROOT) $(SRCROOT)/ldt_code32.s -Wl,-pagezero_size,0x1000 -Wno-missing-variable-declarations 905#ldt: CODE_SIGN_ENTITLEMENTS=ldt_entitlement.plist 906#\endif 907 908ifneq ($(PLATFORM),BridgeOS) 909EXCLUDED_SOURCES += remote_time.c 910else 911remote_time: INVALID_ARCHS = armv7 armv7s arm64_32 912endif 913 914vm_phys_footprint: OTHER_LDFLAGS += -framework CoreFoundation -framework IOSurface 915 916vm_kern_count_wired_kernelcache: OTHER_CFLAGS += -I$(SDKROOT)/System/Library/Frameworks/Kernel.framework/PrivateHeaders/mach 917 918debug_control_port_for_pid: CODE_SIGN_ENTITLEMENTS = ./debug_control_port_for_pid_entitlement.plist 919 920prng: OTHER_LDFLAGS += -ldarwintest_utils 921 922preoslog: OTHER_LDFLAGS += -ldarwintest_utils 923preoslog: OTHER_CFLAGS += test_utils.c 924 925task_policy: CODE_SIGN_ENTITLEMENTS = ./task_policy_entitlement.plist 926 927OTHER_TEST_TARGETS += task_policy_unentitled 928task_policy_unentitled: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 929task_policy_unentitled: OTHER_CFLAGS += -DUNENTITLED 930task_policy_unentitled: task_policy.c 931 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 932 $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@ 933 934 935EXCLUDED_SOURCES += get_shared_cache_address.c 936 937 938ifneq ($(filter iPhoneOS MacOSX, $(PLATFORM)),) 939CUSTOM_TARGETS += get_shared_cache_address 940 941get_shared_cache_address: INVALID_ARCHS = arm64 i386 x86_64 942get_shared_cache_address: get_shared_cache_address.c 943 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/get_shared_cache_address 944 945install-get_shared_cache_address: get_shared_cache_address 946 $(CODESIGN) --force --sign - --timestamp=none --identifier=com.apple.get_shared_cache_address $(SYMROOT)/get_shared_cache_address 947 mkdir -p $(INSTALLDIR) 948 cp $(SYMROOT)/get_shared_cache_address $(INSTALLDIR)/ 949endif 950 951 952OTHER_TEST_TARGETS += vm_memory_share_tests 953 954vm_memory_share_tests: INVALID_ARCHS = i386 955vm_memory_share_tests: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 956vm_memory_share_tests: vm_memory_tests_src/main.c vm_memory_tests_src/common.c vm_memory_tests_src/vm_tests.c 957 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 958 echo $(CODESIGN) --force --sign - --timestamp=none --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 959 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements "$(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS)" $(SYMROOT)/$@; 960 961# build the mach server as individual helper which does not use libdarwintest 962CUSTOM_TARGETS += vm_memory_share_tests_server 963vm_memory_share_tests_server: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 964vm_memory_share_tests_server: vm_memory_tests_src/server.c vm_memory_tests_src/common.c vm_memory_tests_src/vm_tests.c 965 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/vm_memory_share_tests_server 966 echo $(CODESIGN) --force --sign - --timestamp=none --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 967 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements "$(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS)" $(SYMROOT)/$@; 968 969install-vm_memory_share_tests_server: vm_memory_share_tests_server 970 mkdir -p $(INSTALLDIR) 971 cp $(SYMROOT)/vm_memory_share_tests_server $(INSTALLDIR)/ 972 973ifeq ($(PLATFORM),MacOSX) 974EXCLUDED_SOURCES += vm/kern_max_task_pmem.c 975endif 976 977EXCLUDED_SOURCES += benchmark/helpers.c 978 979perf_vmfault: OTHER_CFLAGS += benchmark/helpers.c 980 981BATS_PLISTS += $(SRCROOT)/vm/fault_throughput.plist 982 983vm/fault_throughput: OTHER_CFLAGS += benchmark/helpers.c 984 985.PHONY: install-vm/fault_throughput 986install-vm/fault_throughput: vm/fault_throughput 987 mkdir -p $(INSTALLDIR)/vm 988 cp $(SYMROOT)/vm/fault_throughput $(INSTALLDIR)/vm/ 989 990$(SYMROOT)/vm/fault_throughput.lua: $(SRCROOT)/vm/fault_throughput.lua 991 mkdir -p $(SYMROOT)/vm 992 cp $< $@ 993 chmod +x $@ 994 995.PHONY: install-fault_throughput_benchrun 996install-$(SYMROOT)/vm/fault_throughput.lua: $(SYMROOT)/vm/fault_throughput.lua 997 mkdir -p $(INSTALLDIR)/vm 998 cp $(SYMROOT)/vm/fault_throughput.lua $(INSTALLDIR)/vm/ 999 chmod +x $(INSTALLDIR)/vm/fault_throughput.lua 1000 1001EXCLUDED_SOURCES += vm/fault_throughput.plist 1002 1003CUSTOM_TARGETS += $(SYMROOT)/vm/fault_throughput.lua vm/fault_throughput 1004 1005ifeq ($(PLATFORM),MacOSX) 1006mixed_pagesize: vm/mixed_pagesize.c 1007 mkdir -p $(SYMROOT)/vm 1008 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/vm/$@ 1009 1010install-mixed_pagesize: mixed_pagesize 1011 mkdir -p $(INSTALLDIR)/vm 1012 cp $(SYMROOT)/vm/mixed_pagesize $(INSTALLDIR)/vm/ 1013 1014BATS_PLISTS += $(SRCROOT)/vm/mixed_pagesize.plist 1015 1016EXCLUDED_SOURCES += vm/mixed_pagesize.c vm/mixed_pagesize.plist 1017CUSTOM_TARGETS += mixed_pagesize 1018else 1019EXCLUDED_SOURCES += vm/mixed_pagesize.c vm/mixed_pagesize.plist 1020endif 1021 1022manual_wq_cooperative: manual_wq_cooperative.c 1023 mkdir -p $(SYMROOT) 1024 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 1025 1026install-manual_wq_cooperative: manual_wq_cooperative 1027 mkdir -p $(INSTALLDIR) 1028 cp $(SYMROOT)/manual_wq_cooperative $(INSTALLDIR) 1029 1030BATS_PLISTS += $(SRCROOT)/workqueue.plist 1031EXCLUDED_SOURCES += manual_wq_cooperative.c workqueue.plist 1032CUSTOM_TARGETS += manual_wq_cooperative 1033 1034# VM madvise(2) benchmark 1035 1036BATS_PLISTS += $(SRCROOT)/vm/perf_madvise.plist 1037 1038vm/perf_madvise: OTHER_CFLAGS += benchmark/helpers.c 1039 1040.PHONY: install-vm/perf_madvise 1041install-vm/perf_madvise: vm/perf_madvise 1042 mkdir -p $(INSTALLDIR)/vm 1043 cp $(SYMROOT)/vm/perf_madvise $(INSTALLDIR)/vm/ 1044 1045$(SYMROOT)/vm/perf_madvise.lua: $(SRCROOT)/vm/perf_madvise.lua 1046 mkdir -p $(SYMROOT)/vm 1047 cp $< $@ 1048 chmod +x $@ 1049 1050.PHONY: install-perf_madvise_benchrun 1051install-$(SYMROOT)/vm/perf_madvise.lua: $(SYMROOT)/vm/perf_madvise.lua 1052 mkdir -p $(INSTALLDIR)/vm 1053 cp $(SYMROOT)/vm/perf_madvise.lua $(INSTALLDIR)/vm 1054 chmod +x $(INSTALLDIR)/vm/perf_madvise.lua 1055 1056CUSTOM_TARGETS += $(SYMROOT)/vm/perf_madvise.lua vm/perf_madvise 1057 1058BATS_PLISTS += $(SRCROOT)/vm/perf_compressor.plist 1059EXCLUDED_SOURCES += vm/perf_compressor.plist 1060 1061vm/perf_compressor: OTHER_CFLAGS += benchmark/helpers.c 1062 1063.PHONY: install-vm/perf_compressor 1064install-vm/perf_compressor: vm/perf_compressor 1065 mkdir -p $(INSTALLDIR)/vm 1066 cp $(SYMROOT)/vm/perf_compressor $(INSTALLDIR)/vm/ 1067 1068$(SYMROOT)/vm/perf_compressor.lua: $(SRCROOT)/vm/perf_compressor.lua 1069 mkdir -p $(SYMROOT)/vm 1070 cp $< $@ 1071 chmod +x $@ 1072 1073.PHONY: install-$(SYMROOT)/vm/perf_compressor_benchrun 1074install-$(SYMROOT)/vm/perf_compressor.lua: $(SYMROOT)/vm/perf_compressor.lua 1075 mkdir -p $(INSTALLDIR)/vm 1076 cp $(SYMROOT)/vm/perf_compressor.lua $(INSTALLDIR)/vm/ 1077 chmod +x $(INSTALLDIR)/vm/perf_compressor.lua 1078 1079CUSTOM_TARGETS += $(SYMROOT)/vm/perf_compressor.lua vm/perf_compressor 1080 1081ioconnectasyncmethod_57641955: OTHER_LDFLAGS += -framework IOKit 1082 1083ifeq ($(PLATFORM),BridgeOS) 1084EXCLUDED_SOURCES += ipsec.m 1085else 1086ipsec: OTHER_LDFLAGS += -framework Foundation -framework CoreFoundation -framework NetworkExtension 1087ipsec: CODE_SIGN_ENTITLEMENTS = ipsec.entitlements 1088endif 1089 1090test_sysctl_kern_procargs_25397314: OTHER_LDFLAGS += -framework Foundation -ldarwintest_utils 1091 1092INCLUDED_TEST_SOURCE_DIRS += counter 1093 1094EXCLUDED_SOURCES += counter/common.c 1095counter/counter: OTHER_CFLAGS += counter/common.c test_utils.c 1096counter/counter: OTHER_LDFLAGS += -ldarwintest_utils -ldarwintest 1097 1098counter/benchmark: OTHER_CFLAGS += counter/common.c benchmark/helpers.c 1099 1100.PHONY: install-counter/benchmark 1101install-counter/benchmark: counter/benchmark 1102 mkdir -p $(INSTALLDIR)/counter 1103 cp $(SYMROOT)/counter/benchmark $(INSTALLDIR)/counter/ 1104 1105$(SYMROOT)/counter/benchmark.lua: $(SRCROOT)/counter/benchmark.lua 1106 mkdir -p $(SYMROOT)/counter 1107 cp $< $@ 1108 chmod +x $@ 1109 1110.PHONY: install-counter_benchrun 1111install-$(SYMROOT)/counter/benchmark.lua: $(SYMROOT)/counter/benchmark.lua 1112 mkdir -p $(INSTALLDIR)/counter 1113 cp $(SYMROOT)/counter/benchmark.lua $(INSTALLDIR)/counter/ 1114 chmod +x $(INSTALLDIR)/counter/benchmark.lua 1115 1116CUSTOM_TARGETS += $(SYMROOT)/counter/benchmark.lua counter/benchmark 1117 1118ifneq ($(PLATFORM),MacOSX) 1119EXCLUDED_SOURCES += vm/page_size_globals.c 1120else 1121vm/page_size_globals: INVALID_ARCHS = arm64 arm64e 1122endif 1123 1124# Same helper used in execperf, different build system. 1125static_binary: ../tools/tests/execperf/exit-asm.S 1126 $(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 1127 CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/static_binary 1128 1129install-static_binary: static_binary 1130 mkdir -p $(INSTALLDIR) 1131 cp $(SYMROOT)/static_binary $(INSTALLDIR) 1132 1133CUSTOM_TARGETS += static_binary 1134EXCLUDED_SOURCES += static_binary.c 1135 1136test_static_binary_csflags: static_binary 1137test_static_binary_csflags: OTHER_LDFLAGS += -ldarwintest_utils 1138 1139 1140libmalloc_apple_array: CODE_SIGN_ENTITLEMENTS = entitlements/libmalloc_apple_array.entitlements 1141libmalloc_apple_array: OTHER_CFLAGS += -DENTITLED=1 drop_priv.c test_utils.c 1142libmalloc_apple_array: OTHER_LDFLAGS += -ldarwintest_utils 1143libmalloc_apple_array: libmalloc_apple_array.c print_apple_array print_apple_array_HR1 print_apple_array_HR2 1144 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 1145 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 1146 1147libmalloc_apple_array_unentitled: OTHER_CFLAGS += drop_priv.c test_utils.c 1148libmalloc_apple_array_unentitled: OTHER_LDFLAGS += -ldarwintest_utils 1149libmalloc_apple_array_unentitled: libmalloc_apple_array.c print_apple_array print_apple_array_HR1 print_apple_array_HR2 1150 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $(OTHER_CFLAGS) $< -o $(SYMROOT)/$@ 1151 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1152 1153CUSTOM_TARGETS += print_apple_array 1154print_apple_array: print_apple_array.c 1155 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1156 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1157 1158CUSTOM_TARGETS += print_apple_array_HR1 1159print_apple_array_HR1: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-binary-entitlements-1.plist 1160print_apple_array_HR1: print_apple_array.c 1161 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1162 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1163 1164CUSTOM_TARGETS += print_apple_array_HR2 1165print_apple_array_HR2: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-binary-entitlements-2.plist 1166print_apple_array_HR2: print_apple_array.c 1167 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1168 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1169 1170 1171install-print_apple_array: print_apple_array 1172 mkdir -p $(INSTALLDIR)/tools 1173 cp $(SYMROOT)/print_apple_array $(INSTALLDIR)/tools/ 1174 1175install-print_apple_array_HR1: print_apple_array_HR1 1176 mkdir -p $(INSTALLDIR)/tools 1177 cp $(SYMROOT)/print_apple_array_HR1 $(INSTALLDIR)/tools/ 1178 1179install-print_apple_array_HR2: print_apple_array_HR2 1180 mkdir -p $(INSTALLDIR)/tools 1181 cp $(SYMROOT)/print_apple_array_HR2 $(INSTALLDIR)/tools/ 1182 1183persona: CODE_SIGN_ENTITLEMENTS = persona.entitlements 1184persona_adoption: CODE_SIGN_ENTITLEMENTS = persona_adoption.entitlements 1185 1186OTHER_TEST_TARGETS += libmalloc_apple_array libmalloc_apple_array_unentitled 1187 1188entropy: OTHER_CFLAGS += -framework perfdata 1189 1190zero_to_n_tests: OTHER_LDFLAGS += -ldarwintest_utils -framework perfdata 1191 1192debug_enable_syscall_rejection: OTHER_LDFLAGS += -ldarwintest_utils 1193 1194sched_thread_group_fairness: CODE_SIGN_ENTITLEMENTS = sched_thread_group_fairness.entitlements 1195sched_thread_group_fairness: sched_thread_group_fairness_workload_config.h 1196sched_thread_group_fairness: OTHER_LDFLAGS += -framework perfdata 1197sched_thread_group_fairness: OTHER_CFLAGS += -DENTITLED=1 1198sched_thread_group_fairness_workload_config.h: sched_thread_group_fairness_workload_config.plist 1199 xxd -i $< > $@ 1200 1201sched_yield_aggressor: OTHER_LDFLAGS += -ldarwintest_utils -framework perfdata 1202sched_yield_aggressor: OTHER_CFLAGS += -Wno-atomic-implicit-seq-cst 1203 1204sched_all_cores_running: OTHER_LDFLAGS += -ldarwintest_utils 1205 1206sched_overloaded_runqueue: CODE_SIGN_ENTITLEMENTS = sched_overloaded_runqueue.entitlements 1207sched_overloaded_runqueue: OTHER_CFLAGS += -DENTITLED=1 1208sched_overloaded_runqueue: OTHER_LDFLAGS += -framework ktrace -ldarwintest_utils 1209 1210thread_set_state_arm64_cpsr: CODE_SIGN_ENTITLEMENTS = thread_set_state.entitlement 1211 1212vm/app_swap: OTHER_LDFLAGS += -ldarwintest_utils 1213 1214CUSTOM_TARGETS += debug_syscall_rejection_helper 1215debug_syscall_rejection_helper: debug_syscall_rejection_helper.c 1216 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@; \ 1217 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 1218 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1219 1220 1221install-debug_syscall_rejection_helper: debug_syscall_rejection_helper 1222 mkdir -p $(INSTALLDIR) 1223 cp $(SYMROOT)/debug_syscall_rejection_helper $(INSTALLDIR)/ 1224 1225file_leases: OTHER_CFLAGS += test_utils.c 1226file_leases: OTHER_LDFLAGS += -ldarwintest_utils 1227file_leases: CODE_SIGN_ENTITLEMENTS = file_leases.entitlements 1228 1229INCLUDED_TEST_SOURCE_DIRS += vfs 1230vfs/freeable_vnodes: OTHER_LDFLAGS += -ldarwintest_utils 1231 1232vm/vm_reclaim: OTHER_CFLAGS += -Wno-language-extension-token -Wno-c++98-compat memorystatus_assertion_helpers.c 1233vm/vm_reclaim: OTHER_LDFLAGS += -ldarwintest_utils 1234 1235vm/vm_reclaim: INVALID_ARCHS = armv7k arm64_32 1236 1237DIAG_MEM_THRESHOLD_UTILS = vm/diag_threshold_test.c 1238EXCLUDED_SOURCES += $(DIAG_MEM_THRESHOLD_UTILS) 1239 1240vm/diag_threshold_test: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1241 1242vm/diag_threshold_test_double_limit: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1243vm/diag_threshold_test_double_limit: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1244vm/diag_threshold_test_double_limit: OTHER_CFLAGS += -l darwintest_utils 1245vm/diag_threshold_test_double_limit: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1246 1247vm/diag_threshold_test_simple: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1248vm/diag_threshold_test_simple: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1249vm/diag_threshold_test_simple: OTHER_CFLAGS += -l darwintest_utils 1250vm/diag_threshold_test_simple: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1251 1252vm/diag_threshold_test_enable_disable_threshold: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1253vm/diag_threshold_test_enable_disable_threshold: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1254vm/diag_threshold_test_enable_disable_threshold: OTHER_CFLAGS += -l darwintest_utils 1255vm/diag_threshold_test_enable_disable_threshold: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1256 1257vm/diag_threshold_test_no_limit_cross: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1258vm/diag_threshold_test_no_limit_cross: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1259vm/diag_threshold_test_no_limit_cross: OTHER_CFLAGS += -l darwintest_utils 1260vm/diag_threshold_test_no_limit_cross: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1261 1262vm/diag_threshold_test_no_retrigger: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1263vm/diag_threshold_test_no_retrigger: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1264vm/diag_threshold_test_no_retrigger: OTHER_CFLAGS += -l darwintest_utils 1265vm/diag_threshold_test_no_retrigger: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1266 1267vm/diag_threshold_test_with_low_watermark: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1268vm/diag_threshold_test_with_low_watermark: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1269vm/diag_threshold_test_with_low_watermark: OTHER_CFLAGS += -l darwintest_utils 1270vm/diag_threshold_test_with_low_watermark: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1271 1272vm/diag_threshold_test_with_high_watermark: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1273vm/diag_threshold_test_with_high_watermark: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1274vm/diag_threshold_test_with_high_watermark: OTHER_CFLAGS += -l darwintest_utils 1275vm/diag_threshold_test_with_high_watermark: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1276 1277vm/diag_threshold_test_watermark_and_threshold_same: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1278vm/diag_threshold_test_watermark_and_threshold_same: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1279vm/diag_threshold_test_watermark_and_threshold_same: OTHER_CFLAGS += -l darwintest_utils 1280vm/diag_threshold_test_watermark_and_threshold_same: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1281 1282vm/diag_threshold_test_limit_and_threshold_same: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1283vm/diag_threshold_test_limit_and_threshold_same: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1284vm/diag_threshold_test_limit_and_threshold_same: OTHER_CFLAGS += -l darwintest_utils 1285vm/diag_threshold_test_limit_and_threshold_same: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1286 1287vm/diag_threshold_test_logging: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1288vm/diag_threshold_test_logging: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1289vm/diag_threshold_test_logging: OTHER_CFLAGS += -l darwintest_utils 1290 1291vm/diag_threshold_test_large_limit: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1292vm/diag_threshold_test_large_limit: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1293vm/diag_threshold_test_large_limit: OTHER_CFLAGS += -l darwintest_utils 1294vm/diag_threshold_test_large_limit: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1295 1296EXCLUDED_SOURCES += constrained_ctypes_tests.c 1297CUSTOM_TARGETS += constrained_ctypes_tests_enabled constrained_ctypes_tests_enacted constrained_ctypes_tests_disabled 1298constrained_ctypes_tests_enabled: OTHER_CFLAGS += -D__CCT_TEST_ENABLED 1299constrained_ctypes_tests_enabled: OTHER_LDFLAGS += -ldarwintest_utils 1300constrained_ctypes_tests_enabled: constrained_ctypes_tests.c 1301 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_enabled 1302 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_enabled; 1303 1304install-constrained_ctypes_tests_enabled: constrained_ctypes_tests_enabled 1305 mkdir -p $(INSTALLDIR) 1306 cp $(SYMROOT)/constrained_ctypes_tests_enabled $(INSTALLDIR)/ 1307 1308constrained_ctypes_tests_enacted: OTHER_CFLAGS += -D__CCT_TEST_ENABLED 1309constrained_ctypes_tests_enacted: OTHER_CFLAGS += -D__CCT_TEST_ENACTED 1310constrained_ctypes_tests_enacted: OTHER_CFLAGS += -fbounds-attributes 1311constrained_ctypes_tests_enacted: OTHER_LDFLAGS += -ldarwintest_utils 1312constrained_ctypes_tests_enacted: constrained_ctypes_tests.c 1313 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_enacted 1314 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_enacted; 1315 1316install-constrained_ctypes_tests_enacted: constrained_ctypes_tests_enacted 1317 mkdir -p $(INSTALLDIR) 1318 cp $(SYMROOT)/constrained_ctypes_tests_enacted $(INSTALLDIR)/ 1319 1320 1321constrained_ctypes_tests_disabled: OTHER_LDFLAGS += -ldarwintest_utils 1322constrained_ctypes_tests_disabled: constrained_ctypes_tests.c 1323 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_disabled 1324 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_disabled; 1325 1326install-constrained_ctypes_tests_disabled: constrained_ctypes_tests_disabled 1327 mkdir -p $(INSTALLDIR) 1328 cp $(SYMROOT)/constrained_ctypes_tests_disabled $(INSTALLDIR)/ 1329 1330task_suspend_stats: OTHER_LDFLAGS += -ldarwintest_utils 1331task_suspend_stats: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 1332 1333# os_atomic use throws this warning 1334setitimer: OTHER_CFLAGS += -Wno-c++98-compat -framework perfdata 1335setitimer: OTHER_LDFLAGS += -framework perfdata 1336 1337 1338include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.targets 1339 1340exception_ports_info: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1341