diff --git a/debian/patches/0000-unreleased-changelog.patch b/debian/patches/0000-unreleased-changelog.patch deleted file mode 100644 index 37af7e6..0000000 --- a/debian/patches/0000-unreleased-changelog.patch +++ /dev/null @@ -1,76 +0,0 @@ -From: Lukas Schwaighofer -Date: Sun, 25 Nov 2018 16:41:41 +0100 -Subject: Include changes since 6.03 in the changelog - -Origin: http://www.syslinux.org/wiki/index.php?title=Syslinux_6_Changelog -Forwarded: not-needed ---- - NEWS | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 55 insertions(+) - -diff --git a/NEWS b/NEWS -index c0846d8..ce80940 100644 ---- a/NEWS -+++ b/NEWS -@@ -2,6 +2,61 @@ Starting with 1.47, changes marked with SYSLINUX, PXELINUX, ISOLINUX - or EXTLINUX apply to that specific program only; other changes apply - to all derivatives. - -+Changes in 6.04~git20190221.05ac953c (unreleased): -+ * zlib: Update to version 1.2.11. -+ * libpng: Update to version 1.6.36. -+ * core/Makefile: Sort to be reproducible. -+ * efi/udp: Improve performance (Julien Viard de Galbert). -+ * keeppxe: Partial fix; the LINUX directive can pass -+ the keeppxe parameter (Adam Goldman). -+ * chain.c32: Update "reactos=" option. -+ * keytab-lilo: Update to support kbd 2.0.3 format (Olivier Brunel). -+ * menu: Apply VSHIFT to scrollbar (Bruno Levert). -+ * ext4: Support 64bit feature (Paulo Alcantara). -+ * isohybrid: Use binary mode for compatibility with DOS/Windows -+ (Colin Finck). -+ * isohybrid, MBR: Fix compatibility with CHS mode -+ in certain BIOS (Martin Str|mberg, Thomas Schmitt). -+ * ISOLINUX: Fix the calculation of the boot info table -+ default checksum (Thomas Schmitt); it was broken since 4.00. -+ * diag/geodsp improvements (Gene Cumm). -+ * HDT: Fixes, updates and improvements (Erwan Velu). -+ * load_linux: relocate protected-mode code as intended -+ (Scot Doyle). -+ * SYSAPPEND: Fix space stripping (Dany St-Amant). -+ * SERIAL: Fix, allow octal and hex values on "port" and -+ on "flow control" parameters (Andrew J. Schorr, Dany St-Amant). -+ * efi: Fix hang when no keyboard is present (Oliver Wagner). -+ * efi: Add support for firmware's architecture-specific -+ optional configuration file names. -+ * core: Re-add gPXE/iPXE support for HTTP on pxelinux.0 -+ (Gene Cumm). -+ * core/http: Append port number to Host field if needed -+ (Gene Cumm). -+ * chain.c32: Add options to ignore GPT crc checks -+ (Michal Soltys). -+ * mboot.c32: Add ELF64 support for Multiboot1 -+ (Alex Barracuda72, Gene Cumm). -+ * XFS: Support XFS on-disk V5, node directories version 3, -+ xfsprogs 4.x. (Paulo Alcantara). -+ * BTRFS: Fix logical_to_physical block address mapping -+ (Paulo Alcantara). -+ * lua: Fixes and improvements; -+ correct and improve its documentation (Ferenc Wágner). -+ * Old unmaintained gPXE code is no longer included. -+ * Code improvements. -+ * efi/udp: Improve performance (Julien Viard de Galbert). -+ * isohybrid: Use binary mode for compatibility with DOS/Windows -+ (Colin Finck). -+ * isohybrid, MBR: Fix compatibility with CHS mode -+ in certain BIOS (Martin Str|mberg, Thomas Schmitt). -+ * keeppxe: Partial fix; the LINUX directive can pass -+ the keeppxe parameter (Adam Goldman). -+ * chain.c32: Update "reactos=" option. -+ * keytab-lilo: Update to support kbd 2.0.3 format (Olivier Brunel). -+ * menu: Apply VSHIFT to scrollbar (Bruno Levert). -+ * ext4: Support 64bit feature (Paulo Alcantara). -+ - Changes in 6.03: - * chain: Fix chainloading on 6.02 (Raphael S. Carvalho). - * core: Do not leak the __lowmem and __bss16 macros to modules; diff --git a/debian/patches/0002-gfxboot-menu-label.patch b/debian/patches/0002-gfxboot-menu-label.patch deleted file mode 100644 index 0666a88..0000000 --- a/debian/patches/0002-gfxboot-menu-label.patch +++ /dev/null @@ -1,53 +0,0 @@ -From: Colin Watson -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); - diff --git a/debian/patches/0004-gnu-efi-from-debian.patch b/debian/patches/0004-gnu-efi-from-debian.patch deleted file mode 100644 index 9c8932b..0000000 --- a/debian/patches/0004-gnu-efi-from-debian.patch +++ /dev/null @@ -1,46 +0,0 @@ -From: Lukas Schwaighofer -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 Debian's gnu-efi package. -- The LIBDIR path depends on the build hosts' architecture, so the - DEB_HOST_ARCH variable needs to be exported to determine the correct - paths. - -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,15 @@ 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 ($(DEB_HOST_ARCH)/$(ARCH),amd64/i386) -+ LIBDIR = /usr/lib32 -+endif -+ifeq ($(DEB_HOST_ARCH)/$(ARCH),i386/x86_64) -+ LIBDIR = /usr/lib64 -+endif -+ - - 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) diff --git a/debian/patches/0005-gnu-efi-version-compatibility.patch b/debian/patches/0005-gnu-efi-version-compatibility.patch deleted file mode 100644 index fda0937..0000000 --- a/debian/patches/0005-gnu-efi-version-compatibility.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Lukas Schwaighofer -Date: Mon, 6 May 2019 00:43:10 +0200 -Subject: Strip memtest and memcpy from libefi - -Repack libefi.a to not contain the memset and memcpy symbols to make sure the -implementation from syslinux is used and no multiple symbol definitions are -present. ---- - efi/Makefile | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/efi/Makefile b/efi/Makefile -index f4501e7..adae73f 100644 ---- a/efi/Makefile -+++ b/efi/Makefile -@@ -43,8 +43,10 @@ CORE_OBJS += $(addprefix $(OBJ)/../core/, \ - fs/pxe/pxe.o fs/pxe/tftp.o fs/pxe/urlparse.o fs/pxe/dhcp_option.o \ - fs/pxe/ftp.o fs/pxe/ftp_readdir.o fs/pxe/http.o fs/pxe/http_readdir.o) - -+LIBEFI_STRIPPED = $(objdir)/libefi_stripped.a -+ - LIB_OBJS = $(addprefix $(objdir)/com32/lib/,$(CORELIBOBJS)) \ -- $(LIBEFI) -+ $(LIBEFI_STRIPPED) - - CSRC = $(sort $(wildcard $(SRC)/*.c)) - OBJS = $(subst $(SRC)/,,$(filter-out %wrapper.o, $(patsubst %.c,%.o,$(CSRC)))) -@@ -73,6 +75,13 @@ BTARGET = syslinux.efi - syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS) - $(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi - -+$(LIBEFI_STRIPPED): $(LIBEFI) -+ cp $(LIBEFI) $(LIBEFI_STRIPPED) -+ ar x $(LIBEFI_STRIPPED) init.o -+ strip -N memset -N memcpy init.o -+ ar r $(LIBEFI_STRIPPED) init.o -+ rm init.o -+ - # We need to rename the .hash section because the EFI firmware - # linker really doesn't like it. - # $(OBJCOPY) --rename-section .gnu.hash=.sdata,load,data,alloc $^ $@ diff --git a/debian/patches/0016-strip-gnu-property.patch b/debian/patches/0016-strip-gnu-property.patch deleted file mode 100644 index 69656f9..0000000 --- a/debian/patches/0016-strip-gnu-property.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Lukas Schwaighofer -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) -+ } - } diff --git a/debian/patches/0017-single-load-segment.patch b/debian/patches/0017-single-load-segment.patch deleted file mode 100644 index 7fd53b1..0000000 --- a/debian/patches/0017-single-load-segment.patch +++ /dev/null @@ -1,306 +0,0 @@ -From: Lukas Schwaighofer -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 = .; - diff --git a/debian/patches/0018-prevent-pow-optimization.patch b/debian/patches/0018-prevent-pow-optimization.patch deleted file mode 100644 index 0c42c7b..0000000 --- a/debian/patches/0018-prevent-pow-optimization.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Lukas Schwaighofer -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)); diff --git a/debian/patches/series b/debian/patches/series deleted file mode 100644 index aef62f0..0000000 --- a/debian/patches/series +++ /dev/null @@ -1,7 +0,0 @@ -0000-unreleased-changelog.patch -0002-gfxboot-menu-label.patch -0004-gnu-efi-from-debian.patch -0005-gnu-efi-version-compatibility.patch -0016-strip-gnu-property.patch -0017-single-load-segment.patch -0018-prevent-pow-optimization.patch diff --git a/debian/source/format b/debian/source/format index 163aaf8..89ae9db 100644 --- a/debian/source/format +++ b/debian/source/format @@ -1 +1 @@ -3.0 (quilt) +3.0 (native)