[U-Boot] [PATCH v2 5/5] kbuild: build with -Werror=date-time if the compiler supports it
Masahiro Yamada
yamada.m at jp.panasonic.com
Fri Apr 18 12:09:51 CEST 2014
Using __DATE__, __TIME__ would make the build non-deterministic.
If the code needs to refer to build date/time, use U_BOOT_DATE and
U_BOOT_TIME in include/generated/timestamp_autogenerated.h instead.
This commit has been imported from Linux Kernel,
which should be applied to U-Boot too:
commit fe7c36c7bde12190341722af69358e42171162f3
Author: Josh Triplett <josh at joshtriplett.org>
Date: Mon Dec 23 13:56:06 2013 -0800
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 at joshtriplett.org>
Signed-off-by: Michal Marek <mmarek at suse.cz>
Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
---
Changes in v2:
- Add signed-off of the original author.
Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Makefile b/Makefile
index 0191869..09a370f 100644
--- a/Makefile
+++ b/Makefile
@@ -578,6 +578,9 @@ KBUILD_AFLAGS += -Wa,-gstabs,-S
endif
endif
+# Prohibit date/time macros, which would make the build non-deterministic
+KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
+
ifneq ($(CONFIG_SYS_TEXT_BASE),)
KBUILD_CPPFLAGS += -DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE)
endif
--
1.8.3.2
More information about the U-Boot
mailing list