[PATCH] efi_selftest: Ensure we include the object directory for generated headers

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(+)
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 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 \

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).

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

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.

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!
participants (3)
-
Heinrich Schuchardt
-
Masahiro Yamada
-
Tom Rini