From: Josh Triplett <josh@joshtriplett.org>
Date: Mon, 23 Dec 2013 21:56:06 +0000 (-0800)
Subject: Makefile: Build with -Werror=date-time if the compiler supports it
X-Git-Tag: v3.14-rc1~40^2
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=fe7c36c7bde1;p=users%2Fwilly%2Flinux.git

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 <josh@joshtriplett.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
---

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)