Date: Wednesday, April 3, 2019 @ 18:41:25 Author: anatolik Revision: 349813
Sync patches with Debian Among other things it brings a fix for FS#59987 Added: syslinux/trunk/0002-gfxboot-menu-label.patch syslinux/trunk/0004-gnu-efi-from-arch.patch syslinux/trunk/0005-gnu-efi-version-compatibility.patch syslinux/trunk/0016-strip-gnu-property.patch syslinux/trunk/0017-single-load-segment.patch syslinux/trunk/0018-prevent-pow-optimization.patch Modified: syslinux/trunk/PKGBUILD Deleted: syslinux/trunk/prevent-pow-optimization.patch syslinux/trunk/single-load-segment.patch syslinux/trunk/strip_note_section.patch ------------------------------------------+ 0002-gfxboot-menu-label.patch | 53 +++++ 0004-gnu-efi-from-arch.patch | 36 +++ 0005-gnu-efi-version-compatibility.patch | 25 ++ 0016-strip-gnu-property.patch | 43 ++++ 0017-single-load-segment.patch | 306 +++++++++++++++++++++++++++++ 0018-prevent-pow-optimization.patch | 36 +++ PKGBUILD | 46 +--- prevent-pow-optimization.patch | 36 --- single-load-segment.patch | 304 ---------------------------- strip_note_section.patch | 29 -- 10 files changed, 520 insertions(+), 394 deletions(-) Added: 0002-gfxboot-menu-label.patch =================================================================== --- 0002-gfxboot-menu-label.patch (rev 0) +++ 0002-gfxboot-menu-label.patch 2019-04-03 18:41:25 UTC (rev 349813) @@ -0,0 +1,53 @@ +From: Colin Watson <cjwat...@ubuntu.com> +Date: Wed, 2 Nov 2011 07:57:23 +0100 +Subject: Allow boot entry to start with label instead of menu_label. + +menu_ptr->menu_label is human-readable (perhaps even translatable!) text if +the MENU LABEL command is used, which isn't very convenient at the start of +a boot entry. Allow the entry to start with menu_ptr->label (an +identifier) as an alternative. +--- + com32/gfxboot/gfxboot.c | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +diff --git a/com32/gfxboot/gfxboot.c b/com32/gfxboot/gfxboot.c +index f67132c..4c76a35 100644 +--- a/com32/gfxboot/gfxboot.c ++++ b/com32/gfxboot/gfxboot.c +@@ -818,7 +818,7 @@ void boot(int index) + { + char *arg, *alt_kernel; + menu_t *menu_ptr; +- int i, label_len; ++ int i, label_len, menu_label_len; + unsigned ipapp; + const struct syslinux_ipappend_strings *ipappend; + char *gfxboot_cwd = (char *) gfx_config.gfxboot_cwd; +@@ -836,18 +836,22 @@ void boot(int index) + if(!menu_ptr || !menu_ptr->menu_label) return; + + arg = skipspace(cmdline); +- label_len = strlen(menu_ptr->menu_label); ++ label_len = strlen(menu_ptr->label); ++ menu_label_len = strlen(menu_ptr->menu_label); + + // if it does not start with label string, assume first word is kernel name +- if(strncmp(arg, menu_ptr->menu_label, label_len)) { ++ if(!strncmp(arg, menu_ptr->label, label_len)) { ++ arg += label_len; ++ } ++ else if(!strncmp(arg, menu_ptr->menu_label, menu_label_len)) { ++ arg += menu_label_len; ++ } ++ else { + alt_kernel = arg; + arg = skip_nonspaces(arg); + if(*arg) *arg++ = 0; + if(*alt_kernel) menu_ptr->alt_kernel = alt_kernel; + } +- else { +- arg += label_len; +- } + + arg = skipspace(arg); + Added: 0004-gnu-efi-from-arch.patch =================================================================== --- 0004-gnu-efi-from-arch.patch (rev 0) +++ 0004-gnu-efi-from-arch.patch 2019-04-03 18:41:25 UTC (rev 349813) @@ -0,0 +1,36 @@ +From: Lukas Schwaighofer <lu...@schwaighofer.name> +Date: Tue, 3 Oct 2017 18:29:13 +0200 +Subject: Link against gnu-efi from Debian + +Adjust EFIINC, LIBDIR and LIBEFI variables in mk/efi.mk to point to the +files installed by Arch's gnu-efi package. + +Forwarded: not-needed +--- + mk/efi.mk | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/mk/efi.mk b/mk/efi.mk +index f097ad2..dc2b708 100644 +--- a/mk/efi.mk ++++ b/mk/efi.mk +@@ -8,8 +8,8 @@ core = $(topdir)/core + # gnuefi sets up architecture specifics in ia32 or x86_64 sub directories + # set up the LIBDIR and EFIINC for building for the appropriate architecture + GCCOPT := $(call gcc_ok,-fno-stack-protector,) +-EFIINC = $(objdir)/include/efi +-LIBDIR = $(objdir)/lib ++EFIINC = /usr/include/efi ++LIBDIR = /usr/lib + + ifeq ($(ARCH),i386) + ARCHOPT = -m32 -march=i386 +@@ -44,7 +51,7 @@ SFLAGS = $(GCCOPT) $(GCCWARN) $(ARCHOPT) \ + -nostdinc -iwithprefix include \ + -I$(com32)/libutil/include -I$(com32)/include -I$(com32)/include/sys $(GPLINCLUDE) + +-LIBEFI = $(objdir)/lib/libefi.a ++LIBEFI = $(LIBDIR)/libefi.a + + $(LIBEFI): + @echo Building gnu-efi for $(EFI_SUBARCH) Added: 0005-gnu-efi-version-compatibility.patch =================================================================== --- 0005-gnu-efi-version-compatibility.patch (rev 0) +++ 0005-gnu-efi-version-compatibility.patch 2019-04-03 18:41:25 UTC (rev 349813) @@ -0,0 +1,25 @@ +From: Lukas Schwaighofer <lu...@schwaighofer.name> +Date: Mon, 3 Dec 2018 22:45:44 +0100 +Subject: Fix compatibility with new gnu-efi version + +Allow multiple definitions when linking the syslinux binary so the +memset and memcpy symbols which are included by gnu-efi since 3.0.8 are +ignored (we still use the definitions from syslinux) but linking +succeeds. +--- + efi/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/efi/Makefile b/efi/Makefile +index f4501e7..0d1a673 100644 +--- 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) -zmuldefs --strip-debug -o $@ $^ -lgnuefi -lefi + + # We need to rename the .hash section because the EFI firmware + # linker really doesn't like it. Added: 0016-strip-gnu-property.patch =================================================================== --- 0016-strip-gnu-property.patch (rev 0) +++ 0016-strip-gnu-property.patch 2019-04-03 18:41:25 UTC (rev 349813) @@ -0,0 +1,43 @@ +From: Lukas Schwaighofer <lu...@schwaighofer.name> +Date: Sat, 18 Aug 2018 12:48:21 +0200 +Subject: 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 d14ba80..6d48990 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 ae27d49..5b46db6 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) ++ } + } Added: 0017-single-load-segment.patch =================================================================== --- 0017-single-load-segment.patch (rev 0) +++ 0017-single-load-segment.patch 2019-04-03 18:41:25 UTC (rev 349813) @@ -0,0 +1,306 @@ +From: Lukas Schwaighofer <lu...@schwaighofer.name> +Date: Sat, 18 Aug 2018 16:56:35 +0200 +Subject: 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 bab3fc7..19c1647 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 450641c..a2c124f 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 = .; + Added: 0018-prevent-pow-optimization.patch =================================================================== --- 0018-prevent-pow-optimization.patch (rev 0) +++ 0018-prevent-pow-optimization.patch 2019-04-03 18:41:25 UTC (rev 349813) @@ -0,0 +1,36 @@ +From: Lukas Schwaighofer <lu...@schwaighofer.name> +Date: Tue, 26 Feb 2019 23:13:58 +0100 +Subject: Prevent optimizing the pow() function + +With the current GCC 8.2.0 from Debian, a section of code calling pow() in +zzjson_parse.c is turned into a sequence calling exp(). Since no exp() +implementation is available in syslinux those optimizations need to be +disabled. +--- + com32/gpllib/zzjson/zzjson_parse.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/com32/gpllib/zzjson/zzjson_parse.c b/com32/gpllib/zzjson/zzjson_parse.c +index ecb6f61..e66a9d8 100644 +--- a/com32/gpllib/zzjson/zzjson_parse.c ++++ b/com32/gpllib/zzjson/zzjson_parse.c +@@ -138,6 +138,10 @@ static ZZJSON *parse_string2(ZZJSON_CONFIG *config) { + return zzjson; + } + ++static double __attribute__((optimize("O0"))) pow_noopt(double x, double y) { ++ return pow(x, y); ++} ++ + static ZZJSON *parse_number(ZZJSON_CONFIG *config) { + ZZJSON *zzjson; + unsigned long long ival = 0, expo = 0; +@@ -213,7 +217,7 @@ skipexpo: + if (dbl) { + dval = sign * (long long) ival; + dval += sign * frac; +- dval *= pow(10.0, (double) signexpo * expo); ++ dval *= pow_noopt(10.0, (double) signexpo * expo); + } + + zzjson = config->calloc(1, sizeof(ZZJSON)); Modified: PKGBUILD =================================================================== --- PKGBUILD 2019-04-03 18:39:36 UTC (rev 349812) +++ PKGBUILD 2019-04-03 18:41:25 UTC (rev 349813) @@ -4,9 +4,9 @@ # Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> pkgname=syslinux -pkgver=6.04.pre3.r3.g05ac953c +pkgver=6.04.pre2.r11.gbf6db5b4 #_tag=syslinux-$pkgver -_commit=05ac953c23f90b2328d393f7eecde96e41aed067 +_commit=bf6db5b4 pkgrel=1 pkgdesc='Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE' url='http://www.syslinux.org/' @@ -32,21 +32,24 @@ source=(git+https://repo.or.cz/syslinux.git#commit=$_commit syslinux.cfg syslinux-install_update - strip_note_section.patch - single-load-segment.patch - prevent-pow-optimization.patch + 0002-gfxboot-menu-label.patch + 0005-gnu-efi-version-compatibility.patch + 0017-single-load-segment.patch + 0004-gnu-efi-from-arch.patch + 0016-strip-gnu-property.patch + 0018-prevent-pow-optimization.patch ) sha1sums=('SKIP' '1145f454bd297d373ad123425f93620c3e92f585' 'df5160a138ca8c6502d67fe1a64fec78b50e82c2' - '11d928087764ca286af0327d40230f219348568c' - '830c88005fb6c9e759f67b91ab33a10b002385de' + '69239fda4a3d5a247f0e48c5c683e0124c7d9201' + '1e0cd52252622f206d22e84f2a4d358508c902f4' + '81d05572b15dc5c55b63489fecdc79a6a332959c' + '4c3706e7a5620e450a6abb9238c08d7b39bb6945' + 'f4a6768c7e5b8d02428ae550e37a7ca445ad1bb8' 'c94622eaa14ad9512e4f43b13302ba35d1787cbc') -_targets='bios efi32' -case "$CARCH" in - x86_64) _targets+=' efi64' ;; -esac +_targets='bios efi64 efi32' pkgver() { cd syslinux @@ -56,15 +59,15 @@ prepare() { cd syslinux - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906414 - patch -p1 < ../strip_note_section.patch + patch -p1 < ../0002-gfxboot-menu-label.patch + patch -p1 < ../0017-single-load-segment.patch + patch -p1 < ../0016-strip-gnu-property.patch + patch -p1 < ../0018-prevent-pow-optimization.patch - # https://bugs.archlinux.org/task/61059 - patch -p1 < ../single-load-segment.patch + # TODO: use 'gnu-efi-libs' package instead of embedded sources + # patch -p1 < ../0004-gnu-efi-from-arch.patch + # patch -p1 < ../0005-gnu-efi-version-compatibility.patch - # https://bugs.archlinux.org/task/59987 - patch -p1 < ../prevent-pow-optimization.patch - # do not swallow efi compilation output to make debugging easier sed 's|> /dev/null 2>&1||' -i efi/check-gnu-efi.sh @@ -79,13 +82,6 @@ make PYTHON=python2 $_targets } -check() { - cd syslinux - # tests fail to compile - # make unittest - true -} - package() { cd syslinux make $_targets install INSTALLROOT="$pkgdir" SBINDIR=/usr/bin MANDIR=/usr/share/man AUXDIR=/usr/lib/syslinux Deleted: prevent-pow-optimization.patch =================================================================== --- prevent-pow-optimization.patch 2019-04-03 18:39:36 UTC (rev 349812) +++ prevent-pow-optimization.patch 2019-04-03 18:41:25 UTC (rev 349813) @@ -1,36 +0,0 @@ -From: Lukas Schwaighofer <lu...@schwaighofer.name> -Date: Tue, 26 Feb 2019 23:13:58 +0100 -Subject: Prevent optimizing the pow() function - -With the current GCC 8.2.0 from Debian, a section of code calling pow() in -zzjson_parse.c is turned into a sequence calling exp(). Since no exp() -implementation is available in syslinux those optimizations need to be -disabled. ---- - com32/gpllib/zzjson/zzjson_parse.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/com32/gpllib/zzjson/zzjson_parse.c b/com32/gpllib/zzjson/zzjson_parse.c -index ecb6f61..e66a9d8 100644 ---- a/com32/gpllib/zzjson/zzjson_parse.c -+++ b/com32/gpllib/zzjson/zzjson_parse.c -@@ -138,6 +138,10 @@ static ZZJSON *parse_string2(ZZJSON_CONFIG *config) { - return zzjson; - } - -+static double __attribute__((optimize("O0"))) pow_noopt(double x, double y) { -+ return pow(x, y); -+} -+ - static ZZJSON *parse_number(ZZJSON_CONFIG *config) { - ZZJSON *zzjson; - unsigned long long ival = 0, expo = 0; -@@ -213,7 +217,7 @@ skipexpo: - if (dbl) { - dval = sign * (long long) ival; - dval += sign * frac; -- dval *= pow(10.0, (double) signexpo * expo); -+ dval *= pow_noopt(10.0, (double) signexpo * expo); - } - - zzjson = config->calloc(1, sizeof(ZZJSON)); Deleted: single-load-segment.patch =================================================================== --- single-load-segment.patch 2019-04-03 18:39:36 UTC (rev 349812) +++ single-load-segment.patch 2019-04-03 18:41:25 UTC (rev 349813) @@ -1,304 +0,0 @@ -Author: Lukas Schwaighofer <lu...@schwaighofer.name> -Description: 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 bab3fc7..5b4589d 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 450641c..cad28a8 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 = .; - Deleted: strip_note_section.patch =================================================================== --- strip_note_section.patch 2019-04-03 18:39:36 UTC (rev 349812) +++ strip_note_section.patch 2019-04-03 18:41:25 UTC (rev 349813) @@ -1,29 +0,0 @@ -Author: Lukas Schwaighofer <lu...@schwaighofer.name> -Description: 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. ---- - mbr/i386/mbr.ld | 1 + - mbr/x86_64/mbr.ld | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/mbr/i386/mbr.ld b/mbr/i386/mbr.ld -index d14ba80..5368346 100644 ---- a/mbr/i386/mbr.ld -+++ b/mbr/i386/mbr.ld -@@ -70,4 +70,5 @@ SECTIONS - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } -+ /DISCARD/ : { *(.note.gnu.property) } - } -diff --git a/mbr/x86_64/mbr.ld b/mbr/x86_64/mbr.ld -index ae27d49..b8c0d89 100644 ---- a/mbr/x86_64/mbr.ld -+++ b/mbr/x86_64/mbr.ld -@@ -69,4 +69,5 @@ SECTIONS - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - /DISCARD/ : { *(.note.GNU-stack) } -+ /DISCARD/ : { *(.note.gnu.property) } - }