mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	kbuild: mkcompile_h: Include $LD version in /proc/version
When doing Clang builds of the kernel, it is possible to link with either ld.bfd (binutils) or ld.lld (LLVM), but it is not possible to discover this from a running kernel. Add the "$LD -v" output to /proc/version. Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Tested-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com> Tested-by: Nathan Chancellor <natechancellor@gmail.com> Reviewed-by: Fangrui Song <maskray@google.com> Reviewed-by: Sedat Dilek <sedat.dilek@gmail.com> Tested-by: Sedat Dilek <sedat.dilek@gmail.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
		
							parent
							
								
									60969f02f0
								
							
						
					
					
						commit
						4dcc9a8844
					
				
					 2 changed files with 6 additions and 2 deletions
				
			
		|  | @ -35,4 +35,4 @@ include/generated/compile.h: FORCE | |||
| 	@$($(quiet)chk_compile.h) | ||||
| 	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@	\
 | ||||
| 	"$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)"	\
 | ||||
| 	"$(CONFIG_PREEMPT_RT)" "$(CC) $(KBUILD_CFLAGS)" | ||||
| 	"$(CONFIG_PREEMPT_RT)" "$(CC) $(KBUILD_CFLAGS)" "$(LD)" | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ SMP=$3 | |||
| PREEMPT=$4 | ||||
| PREEMPT_RT=$5 | ||||
| CC=$6 | ||||
| LD=$7 | ||||
| 
 | ||||
| vecho() { [ "${quiet}" = "silent_" ] || echo "$@" ; } | ||||
| 
 | ||||
|  | @ -61,7 +62,10 @@ UTS_VERSION="$(echo $UTS_VERSION $CONFIG_FLAGS $TIMESTAMP | cut -b -$UTS_LEN)" | |||
|   printf '#define LINUX_COMPILE_BY "%s"\n' "$LINUX_COMPILE_BY" | ||||
|   echo \#define LINUX_COMPILE_HOST \"$LINUX_COMPILE_HOST\" | ||||
| 
 | ||||
|   echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | grep ' version ' | sed 's/[[:space:]]*$//'`\" | ||||
|   CC_VERSION=$($CC -v 2>&1 | grep ' version ' | sed 's/[[:space:]]*$//') | ||||
|   LD_VERSION=$($LD -v | head -n1 | sed 's/(compatible with [^)]*)//' \ | ||||
| 		      | sed 's/[[:space:]]*$//') | ||||
|   printf '#define LINUX_COMPILER "%s"\n' "$CC_VERSION, $LD_VERSION" | ||||
| } > .tmpcompile | ||||
| 
 | ||||
| # Only replace the real compile.h if the new one is different, | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Kees Cook
						Kees Cook