Blame SOURCES/0005-Workaround-multiple-definition-of-symbol-errors.patch

e8229e
From 951928f2cad5682c2844e6bd0f7201236c5d9b66 Mon Sep 17 00:00:00 2001
e8229e
From: Merlin Mathesius <mmathesi@redhat.com>
e8229e
Date: Wed, 13 May 2020 08:02:27 -0500
e8229e
Subject: [PATCH] Workaround multiple definition of symbol errors
e8229e
e8229e
---
e8229e
 com32/cmenu/Makefile           | 2 +-
e8229e
 com32/elflink/ldlinux/Makefile | 2 +-
e8229e
 com32/gpllib/Makefile          | 2 +-
e8229e
 com32/hdt/Makefile             | 2 +-
e8229e
 core/Makefile                  | 2 +-
e8229e
 dos/Makefile                   | 2 +-
e8229e
 efi/Makefile                   | 2 +-
e8229e
 7 files changed, 7 insertions(+), 7 deletions(-)
e8229e
e8229e
diff --git a/com32/cmenu/Makefile b/com32/cmenu/Makefile
e8229e
index b81b68ed..2ae989c4 100644
e8229e
--- a/com32/cmenu/Makefile
e8229e
+++ b/com32/cmenu/Makefile
e8229e
@@ -49,7 +49,7 @@ makeoutputdirs:
e8229e
 	@mkdir -p $(OBJ)/libmenu
e8229e
 
e8229e
 libmenu/libmenu.elf: $(LIBMENU)
e8229e
-	$(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) \
e8229e
+	$(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) \
e8229e
 		-o $@ $^
e8229e
 
e8229e
 tidy dist:
e8229e
diff --git a/com32/elflink/ldlinux/Makefile b/com32/elflink/ldlinux/Makefile
e8229e
index 87c0d362..2be2a01a 100644
e8229e
--- a/com32/elflink/ldlinux/Makefile
e8229e
+++ b/com32/elflink/ldlinux/Makefile
e8229e
@@ -33,7 +33,7 @@ endif
e8229e
 all: $(BTARGET) ldlinux_lnx.a
e8229e
 
e8229e
 ldlinux.elf : $(OBJS)
e8229e
-	$(LD) $(LDFLAGS) -soname $(SONAME) -o $@ $^ $(LIBS)
e8229e
+	$(LD) $(LDFLAGS) -z muldefs -soname $(SONAME) -o $@ $^ $(LIBS)
e8229e
 
e8229e
 LNXCFLAGS += -D__export='__attribute__((visibility("default")))'
e8229e
 LNXLIBOBJS = get_key.lo
e8229e
diff --git a/com32/gpllib/Makefile b/com32/gpllib/Makefile
e8229e
index 1fec9145..2d764d0b 100644
e8229e
--- a/com32/gpllib/Makefile
e8229e
+++ b/com32/gpllib/Makefile
e8229e
@@ -24,7 +24,7 @@ makeoutputdirs:
e8229e
 		$(addprefix $(OBJ),$(sort $(dir $(LIBOBJS)))),$(b))
e8229e
 
e8229e
 libgpl.elf : $(LIBOBJS)
e8229e
-	$(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
e8229e
+	$(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
e8229e
 
e8229e
 tidy dist clean:
e8229e
 	find . \( -name \*.o -o -name .\*.d -o -name \*.tmp \) -print0 | \
e8229e
diff --git a/com32/hdt/Makefile b/com32/hdt/Makefile
e8229e
index 61736d05..1d947857 100644
e8229e
--- a/com32/hdt/Makefile
e8229e
+++ b/com32/hdt/Makefile
e8229e
@@ -52,7 +52,7 @@ QEMU			?= qemu-kvm
e8229e
 all: $(MODULES) $(TESTFILES)
e8229e
 
e8229e
 hdt.elf : $(OBJS) $(LIBS) $(C_LIBS)
e8229e
-	$(LD) $(LDFLAGS) -o $@ $^
e8229e
+	$(LD) $(LDFLAGS) -z muldefs -o $@ $^
e8229e
 
e8229e
 memtest:
e8229e
 	-[ ! -f $(FLOPPY_DIR)/$(MEMTEST) ] && $(WGET) $(MEMTEST_URL) -O $(FLOPPY_DIR)/$(MEMTEST)
e8229e
diff --git a/core/Makefile b/core/Makefile
e8229e
index 46cb037c..f0cfcbe9 100644
e8229e
--- a/core/Makefile
e8229e
+++ b/core/Makefile
e8229e
@@ -156,7 +156,7 @@ LDSCRIPT = $(SRC)/$(ARCH)/syslinux.ld
e8229e
 NASM_ELF = elf
e8229e
 
e8229e
 %.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS)
e8229e
-	$(LD) $(LDFLAGS) -pie -Bsymbolic \
e8229e
+	$(LD) $(LDFLAGS) -z muldefs -pie -Bsymbolic \
e8229e
 		-T $(LDSCRIPT) \
e8229e
 		--unresolved-symbols=report-all \
e8229e
 		-E --hash-style=gnu -M -o $@ $< \
e8229e
diff --git a/dos/Makefile b/dos/Makefile
e8229e
index 4c930d19..5d1c72ca 100644
e8229e
--- a/dos/Makefile
e8229e
+++ b/dos/Makefile
e8229e
@@ -19,7 +19,7 @@ include $(MAKEDIR)/embedded.mk
e8229e
 CFLAGS	+= -D__MSDOS__ -mregparm=3 -DREGPARM=3
e8229e
 # CFLAGS  += -DDEBUG
e8229e
 
e8229e
-LDFLAGS	 = -T $(SRC)/dosexe.ld
e8229e
+LDFLAGS	 = -T $(SRC)/dosexe.ld -z muldefs
e8229e
 OPTFLAGS = -g
e8229e
 INCLUDES = -include code16.h -nostdinc -iwithprefix include \
e8229e
 	   -I$(SRC) -I$(SRC)/.. -I$(SRC)/../libfat \
e8229e
diff --git a/efi/Makefile b/efi/Makefile
e8229e
index bbf23f24..3dd922d5 100644
e8229e
--- a/efi/Makefile
e8229e
+++ b/efi/Makefile
e8229e
@@ -69,7 +69,7 @@ $(OBJS): | $(OBJ)/$(ARCH)
e8229e
 BTARGET  = syslinux.efi
e8229e
 
e8229e
 syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS)
e8229e
-	$(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi
e8229e
+	$(LD) $(LDFLAGS) -z muldefs --strip-debug -o $@ $^ -lgnuefi -lefi
e8229e
 
e8229e
 # We need to rename the .hash section because the EFI firmware
e8229e
 # linker really doesn't like it.
e8229e
-- 
e8229e
2.25.1
e8229e