summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot/syslinux')
-rw-r--r--sys-boot/syslinux/files/6.04_pre3/0001-Strip-the-.note.gnu.property-section-for-the-mbr.patch47
-rw-r--r--sys-boot/syslinux/files/6.04_pre3/0002-Force-the-linker-to-put-all-sections-into-a-single-P.patch311
-rw-r--r--sys-boot/syslinux/files/6.04_pre3/0003-GCC-10-compatibility-patch.patch99
-rw-r--r--sys-boot/syslinux/files/6.04_pre3/0004-Inherit-toolchain-vars-from-environment.patch72
-rw-r--r--sys-boot/syslinux/syslinux-6.04_pre3.ebuild3
5 files changed, 2 insertions, 530 deletions
diff --git a/sys-boot/syslinux/files/6.04_pre3/0001-Strip-the-.note.gnu.property-section-for-the-mbr.patch b/sys-boot/syslinux/files/6.04_pre3/0001-Strip-the-.note.gnu.property-section-for-the-mbr.patch
deleted file mode 100644
index 5d823436bec8..000000000000
--- a/sys-boot/syslinux/files/6.04_pre3/0001-Strip-the-.note.gnu.property-section-for-the-mbr.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 60fef313164d1048cf11423656732953776e5e2f Mon Sep 17 00:00:00 2001
-From: Lukas Schwaighofer <lukas@schwaighofer.name>
-Date: Sat, 18 Aug 2018 12:48:21 +0200
-Subject: [PATCH 1/5] Strip the .note.gnu.property section for the mbr
-
-This section is added since binutils Debian version 2.31.1-2 and causes mbr.bin
-to grow in size beyond what can fit into the master boot record.
-
-Forwarded: https://www.syslinux.org/archives/2018-August/026168.html
----
- mbr/i386/mbr.ld | 6 +++++-
- mbr/x86_64/mbr.ld | 6 +++++-
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/mbr/i386/mbr.ld b/mbr/i386/mbr.ld
-index d14ba802..6d489904 100644
---- a/mbr/i386/mbr.ld
-+++ b/mbr/i386/mbr.ld
-@@ -69,5 +69,9 @@ SECTIONS
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-- /DISCARD/ : { *(.note.GNU-stack) }
-+ /DISCARD/ :
-+ {
-+ *(.note.GNU-stack)
-+ *(.note.gnu.property)
-+ }
- }
-diff --git a/mbr/x86_64/mbr.ld b/mbr/x86_64/mbr.ld
-index ae27d49a..5b46db66 100644
---- a/mbr/x86_64/mbr.ld
-+++ b/mbr/x86_64/mbr.ld
-@@ -68,5 +68,9 @@ SECTIONS
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-- /DISCARD/ : { *(.note.GNU-stack) }
-+ /DISCARD/ :
-+ {
-+ *(.note.GNU-stack)
-+ *(.note.gnu.property)
-+ }
- }
---
-2.35.1
-
diff --git a/sys-boot/syslinux/files/6.04_pre3/0002-Force-the-linker-to-put-all-sections-into-a-single-P.patch b/sys-boot/syslinux/files/6.04_pre3/0002-Force-the-linker-to-put-all-sections-into-a-single-P.patch
deleted file mode 100644
index 33b6a36c63ea..000000000000
--- a/sys-boot/syslinux/files/6.04_pre3/0002-Force-the-linker-to-put-all-sections-into-a-single-P.patch
+++ /dev/null
@@ -1,311 +0,0 @@
-From 0c646f067a6b766a5ce0434e5e4e7b839b511331 Mon Sep 17 00:00:00 2001
-From: Lukas Schwaighofer <lukas@schwaighofer.name>
-Date: Sat, 18 Aug 2018 16:56:35 +0200
-Subject: [PATCH 2/5] Force the linker to put all sections into a single
- PT_LOAD segment
-
-This is required when using binutils >= 2.31 which writes two PT_LOAD segments
-by default. This is not supported by the wrapper.c script used to convert the
-shared object into an elf binary.
-
-Forwarded: https://www.syslinux.org/archives/2018-August/026167.html
----
- efi/i386/syslinux.ld | 37 +++++++++++++++++++++----------------
- efi/x86_64/syslinux.ld | 37 +++++++++++++++++++++----------------
- 2 files changed, 42 insertions(+), 32 deletions(-)
-
-diff --git a/efi/i386/syslinux.ld b/efi/i386/syslinux.ld
-index bab3fc74..19c16479 100644
---- a/efi/i386/syslinux.ld
-+++ b/efi/i386/syslinux.ld
-@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
- OUTPUT_ARCH(i386)
- ENTRY(_start)
-
-+PHDRS
-+{
-+ all PT_LOAD ;
-+}
-+
- SECTIONS
- {
- . = 0;
-@@ -31,7 +36,7 @@ SECTIONS
- *(.text)
- *(.text.*)
- __text_end = .;
-- }
-+ } :all
-
- . = ALIGN(16);
-
-@@ -40,7 +45,7 @@ SECTIONS
- *(.rodata)
- *(.rodata.*)
- __rodata_end = .;
-- }
-+ } :all
-
- . = ALIGN(4);
-
-@@ -49,14 +54,14 @@ SECTIONS
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- __ctors_end = .;
-- }
-+ } :all
-
- .dtors : {
- __dtors_start = .;
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- __dtors_end = .;
-- }
-+ } :all
-
- . = ALIGN(4096);
- .rel : {
-@@ -64,7 +69,7 @@ SECTIONS
- *(.rel.data)
- *(.rel.data.*)
- *(.rel.ctors)
-- }
-+ } :all
-
- . = ALIGN(4);
-
-@@ -72,14 +77,14 @@ SECTIONS
- __gnu_hash_start = .;
- *(.gnu.hash)
- __gnu_hash_end = .;
-- }
-+ } :all
-
-
- .dynsym : {
- __dynsym_start = .;
- *(.dynsym)
- __dynsym_end = .;
-- }
-+ } :all
-
- . = ALIGN(4);
-
-@@ -87,7 +92,7 @@ SECTIONS
- __dynstr_start = .;
- *(.dynstr)
- __dynstr_end = .;
-- }
-+ } :all
-
- . = ALIGN(4);
-
-@@ -104,7 +109,7 @@ SECTIONS
- KEEP (*(.got.plt))
- KEEP (*(.got))
- __got_end = .;
-- }
-+ } :all
-
- . = ALIGN(4);
-
-@@ -112,7 +117,7 @@ SECTIONS
- __dynamic_start = .;
- *(.dynamic)
- __dynamic_end = .;
-- }
-+ } :all
-
- . = ALIGN(16);
-
-@@ -122,19 +127,19 @@ SECTIONS
- *(.data.*)
- *(.lowmem)
- __data_end = .;
-- }
-+ } :all
-
- .reloc : {
- *(.reloc)
-- }
-+ } :all
-
- .symtab : {
- *(.symtab)
-- }
-+ } :all
-
- .strtab : {
- *(.strtab)
-- }
-+ } :all
-
- .bss (NOLOAD) : {
- /* the EFI loader doesn't seem to like a .bss section,
-@@ -148,7 +153,7 @@ SECTIONS
- __bss_end = .;
- *(.sbss)
- *(.scommon)
-- }
-+ } :all
- __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
- __bss_dwords = (__bss_len + 3) >> 2;
-
-@@ -161,7 +166,7 @@ SECTIONS
- *(.hugebss)
- *(.hugebss.*)
- __hugebss_end = .;
-- }
-+ } :all
-
- _end = .;
-
-diff --git a/efi/x86_64/syslinux.ld b/efi/x86_64/syslinux.ld
-index 450641c6..a2c124fd 100644
---- a/efi/x86_64/syslinux.ld
-+++ b/efi/x86_64/syslinux.ld
-@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
- OUTPUT_ARCH(i386:x86-64)
- ENTRY(_start)
-
-+PHDRS
-+{
-+ all PT_LOAD ;
-+}
-+
- SECTIONS
- {
- . = 0;
-@@ -31,7 +36,7 @@ SECTIONS
- *(.text)
- *(.text.*)
- __text_end = .;
-- }
-+ } :all
-
- . = ALIGN(16);
-
-@@ -40,7 +45,7 @@ SECTIONS
- *(.rodata)
- *(.rodata.*)
- __rodata_end = .;
-- }
-+ } :all
-
- . = ALIGN(4);
-
-@@ -49,14 +54,14 @@ SECTIONS
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- __ctors_end = .;
-- }
-+ } :all
-
- .dtors : {
- __dtors_start = .;
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- __dtors_end = .;
-- }
-+ } :all
-
- . = ALIGN(4096);
- .rel : {
-@@ -64,7 +69,7 @@ SECTIONS
- *(.rel.data)
- *(.rel.data.*)
- *(.rel.ctors)
-- }
-+ } :all
-
- . = ALIGN(4);
-
-@@ -72,14 +77,14 @@ SECTIONS
- __gnu_hash_start = .;
- *(.gnu.hash)
- __gnu_hash_end = .;
-- }
-+ } :all
-
-
- .dynsym : {
- __dynsym_start = .;
- *(.dynsym)
- __dynsym_end = .;
-- }
-+ } :all
-
- . = ALIGN(4);
-
-@@ -87,7 +92,7 @@ SECTIONS
- __dynstr_start = .;
- *(.dynstr)
- __dynstr_end = .;
-- }
-+ } :all
-
- . = ALIGN(4);
-
-@@ -104,7 +109,7 @@ SECTIONS
- KEEP (*(.got.plt))
- KEEP (*(.got))
- __got_end = .;
-- }
-+ } :all
-
- . = ALIGN(4);
-
-@@ -112,7 +117,7 @@ SECTIONS
- __dynamic_start = .;
- *(.dynamic)
- __dynamic_end = .;
-- }
-+ } :all
-
- . = ALIGN(16);
-
-@@ -122,19 +127,19 @@ SECTIONS
- *(.data.*)
- *(.lowmem)
- __data_end = .;
-- }
-+ } :all
-
- .reloc : {
- *(.reloc)
-- }
-+ } :all
-
- .symtab : {
- *(.symtab)
-- }
-+ } :all
-
- .strtab : {
- *(.strtab)
-- }
-+ } :all
-
- .bss (NOLOAD) : {
- /* the EFI loader doesn't seem to like a .bss section,
-@@ -148,7 +153,7 @@ SECTIONS
- __bss_end = .;
- *(.sbss)
- *(.scommon)
-- }
-+ } :all
- __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
- __bss_dwords = (__bss_len + 3) >> 2;
-
-@@ -161,7 +166,7 @@ SECTIONS
- *(.hugebss)
- *(.hugebss.*)
- __hugebss_end = .;
-- }
-+ } :all
-
- _end = .;
-
---
-2.35.1
-
diff --git a/sys-boot/syslinux/files/6.04_pre3/0003-GCC-10-compatibility-patch.patch b/sys-boot/syslinux/files/6.04_pre3/0003-GCC-10-compatibility-patch.patch
deleted file mode 100644
index 6d60eab14bbb..000000000000
--- a/sys-boot/syslinux/files/6.04_pre3/0003-GCC-10-compatibility-patch.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From b92e6e8f624c96acf2ce80192a893ee25de527a1 Mon Sep 17 00:00:00 2001
-From: Lukas Schwaighofer <lukas@schwaighofer.name>
-Date: Sun, 16 Aug 2020 15:23:21 +0200
-Subject: [PATCH 3/5] GCC-10 compatibility patch
-
-* Add `-fcommon` to most gcc invocations to allow duplicate definitions
-* __builtin_strlen is not really a "builtin" an implementation still
- needs to be provided (source:
- https://bugzilla.suse.com/show_bug.cgi?id=1166605#c5). Work around the
- issue by supplying an inline function. The strlen function added to
- dos/string.h was copied from com32/lib/strlen.c.
----
- dos/string.h | 11 ++++++++++-
- mk/efi.mk | 1 +
- mk/elf.mk | 1 +
- mk/embedded.mk | 2 +-
- mk/lib.mk | 2 +-
- 5 files changed, 14 insertions(+), 3 deletions(-)
-
-diff --git a/dos/string.h b/dos/string.h
-index f648de2d..c4649f5f 100644
---- a/dos/string.h
-+++ b/dos/string.h
-@@ -5,12 +5,21 @@
- #ifndef _STRING_H
- #define _STRING_H
-
-+#include <stddef.h>
-+
- /* Standard routines */
- #define memcpy(a,b,c) __builtin_memcpy(a,b,c)
- #define memmove(a,b,c) __builtin_memmove(a,b,c)
- #define memset(a,b,c) __builtin_memset(a,b,c)
- #define strcpy(a,b) __builtin_strcpy(a,b)
--#define strlen(a) __builtin_strlen(a)
-+
-+static inline size_t strlen(const char *s)
-+{
-+ const char *ss = s;
-+ while (*ss)
-+ ss++;
-+ return ss - s;
-+}
-
- /* This only returns true or false */
- static inline int memcmp(const void *__m1, const void *__m2, unsigned int __n)
-diff --git a/mk/efi.mk b/mk/efi.mk
-index f097ad22..407bc077 100644
---- a/mk/efi.mk
-+++ b/mk/efi.mk
-@@ -25,6 +25,7 @@ FORMAT=efi-app-$(EFI_SUBARCH)
-
- CFLAGS = -I$(EFIINC) -I$(EFIINC)/$(EFI_SUBARCH) \
- -DEFI_FUNCTION_WRAPPER -fPIC -fshort-wchar -ffreestanding \
-+ -fcommon \
- -Wall -I$(com32)/include -I$(com32)/include/sys \
- -I$(core)/include -I$(core)/ $(ARCHOPT) \
- -I$(com32)/lib/ -I$(com32)/libutil/include -std=gnu99 \
-diff --git a/mk/elf.mk b/mk/elf.mk
-index b46dbd06..dc265ce9 100644
---- a/mk/elf.mk
-+++ b/mk/elf.mk
-@@ -55,6 +55,7 @@ GPLINCLUDE =
- endif
-
- CFLAGS = $(GCCOPT) $(GCCWARN) -W -Wall \
-+ -fcommon \
- -fomit-frame-pointer -D__COM32__ -D__FIRMWARE_$(FIRMWARE)__ -DDYNAMIC_MODULE \
- -nostdinc -iwithprefix include \
- -I$(com32)/libutil/include -I$(com32)/include \
-diff --git a/mk/embedded.mk b/mk/embedded.mk
-index 488dc0fc..fae13e20 100644
---- a/mk/embedded.mk
-+++ b/mk/embedded.mk
-@@ -57,7 +57,7 @@ LIBGCC := $(shell $(CC) $(GCCOPT) --print-libgcc)
- LD += -m elf_$(ARCH)
-
- # Note: use += for CFLAGS and SFLAGS in case something is set in MCONFIG.local
--CFLAGS += $(GCCOPT) -g $(GCCWARN) -Wno-sign-compare $(OPTFLAGS) $(INCLUDES)
-+CFLAGS += $(GCCOPT) -g $(GCCWARN) -Wno-sign-compare -fcommon $(OPTFLAGS) $(INCLUDES)
- SFLAGS += $(CFLAGS) -D__ASSEMBLY__
-
- .SUFFIXES: .c .o .S .s .i .elf .com .bin .asm .lst .c32 .lss
-diff --git a/mk/lib.mk b/mk/lib.mk
-index f8591e56..6dd54295 100644
---- a/mk/lib.mk
-+++ b/mk/lib.mk
-@@ -49,7 +49,7 @@ OPTFLAGS = -Os -march=$(MARCH) -falign-functions=0 -falign-jumps=0 \
- -falign-labels=0 -ffast-math -fomit-frame-pointer
- WARNFLAGS = $(GCCWARN) -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Winline
-
--CFLAGS = $(OPTFLAGS) $(REQFLAGS) $(WARNFLAGS) $(LIBFLAGS)
-+CFLAGS = $(OPTFLAGS) $(REQFLAGS) -fcommon $(WARNFLAGS) $(LIBFLAGS)
-
- ifeq ($(FWCLASS),EFI)
- CFLAGS += -mno-red-zone
---
-2.35.1
-
diff --git a/sys-boot/syslinux/files/6.04_pre3/0004-Inherit-toolchain-vars-from-environment.patch b/sys-boot/syslinux/files/6.04_pre3/0004-Inherit-toolchain-vars-from-environment.patch
deleted file mode 100644
index 40784f9b2698..000000000000
--- a/sys-boot/syslinux/files/6.04_pre3/0004-Inherit-toolchain-vars-from-environment.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 46d58e2b03e15a863aed8661b9ee922da4930a3e Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Mon, 30 May 2022 11:57:07 -0400
-Subject: [PATCH 4/5] Inherit toolchain vars from environment
-
----
- mk/syslinux.mk | 36 ++++++++++++++++++------------------
- 1 file changed, 18 insertions(+), 18 deletions(-)
-
-diff --git a/mk/syslinux.mk b/mk/syslinux.mk
-index 593ff75f..91d984e8 100644
---- a/mk/syslinux.mk
-+++ b/mk/syslinux.mk
-@@ -37,7 +37,7 @@ ifdef DEBUG
- DEBUGOPT = -DDEBUG=$(DEBUG)
- endif
-
--NASM = nasm
-+NASM ?= nasm
- NASMOPT = -Ox $(DEBUGOPT)
-
- PERL = perl
-@@ -46,29 +46,29 @@ UPX = upx
-
- CHMOD = chmod
-
--CC = gcc
-+CC ?= gcc
- gcc_ok = $(shell tmpf=gcc_ok.$$$$.tmp; \
- if $(CC) $(GCCOPT) $(1) -c $(topdir)/dummy.c \
- -o $$tmpf 2>/dev/null ; \
- then echo '$(1)'; else echo '$(2)'; fi; \
- rm -f $$tmpf)
-
--LD = ld
--OBJDUMP = objdump
--OBJCOPY = objcopy
--STRIP = strip
--AR = ar
--NM = nm
--RANLIB = ranlib
--STRIP = strip
--GZIPPROG = gzip
--XZ = xz
--PNGTOPNM = pngtopnm
--MCOPY = mcopy
--MFORMAT = mformat
--MKISOFS = mkisofs
--SED = sed
--WGET = wget
-+LD ?= ld
-+OBJDUMP ?= objdump
-+OBJCOPY ?= objcopy
-+STRIP ?= strip
-+AR ?= ar
-+NM ?= nm
-+RANLIB ?= ranlib
-+STRIP ?= strip
-+GZIPPROG ?= gzip
-+XZ ?= xz
-+PNGTOPNM ?= pngtopnm
-+MCOPY ?= mcopy
-+MFORMAT ?= mformat
-+MKISOFS ?= mkisofs
-+SED ?= sed
-+WGET ?= wget
-
- com32 = $(topdir)/com32
-
---
-2.35.1
-
diff --git a/sys-boot/syslinux/syslinux-6.04_pre3.ebuild b/sys-boot/syslinux/syslinux-6.04_pre3.ebuild
index bf2d6923e02e..f97f594ef776 100644
--- a/sys-boot/syslinux/syslinux-6.04_pre3.ebuild
+++ b/sys-boot/syslinux/syslinux-6.04_pre3.ebuild
@@ -45,7 +45,8 @@ QA_FLAGS_IGNORED=".*"
src_prepare() {
local PATCHES=(
- "${FILESDIR}/${PV}"
+ "${FILESDIR}/6.04_pre1"
+ "${FILESDIR}/6.04_pre3"
)
default
}