
With this option enabled each compilation creates the exact same binary. There are no timestamps, with which a U-Boot binary can be identified.
This option is disabled by default.
Signed-off-by: Heiko Schocher hs@denx.de ---
Kconfig | 9 +++++++++ Makefile | 8 ++++++++ 2 files changed, 17 insertions(+)
diff --git a/Kconfig b/Kconfig index 15e15af..c0c7eb8 100644 --- a/Kconfig +++ b/Kconfig @@ -81,6 +81,15 @@ menuconfig EXPERT Only use this if you really know what you are doing.
if EXPERT + config SYS_EXACT_BINARY + bool "Create time and date independent binary" + default n + help + With this option enabled each compilation creates the exact + same binary. There are no timestamps, with which a U-Boot + binary can be identified. + This option is disabled by default. + config SYS_MALLOC_CLEAR_ON_INIT bool "Init with zeros the memory reserved for malloc (slow)" default y diff --git a/Makefile b/Makefile index 0a674bf..4ae2701 100644 --- a/Makefile +++ b/Makefile @@ -1230,11 +1230,19 @@ define filechk_version.h echo #define LD_VERSION_STRING "$$($(LD) --version | head -n 1)"; ) endef
+ifeq ($(CONFIG_SYS_EXACT_BINARY),y) +define filechk_timestamp.h + (LC_ALL=C date +'#define U_BOOT_DATE "NODATE"'; \ + LC_ALL=C date +'#define U_BOOT_TIME "NOTIME"'; \ + LC_ALL=C date +'#define U_BOOT_TZ "NOTZ"') +endef +else define filechk_timestamp.h (LC_ALL=C date +'#define U_BOOT_DATE "%b %d %C%y"'; \ LC_ALL=C date +'#define U_BOOT_TIME "%T"'; \ LC_ALL=C date +'#define U_BOOT_TZ "%z"') endef +endif
$(version_h): include/config/uboot.release FORCE $(call filechk,version.h)