From e36aaea28972c57a32a3ba5365e61633739719b9 Mon Sep 17 00:00:00 2001 From: Emil Medve Date: Mon, 6 Jan 2014 02:58:40 -0600 Subject: kbuild: Fix silent builds with make-4 make-4 changed the way/order it presents the command line options into MAKEFLAGS In make-3.8x, '-s' would always be first into a group of options with the '-'/hyphen removed $ make -p -s 2>/dev/null | grep ^MAKEFLAGS MAKEFLAGS = sp In make-4, '-s' seems to always be last into a group of options with the '-'/hyphen removed $ make -s -p 2>/dev/null | grep ^MAKEFLAGS MAKEFLAGS = ps Signed-off-by: Emil Medve Signed-off-by: Michal Marek --- Makefile | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index c0c2d58e3998..685f1bd93281 100644 --- a/Makefile +++ b/Makefile @@ -311,9 +311,15 @@ endif # If the user is running make -s (silent mode), suppress echoing of # commands +ifneq ($(filter 4.%,$(MAKE_VERSION)),) # make-4 +ifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),) + quiet=silent_ +endif +else # make-3.8x ifneq ($(filter s% -s%,$(MAKEFLAGS)),) quiet=silent_ endif +endif export quiet Q KBUILD_VERBOSE -- cgit v1.2.3 From 7db436325db821b400328563ed693b09f8c4c46c Mon Sep 17 00:00:00 2001 From: Geoff Levand Date: Wed, 11 Dec 2013 23:34:40 +0000 Subject: kbuild: Fix debugging info generation for .S files Change the debuging info generation flag in KBUILD_AFLAGS from '-gdwarf-2' to '-Wa,--gdwarf-2'. This will properly generate the debugging info for .S files when CONFIG_DEBUG_INFO=y. It seems current gcc does not pass a '--gdwarf-2' option on to the assembler when '-gdwarf-2' is on its command line (note the differece in the gcc and as flags). This change provides the correct assembler flag to gcc, and so does not rely on gcc to emit a flag for the assembler. Signed-off-by: Geoff Levand for Huawei, Linaro Signed-off-by: Michal Marek --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 685f1bd93281..98becb20a79d 100644 --- a/Makefile +++ b/Makefile @@ -625,7 +625,7 @@ endif ifdef CONFIG_DEBUG_INFO KBUILD_CFLAGS += -g -KBUILD_AFLAGS += -gdwarf-2 +KBUILD_AFLAGS += -Wa,--gdwarf-2 endif ifdef CONFIG_DEBUG_INFO_REDUCED -- cgit v1.2.3 From fe7c36c7bde12190341722af69358e42171162f3 Mon Sep 17 00:00:00 2001 From: Josh Triplett Date: Mon, 23 Dec 2013 13:56:06 -0800 Subject: Makefile: Build with -Werror=date-time if the compiler supports it GCC 4.9 and newer have a new warning -Wdate-time, which warns on any use of __DATE__, __TIME__, or __TIMESTAMP__, which would make the build non-deterministic. Now that the kernel does not use any of those macros, turn on -Werror=date-time if available, to keep it that way. The kernel already (optionally) records this information at build time in a single place; other kernel code should not duplicate that. Signed-off-by: Josh Triplett Signed-off-by: Michal Marek --- Makefile | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 455fd484b20e..731e3ce5b9ab 100644 --- a/Makefile +++ b/Makefile @@ -682,6 +682,9 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=implicit-int) # require functions to have arguments in prototypes, not empty 'int foo()' KBUILD_CFLAGS += $(call cc-option,-Werror=strict-prototypes) +# Prohibit date/time macros, which would make the build non-deterministic +KBUILD_CFLAGS += $(call cc-option,-Werror=date-time) + # use the deterministic mode of AR if available KBUILD_ARFLAGS := $(call ar-option,D) -- cgit v1.2.3