xref: /xnu-11215.41.3/osfmk/conf/Makefile.arm64 (revision 33de042d024d46de5ff4e89f2471de6608e37fa4)
1######################################################################
2#BEGIN	Machine dependent Makefile fragment for arm64
3######################################################################
4
5CWARNFLAGS = $(CWARNFLAGS_STD) -Wshorten-64-to-32
6
7# Files that must go in the __HIB segment:
8UNCONFIGURED_HIB_FILES=					\
9           hibernate_restore.o          \
10           bcopy.o			\
11           bzero.o			\
12           cc_clear.o			\
13           cc_dit.o			\
14           ccdigest_init.o		\
15           ccdigest_update.o		\
16           ccdigest_final_64be.o	\
17           cchmac.o			\
18           cchmac_init.o		\
19           cchmac_update.o		\
20           cchmac_final.o		\
21           ccsha256_K.o			\
22           ccsha256_initial_state.o	\
23           sha256_compress_arm64.o	\
24           memset_s.o
25
26
27HIB_FILES=$(filter $(UNCONFIGURED_HIB_FILES),$(OBJS))
28
29define ADD_HIB_CFLAGS
30# Unconfigured __HIB files must be Mach-O for "setsegname"
31$(1)_CFLAGS_ADD += $(CFLAGS_NOLTO_FLAG)
32# KASAN must be disabled for unconfigured __HIB files
33# because the kasan runtime isn't available during hibernation resume
34$(1)_CFLAGS_ADD += -fno-sanitize=address -UKASAN
35# Stack protector and stack check must be disabled because the stack protector runtime isn't available
36$(1)_CFLAGS_ADD += -fno-stack-protector -fno-stack-check
37# Profiling information and code coverage must be disabled for __HIB files (see rdar://104951137)
38$(1)_CFLAGS_ADD += -fno-profile-instr-generate -fno-coverage-mapping
39endef
40
41$(foreach FILE,$(UNCONFIGURED_HIB_FILES),$(eval $(call ADD_HIB_CFLAGS,$(FILE))))
42
43lz4.o_CFLAGS_ADD += -fbuiltin -O3
44vfp_state_test.o_CFLAGS_ADD += -mno-implicit-float
45
46
47######################################################################
48#END	Machine dependent Makefile fragment for arm64
49######################################################################
50