Merge tag 'gpio-fixes-for-v5.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / arch / s390 / purgatory / Makefile
CommitLineData
840798a1
PR
1# SPDX-License-Identifier: GPL-2.0
2
3OBJECT_FILES_NON_STANDARD := y
4
5purgatory-y := head.o purgatory.o string.o sha256.o mem.o
6
cd92ac25 7targets += $(purgatory-y) purgatory.lds purgatory purgatory.chk purgatory.ro
840798a1
PR
8PURGATORY_OBJS = $(addprefix $(obj)/,$(purgatory-y))
9
ad767ee8 10$(obj)/sha256.o: $(srctree)/lib/crypto/sha256.c FORCE
840798a1
PR
11 $(call if_changed_rule,cc_o_c)
12
01d3aee8
HG
13CFLAGS_sha256.o := -D__DISABLE_EXPORTS
14
c315e693 15$(obj)/mem.o: $(srctree)/arch/s390/lib/mem.S FORCE
840798a1
PR
16 $(call if_changed_rule,as_o_S)
17
c23587c9
CB
18KCOV_INSTRUMENT := n
19GCOV_PROFILE := n
20UBSAN_SANITIZE := n
21KASAN_SANITIZE := n
e37b3dd0 22KCSAN_SANITIZE := n
840798a1 23
840798a1
PR
24KBUILD_CFLAGS := -fno-strict-aliasing -Wall -Wstrict-prototypes
25KBUILD_CFLAGS += -Wno-pointer-sign -Wno-sign-compare
26KBUILD_CFLAGS += -fno-zero-initialized-in-bss -fno-builtin -ffreestanding
287d6070 27KBUILD_CFLAGS += -c -MD -Os -m64 -msoft-float -fno-common
42e8d652 28KBUILD_CFLAGS += -fno-stack-protector
96fb54a1 29KBUILD_CFLAGS += $(CLANG_FLAGS)
840798a1 30KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
ad03b821 31KBUILD_AFLAGS := $(filter-out -DCC_USING_EXPOLINE,$(KBUILD_AFLAGS))
840798a1 32
cd92ac25
HG
33# Since we link purgatory with -r unresolved symbols are not checked, so we
34# also link a purgatory.chk binary without -r to check for unresolved symbols.
35PURGATORY_LDFLAGS := -nostdlib -z nodefaultlib
36LDFLAGS_purgatory := -r $(PURGATORY_LDFLAGS) -T
37LDFLAGS_purgatory.chk := -e purgatory_start $(PURGATORY_LDFLAGS)
61f3f8fc 38$(obj)/purgatory: $(obj)/purgatory.lds $(PURGATORY_OBJS) FORCE
840798a1
PR
39 $(call if_changed,ld)
40
cd92ac25
HG
41$(obj)/purgatory.chk: $(obj)/purgatory FORCE
42 $(call if_changed,ld)
43
61f3f8fc
PR
44OBJCOPYFLAGS_purgatory.ro := -O elf64-s390
45OBJCOPYFLAGS_purgatory.ro += --remove-section='*debug*'
46OBJCOPYFLAGS_purgatory.ro += --remove-section='.comment'
47OBJCOPYFLAGS_purgatory.ro += --remove-section='.note.*'
cd92ac25 48$(obj)/purgatory.ro: $(obj)/purgatory $(obj)/purgatory.chk FORCE
61f3f8fc
PR
49 $(call if_changed,objcopy)
50
20159e28 51$(obj)/kexec-purgatory.o: $(obj)/purgatory.ro
840798a1 52
b9a56c11 53obj-y += kexec-purgatory.o