kbuild: fix UML build error with CONFIG_GCC_PLUGINS
UML fails to build with CONFIG_GCC_PLUGINS=y.
$ make -s ARCH=um mrproper
$ make -s ARCH=um allmodconfig
$ make ARCH=um
UPD include/generated/uapi/linux/version.h
WRAP arch/x86/include/generated/uapi/asm/bpf_perf_event.h
WRAP arch/x86/include/generated/uapi/asm/poll.h
WRAP arch/x86/include/generated/asm/dma-contiguous.h
WRAP arch/x86/include/generated/asm/early_ioremap.h
WRAP arch/x86/include/generated/asm/export.h
WRAP arch/x86/include/generated/asm/mcs_spinlock.h
WRAP arch/x86/include/generated/asm/mm-arch-hooks.h
SYSTBL arch/x86/include/generated/asm/syscalls_32.h
SYSHDR arch/x86/include/generated/asm/unistd_32_ia32.h
SYSHDR arch/x86/include/generated/asm/unistd_64_x32.h
SYSTBL arch/x86/include/generated/asm/syscalls_64.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h
HOSTCC scripts/unifdef
CC arch/x86/um/user-offsets.s
cc1: error: cannot load plugin ./scripts/gcc-plugins/cyc_complexity_plugin.so
./scripts/gcc-plugins/cyc_complexity_plugin.so: cannot open shared object file: No such file or directory
cc1: error: cannot load plugin ./scripts/gcc-plugins/structleak_plugin.so
./scripts/gcc-plugins/structleak_plugin.so: cannot open shared object file: No such file or directory
cc1: error: cannot load plugin ./scripts/gcc-plugins/latent_entropy_plugin.so
./scripts/gcc-plugins/latent_entropy_plugin.so: cannot open shared object file: No such file or directory
cc1: error: cannot load plugin ./scripts/gcc-plugins/randomize_layout_plugin.so
./scripts/gcc-plugins/randomize_layout_plugin.so: cannot open shared object file: No such file or directory
make[1]: *** [scripts/Makefile.build;119: arch/x86/um/user-offsets.s] Error 1
make: *** [arch/um/Makefile;152: arch/x86/um/user-offsets.s] Error 2
Reorder the preparation stage (with cleanups) to make sure gcc-plugins
is built before descending to arch/x86/um/.
Fixes: 6b90bd4ba4
("GCC plugin infrastructure")
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
Родитель
3b41528803
Коммит
65bba0423e
4
Makefile
4
Makefile
|
@ -1110,9 +1110,9 @@ prepare1: prepare2 $(version_h) $(autoksyms_h) include/generated/utsrelease.h
|
|||
|
||||
macroprepare: prepare1 archmacros
|
||||
|
||||
archprepare: archheaders archscripts macroprepare scripts_basic
|
||||
archprepare: archheaders archscripts macroprepare scripts_basic gcc-plugins
|
||||
|
||||
prepare0: archprepare gcc-plugins
|
||||
prepare0: archprepare
|
||||
$(Q)$(MAKE) $(build)=.
|
||||
|
||||
# All the preparing..
|
||||
|
|
|
@ -116,7 +116,8 @@ endef
|
|||
archheaders:
|
||||
$(Q)$(MAKE) -f $(srctree)/Makefile ARCH=$(HEADER_ARCH) asm-generic archheaders
|
||||
|
||||
archprepare: include/generated/user_constants.h
|
||||
archprepare:
|
||||
$(Q)$(MAKE) $(build)=$(HOST_DIR)/um include/generated/user_constants.h
|
||||
|
||||
LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static
|
||||
LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib $(call cc-option, -no-pie)
|
||||
|
@ -146,25 +147,4 @@ archclean:
|
|||
@find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \
|
||||
-o -name '*.gcov' \) -type f -print | xargs rm -f
|
||||
|
||||
# Generated files
|
||||
|
||||
$(HOST_DIR)/um/user-offsets.s: __headers FORCE
|
||||
$(Q)$(MAKE) $(build)=$(HOST_DIR)/um $@
|
||||
|
||||
define filechk_gen-asm-offsets
|
||||
(set -e; \
|
||||
echo "/*"; \
|
||||
echo " * DO NOT MODIFY."; \
|
||||
echo " *"; \
|
||||
echo " * This file was generated by arch/$(ARCH)/Makefile"; \
|
||||
echo " *"; \
|
||||
echo " */"; \
|
||||
echo ""; \
|
||||
sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}" < $<; \
|
||||
echo ""; )
|
||||
endef
|
||||
|
||||
include/generated/user_constants.h: $(HOST_DIR)/um/user-offsets.s
|
||||
$(call filechk,gen-asm-offsets)
|
||||
|
||||
export HEADER_ARCH SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS DEV_NULL_PATH
|
||||
|
|
|
@ -36,10 +36,12 @@ subarch-$(CONFIG_MODULES) += ../kernel/module.o
|
|||
|
||||
USER_OBJS := bugs_$(BITS).o ptrace_user.o fault.o
|
||||
|
||||
extra-y += user-offsets.s
|
||||
$(obj)/user-offsets.s: c_flags = -Wp,-MD,$(depfile) $(USER_CFLAGS) \
|
||||
-Iarch/x86/include/generated
|
||||
|
||||
include/generated/user_constants.h: $(obj)/user-offsets.s
|
||||
$(call filechk,offsets,__USER_CONSTANT_H__)
|
||||
|
||||
UNPROFILE_OBJS := stub_segv.o
|
||||
CFLAGS_stub_segv.o := $(CFLAGS_NO_HARDENING)
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче