mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 08:01:59 +00:00
d23dddf86a
With CONFIG_LTO_CLANG, clang generates LLVM IR instead of ELF object files. As empty.o is used for probing target properties, disable LTO for it to produce an object file instead. Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20201211184633.3213045-12-samitolvanen@google.com
29 lines
861 B
Makefile
29 lines
861 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
OBJECT_FILES_NON_STANDARD := y
|
|
CFLAGS_REMOVE_empty.o += $(CC_FLAGS_LTO)
|
|
|
|
hostprogs-always-y += modpost mk_elfconfig
|
|
always-y += empty.o
|
|
|
|
modpost-objs := modpost.o file2alias.o sumversion.o
|
|
|
|
devicetable-offsets-file := devicetable-offsets.h
|
|
|
|
$(obj)/$(devicetable-offsets-file): $(obj)/devicetable-offsets.s FORCE
|
|
$(call filechk,offsets,__DEVICETABLE_OFFSETS_H__)
|
|
|
|
targets += $(devicetable-offsets-file) devicetable-offsets.s
|
|
|
|
# dependencies on generated files need to be listed explicitly
|
|
|
|
$(obj)/modpost.o $(obj)/file2alias.o $(obj)/sumversion.o: $(obj)/elfconfig.h
|
|
$(obj)/file2alias.o: $(obj)/$(devicetable-offsets-file)
|
|
|
|
quiet_cmd_elfconfig = MKELF $@
|
|
cmd_elfconfig = $(obj)/mk_elfconfig < $< > $@
|
|
|
|
$(obj)/elfconfig.h: $(obj)/empty.o $(obj)/mk_elfconfig FORCE
|
|
$(call if_changed,elfconfig)
|
|
|
|
targets += elfconfig.h
|