Makefile: Build with -Werror=date-time if the compiler supports it
authorJosh Triplett <josh@joshtriplett.org>
Mon, 23 Dec 2013 21:56:06 +0000 (13:56 -0800)
committerMichal Marek <mmarek@suse.cz>
Mon, 27 Jan 2014 22:14:13 +0000 (23:14 +0100)
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>
Makefile

index 455fd484b20edb92a0c916c1be3cc7adffc6cfa4..731e3ce5b9ab5cd985372887def92fd120a175af 100644 (file)
--- 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)