Hi,

On 05/27/2018 11:28 PM, Heinrich Schuchardt wrote:
When building .efi targets a race condition was observed:

If %_efi.so is not yet built before trying to build %.efi and error
*** No rule to make target '%.efi'
occurs. By explicitly adding %_efi.so to the targets this is avoided.

Reported-by: Tuomas Tynkkynen <[email protected]>
Signed-off-by: Heinrich Schuchardt <[email protected]>
---
Hello Tuomas,

please, test if this resolves your problem.

Best regards

Heinrich
---
  lib/efi_loader/Makefile   | 4 +++-
  lib/efi_selftest/Makefile | 2 ++
  2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile
index c6046e36d26..d31393c7a28 100644
--- a/lib/efi_loader/Makefile
+++ b/lib/efi_loader/Makefile
@@ -10,7 +10,9 @@ CFLAGS_helloworld.o := $(CFLAGS_EFI) -Os -ffreestanding
  CFLAGS_REMOVE_helloworld.o := $(CFLAGS_NON_EFI) -Os
ifneq ($(CONFIG_CMD_BOOTEFI_HELLO_COMPILE),)
-always += helloworld.efi
+always-y += \
+helloworld_efi.so \
+helloworld.efi
  endif

The always-y variable isn't processed by Kbuild. So effectively this hunk
makes helloworld.efi to be never built at all.

If I do s/always-y/always/ on that line, that just changes the eventual
error message to:

make[3]: *** No rule to make target 'lib/efi_loader/helloworld_efi.so', needed 
by '__build'.  Stop.

Thanks,
Tuomas
_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to