Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: kbuild: make KBUILD_NOCMDDEP=1 handle empty built-in.o scripts/kallsyms.c: fix potential segfault scripts/gen_initramfs_list.sh: Convert to a /bin/sh script kbuild: Fix GNU make v3.80 compatibility kbuild: Fix passing -Wno-* options to gcc 4.4+ kbuild: move scripts/basic/docproc.c to scripts/docproc.c kbuild: Fix Makefile.asm-generic for um kbuild: Allow to combine multiple W= levels kbuild: Disable -Wunused-but-set-variable for gcc 4.6.0 Fix handling of backlash character in LINUX_COMPILE_BY name kbuild: asm-generic support kbuild: implement several W= levels kbuild: Fix build with binutils <= 2.19 initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros kbuild: Drop unused LINUX_COMPILE_TIME and LINUX_COMPILE_DOMAIN macros kbuild: Use the deterministic mode of ar kbuild: Call gzip with -n kbuild: move KALLSYMS_EXTRA_PASS from Kconfig to Makefile Kconfig: improve KALLSYMS_ALL documentation Fix up trivial conflict in Makefile
This commit is contained in:
@ -51,36 +51,52 @@ ifeq ($(KBUILD_NOPEDANTIC),)
|
||||
endif
|
||||
|
||||
#
|
||||
# make W=1 settings
|
||||
# make W=... settings
|
||||
#
|
||||
# $(call cc-option... ) handles gcc -W.. options which
|
||||
# W=1 - warnings that may be relevant and does not occur too often
|
||||
# W=2 - warnings that occur quite often but may still be relevant
|
||||
# W=3 - the more obscure warnings, can most likely be ignored
|
||||
#
|
||||
# $(call cc-option, -W...) handles gcc -W.. options which
|
||||
# are not supported by all versions of the compiler
|
||||
ifdef KBUILD_ENABLE_EXTRA_GCC_CHECKS
|
||||
KBUILD_EXTRA_WARNINGS := -Wextra
|
||||
KBUILD_EXTRA_WARNINGS += -Wunused -Wno-unused-parameter
|
||||
KBUILD_EXTRA_WARNINGS += -Waggregate-return
|
||||
KBUILD_EXTRA_WARNINGS += -Wbad-function-cast
|
||||
KBUILD_EXTRA_WARNINGS += -Wcast-qual
|
||||
KBUILD_EXTRA_WARNINGS += -Wcast-align
|
||||
KBUILD_EXTRA_WARNINGS += -Wconversion
|
||||
KBUILD_EXTRA_WARNINGS += -Wdisabled-optimization
|
||||
KBUILD_EXTRA_WARNINGS += -Wlogical-op
|
||||
KBUILD_EXTRA_WARNINGS += -Wmissing-declarations
|
||||
KBUILD_EXTRA_WARNINGS += -Wmissing-format-attribute
|
||||
KBUILD_EXTRA_WARNINGS += $(call cc-option, -Wmissing-include-dirs,)
|
||||
KBUILD_EXTRA_WARNINGS += -Wmissing-prototypes
|
||||
KBUILD_EXTRA_WARNINGS += -Wnested-externs
|
||||
KBUILD_EXTRA_WARNINGS += -Wold-style-definition
|
||||
KBUILD_EXTRA_WARNINGS += $(call cc-option, -Woverlength-strings,)
|
||||
KBUILD_EXTRA_WARNINGS += -Wpacked
|
||||
KBUILD_EXTRA_WARNINGS += -Wpacked-bitfield-compat
|
||||
KBUILD_EXTRA_WARNINGS += -Wpadded
|
||||
KBUILD_EXTRA_WARNINGS += -Wpointer-arith
|
||||
KBUILD_EXTRA_WARNINGS += -Wredundant-decls
|
||||
KBUILD_EXTRA_WARNINGS += -Wshadow
|
||||
KBUILD_EXTRA_WARNINGS += -Wswitch-default
|
||||
KBUILD_EXTRA_WARNINGS += $(call cc-option, -Wvla,)
|
||||
KBUILD_CFLAGS += $(KBUILD_EXTRA_WARNINGS)
|
||||
warning- := $(empty)
|
||||
|
||||
warning-1 := -Wextra -Wunused -Wno-unused-parameter
|
||||
warning-1 += -Wmissing-declarations
|
||||
warning-1 += -Wmissing-format-attribute
|
||||
warning-1 += -Wmissing-prototypes
|
||||
warning-1 += -Wold-style-definition
|
||||
warning-1 += $(call cc-option, -Wmissing-include-dirs)
|
||||
warning-1 += $(call cc-option, -Wunused-but-set-variable)
|
||||
|
||||
warning-2 := -Waggregate-return
|
||||
warning-2 += -Wcast-align
|
||||
warning-2 += -Wdisabled-optimization
|
||||
warning-2 += -Wnested-externs
|
||||
warning-2 += -Wshadow
|
||||
warning-2 += $(call cc-option, -Wlogical-op)
|
||||
|
||||
warning-3 := -Wbad-function-cast
|
||||
warning-3 += -Wcast-qual
|
||||
warning-3 += -Wconversion
|
||||
warning-3 += -Wpacked
|
||||
warning-3 += -Wpadded
|
||||
warning-3 += -Wpointer-arith
|
||||
warning-3 += -Wredundant-decls
|
||||
warning-3 += -Wswitch-default
|
||||
warning-3 += $(call cc-option, -Wpacked-bitfield-compat)
|
||||
warning-3 += $(call cc-option, -Wvla)
|
||||
|
||||
warning := $(warning-$(findstring 1, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS)))
|
||||
warning += $(warning-$(findstring 2, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS)))
|
||||
warning += $(warning-$(findstring 3, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS)))
|
||||
|
||||
ifeq ("$(strip $(warning))","")
|
||||
$(error W=$(KBUILD_ENABLE_EXTRA_GCC_CHECKS) is unknown)
|
||||
endif
|
||||
|
||||
KBUILD_CFLAGS += $(warning)
|
||||
endif
|
||||
|
||||
include scripts/Makefile.lib
|
||||
@ -351,7 +367,7 @@ quiet_cmd_link_o_target = LD $@
|
||||
cmd_link_o_target = $(if $(strip $(obj-y)),\
|
||||
$(LD) $(ld_flags) -r -o $@ $(filter $(obj-y), $^) \
|
||||
$(cmd_secanalysis),\
|
||||
rm -f $@; $(AR) rcs $@)
|
||||
rm -f $@; $(AR) rcs$(KBUILD_ARFLAGS) $@)
|
||||
|
||||
$(builtin-target): $(obj-y) FORCE
|
||||
$(call if_changed,link_o_target)
|
||||
@ -377,7 +393,7 @@ $(modorder-target): $(subdir-ym) FORCE
|
||||
#
|
||||
ifdef lib-target
|
||||
quiet_cmd_link_l_target = AR $@
|
||||
cmd_link_l_target = rm -f $@; $(AR) rcs $@ $(lib-y)
|
||||
cmd_link_l_target = rm -f $@; $(AR) rcs$(KBUILD_ARFLAGS) $@ $(lib-y)
|
||||
|
||||
$(lib-target): $(lib-y) FORCE
|
||||
$(call if_changed,link_l_target)
|
||||
|
Reference in New Issue
Block a user