1 OBJECT_FILES_NON_STANDARD
:= y
3 purgatory-y
:= purgatory.o stack.o setup-x86_
$(BITS
).o sha256.o entry64.o string.o
5 targets
+= $(purgatory-y
)
6 PURGATORY_OBJS
= $(addprefix $(obj
)/,$(purgatory-y
))
8 LDFLAGS_purgatory.ro
:= -e purgatory_start
-r
--no-undefined
-nostdlib
-z nodefaultlib
9 targets
+= purgatory.ro
11 # Default KBUILD_CFLAGS can have -pg option set when FTRACE is enabled. That
12 # in turn leaves some undefined symbols like __fentry__ in purgatory and not
13 # sure how to relocate those. Like kexec-tools, use custom flags.
15 KBUILD_CFLAGS
:= -fno-strict-aliasing
-Wall
-Wstrict-prototypes
-fno-zero-initialized-in-bss
-fno-builtin
-ffreestanding
-c
-MD
-Os
-mcmodel
=large
16 KBUILD_CFLAGS
+= -m
$(BITS
)
18 $(obj
)/purgatory.ro
: $(PURGATORY_OBJS
) FORCE
21 targets
+= kexec-purgatory.c
23 CMD_BIN2C
= $(objtree
)/scripts
/basic
/bin2c
24 quiet_cmd_bin2c
= BIN2C
$@
25 cmd_bin2c
= $(CMD_BIN2C
) kexec_purgatory
< $< > $@
27 $(obj
)/kexec-purgatory.c
: $(obj
)/purgatory.ro FORCE
28 $(call if_changed
,bin2c
)
32 obj-
$(CONFIG_KEXEC_FILE
) += kexec-purgatory.o