GCC requires that freestanding programs provide memcpy(), memmove(),
memset(), and memcmp(), cf.
https://gcc.gnu.org/onlinedocs/gcc/Standards.html
Provide the required library functions.
Link them in all *.efi binaries.
Fixes: 5be444d14b38 ("efi_loader: consistent build flags for EFI applications")
Reverting said commit would not satisfy the general requirement of the GCC
compiler for freestanding programs.
Tested successfully, cf.
https://travis-ci.org/xypron2/u-boot/builds/481823209
Heinrich Schuchardt (3):
efi_loader: provide freestanding library
efi_loader: use freestanding library for efi apps
efi_loader: use library memcpy() in helloworld.efi
lib/efi_loader/efi_freestanding.c | 90 +++++++++++++++++++++++++++++
lib/efi_loader/helloworld.c | 36 ++----------
lib/efi_selftest/efi_freestanding.c | 1 +
scripts/Makefile.lib | 2 +-
4 files changed, 98 insertions(+), 31 deletions(-)
create mode 100644 lib/efi_loader/efi_freestanding.c
create mode 120000 lib/efi_selftest/efi_freestanding.c
--
2.20.1
_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot