[U-Boot] [PATCH 0/3] efi_loader: provide library for freestanding binaries

Heinrich Schuchardt xypron.glpk at gmx.de
Sun Jan 20 07:20:29 UTC 2019


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



More information about the U-Boot mailing list