[arch-commits] Commit in syslinux/trunk (10 files)
Anatol Pomozov
anatolik at archlinux.org
Wed Apr 3 18:41:26 UTC 2019
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 <cjwatson at 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 <lukas at 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 <lukas at 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 <lukas at 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 <lukas at 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 <lukas at 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 <lukas at 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 <lukas at 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 <lukas at 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) }
- }
More information about the arch-commits
mailing list