Re: [PATCH] ARM: kbuild: use correct nm executable

From: Nick Desaulniers
Date: Tue Nov 12 2019 - 12:43:20 EST


On Sun, Nov 10, 2019 at 7:31 AM Dmitry Golovin <dima@xxxxxxxxxx> wrote:
>
> Since $(NM) variable can be easily overridden for the whole build, it's
> better to use it instead of $(CROSS_COMPILE)nm. The use of $(CROSS_COMPILE)
> prefixed variables where their calculated equivalents can be used is
> incorrect. This fixes issues with builds where $(NM) is set to llvm-nm.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/766
> Signed-off-by: Dmitry Golovin <dima@xxxxxxxxxx>
> Suggested-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> Cc: Matthias Maennich <maennich@xxxxxxxxxx>

Thanks for the patch Dima.
Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
You should wait a week from when you first sent this patch, then
submit it to rmk's patch queue:
https://www.armlinux.org.uk/developer/patches/section.php?section=0
You should create an account there. On
https://www.armlinux.org.uk/developer/patches/add.php,

Summary -> first line from commit
Kernel version -> base repo you wrote the patch against, see examples
https://www.armlinux.org.uk/developer/patches/section.php?section=0
Patch notes -> rest of commit body (with all these reviewed by tags added)

More info: https://www.armlinux.org.uk/developer/

> ---
> arch/arm/boot/compressed/Makefile | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
> index 9219389bbe61..a1e883c5e5c4 100644
> --- a/arch/arm/boot/compressed/Makefile
> +++ b/arch/arm/boot/compressed/Makefile
> @@ -121,7 +121,7 @@ ccflags-y := -fpic $(call cc-option,-mno-single-pic-base,) -fno-builtin -I$(obj)
> asflags-y := -DZIMAGE
>
> # Supply kernel BSS size to the decompressor via a linker symbol.
> -KBSS_SZ = $(shell echo $$(($$($(CROSS_COMPILE)nm $(obj)/../../../../vmlinux | \
> +KBSS_SZ = $(shell echo $$(($$($(NM) $(obj)/../../../../vmlinux | \
> sed -n -e 's/^\([^ ]*\) [AB] __bss_start$$/-0x\1/p' \
> -e 's/^\([^ ]*\) [AB] __bss_stop$$/+0x\1/p') )) )
> LDFLAGS_vmlinux = --defsym _kernel_bss_size=$(KBSS_SZ)
> @@ -165,7 +165,7 @@ $(obj)/bswapsdi2.S: $(srctree)/arch/$(SRCARCH)/lib/bswapsdi2.S
> # The .data section is already discarded by the linker script so no need
> # to bother about it here.
> check_for_bad_syms = \
> -bad_syms=$$($(CROSS_COMPILE)nm $@ | sed -n 's/^.\{8\} [bc] \(.*\)/\1/p') && \
> +bad_syms=$$($(NM) $@ | sed -n 's/^.\{8\} [bc] \(.*\)/\1/p') && \
> [ -z "$$bad_syms" ] || \
> ( echo "following symbols must have non local/private scope:" >&2; \
> echo "$$bad_syms" >&2; false )
> --
> 2.23.0
>


--
Thanks,
~Nick Desaulniers