mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 13:29:49 +00:00
syslinux: Fix build with gcc10
Bring in a patch from fedora to fix -fno-common issue (From OE-Core rev: 7457e6e2a2b0d00875c15112b6528c9ad97830d5) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit f635bd89d53cc8c110b18aa593babc55eeffc511) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
+97
@@ -0,0 +1,97 @@
|
|||||||
|
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
|
||||||
|
|
||||||
|
Lifted from Fedora https://src.fedoraproject.org/rpms/syslinux/blob/master/f/0005-Workaround-multiple-definition-of-symbol-errors.patch
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
|
||||||
|
---
|
||||||
|
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(-)
|
||||||
|
|
||||||
|
--- 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:
|
||||||
|
--- 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
|
||||||
|
--- 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 | \
|
||||||
|
--- 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)
|
||||||
|
--- 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 $@ $< \
|
||||||
|
--- 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 \
|
||||||
|
--- a/efi/Makefile
|
||||||
|
+++ b/efi/Makefile
|
||||||
|
@@ -71,7 +71,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.
|
||||||
@@ -20,6 +20,7 @@ SRC_URI = "https://www.zytor.com/pub/syslinux/Testing/6.04/syslinux-${PV}.tar.xz
|
|||||||
file://0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch \
|
file://0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch \
|
||||||
file://0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch \
|
file://0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch \
|
||||||
file://0009-linux-syslinux-implement-install_bootblock.patch \
|
file://0009-linux-syslinux-implement-install_bootblock.patch \
|
||||||
|
file://0010-Workaround-multiple-definition-of-symbol-errors.patch \
|
||||||
file://0001-install-don-t-install-obsolete-file-com32.ld.patch \
|
file://0001-install-don-t-install-obsolete-file-com32.ld.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user