[PATCH] Documentation/kbuild: fix empty string KBUILD_BUILD_TIMESTAMP
#UpdatedFrom:Daniel Gomez <da.gomez@kernel.org>
Date:
Message-ID:<20260310-fix-llvm-docs-v1-1-234878874762@samsung.com>
Patch:v1 · 1/1
Language:zh_CN
Patch-ID:6b30b7b4679fe2228d0f177728d25d124d2b0bfe
Files:
Documentation/kbuild/llvm.rstDocumentation/translations/zh_CN/kbuild/llvm.rstLinks:lore message ↗ · raw mail ↗
Patch content 2 changed files
From: Daniel Gomez <da.gomez@samsung.com> The ccache example in llvm.rst uses KBUILD_BUILD_TIMESTAMP='' but thetext says "should be set to a deterministic value". An empty string isnot deterministic because init/Makefile uses $(or) which treats emptyas false and falls through to $(shell LC_ALL=C date), embedding thecurrent time: cat /tmp/test-or.mk build-timestamp-auto = fallback build-timestamp = $(or $(KBUILD_BUILD_TIMESTAMP),$(build-timestamp-auto)) all: @echo "[$(build-timestamp)]" make --file=/tmp/test-or.mk [fallback] KBUILD_BUILD_TIMESTAMP='' make --file=/tmp/test-or.mk [fallback] KBUILD_BUILD_TIMESTAMP="Sun Aug 25 20:57:08 UTC 1991" \ make --file=/tmp/test-or.mk [Sun Aug 25 20:57:08 UTC 1991] The same applies to a real kernel build: make O=../build LLVM=1 CC="ccache clang" tinyconfig make O=../build LLVM=1 CC="ccache clang" \ KBUILD_BUILD_TIMESTAMP='' --jobs=$(nproc) cat ../build/include/generated/utsversion.h #define UTS_VERSION "#2 Wed Mar 4 12:13:43 CET 2026" Replace the empty string with an actual date, matching the patternin kbuild.rst and reproducible-builds.rst. Use the first public Linuxannouncement as example date. make O=../build LLVM=1 CC="ccache clang" tinyconfig make O=../build LLVM=1 CC="ccache clang" \ KBUILD_BUILD_TIMESTAMP="Sun Aug 25 20:57:08 UTC 1991" \ --jobs=$(nproc) cat ../build/include/generated/utsversion.h #define UTS_VERSION "#4 Sun Aug 25 20:57:08 UTC 1991" Signed-off-by: Daniel Gomez <da.gomez@samsung.com>---Do not use an empty KBUILD_BUILD_TIMESTAMP Makefile variable.--- Documentation/kbuild/llvm.rst | 2 +- Documentation/translations/zh_CN/kbuild/llvm.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/kbuild/llvm.rst b/Documentation/kbuild/llvm.rstindex bc8a283bc44b..ef46533d785f 100644--- a/Documentation/kbuild/llvm.rst+++ b/Documentation/kbuild/llvm.rst@@ -128,7 +128,7 @@ Ccache KBUILD_BUILD_TIMESTAMP_ should be set to a deterministic value between builds in order to avoid 100% cache misses, see Reproducible_builds_ for more info):: - KBUILD_BUILD_TIMESTAMP='' make LLVM=1 CC="ccache clang"+ KBUILD_BUILD_TIMESTAMP="Sun Aug 25 20:57:08 UTC 1991" make LLVM=1 CC="ccache clang" .. _KBUILD_BUILD_TIMESTAMP: kbuild.html#kbuild-build-timestamp .. _Reproducible_builds: reproducible-builds.html#timestampsdiff --git a/Documentation/translations/zh_CN/kbuild/llvm.rst b/Documentation/translations/zh_CN/kbuild/llvm.rstindex f87e0181d8e7..c68fd395f64c 100644--- a/Documentation/translations/zh_CN/kbuild/llvm.rst+++ b/Documentation/translations/zh_CN/kbuild/llvm.rst@@ -116,7 +116,7 @@ Ccache KBUILD_BUILD_TIMESTAMP_ 应设置为同一确定值,以避免 100% 的缓存未命中, 详见 Reproducible_builds_ 获取更多信息):: - KBUILD_BUILD_TIMESTAMP='' make LLVM=1 CC="ccache clang"+ KBUILD_BUILD_TIMESTAMP="Sun Aug 25 20:57:08 UTC 1991" make LLVM=1 CC="ccache clang" .. _KBUILD_BUILD_TIMESTAMP: kbuild.html#kbuild-build-timestamp .. _Reproducible_builds: reproducible-builds.html#timestamps ---base-commit: 11439c4635edd669ae435eec308f4ab8a0804808change-id: 20260310-fix-llvm-docs-1f91c1ec7608 Best regards,-- Daniel Gomez <da.gomez@samsung.com>