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