Commit | Line | Data |
---|---|---|
aacd149b AB |
1 | # SPDX-License-Identifier: GPL-2.0 |
2 | # Copyright 2022 Google LLC | |
3 | ||
4 | KBUILD_CFLAGS := $(subst $(CC_FLAGS_FTRACE),,$(KBUILD_CFLAGS)) -fpie \ | |
5 | -Os -DDISABLE_BRANCH_PROFILING $(DISABLE_STACKLEAK_PLUGIN) \ | |
3dfdc275 | 6 | $(DISABLE_LATENT_ENTROPY_PLUGIN) \ |
aacd149b AB |
7 | $(call cc-option,-mbranch-protection=none) \ |
8 | -I$(srctree)/scripts/dtc/libfdt -fno-stack-protector \ | |
9 | -include $(srctree)/include/linux/hidden.h \ | |
10 | -D__DISABLE_EXPORTS -ffreestanding -D__NO_FORTIFY \ | |
68c76ad4 | 11 | -fno-asynchronous-unwind-tables -fno-unwind-tables \ |
aacd149b AB |
12 | $(call cc-option,-fno-addrsig) |
13 | ||
14 | # remove SCS flags from all objects in this directory | |
15 | KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_SCS), $(KBUILD_CFLAGS)) | |
16 | # disable LTO | |
17 | KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_LTO), $(KBUILD_CFLAGS)) | |
18 | ||
19 | GCOV_PROFILE := n | |
20 | KASAN_SANITIZE := n | |
21 | KCSAN_SANITIZE := n | |
22 | UBSAN_SANITIZE := n | |
23 | KCOV_INSTRUMENT := n | |
24 | ||
48157aa3 AB |
25 | hostprogs := relacheck |
26 | ||
27 | quiet_cmd_piobjcopy = $(quiet_cmd_objcopy) | |
28 | cmd_piobjcopy = $(cmd_objcopy) && $(obj)/relacheck $(@) $(<) | |
29 | ||
aacd149b AB |
30 | $(obj)/%.pi.o: OBJCOPYFLAGS := --prefix-symbols=__pi_ \ |
31 | --remove-section=.note.gnu.property \ | |
32 | --prefix-alloc-sections=.init | |
48157aa3 AB |
33 | $(obj)/%.pi.o: $(obj)/%.o $(obj)/relacheck FORCE |
34 | $(call if_changed,piobjcopy) | |
aacd149b AB |
35 | |
36 | $(obj)/lib-%.o: $(srctree)/lib/%.c FORCE | |
37 | $(call if_changed_rule,cc_o_c) | |
38 | ||
39 | obj-y := kaslr_early.pi.o lib-fdt.pi.o lib-fdt_ro.pi.o | |
40 | extra-y := $(patsubst %.pi.o,%.o,$(obj-y)) |