Message ID | 20200221204811.2545-1-trini@konsulko.com |
---|---|
State | New |
Headers | show |
Series | efi_selftest: Ensure we include the object directory for generated headers | expand |
On 2/21/20 9:48 PM, Tom Rini wrote: > The current rules for generating -I lines for objects gives us both > -I/full/src/path/lib/efi_selftest and -Ilib/efi_selftest. However, if > we re-sync the Kbuild logic we no longer get the latter implicitly. We > will need to be explicit in such cases, so do so. > > Cc: Heinrich Schuchardt <xypron.glpk at gmx.de> > Cc: Masahiro Yamada <masahiroy at kernel.org> > Signed-off-by: Tom Rini <trini at konsulko.com> Hello Tom, yes, in lib/efi_selftest we have generated includes, so -Ilib/efi_selftest is relevant. Do you have a git branch with the Kconfig changes for reference and testing? Acked-by: Heinrich Schuchardt <xypron.glpk at gmx.de> > --- > lib/efi_selftest/Makefile | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/lib/efi_selftest/Makefile b/lib/efi_selftest/Makefile > index 3ad96e1cbf08..7d0199d634c6 100644 > --- a/lib/efi_selftest/Makefile > +++ b/lib/efi_selftest/Makefile > @@ -12,6 +12,10 @@ CFLAGS_efi_selftest_miniapp_exit.o := $(CFLAGS_EFI) -Os -ffreestanding > CFLAGS_REMOVE_efi_selftest_miniapp_exit.o := $(CFLAGS_NON_EFI) > CFLAGS_efi_selftest_miniapp_return.o := $(CFLAGS_EFI) -Os -ffreestanding > CFLAGS_REMOVE_efi_selftest_miniapp_return.o := $(CFLAGS_NON_EFI) > +CFLAGS_efi_selftest_exception.o += -I$(objtree)/$(obj) > +CFLAGS_efi_selftest_loadimage.o += -I$(objtree)/$(obj) > +CFLAGS_efi_selftest_startimage_exit.o += -I$(objtree)/$(obj) > +CFLAGS_efi_selftest_startimage_return.o += -I$(objtree)/$(obj) > > obj-y += \ > efi_selftest.o \ >
On Fri, Feb 21, 2020 at 10:34:01PM +0100, Heinrich Schuchardt wrote: > On 2/21/20 9:48 PM, Tom Rini wrote: > > The current rules for generating -I lines for objects gives us both > > -I/full/src/path/lib/efi_selftest and -Ilib/efi_selftest. However, if > > we re-sync the Kbuild logic we no longer get the latter implicitly. We > > will need to be explicit in such cases, so do so. > > > > Cc: Heinrich Schuchardt <xypron.glpk at gmx.de> > > Cc: Masahiro Yamada <masahiroy at kernel.org> > > Signed-off-by: Tom Rini <trini at konsulko.com> > > Hello Tom, > > yes, in lib/efi_selftest we have generated includes, so > -Ilib/efi_selftest is relevant. > > Do you have a git branch with the Kconfig changes for reference and testing? Currently WIP/kbuild-resync-v1-v4.18 but please bear in mind I'm (a) rebase it and (b) it doesn't even build sandbox_spl right now (more of this type of error, but my non-CI world build will finish up shortly and I'll grab all of the places I need to make a fix like this there).
On 2/21/20 10:52 PM, Tom Rini wrote: > On Fri, Feb 21, 2020 at 10:34:01PM +0100, Heinrich Schuchardt wrote: >> On 2/21/20 9:48 PM, Tom Rini wrote: >>> The current rules for generating -I lines for objects gives us both >>> -I/full/src/path/lib/efi_selftest and -Ilib/efi_selftest. However, if >>> we re-sync the Kbuild logic we no longer get the latter implicitly. We >>> will need to be explicit in such cases, so do so. >>> >>> Cc: Heinrich Schuchardt <xypron.glpk at gmx.de> >>> Cc: Masahiro Yamada <masahiroy at kernel.org> >>> Signed-off-by: Tom Rini <trini at konsulko.com> >> >> Hello Tom, >> >> yes, in lib/efi_selftest we have generated includes, so >> -Ilib/efi_selftest is relevant. >> >> Do you have a git branch with the Kconfig changes for reference and testing? > > Currently WIP/kbuild-resync-v1-v4.18 but please bear in mind I'm (a) > rebase it and (b) it doesn't even build sandbox_spl right now (more of > this type of error, but my non-CI world build will finish up shortly and > I'll grab all of the places I need to make a fix like this there). > I was able to reproduce that the proposed change for lib/efi_selftest/Makefile is needed for out of tree building. So the patch is fine with me. Best regards Heinrich
Hi Tom, On Sat, Feb 22, 2020 at 6:52 AM Tom Rini <trini at konsulko.com> wrote: > > On Fri, Feb 21, 2020 at 10:34:01PM +0100, Heinrich Schuchardt wrote: > > On 2/21/20 9:48 PM, Tom Rini wrote: > > > The current rules for generating -I lines for objects gives us both > > > -I/full/src/path/lib/efi_selftest and -Ilib/efi_selftest. However, if > > > we re-sync the Kbuild logic we no longer get the latter implicitly. We > > > will need to be explicit in such cases, so do so. > > > > > > Cc: Heinrich Schuchardt <xypron.glpk at gmx.de> > > > Cc: Masahiro Yamada <masahiroy at kernel.org> > > > Signed-off-by: Tom Rini <trini at konsulko.com> > > > > Hello Tom, > > > > yes, in lib/efi_selftest we have generated includes, so > > -Ilib/efi_selftest is relevant. > > > > Do you have a git branch with the Kconfig changes for reference and testing? > > Currently WIP/kbuild-resync-v1-v4.18 but please bear in mind I'm (a) > rebase it and (b) it doesn't even build sandbox_spl right now (more of > this type of error, but my non-CI world build will finish up shortly and > I'll grab all of the places I need to make a fix like this there). > > -- > Tom This is one way to suppress the build error for O= builds. But, please notice this is caused by the re-sync mistake. You partially imported commit db547ef1906400eb34682e43035dd4d81b9fdcfb from Linux. You imported the change in scripts/Kbuild.include but did not the change in scripts/Makefile.lib That's why you needed to add -I$(objtree)/$(obj) all over the places.
On Wed, Feb 26, 2020 at 09:53:23AM +0900, Masahiro Yamada wrote: > Hi Tom, > > > On Sat, Feb 22, 2020 at 6:52 AM Tom Rini <trini at konsulko.com> wrote: > > > > On Fri, Feb 21, 2020 at 10:34:01PM +0100, Heinrich Schuchardt wrote: > > > On 2/21/20 9:48 PM, Tom Rini wrote: > > > > The current rules for generating -I lines for objects gives us both > > > > -I/full/src/path/lib/efi_selftest and -Ilib/efi_selftest. However, if > > > > we re-sync the Kbuild logic we no longer get the latter implicitly. We > > > > will need to be explicit in such cases, so do so. > > > > > > > > Cc: Heinrich Schuchardt <xypron.glpk at gmx.de> > > > > Cc: Masahiro Yamada <masahiroy at kernel.org> > > > > Signed-off-by: Tom Rini <trini at konsulko.com> > > > > > > Hello Tom, > > > > > > yes, in lib/efi_selftest we have generated includes, so > > > -Ilib/efi_selftest is relevant. > > > > > > Do you have a git branch with the Kconfig changes for reference and testing? > > > > Currently WIP/kbuild-resync-v1-v4.18 but please bear in mind I'm (a) > > rebase it and (b) it doesn't even build sandbox_spl right now (more of > > this type of error, but my non-CI world build will finish up shortly and > > I'll grab all of the places I need to make a fix like this there). > > > > -- > > Tom > > > This is one way to suppress the build error for O= builds. > > But, please notice this is caused by the re-sync mistake. > > > You partially imported > commit db547ef1906400eb34682e43035dd4d81b9fdcfb > from Linux. > > You imported the change in scripts/Kbuild.include > but did not the change in scripts/Makefile.lib > > That's why you needed to add -I$(objtree)/$(obj) > all over the places. Ah, I see what happened now too. It was that db547ef19064 didn't apply cleanly as we were missing two previous changes in that area and in hunting down and verifying those changes I missed the second hunk. For the other two changes, I'll verify those were only to scripts/Kbuild.include and fix it up. Thanks again!
diff --git a/lib/efi_selftest/Makefile b/lib/efi_selftest/Makefile index 3ad96e1cbf08..7d0199d634c6 100644 --- a/lib/efi_selftest/Makefile +++ b/lib/efi_selftest/Makefile @@ -12,6 +12,10 @@ CFLAGS_efi_selftest_miniapp_exit.o := $(CFLAGS_EFI) -Os -ffreestanding CFLAGS_REMOVE_efi_selftest_miniapp_exit.o := $(CFLAGS_NON_EFI) CFLAGS_efi_selftest_miniapp_return.o := $(CFLAGS_EFI) -Os -ffreestanding CFLAGS_REMOVE_efi_selftest_miniapp_return.o := $(CFLAGS_NON_EFI) +CFLAGS_efi_selftest_exception.o += -I$(objtree)/$(obj) +CFLAGS_efi_selftest_loadimage.o += -I$(objtree)/$(obj) +CFLAGS_efi_selftest_startimage_exit.o += -I$(objtree)/$(obj) +CFLAGS_efi_selftest_startimage_return.o += -I$(objtree)/$(obj) obj-y += \ efi_selftest.o \
The current rules for generating -I lines for objects gives us both -I/full/src/path/lib/efi_selftest and -Ilib/efi_selftest. However, if we re-sync the Kbuild logic we no longer get the latter implicitly. We will need to be explicit in such cases, so do so. Cc: Heinrich Schuchardt <xypron.glpk at gmx.de> Cc: Masahiro Yamada <masahiroy at kernel.org> Signed-off-by: Tom Rini <trini at konsulko.com> --- lib/efi_selftest/Makefile | 4 ++++ 1 file changed, 4 insertions(+)