Re: [PATCH] scripts/tools-support-relr.sh: un-quote variables
From: Nathan Chancellor
Date: Wed Nov 13 2019 - 00:41:01 EST
On Tue, Nov 12, 2019 at 03:45:20PM +0200, Ilie Halip wrote:
> When the CC variable contains quotes, e.g. when using
> ccache (make CC="ccache <compiler>"), this script always
> fails, so CONFIG_RELR is never enabled, even when the
> toolchain supports this feature. Removing the /dev/null
> redirect and invoking the script manually shows the issue:
>
> $ CC='/usr/bin/ccache clang' ./scripts/tools-support-relr.sh
> ./scripts/tools-support-relr.sh: 7: ./scripts/tools-support-relr.sh: /usr/bin/ccache clang: not found
>
> Fix this by un-quoting the variables.
>
> Before:
> $ make ARCH=arm64 CC='/usr/bin/ccache clang' LD=ld.lld \
> NM=llvm-nm OBJCOPY=llvm-objcopy defconfig
> $ grep RELR .config
> CONFIG_ARCH_HAS_RELR=y
>
> With this change:
> $ make ARCH=arm64 CC='/usr/bin/ccache clang' LD=ld.lld \
> NM=llvm-nm OBJCOPY=llvm-objcopy defconfig
> $ grep RELR .config
> CONFIG_TOOLS_SUPPORT_RELR=y
> CONFIG_ARCH_HAS_RELR=y
> CONFIG_RELR=y
>
> Fixes: 5cf896fb6be3 ("arm64: Add support for relocating the kernel with RELR relocations")
> Reported-by: Dmitry Golovin <dima@xxxxxxxxxx>
> Link: https://github.com/ClangBuiltLinux/linux/issues/769
> Cc: Peter Collingbourne <pcc@xxxxxxxxxx>
> Signed-off-by: Ilie Halip <ilie.halip@xxxxxxxxx>
Reviewed-by: Nathan Chancellor <natechancellor@xxxxxxxxx>