summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-05-16 08:58:43 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-06-23 11:40:46 +0100
commiteff7c052c8fce51526bcbb6367d3b4bb18d2a61c (patch)
treeaf40c8759299e1318ed7c01c986548b97cf1b278 /meta/recipes-devtools
parent2498765818b2ce7ee6d7fa7ca7ab64ea56226e36 (diff)
downloadpoky-eff7c052c8fce51526bcbb6367d3b4bb18d2a61c.tar.gz
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>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch97
-rw-r--r--meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb1
2 files changed, 98 insertions, 0 deletions
diff --git a/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch b/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch
new file mode 100644
index 0000000000..44cb153276
--- /dev/null
+++ b/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch
@@ -0,0 +1,97 @@
1From 951928f2cad5682c2844e6bd0f7201236c5d9b66 Mon Sep 17 00:00:00 2001
2From: Merlin Mathesius <mmathesi@redhat.com>
3Date: Wed, 13 May 2020 08:02:27 -0500
4Subject: [PATCH] Workaround multiple definition of symbol errors
5
6Lifted from Fedora https://src.fedoraproject.org/rpms/syslinux/blob/master/f/0005-Workaround-multiple-definition-of-symbol-errors.patch
7
8Upstream-Status: Pending
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11---
12 com32/cmenu/Makefile | 2 +-
13 com32/elflink/ldlinux/Makefile | 2 +-
14 com32/gpllib/Makefile | 2 +-
15 com32/hdt/Makefile | 2 +-
16 core/Makefile | 2 +-
17 dos/Makefile | 2 +-
18 efi/Makefile | 2 +-
19 7 files changed, 7 insertions(+), 7 deletions(-)
20
21--- a/com32/cmenu/Makefile
22+++ b/com32/cmenu/Makefile
23@@ -49,7 +49,7 @@ makeoutputdirs:
24 @mkdir -p $(OBJ)/libmenu
25
26 libmenu/libmenu.elf: $(LIBMENU)
27- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) \
28+ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) \
29 -o $@ $^
30
31 tidy dist:
32--- a/com32/elflink/ldlinux/Makefile
33+++ b/com32/elflink/ldlinux/Makefile
34@@ -33,7 +33,7 @@ endif
35 all: $(BTARGET) ldlinux_lnx.a
36
37 ldlinux.elf : $(OBJS)
38- $(LD) $(LDFLAGS) -soname $(SONAME) -o $@ $^ $(LIBS)
39+ $(LD) $(LDFLAGS) -z muldefs -soname $(SONAME) -o $@ $^ $(LIBS)
40
41 LNXCFLAGS += -D__export='__attribute__((visibility("default")))'
42 LNXLIBOBJS = get_key.lo
43--- a/com32/gpllib/Makefile
44+++ b/com32/gpllib/Makefile
45@@ -24,7 +24,7 @@ makeoutputdirs:
46 $(addprefix $(OBJ),$(sort $(dir $(LIBOBJS)))),$(b))
47
48 libgpl.elf : $(LIBOBJS)
49- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
50+ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
51
52 tidy dist clean:
53 find . \( -name \*.o -o -name .\*.d -o -name \*.tmp \) -print0 | \
54--- a/com32/hdt/Makefile
55+++ b/com32/hdt/Makefile
56@@ -52,7 +52,7 @@ QEMU ?= qemu-kvm
57 all: $(MODULES) $(TESTFILES)
58
59 hdt.elf : $(OBJS) $(LIBS) $(C_LIBS)
60- $(LD) $(LDFLAGS) -o $@ $^
61+ $(LD) $(LDFLAGS) -z muldefs -o $@ $^
62
63 memtest:
64 -[ ! -f $(FLOPPY_DIR)/$(MEMTEST) ] && $(WGET) $(MEMTEST_URL) -O $(FLOPPY_DIR)/$(MEMTEST)
65--- a/core/Makefile
66+++ b/core/Makefile
67@@ -156,7 +156,7 @@ LDSCRIPT = $(SRC)/$(ARCH)/syslinux.ld
68 NASM_ELF = elf
69
70 %.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS)
71- $(LD) $(LDFLAGS) -pie -Bsymbolic \
72+ $(LD) $(LDFLAGS) -z muldefs -pie -Bsymbolic \
73 -T $(LDSCRIPT) \
74 --unresolved-symbols=report-all \
75 -E --hash-style=gnu -M -o $@ $< \
76--- a/dos/Makefile
77+++ b/dos/Makefile
78@@ -19,7 +19,7 @@ include $(MAKEDIR)/embedded.mk
79 CFLAGS += -D__MSDOS__ -mregparm=3 -DREGPARM=3
80 # CFLAGS += -DDEBUG
81
82-LDFLAGS = -T $(SRC)/dosexe.ld
83+LDFLAGS = -T $(SRC)/dosexe.ld -z muldefs
84 OPTFLAGS = -g
85 INCLUDES = -include code16.h -nostdinc -iwithprefix include \
86 -I$(SRC) -I$(SRC)/.. -I$(SRC)/../libfat \
87--- a/efi/Makefile
88+++ b/efi/Makefile
89@@ -71,7 +71,7 @@ $(OBJS): | $(OBJ)/$(ARCH)
90 BTARGET = syslinux.efi
91
92 syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS)
93- $(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi
94+ $(LD) $(LDFLAGS) -z muldefs --strip-debug -o $@ $^ -lgnuefi -lefi
95
96 # We need to rename the .hash section because the EFI firmware
97 # linker really doesn't like it.
diff --git a/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb b/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
index e9dbefb930..3e7eef3a75 100644
--- a/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
+++ b/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
@@ -20,6 +20,7 @@ SRC_URI = "https://www.zytor.com/pub/syslinux/Testing/6.04/syslinux-${PV}.tar.xz
20 file://0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch \ 20 file://0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch \
21 file://0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch \ 21 file://0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch \
22 file://0009-linux-syslinux-implement-install_bootblock.patch \ 22 file://0009-linux-syslinux-implement-install_bootblock.patch \
23 file://0010-Workaround-multiple-definition-of-symbol-errors.patch \
23 file://0001-install-don-t-install-obsolete-file-com32.ld.patch \ 24 file://0001-install-don-t-install-obsolete-file-com32.ld.patch \
24 " 25 "
25 26