| |
@@ -0,0 +1,109 @@
|
| |
+ From 951928f2cad5682c2844e6bd0f7201236c5d9b66 Mon Sep 17 00:00:00 2001
|
| |
+ From: Merlin Mathesius <mmathesi@redhat.com>
|
| |
+ 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.
|
| |
+ --
|
| |
+ 2.25.1
|
| |
+
|
| |
As reported by RHBZ#1800180,
syslinux
fails to built from source in Fedora 32 and Fedora 33. It also fails for the new ELN.This PR provides patches to make the builds succeed. Three different problems were addressed:
FileHandle.pm
module was part of the baseperl-interpreter
package for F32 and earlier, and it is a separate sub-package for F33+ and ELN. Thus, a specific build dependency has been added to the SPEC file.-z muldefs
was added to the the loader flags in severalMakefile
s.strlen()
--__builtin_strlen()
. To address this, an inline version was added todos/string.h
.There are probably better ways to do all of this, but these patches do get the package building again!
Signed-off-by: Merlin Mathesius mmathesi@redhat.com