purgatory-y:= purgatory.o stack.o setup-x86_$(BITS).o sha256.o entry64.o string.otargets+=$(purgatory-y)PURGATORY_OBJS=$(addprefix $(obj)/,$(purgatory-y))LDFLAGS_purgatory.ro:=-e purgatory_start -r--no-undefined-nostdlib-z nodefaultlibtargets+= purgatory.ro# Default KBUILD_CFLAGS can have -pg option set when FTRACE is enabled. That# in turn leaves some undefined symbols like __fentry__ in purgatory and not# sure how to relocate those. Like kexec-tools, use custom flags.KBUILD_CFLAGS:=-fno-strict-aliasing-Wall-Wstrict-prototypes-fno-zero-initialized-in-bss-fno-builtin-ffreestanding-c-MD-Os-mcmodel=largeKBUILD_CFLAGS+=-m$(BITS)KBUILD_CFLAGS+=$(call cc-option,-fno-PIE)$(obj)/purgatory.ro:$(PURGATORY_OBJS) FORCE$(call if_changed,ld)targets+= kexec-purgatory.cCMD_BIN2C=$(objtree)/scripts/basic/bin2cquiet_cmd_bin2c= BIN2C $@cmd_bin2c=$(CMD_BIN2C) kexec_purgatory < $<>$@$(obj)/kexec-purgatory.c:$(obj)/purgatory.ro FORCE$(call if_changed,bin2c)@:obj-$(CONFIG_KEXEC_FILE)+=kexec-purgatory.o