efi_selftest: Ensure we include the object directory for generated headers
diff mbox series

Message ID 20200221204811.2545-1-trini@konsulko.com
State Rejected
Delegated to: Masahiro Yamada
Headers show
Series
  • efi_selftest: Ensure we include the object directory for generated headers
Related show

Commit Message

Tom Rini Feb. 21, 2020, 8:48 p.m. UTC
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@gmx.de>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
 lib/efi_selftest/Makefile | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Heinrich Schuchardt Feb. 21, 2020, 9:34 p.m. UTC | #1
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@gmx.de>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Signed-off-by: Tom Rini <trini@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@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 \
>
Tom Rini Feb. 21, 2020, 9:52 p.m. UTC | #2
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@gmx.de>
> > Cc: Masahiro Yamada <masahiroy@kernel.org>
> > Signed-off-by: Tom Rini <trini@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).
Heinrich Schuchardt Feb. 21, 2020, 10:56 p.m. UTC | #3
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@gmx.de>
>>> Cc: Masahiro Yamada <masahiroy@kernel.org>
>>> Signed-off-by: Tom Rini <trini@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
Masahiro Yamada Feb. 26, 2020, 12:53 a.m. UTC | #4
Hi Tom,


On Sat, Feb 22, 2020 at 6:52 AM Tom Rini <trini@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@gmx.de>
> > > Cc: Masahiro Yamada <masahiroy@kernel.org>
> > > Signed-off-by: Tom Rini <trini@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.
Tom Rini Feb. 26, 2020, 2:21 p.m. UTC | #5
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@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@gmx.de>
> > > > Cc: Masahiro Yamada <masahiroy@kernel.org>
> > > > Signed-off-by: Tom Rini <trini@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!

Patch
diff mbox series

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 \