boot/syslinux: fix build with EFI support
authorCarlos Santos <casantos@datacom.com.br>
Tue, 26 Feb 2019 11:13:32 +0000 (08:13 -0300)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 26 Feb 2019 12:07:46 +0000 (13:07 +0100)
Commit 1a437fd22f bumped gnu-efi to version 3.0.9. This breaks the build
of syslinux with EFI support due to multiple definitions of 'memset' and
'memcpy'. Backport a patch already applied upstream to fix the problem.

Signed-off-by: Carlos Santos <casantos@datacom.com.br>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch [new file with mode: 0644]

diff --git a/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch b/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch
new file mode 100644 (file)
index 0000000..17a6d37
--- /dev/null
@@ -0,0 +1,45 @@
+From 44a1b42e561b9a257209300e2860b901b100cc17 Mon Sep 17 00:00:00 2001
+From: Carlos Santos <casantos@datacom.com.br>
+Date: Tue, 26 Feb 2019 08:07:22 -0300
+Subject: [PATCH] Fix build with gnu-efi version 3.0.9
+
+Adapt a patch already applied upstream to prevent multiple definitions
+of 'memset' and 'memcpy'.
+
+Signed-off-by: Carlos Santos <casantos@datacom.com.br>
+(adapted from commit 363d61c4f112b972649b19d67e96b9321f738f00)
+---
+ mk/lib.mk | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/mk/lib.mk b/mk/lib.mk
+index ceb95bd0..c9b6eaf3 100644
+--- a/mk/lib.mk
++++ b/mk/lib.mk
+@@ -186,9 +186,9 @@ MINLIBOBJS = \
+ #     $(LIBVESA_OBJS)
+ CORELIBOBJS = \
+-      memcpy.o memset.o memcmp.o printf.o strncmp.o vfprintf.o        \
++      memcmp.o printf.o strncmp.o vfprintf.o                          \
+       strlen.o vsnprintf.o snprintf.o stpcpy.o strcmp.o strdup.o      \
+-      strcpy.o strncpy.o setjmp.o fopen.o fread.o fread2.o puts.o     \
++      strcpy.o strncpy.o fopen.o fread.o fread2.o puts.o              \
+       strtoul.o strntoumax.o strcasecmp.o                             \
+       sprintf.o strlcat.o strchr.o strlcpy.o strncasecmp.o ctypes.o   \
+       fputs.o fwrite2.o fwrite.o fgetc.o fclose.o lmalloc.o           \
+@@ -203,6 +203,11 @@ CORELIBOBJS = \
+       $(LIBENTRY_OBJS) \
+       $(LIBMODULE_OBJS)
++ifndef EFI_BUILD
++# For EFI, these are part of gnu-efi
++CORELIBOBJS += setjmp.o memcpy.o memset.o
++endif
++
+ LDFLAGS       = -m elf_$(ARCH) --hash-style=gnu -T $(com32)/lib/$(ARCH)/elf.ld
+ .SUFFIXES: .c .o .a .so .lo .i .S .s .ls .ss .lss
+-- 
+2.14.5
+