Merge tag 'kbuild-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild updates from Masahiro Yamada: - add modpost warn exported symbols marked as 'static' because 'static' and EXPORT_SYMBOL is an odd combination - break the build early if gold linker is used - optimize the Bison rule to produce .c and .h files by a single pattern rule - handle PREEMPT_RT in the module vermagic and UTS_VERSION - warn CONFIG options leaked to the user-space except existing ones - make single targets work properly - rebuild modules when module linker scripts are updated - split the module final link stage into scripts/Makefile.modfinal - fix the missed error code in merge_config.sh - improve the error message displayed on the attempt of the O= build in unclean source tree - remove 'clean-dirs' syntax - disable -Wimplicit-fallthrough warning for Clang - add CONFIG_CC_OPTIMIZE_FOR_SIZE_O3 for ARC - remove ARCH_{CPP,A,C}FLAGS variables - add $(BASH) to run bash scripts - change *CFLAGS_<basetarget>.o to take the relative path to $(obj) instead of the basename - stop suppressing Clang's -Wunused-function warnings when W=1 - fix linux/export.h to avoid genksyms calculating CRC of trimmed exported symbols - misc cleanups * tag 'kbuild-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (63 commits) genksyms: convert to SPDX License Identifier for lex.l and parse.y modpost: use __section in the output to *.mod.c modpost: use MODULE_INFO() for __module_depends export.h, genksyms: do not make genksyms calculate CRC of trimmed symbols export.h: remove defined(__KERNEL__), which is no longer needed kbuild: allow Clang to find unused static inline functions for W=1 build kbuild: rename KBUILD_ENABLE_EXTRA_GCC_CHECKS to KBUILD_EXTRA_WARN kbuild: refactor scripts/Makefile.extrawarn merge_config.sh: ignore unwanted grep errors kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj) modpost: add NOFAIL to strndup modpost: add guid_t type definition kbuild: add $(BASH) to run scripts with bash-extension kbuild: remove ARCH_{CPP,A,C}FLAGS kbuild,arc: add CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 for ARC kbuild: Do not enable -Wimplicit-fallthrough for clang for now kbuild: clean up subdir-ymn calculation in Makefile.clean kbuild: remove unneeded '+' marker from cmd_clean kbuild: remove clean-dirs syntax kbuild: check clean srctree even earlier ...
This commit is contained in:
26
init/Kconfig
26
init/Kconfig
@@ -1234,20 +1234,26 @@ choice
|
||||
default CC_OPTIMIZE_FOR_PERFORMANCE
|
||||
|
||||
config CC_OPTIMIZE_FOR_PERFORMANCE
|
||||
bool "Optimize for performance"
|
||||
bool "Optimize for performance (-O2)"
|
||||
help
|
||||
This is the default optimization level for the kernel, building
|
||||
with the "-O2" compiler flag for best performance and most
|
||||
helpful compile-time warnings.
|
||||
|
||||
config CC_OPTIMIZE_FOR_SIZE
|
||||
bool "Optimize for size"
|
||||
config CC_OPTIMIZE_FOR_PERFORMANCE_O3
|
||||
bool "Optimize more for performance (-O3)"
|
||||
depends on ARC
|
||||
imply CC_DISABLE_WARN_MAYBE_UNINITIALIZED # avoid false positives
|
||||
help
|
||||
Enabling this option will pass "-Os" instead of "-O2" to
|
||||
your compiler resulting in a smaller kernel.
|
||||
Choosing this option will pass "-O3" to your compiler to optimize
|
||||
the kernel yet more for performance.
|
||||
|
||||
If unsure, say N.
|
||||
config CC_OPTIMIZE_FOR_SIZE
|
||||
bool "Optimize for size (-Os)"
|
||||
imply CC_DISABLE_WARN_MAYBE_UNINITIALIZED # avoid false positives
|
||||
help
|
||||
Choosing this option will pass "-Os" to your compiler resulting
|
||||
in a smaller kernel.
|
||||
|
||||
endchoice
|
||||
|
||||
@@ -2014,6 +2020,14 @@ config MODVERSIONS
|
||||
make them incompatible with the kernel you are running. If
|
||||
unsure, say N.
|
||||
|
||||
config ASM_MODVERSIONS
|
||||
bool
|
||||
default HAVE_ASM_MODVERSIONS && MODVERSIONS
|
||||
help
|
||||
This enables module versioning for exported symbols also from
|
||||
assembly. This can be enabled only when the target architecture
|
||||
supports it.
|
||||
|
||||
config MODULE_REL_CRCS
|
||||
bool
|
||||
depends on MODVERSIONS
|
||||
|
@@ -33,5 +33,6 @@ $(obj)/version.o: include/generated/compile.h
|
||||
silent_chk_compile.h = :
|
||||
include/generated/compile.h: FORCE
|
||||
@$($(quiet)chk_compile.h)
|
||||
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \
|
||||
"$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" "$(CC) $(KBUILD_CFLAGS)"
|
||||
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \
|
||||
"$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" \
|
||||
"$(CONFIG_PREEMPT_RT)" "$(CC) $(KBUILD_CFLAGS)"
|
||||
|
Verwijs in nieuw issue
Block a user