Re: why scripts/link-vmlinux.sh has a final build of init/
From: Masahiro Yamada
Date: Wed Feb 14 2018 - 06:32:30 EST
2018-02-13 16:08 GMT+09:00 Cao jin <caoj.fnst@xxxxxxxxxxxxxx>:
> BTW, I still have 2 questions.
>
> 1. In final build, why need
>
> GCC_PLUGINS_CFLAGS="${GCC_PLUGINS_CFLAGS}"
>
> Doesn't GCC_PLUGINS_CFLAGS already exist in the environment?
>
> I also tested the Randomizing Structure Layout plugin with this patch,
> the plugin seems works in my test.
I have not tested, but GCC_PLUGINS_CFLAGS="${GCC_PLUGINS_CFLAGS}"
is probably unnecessary.
> 2. scripts/link-vmlinux.sh seems just handle only one argument: clean.
> So why shouldn't it be:
To detect the change of $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux)
because link-vmlinux.sh depends on them.
> diff --git a/Makefile b/Makefile
> index ccd981892ef2..21d93b545381 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -998,7 +998,7 @@ ARCH_POSTLINK := $(wildcard
> $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
>
> # Final link of vmlinux with optional arch pass after final link
> cmd_link-vmlinux = \
> - $(CONFIG_SHELL) $< $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) ; \
> + $(CONFIG_SHELL) $<; \
> $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
>
> vmlinux: scripts/link-vmlinux.sh vmlinux_prereq $(vmlinux-deps) FORCE
--
Best Regards
Masahiro Yamada