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