Message ID | 20200604022031.164207-1-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/2] efi/libstub/arm64: link stub lib.a conditionally | expand |
On Thu, Jun 04, 2020 at 11:20:30AM +0900, Masahiro Yamada wrote: > Since commit 799c43415442 ("kbuild: thin archives make default for > all archs"), core-y is passed to the linker with --whole-archive. > Hence, the whole of stub library is linked to vmlinux. > > Use libs-y so that lib.a is passed after --no-whole-archive for > conditional linking. > > The unused drivers/firmware/efi/libstub/relocate.o will be dropped > for ARCH=arm64. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > This patch touches under arch/arm64/, but > this is more related to efi. > I am sending this to Ard. Ok, I'll ignore this then. Ard -- please yell if you want me to do anything else with it. Will > diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile > index 650e1185c190..48a6afa774fc 100644 > --- a/arch/arm64/Makefile > +++ b/arch/arm64/Makefile > @@ -145,7 +145,7 @@ export TEXT_OFFSET > > core-y += arch/arm64/ > libs-y := arch/arm64/lib/ $(libs-y) > -core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a > +libs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a > > # Default target when executing plain make > boot := arch/arm64/boot > -- > 2.25.1 >
On Wed, 10 Jun 2020 at 09:58, Will Deacon <will@kernel.org> wrote: > > On Thu, Jun 04, 2020 at 11:20:30AM +0900, Masahiro Yamada wrote: > > Since commit 799c43415442 ("kbuild: thin archives make default for > > all archs"), core-y is passed to the linker with --whole-archive. > > Hence, the whole of stub library is linked to vmlinux. > > > > Use libs-y so that lib.a is passed after --no-whole-archive for > > conditional linking. > > > > The unused drivers/firmware/efi/libstub/relocate.o will be dropped > > for ARCH=arm64. > > > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > --- > > > > This patch touches under arch/arm64/, but > > this is more related to efi. > > I am sending this to Ard. > > Ok, I'll ignore this then. Ard -- please yell if you want me to do anything > else with it. > I am going to send a batch of EFI fixes early next week, so I can take this as well, or alternatively, you can apply it directly. > > > diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile > > index 650e1185c190..48a6afa774fc 100644 > > --- a/arch/arm64/Makefile > > +++ b/arch/arm64/Makefile > > @@ -145,7 +145,7 @@ export TEXT_OFFSET > > > > core-y += arch/arm64/ > > libs-y := arch/arm64/lib/ $(libs-y) > > -core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a > > +libs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a > > > > # Default target when executing plain make > > boot := arch/arm64/boot > > -- > > 2.25.1 > >
On Wed, Jun 10, 2020 at 10:00:19AM +0200, Ard Biesheuvel wrote: > On Wed, 10 Jun 2020 at 09:58, Will Deacon <will@kernel.org> wrote: > > > > On Thu, Jun 04, 2020 at 11:20:30AM +0900, Masahiro Yamada wrote: > > > Since commit 799c43415442 ("kbuild: thin archives make default for > > > all archs"), core-y is passed to the linker with --whole-archive. > > > Hence, the whole of stub library is linked to vmlinux. > > > > > > Use libs-y so that lib.a is passed after --no-whole-archive for > > > conditional linking. > > > > > > The unused drivers/firmware/efi/libstub/relocate.o will be dropped > > > for ARCH=arm64. > > > > > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > > --- > > > > > > This patch touches under arch/arm64/, but > > > this is more related to efi. > > > I am sending this to Ard. > > > > Ok, I'll ignore this then. Ard -- please yell if you want me to do anything > > else with it. > > > > I am going to send a batch of EFI fixes early next week, so I can take > this as well, or alternatively, you can apply it directly. No, please take it. Just wanted to make sure it didn't slip through the cracks, that's all. Will
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index 650e1185c190..48a6afa774fc 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile @@ -145,7 +145,7 @@ export TEXT_OFFSET core-y += arch/arm64/ libs-y := arch/arm64/lib/ $(libs-y) -core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a +libs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a # Default target when executing plain make boot := arch/arm64/boot
Since commit 799c43415442 ("kbuild: thin archives make default for all archs"), core-y is passed to the linker with --whole-archive. Hence, the whole of stub library is linked to vmlinux. Use libs-y so that lib.a is passed after --no-whole-archive for conditional linking. The unused drivers/firmware/efi/libstub/relocate.o will be dropped for ARCH=arm64. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- This patch touches under arch/arm64/, but this is more related to efi. I am sending this to Ard. arch/arm64/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)