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 724bpf_write: bpflib.c in_cksum.c net_test_lib.c 725bpf_write: OTHER_LDFLAGS += -ldarwintest_utils 726 727bpf_write_batch: bpflib.c in_cksum.c net_test_lib.c 728bpf_write_batch: OTHER_LDFLAGS += -ldarwintest_utils 729 730udp_bind_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 731tcp_bind_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 732tcp_send_implied_connect: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 733socket_bind_35243417: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 734socket_bind_35685803: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 735icmp_fragmetned_payload: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 736tcp_invalid_address: OTHER_CFLAGS += -Wno-int-conversion 737tcp_invalid_address: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 738 739net_tuntests: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 740 741net_bridge: inet_transfer.c bpflib.c in_cksum.c net_test_lib.c 742net_bridge: OTHER_LDFLAGS += -ldarwintest_utils 743net_bridge: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 744 745if_generation_id: net_test_lib.c in_cksum.c 746if_generation_id: OTHER_LDFLAGS += -ldarwintest_utils 747 748inet6_addr_mode: net_test_lib.c in_cksum.c 749inet6_addr_mode: OTHER_LDFLAGS += -ldarwintest_utils 750 751bpf_direction: bpflib.c 752bpf_direction: OTHER_LDFLAGS += -ldarwintest_utils 753bpf_direction: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 754 755ipv6_bind_race: CODE_SIGN_ENTITLEMENTS = network_entitlements.plist 756 757CUSTOM_TARGETS += posix_spawn_archpref_helper 758 759posix_spawn_archpref_helper: posix_spawn_archpref_helper.c 760 $(CC) $(LDFLAGS) $(CFLAGS) posix_spawn_archpref_helper.c -o $(SYMROOT)/$@; 761 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 762 763install-posix_spawn_archpref_helper: posix_spawn_archpref_helper 764 mkdir -p $(INSTALLDIR) 765 cp $(SYMROOT)/posix_spawn_archpref_helper $(INSTALLDIR)/ 766 767CUSTOM_TARGETS += posix_spawn_alt_rosetta_helper 768 769posix_spawn_alt_rosetta_helper: posix_spawn_alt_rosetta_helper.c 770 $(CC) $(LDFLAGS) $(CFLAGS) posix_spawn_alt_rosetta_helper.c -o $(SYMROOT)/$@; 771 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 772 773install-posix_spawn_alt_rosetta_helper: posix_spawn_alt_rosetta_helper 774 mkdir -p $(INSTALLDIR) 775 cp $(SYMROOT)/posix_spawn_alt_rosetta_helper $(INSTALLDIR)/ 776 777MIG:=SDKROOT=$(SDKROOT) $(shell xcrun -sdk "$(TARGETSDK)" -find mig) 778 779CUSTOM_TARGETS += excserver 780 781excserver: 782 $(MIG) $(CFLAGS) \ 783 -sheader $(OBJROOT)/excserver.h \ 784 -server $(OBJROOT)/excserver.c \ 785 -header /dev/null -user /dev/null \ 786 excserver.defs 787install-excserver: ; 788 789CUSTOM_TARGETS += excserver_protect 790 791excserver_protect: 792 $(MIG) $(CFLAGS) \ 793 -DMACH_EXC_SERVER_TASKIDTOKEN \ 794 -sheader $(OBJROOT)/excserver_protect.h \ 795 -server $(OBJROOT)/excserver_protect.c \ 796 -header /dev/null -user /dev/null \ 797 excserver_protect.defs 798install-excserver_protect: ; 799 800EXCLUDED_SOURCES += exc_helpers.c 801 802CUSTOM_TARGETS += notifyserver 803 804notifyserver: 805 $(MIG) $(CFLAGS) \ 806 -DMACH_NOTIFY_SERVICE_PORT_DESTROYED_EXPECTED \ 807 -user /dev/null \ 808 -header $(OBJROOT)/notify.h \ 809 -sheader $(OBJROOT)/notifyServer.h \ 810 -server $(OBJROOT)/notifyServer.c \ 811 notifyserver.defs 812install-notifyserver: ; 813 814CUSTOM_TARGETS += rnserver 815 816rnserver: 817 $(MIG) $(CFLAGS) \ 818 -user /dev/null \ 819 -header $(OBJROOT)/rn.h \ 820 -sheader $(OBJROOT)/rnServer.h \ 821 -server $(OBJROOT)/rnServer.c \ 822 rnserver.defs 823install-rnserver: ; 824 825 826x18_entitled: OTHER_CFLAGS += -Wno-language-extension-token 827x18_entitled: CODE_SIGN_ENTITLEMENTS = x18-entitlements.plist 828x18_unentitled: OTHER_CFLAGS += -Wno-language-extension-token 829ifneq ($(PLATFORM),MacOSX) 830EXCLUDED_SOURCES += x18_legacy.c 831else 832x18_legacy: OTHER_CFLAGS += -Wno-language-extension-token -Wl,-platform_version -Wl,macos -Wl,10.12 -Wl,10.12 833endif 834 835pmap_bench: INVALID_ARCHS = $(filter-out arm%,$(ARCH_CONFIGS)) 836 837pmap_stress: INVALID_ARCHS = $(filter-out arm%,$(ARCH_CONFIGS)) 838 839hw_breakpoint_step_arm64: CODE_SIGN_ENTITLEMENTS = hw_breakpoint_step_arm64_entitlements.plist 840hw_breakpoint_step_arm64: INVALID_ARCHS = $(filter-out arm64%,$(ARCH_CONFIGS)) 841hw_breakpoint_step_arm64: excserver 842hw_breakpoint_step_arm64: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 843 844exc_resource_threads: excserver 845exc_resource_threads: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 846exc_resource_threads: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 847 848mach_service_port: notifyserver 849mach_service_port: OTHER_CFLAGS += $(OBJROOT)/notifyServer.c -I $(OBJROOT) 850 851fp_exception: excserver exc_helpers.c 852fp_exception: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 853fp_exception: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 854 855ptrauth_failure: excserver exc_helpers.c 856ptrauth_failure: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) -Wno-language-extension-token 857ptrauth_failure: CODESIGN = $(CODESIGN_HARDENED_RUNTIME) 858ptrauth_failure: CODE_SIGN_ENTITLEMENTS = set_state_and_exception_port.entitlement 859 860decompression_failure: excserver exc_helpers.c 861decompression_failure: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 862decompression_failure: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 863 864ipc/kernel_signed_pac_thread_state: excserver 865ipc/kernel_signed_pac_thread_state: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 866ipc/kernel_signed_pac_thread_state: CODE_SIGN_ENTITLEMENTS = pac_exception_entitlement.plist 867 868ifeq ($(findstring arm64e,$(ARCH_CONFIGS)),) 869EXCLUDED_SOURCES += pac_exception_entitlement.c 870else 871pac_exception_entitlement: excserver exc_helpers.c 872pac_exception_entitlement: OTHER_CFLAGS += $(OBJROOT)/excserver.c -Wno-language-extension-token 873pac_exception_entitlement: CODE_SIGN_ENTITLEMENTS = pac_exception_entitlement.plist 874endif 875 876ifeq ($(findstring arm64,$(ARCH_CONFIGS)),) 877EXCLUDED_SOURCES += arm_cpu_capabilities.c 878else 879arm_cpu_capabilities: INVALID_ARCHS = armv7k x86_64 x86_64h 880arm_cpu_capabilities: excserver exc_helpers.c 881arm_cpu_capabilities: OTHER_CFLAGS += $(OBJROOT)/excserver.c -Wno-language-extension-token -mcpu=apple-a15 882arm_cpu_capabilities: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 883endif 884 885# Disabling building of ldt files as dt_extractmeta crashes 886# in build systems. Ref rdar://110251082 887# Leaving commented bits for future re-enablement 888EXCLUDED_SOURCES += ldt_code32.s ldt.c 889 890#\ifeq ($(findstring x86_64,$(ARCH_CONFIGS)),) 891#EXCLUDED_SOURCES += ldt_code32.s ldt.c 892#\else # target = osx 893#$(OBJROOT)/ldt_mach_exc_server.c: 894# $(MIG) $(CFLAGS) \ 895# -user /dev/null \ 896# -server $(OBJROOT)/ldt_mach_exc_server.c \ 897# -header $(OBJROOT)/ldt_mach_exc.h \ 898# mach_exc.defs 899# 900#ldt: INVALID_ARCHS = $(ARCH_CONFIGS) 901#ldt: $(OBJROOT)/ldt_mach_exc_server.c 902#ldt: OTHER_CFLAGS += -arch x86_64 -I $(OBJROOT) $(SRCROOT)/ldt_code32.s -Wl,-pagezero_size,0x1000 -Wno-missing-variable-declarations 903#ldt: CODE_SIGN_ENTITLEMENTS=ldt_entitlement.plist 904#\endif 905 906ifneq ($(PLATFORM),BridgeOS) 907EXCLUDED_SOURCES += remote_time.c 908else 909remote_time: INVALID_ARCHS = armv7 armv7s arm64_32 910endif 911 912vm_phys_footprint: OTHER_LDFLAGS += -framework CoreFoundation -framework IOSurface 913 914vm_kern_count_wired_kernelcache: OTHER_CFLAGS += -I$(SDKROOT)/System/Library/Frameworks/Kernel.framework/PrivateHeaders/mach 915 916debug_control_port_for_pid: CODE_SIGN_ENTITLEMENTS = ./debug_control_port_for_pid_entitlement.plist 917 918prng: OTHER_LDFLAGS += -ldarwintest_utils 919 920preoslog: OTHER_LDFLAGS += -ldarwintest_utils 921preoslog: OTHER_CFLAGS += test_utils.c 922 923task_policy: CODE_SIGN_ENTITLEMENTS = ./task_policy_entitlement.plist 924 925OTHER_TEST_TARGETS += task_policy_unentitled 926task_policy_unentitled: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 927task_policy_unentitled: OTHER_CFLAGS += -DUNENTITLED 928task_policy_unentitled: task_policy.c 929 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 930 $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@ 931 932 933EXCLUDED_SOURCES += get_shared_cache_address.c 934 935 936ifneq ($(filter iPhoneOS MacOSX, $(PLATFORM)),) 937CUSTOM_TARGETS += get_shared_cache_address 938 939get_shared_cache_address: INVALID_ARCHS = arm64 i386 x86_64 940get_shared_cache_address: get_shared_cache_address.c 941 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/get_shared_cache_address 942 943install-get_shared_cache_address: get_shared_cache_address 944 $(CODESIGN) --force --sign - --timestamp=none --identifier=com.apple.get_shared_cache_address $(SYMROOT)/get_shared_cache_address 945 mkdir -p $(INSTALLDIR) 946 cp $(SYMROOT)/get_shared_cache_address $(INSTALLDIR)/ 947endif 948 949 950OTHER_TEST_TARGETS += vm_memory_share_tests 951 952vm_memory_share_tests: INVALID_ARCHS = i386 953vm_memory_share_tests: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 954vm_memory_share_tests: vm_memory_tests_src/main.c vm_memory_tests_src/common.c vm_memory_tests_src/vm_tests.c 955 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 956 echo $(CODESIGN) --force --sign - --timestamp=none --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 957 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements "$(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS)" $(SYMROOT)/$@; 958 959# build the mach server as individual helper which does not use libdarwintest 960CUSTOM_TARGETS += vm_memory_share_tests_server 961vm_memory_share_tests_server: CODE_SIGN_ENTITLEMENTS = ./task_for_pid_entitlement.plist 962vm_memory_share_tests_server: vm_memory_tests_src/server.c vm_memory_tests_src/common.c vm_memory_tests_src/vm_tests.c 963 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/vm_memory_share_tests_server 964 echo $(CODESIGN) --force --sign - --timestamp=none --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 965 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements "$(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS)" $(SYMROOT)/$@; 966 967install-vm_memory_share_tests_server: vm_memory_share_tests_server 968 mkdir -p $(INSTALLDIR) 969 cp $(SYMROOT)/vm_memory_share_tests_server $(INSTALLDIR)/ 970 971ifeq ($(PLATFORM),MacOSX) 972EXCLUDED_SOURCES += vm/kern_max_task_pmem.c 973endif 974 975EXCLUDED_SOURCES += benchmark/helpers.c 976 977perf_vmfault: OTHER_CFLAGS += benchmark/helpers.c 978 979BATS_PLISTS += $(SRCROOT)/vm/fault_throughput.plist 980 981vm/fault_throughput: OTHER_CFLAGS += benchmark/helpers.c 982 983.PHONY: install-vm/fault_throughput 984install-vm/fault_throughput: vm/fault_throughput 985 mkdir -p $(INSTALLDIR)/vm 986 cp $(SYMROOT)/vm/fault_throughput $(INSTALLDIR)/vm/ 987 988$(SYMROOT)/vm/fault_throughput.lua: $(SRCROOT)/vm/fault_throughput.lua 989 mkdir -p $(SYMROOT)/vm 990 cp $< $@ 991 chmod +x $@ 992 993.PHONY: install-fault_throughput_benchrun 994install-$(SYMROOT)/vm/fault_throughput.lua: $(SYMROOT)/vm/fault_throughput.lua 995 mkdir -p $(INSTALLDIR)/vm 996 cp $(SYMROOT)/vm/fault_throughput.lua $(INSTALLDIR)/vm/ 997 chmod +x $(INSTALLDIR)/vm/fault_throughput.lua 998 999EXCLUDED_SOURCES += vm/fault_throughput.plist 1000 1001CUSTOM_TARGETS += $(SYMROOT)/vm/fault_throughput.lua vm/fault_throughput 1002 1003ifeq ($(PLATFORM),MacOSX) 1004mixed_pagesize: vm/mixed_pagesize.c 1005 mkdir -p $(SYMROOT)/vm 1006 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/vm/$@ 1007 1008install-mixed_pagesize: mixed_pagesize 1009 mkdir -p $(INSTALLDIR)/vm 1010 cp $(SYMROOT)/vm/mixed_pagesize $(INSTALLDIR)/vm/ 1011 1012BATS_PLISTS += $(SRCROOT)/vm/mixed_pagesize.plist 1013 1014EXCLUDED_SOURCES += vm/mixed_pagesize.c vm/mixed_pagesize.plist 1015CUSTOM_TARGETS += mixed_pagesize 1016else 1017EXCLUDED_SOURCES += vm/mixed_pagesize.c vm/mixed_pagesize.plist 1018endif 1019 1020manual_wq_cooperative: manual_wq_cooperative.c 1021 mkdir -p $(SYMROOT) 1022 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 1023 1024install-manual_wq_cooperative: manual_wq_cooperative 1025 mkdir -p $(INSTALLDIR) 1026 cp $(SYMROOT)/manual_wq_cooperative $(INSTALLDIR) 1027 1028BATS_PLISTS += $(SRCROOT)/workqueue.plist 1029EXCLUDED_SOURCES += manual_wq_cooperative.c workqueue.plist 1030CUSTOM_TARGETS += manual_wq_cooperative 1031 1032# VM madvise(2) benchmark 1033 1034BATS_PLISTS += $(SRCROOT)/vm/perf_madvise.plist 1035 1036vm/perf_madvise: OTHER_CFLAGS += benchmark/helpers.c 1037 1038.PHONY: install-vm/perf_madvise 1039install-vm/perf_madvise: vm/perf_madvise 1040 mkdir -p $(INSTALLDIR)/vm 1041 cp $(SYMROOT)/vm/perf_madvise $(INSTALLDIR)/vm/ 1042 1043$(SYMROOT)/vm/perf_madvise.lua: $(SRCROOT)/vm/perf_madvise.lua 1044 mkdir -p $(SYMROOT)/vm 1045 cp $< $@ 1046 chmod +x $@ 1047 1048.PHONY: install-perf_madvise_benchrun 1049install-$(SYMROOT)/vm/perf_madvise.lua: $(SYMROOT)/vm/perf_madvise.lua 1050 mkdir -p $(INSTALLDIR)/vm 1051 cp $(SYMROOT)/vm/perf_madvise.lua $(INSTALLDIR)/vm 1052 chmod +x $(INSTALLDIR)/vm/perf_madvise.lua 1053 1054CUSTOM_TARGETS += $(SYMROOT)/vm/perf_madvise.lua vm/perf_madvise 1055 1056BATS_PLISTS += $(SRCROOT)/vm/perf_compressor.plist 1057EXCLUDED_SOURCES += vm/perf_compressor.plist 1058 1059vm/perf_compressor: OTHER_CFLAGS += benchmark/helpers.c 1060 1061.PHONY: install-vm/perf_compressor 1062install-vm/perf_compressor: vm/perf_compressor 1063 mkdir -p $(INSTALLDIR)/vm 1064 cp $(SYMROOT)/vm/perf_compressor $(INSTALLDIR)/vm/ 1065 1066$(SYMROOT)/vm/perf_compressor.lua: $(SRCROOT)/vm/perf_compressor.lua 1067 mkdir -p $(SYMROOT)/vm 1068 cp $< $@ 1069 chmod +x $@ 1070 1071.PHONY: install-$(SYMROOT)/vm/perf_compressor_benchrun 1072install-$(SYMROOT)/vm/perf_compressor.lua: $(SYMROOT)/vm/perf_compressor.lua 1073 mkdir -p $(INSTALLDIR)/vm 1074 cp $(SYMROOT)/vm/perf_compressor.lua $(INSTALLDIR)/vm/ 1075 chmod +x $(INSTALLDIR)/vm/perf_compressor.lua 1076 1077CUSTOM_TARGETS += $(SYMROOT)/vm/perf_compressor.lua vm/perf_compressor 1078 1079ioconnectasyncmethod_57641955: OTHER_LDFLAGS += -framework IOKit 1080 1081ifeq ($(PLATFORM),BridgeOS) 1082EXCLUDED_SOURCES += ipsec.m 1083else 1084ipsec: OTHER_LDFLAGS += -framework Foundation -framework CoreFoundation -framework NetworkExtension 1085ipsec: CODE_SIGN_ENTITLEMENTS = ipsec.entitlements 1086endif 1087 1088test_sysctl_kern_procargs_25397314: OTHER_LDFLAGS += -framework Foundation -ldarwintest_utils 1089 1090INCLUDED_TEST_SOURCE_DIRS += counter 1091 1092EXCLUDED_SOURCES += counter/common.c 1093counter/counter: OTHER_CFLAGS += counter/common.c test_utils.c 1094counter/counter: OTHER_LDFLAGS += -ldarwintest_utils -ldarwintest 1095 1096counter/benchmark: OTHER_CFLAGS += counter/common.c benchmark/helpers.c 1097 1098.PHONY: install-counter/benchmark 1099install-counter/benchmark: counter/benchmark 1100 mkdir -p $(INSTALLDIR)/counter 1101 cp $(SYMROOT)/counter/benchmark $(INSTALLDIR)/counter/ 1102 1103$(SYMROOT)/counter/benchmark.lua: $(SRCROOT)/counter/benchmark.lua 1104 mkdir -p $(SYMROOT)/counter 1105 cp $< $@ 1106 chmod +x $@ 1107 1108.PHONY: install-counter_benchrun 1109install-$(SYMROOT)/counter/benchmark.lua: $(SYMROOT)/counter/benchmark.lua 1110 mkdir -p $(INSTALLDIR)/counter 1111 cp $(SYMROOT)/counter/benchmark.lua $(INSTALLDIR)/counter/ 1112 chmod +x $(INSTALLDIR)/counter/benchmark.lua 1113 1114CUSTOM_TARGETS += $(SYMROOT)/counter/benchmark.lua counter/benchmark 1115 1116ifneq ($(PLATFORM),MacOSX) 1117EXCLUDED_SOURCES += vm/page_size_globals.c 1118else 1119vm/page_size_globals: INVALID_ARCHS = arm64 arm64e 1120endif 1121 1122# Same helper used in execperf, different build system. 1123static_binary: ../tools/tests/execperf/exit-asm.S 1124 $(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 1125 CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/static_binary 1126 1127install-static_binary: static_binary 1128 mkdir -p $(INSTALLDIR) 1129 cp $(SYMROOT)/static_binary $(INSTALLDIR) 1130 1131CUSTOM_TARGETS += static_binary 1132EXCLUDED_SOURCES += static_binary.c 1133 1134test_static_binary_csflags: static_binary 1135test_static_binary_csflags: OTHER_LDFLAGS += -ldarwintest_utils 1136 1137 1138libmalloc_apple_array: CODE_SIGN_ENTITLEMENTS = entitlements/libmalloc_apple_array.entitlements 1139libmalloc_apple_array: OTHER_CFLAGS += -DENTITLED=1 drop_priv.c test_utils.c 1140libmalloc_apple_array: OTHER_LDFLAGS += -ldarwintest_utils 1141libmalloc_apple_array: libmalloc_apple_array.c print_apple_array print_apple_array_HR1 print_apple_array_HR2 1142 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@ 1143 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements $(CODE_SIGN_ENTITLEMENTS) $(SYMROOT)/$@; 1144 1145libmalloc_apple_array_unentitled: OTHER_CFLAGS += drop_priv.c test_utils.c 1146libmalloc_apple_array_unentitled: OTHER_LDFLAGS += -ldarwintest_utils 1147libmalloc_apple_array_unentitled: libmalloc_apple_array.c print_apple_array print_apple_array_HR1 print_apple_array_HR2 1148 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $(OTHER_CFLAGS) $< -o $(SYMROOT)/$@ 1149 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1150 1151CUSTOM_TARGETS += print_apple_array 1152print_apple_array: print_apple_array.c 1153 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1154 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1155 1156CUSTOM_TARGETS += print_apple_array_HR1 1157print_apple_array_HR1: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-binary-entitlements-1.plist 1158print_apple_array_HR1: print_apple_array.c 1159 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1160 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1161 1162CUSTOM_TARGETS += print_apple_array_HR2 1163print_apple_array_HR2: CODE_SIGN_ENTITLEMENTS=entitlements/hardened-binary-entitlements-2.plist 1164print_apple_array_HR2: print_apple_array.c 1165 $(CC) $(DT_CFLAGS) -I $(OBJROOT) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $^ -o $(SYMROOT)/$@ 1166 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --entitlements $(SRCROOT)/$(CODE_SIGN_ENTITLEMENTS) --timestamp=none $(SYMROOT)/$@; 1167 1168 1169install-print_apple_array: print_apple_array 1170 mkdir -p $(INSTALLDIR)/tools 1171 cp $(SYMROOT)/print_apple_array $(INSTALLDIR)/tools/ 1172 1173install-print_apple_array_HR1: print_apple_array_HR1 1174 mkdir -p $(INSTALLDIR)/tools 1175 cp $(SYMROOT)/print_apple_array_HR1 $(INSTALLDIR)/tools/ 1176 1177install-print_apple_array_HR2: print_apple_array_HR2 1178 mkdir -p $(INSTALLDIR)/tools 1179 cp $(SYMROOT)/print_apple_array_HR2 $(INSTALLDIR)/tools/ 1180 1181persona: CODE_SIGN_ENTITLEMENTS = persona.entitlements 1182persona_adoption: CODE_SIGN_ENTITLEMENTS = persona_adoption.entitlements 1183 1184OTHER_TEST_TARGETS += libmalloc_apple_array libmalloc_apple_array_unentitled 1185 1186entropy: OTHER_CFLAGS += -framework perfdata 1187 1188zero_to_n_tests: OTHER_LDFLAGS += -ldarwintest_utils -framework perfdata 1189 1190debug_enable_syscall_rejection: OTHER_LDFLAGS += -ldarwintest_utils 1191 1192sched_thread_group_fairness: CODE_SIGN_ENTITLEMENTS = sched_thread_group_fairness.entitlements 1193sched_thread_group_fairness: sched_thread_group_fairness_workload_config.h 1194sched_thread_group_fairness: OTHER_LDFLAGS += -framework perfdata 1195sched_thread_group_fairness: OTHER_CFLAGS += -DENTITLED=1 1196sched_thread_group_fairness_workload_config.h: sched_thread_group_fairness_workload_config.plist 1197 xxd -i $< > $@ 1198 1199sched_yield_aggressor: OTHER_LDFLAGS += -ldarwintest_utils -framework perfdata 1200sched_yield_aggressor: OTHER_CFLAGS += -Wno-atomic-implicit-seq-cst 1201 1202sched_all_cores_running: OTHER_LDFLAGS += -ldarwintest_utils 1203 1204sched_overloaded_runqueue: CODE_SIGN_ENTITLEMENTS = sched_overloaded_runqueue.entitlements 1205sched_overloaded_runqueue: OTHER_CFLAGS += -DENTITLED=1 1206sched_overloaded_runqueue: OTHER_LDFLAGS += -framework ktrace -ldarwintest_utils 1207 1208thread_set_state_arm64_cpsr: CODE_SIGN_ENTITLEMENTS = thread_set_state.entitlement 1209 1210vm/app_swap: OTHER_LDFLAGS += -ldarwintest_utils 1211 1212CUSTOM_TARGETS += debug_syscall_rejection_helper 1213debug_syscall_rejection_helper: debug_syscall_rejection_helper.c 1214 $(CC) $(OTHER_CFLAGS) $(CFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) $< -o $(SYMROOT)/$@; \ 1215 echo $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; \ 1216 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/$@; 1217 1218 1219install-debug_syscall_rejection_helper: debug_syscall_rejection_helper 1220 mkdir -p $(INSTALLDIR) 1221 cp $(SYMROOT)/debug_syscall_rejection_helper $(INSTALLDIR)/ 1222 1223file_leases: OTHER_CFLAGS += test_utils.c 1224file_leases: OTHER_LDFLAGS += -ldarwintest_utils 1225file_leases: CODE_SIGN_ENTITLEMENTS = file_leases.entitlements 1226 1227INCLUDED_TEST_SOURCE_DIRS += vfs 1228vfs/freeable_vnodes: OTHER_LDFLAGS += -ldarwintest_utils 1229 1230vm/vm_reclaim: OTHER_CFLAGS += -Wno-language-extension-token -Wno-c++98-compat memorystatus_assertion_helpers.c 1231vm/vm_reclaim: OTHER_LDFLAGS += -ldarwintest_utils 1232 1233vm/vm_reclaim: INVALID_ARCHS = armv7k arm64_32 1234 1235DIAG_MEM_THRESHOLD_UTILS = vm/diag_threshold_test.c 1236EXCLUDED_SOURCES += $(DIAG_MEM_THRESHOLD_UTILS) 1237 1238vm/diag_threshold_test: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1239 1240vm/diag_threshold_test_double_limit: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1241vm/diag_threshold_test_double_limit: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1242vm/diag_threshold_test_double_limit: OTHER_CFLAGS += -l darwintest_utils 1243vm/diag_threshold_test_double_limit: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1244 1245vm/diag_threshold_test_simple: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1246vm/diag_threshold_test_simple: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1247vm/diag_threshold_test_simple: OTHER_CFLAGS += -l darwintest_utils 1248vm/diag_threshold_test_simple: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1249 1250vm/diag_threshold_test_enable_disable_threshold: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1251vm/diag_threshold_test_enable_disable_threshold: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1252vm/diag_threshold_test_enable_disable_threshold: OTHER_CFLAGS += -l darwintest_utils 1253vm/diag_threshold_test_enable_disable_threshold: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1254 1255vm/diag_threshold_test_no_limit_cross: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1256vm/diag_threshold_test_no_limit_cross: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1257vm/diag_threshold_test_no_limit_cross: OTHER_CFLAGS += -l darwintest_utils 1258vm/diag_threshold_test_no_limit_cross: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1259 1260vm/diag_threshold_test_no_retrigger: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1261vm/diag_threshold_test_no_retrigger: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1262vm/diag_threshold_test_no_retrigger: OTHER_CFLAGS += -l darwintest_utils 1263vm/diag_threshold_test_no_retrigger: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1264 1265vm/diag_threshold_test_with_low_watermark: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1266vm/diag_threshold_test_with_low_watermark: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1267vm/diag_threshold_test_with_low_watermark: OTHER_CFLAGS += -l darwintest_utils 1268vm/diag_threshold_test_with_low_watermark: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1269 1270vm/diag_threshold_test_with_high_watermark: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1271vm/diag_threshold_test_with_high_watermark: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1272vm/diag_threshold_test_with_high_watermark: OTHER_CFLAGS += -l darwintest_utils 1273vm/diag_threshold_test_with_high_watermark: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1274 1275vm/diag_threshold_test_watermark_and_threshold_same: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1276vm/diag_threshold_test_watermark_and_threshold_same: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1277vm/diag_threshold_test_watermark_and_threshold_same: OTHER_CFLAGS += -l darwintest_utils 1278vm/diag_threshold_test_watermark_and_threshold_same: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1279 1280vm/diag_threshold_test_limit_and_threshold_same: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1281vm/diag_threshold_test_limit_and_threshold_same: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1282vm/diag_threshold_test_limit_and_threshold_same: OTHER_CFLAGS += -l darwintest_utils 1283vm/diag_threshold_test_limit_and_threshold_same: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1284 1285vm/diag_threshold_test_logging: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1286vm/diag_threshold_test_logging: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1287vm/diag_threshold_test_logging: OTHER_CFLAGS += -l darwintest_utils 1288 1289vm/diag_threshold_test_large_limit: $(DIAG_MEM_THRESHOLD_UTILS) excserver 1290vm/diag_threshold_test_large_limit: OTHER_CFLAGS += $(OBJROOT)/excserver.c -I $(OBJROOT) 1291vm/diag_threshold_test_large_limit: OTHER_CFLAGS += -l darwintest_utils 1292vm/diag_threshold_test_large_limit: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1293 1294EXCLUDED_SOURCES += constrained_ctypes_tests.c 1295CUSTOM_TARGETS += constrained_ctypes_tests_enabled constrained_ctypes_tests_enacted constrained_ctypes_tests_disabled 1296constrained_ctypes_tests_enabled: OTHER_CFLAGS += -D__CCT_TEST_ENABLED 1297constrained_ctypes_tests_enabled: OTHER_LDFLAGS += -ldarwintest_utils 1298constrained_ctypes_tests_enabled: constrained_ctypes_tests.c 1299 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_enabled 1300 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_enabled; 1301 1302install-constrained_ctypes_tests_enabled: constrained_ctypes_tests_enabled 1303 mkdir -p $(INSTALLDIR) 1304 cp $(SYMROOT)/constrained_ctypes_tests_enabled $(INSTALLDIR)/ 1305 1306constrained_ctypes_tests_enacted: OTHER_CFLAGS += -D__CCT_TEST_ENABLED 1307constrained_ctypes_tests_enacted: OTHER_CFLAGS += -D__CCT_TEST_ENACTED 1308constrained_ctypes_tests_enacted: OTHER_CFLAGS += -fbounds-attributes 1309constrained_ctypes_tests_enacted: OTHER_LDFLAGS += -ldarwintest_utils 1310constrained_ctypes_tests_enacted: constrained_ctypes_tests.c 1311 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_enacted 1312 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_enacted; 1313 1314install-constrained_ctypes_tests_enacted: constrained_ctypes_tests_enacted 1315 mkdir -p $(INSTALLDIR) 1316 cp $(SYMROOT)/constrained_ctypes_tests_enacted $(INSTALLDIR)/ 1317 1318 1319constrained_ctypes_tests_disabled: OTHER_LDFLAGS += -ldarwintest_utils 1320constrained_ctypes_tests_disabled: constrained_ctypes_tests.c 1321 $(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) $(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) constrained_ctypes_tests.c -o $(SYMROOT)/constrained_ctypes_tests_disabled 1322 env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/constrained_ctypes_tests_disabled; 1323 1324install-constrained_ctypes_tests_disabled: constrained_ctypes_tests_disabled 1325 mkdir -p $(INSTALLDIR) 1326 cp $(SYMROOT)/constrained_ctypes_tests_disabled $(INSTALLDIR)/ 1327 1328task_suspend_stats: OTHER_LDFLAGS += -ldarwintest_utils 1329task_suspend_stats: CODE_SIGN_ENTITLEMENTS = task_for_pid_entitlement.plist 1330 1331# os_atomic use throws this warning 1332setitimer: OTHER_CFLAGS += -Wno-c++98-compat 1333 1334 1335include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.targets 1336 1337exception_ports_info: CODE_SIGN_ENTITLEMENTS = set_exception_port.entitlement 1338