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

Reply via email to