######################################################################
#BEGIN Machine dependent Makefile fragment for arm64
######################################################################
CWARNFLAGS = $(CWARNFLAGS_STD) -Wshorten-64-to-32
# Files that must go in the __HIB segment:
UNCONFIGURED_HIB_FILES= \
hibernate_restore.o \
bcopy.o \
bzero.o \
cc_clear.o \
cc_dit.o \
ccdigest_init.o \
ccdigest_update.o \
ccdigest_final_64be.o \
cchmac.o \
cchmac_init.o \
cchmac_update.o \
cchmac_final.o \
ccsha256_K.o \
ccsha256_initial_state.o \
sha256_compress_arm64.o \
memset_s.o
HIB_FILES=$(filter $(UNCONFIGURED_HIB_FILES),$(OBJS))
define ADD_HIB_CFLAGS
# Unconfigured __HIB files must be Mach-O for "setsegname"
$(1)_CFLAGS_ADD += $(CFLAGS_NOLTO_FLAG)
# KASAN must be disabled for unconfigured __HIB files
# because the kasan runtime isn't available during hibernation resume
$(1)_CFLAGS_ADD += -fno-sanitize=address -UKASAN
# Stack protector and stack check must be disabled because the stack protector runtime isn't available
$(1)_CFLAGS_ADD += -fno-stack-protector -fno-stack-check
# Profiling information and code coverage must be disabled for __HIB files (see rdar://104951137)
$(1)_CFLAGS_ADD += -fno-profile-instr-generate -fno-coverage-mapping
endef
$(foreach FILE,$(UNCONFIGURED_HIB_FILES),$(eval $(call ADD_HIB_CFLAGS,$(FILE))))
lz4.o_CFLAGS_ADD += -fbuiltin -O3
vfp_state_test.o_CFLAGS_ADD += -mno-implicit-float
######################################################################
#END Machine dependent Makefile fragment for arm64
######################################################################