* [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2
@ 2026-10-24 22:08 Alexander Sverdlin
2026-10-25 20:36 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 10+ messages in thread
From: Alexander Sverdlin @ 2026-10-24 22:08 UTC (permalink / raw)
To: buildroot; +Cc: Alexander Sverdlin, Andreas Ziegler
The revision to build comes from Archlinux syslinux package, the archive
from debian (to save time for git clone).
Add patch fixing passing &load_error_buf to setjmp()/longjmp(), rejected
since gcc 14 made -Wincompatible-pointer-types an error by default.
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
Changelog:
v2:
- rebased onto 5bba532f22db
- build/boot tested
- added patch to fix gcc 14 build
- don't preserve host syslinux installer
v1:
https://lore.kernel.org/all/20260830181907.106154-1-alexander.sverdlin@gmail.com/
...bios-Fix-alignment-change-with-gcc-5.patch | 82 ---
.../0001-efi-main.c-fix-jmp_buf-passing.patch | 34 +
...-Disable-PIE-to-avoid-FTBFS-on-amd64.patch | 30 -
...sk-Force-ld-output-format-to-32-bits.patch | 32 -
...tils-Use-the-host-toolchain-to-build.patch | 60 --
...-Use-the-host-toolchain-for-prepcore.patch | 2 +-
...ition-is-now-part-of-the-exports-of-.patch | 37 --
...ump-calls-to-fit-the-new-declaration.patch | 37 --
...per-build-it-with-the-host-toolchain.patch | 32 -
...-try-to-guess-the-sections-alignment.patch | 295 ---------
...10-core-Clean-up-the-i386-bios-build.patch | 622 ------------------
...-sysmacros-h-for-major-minor-makedev.patch | 34 -
...Fix-build-with-gnu-efi-version-3.0.9.patch | 16 +-
.../0015-efi-main.c-include-efisetjmp.h.patch | 2 +-
...multiple-definition-of-symbol-errors.patch | 25 +-
.../0021-load_linux-correct-a-type.patch | 34 -
...fix-incorrect-type-of-load_error_buf.patch | 48 --
boot/syslinux/syslinux.hash | 4 +-
boot/syslinux/syslinux.mk | 6 +-
19 files changed, 53 insertions(+), 1379 deletions(-)
delete mode 100644 boot/syslinux/0001-bios-Fix-alignment-change-with-gcc-5.patch
create mode 100644 boot/syslinux/0001-efi-main.c-fix-jmp_buf-passing.patch
delete mode 100644 boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch
delete mode 100644 boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch
delete mode 100644 boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch
delete mode 100644 boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch
delete mode 100644 boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch
delete mode 100644 boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch
delete mode 100644 boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch
delete mode 100644 boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch
delete mode 100644 boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch
delete mode 100644 boot/syslinux/0021-load_linux-correct-a-type.patch
delete mode 100644 boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch
diff --git a/boot/syslinux/0001-bios-Fix-alignment-change-with-gcc-5.patch b/boot/syslinux/0001-bios-Fix-alignment-change-with-gcc-5.patch
deleted file mode 100644
index 633d996ed1..0000000000
--- a/boot/syslinux/0001-bios-Fix-alignment-change-with-gcc-5.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From da5cbd1a3b248f2d32281a1766a3d1414c0e8e03 Mon Sep 17 00:00:00 2001
-From: Sylvain Gault <sylvain.gault@gmail.com>
-Date: Tue, 29 Sep 2015 02:38:25 +0200
-Subject: [PATCH] bios: Fix alignment change with gcc 5
-
-The section aligment specified in the ld scripts have to be greater or
-equal to those in the .o files generated by gcc.
-
-Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
-Tested-by: poma <pomidorabelisima@gmail.com>
-Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
-Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
----
- core/i386/syslinux.ld | 6 +++---
- core/x86_64/syslinux.ld | 6 +++---
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
-index 7b4e012..7390451 100644
---- a/core/i386/syslinux.ld
-+++ b/core/i386/syslinux.ld
-@@ -266,7 +266,7 @@ SECTIONS
- __text_end = .;
- }
-
-- . = ALIGN(16);
-+ . = ALIGN(32);
-
- __rodata_vma = .;
- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
-@@ -361,7 +361,7 @@ SECTIONS
- __dynamic_end = .;
- }
-
-- . = ALIGN(16);
-+ . = ALIGN(32);
-
- __data_vma = .;
- __data_lma = __data_vma + __text_lma - __text_vma;
-@@ -377,7 +377,7 @@ SECTIONS
- __pm_code_dwords = (__pm_code_len + 3) >> 2;
-
- . = ALIGN(128);
--
-+
- __bss_vma = .;
- __bss_lma = .; /* Dummy */
- .bss (NOLOAD) : AT (__bss_lma) {
-diff --git a/core/x86_64/syslinux.ld b/core/x86_64/syslinux.ld
-index 1057112..bf815c4 100644
---- a/core/x86_64/syslinux.ld
-+++ b/core/x86_64/syslinux.ld
-@@ -266,7 +266,7 @@ SECTIONS
- __text_end = .;
- }
-
-- . = ALIGN(16);
-+ . = ALIGN(32);
-
- __rodata_vma = .;
- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
-@@ -361,7 +361,7 @@ SECTIONS
- __dynamic_end = .;
- }
-
-- . = ALIGN(16);
-+ . = ALIGN(32);
-
- __data_vma = .;
- __data_lma = __data_vma + __text_lma - __text_vma;
-@@ -377,7 +377,7 @@ SECTIONS
- __pm_code_dwords = (__pm_code_len + 3) >> 2;
-
- . = ALIGN(128);
--
-+
- __bss_vma = .;
- __bss_lma = .; /* Dummy */
- .bss (NOLOAD) : AT (__bss_lma) {
---
-2.7.4
-
diff --git a/boot/syslinux/0001-efi-main.c-fix-jmp_buf-passing.patch b/boot/syslinux/0001-efi-main.c-fix-jmp_buf-passing.patch
new file mode 100644
index 0000000000..3baabc2b2e
--- /dev/null
+++ b/boot/syslinux/0001-efi-main.c-fix-jmp_buf-passing.patch
@@ -0,0 +1,34 @@
+From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
+Subject: [PATCH] efi/main.c: pass jmp_buf directly to setjmp()/longjmp()
+
+gnu-efi's jmp_buf is a one-element array, so load_error_buf already decays
+to the element pointer setjmp()/longjmp() expect. Passing &load_error_buf
+hands over a pointer-to-array instead, rejected since gcc 14 made
+-Wincompatible-pointer-types an error by default.
+
+Upstream: N/A, dead
+Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
+---
+ efi/main.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/efi/main.c b/efi/main.c
+--- a/efi/main.c
++++ b/efi/main.c
+@@ -184,7 +184,7 @@ __export void local_boot(uint16_t ax)
+ * Inform the firmware that we failed to execute correctly, which
+ * will trigger the next entry in the EFI Boot Manager list.
+ */
+- longjmp(&load_error_buf, 1);
++ longjmp(load_error_buf, 1);
+ }
+
+ void bios_timer_cleanup(void)
+@@ -1384,4 +1384,4 @@
+
+- if (!setjmp(&load_error_buf))
++ if (!setjmp(load_error_buf))
+ load_env32(NULL);
+
+--
+2.43.0
diff --git a/boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch b/boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch
deleted file mode 100644
index 64a08b8575..0000000000
--- a/boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 250bf2c921713434627dc7bc8b0918fa0841f9b7 Mon Sep 17 00:00:00 2001
-From: Graham Inggs <ginggs@ubuntu.com>
-Date: Wed, 5 Apr 2017 22:03:12 +0200
-Subject: [PATCH] Disable PIE to avoid FTBFS on amd64
-
-gcc 6.x has PIE support enabled by default, which causes a build issue
-with syslinux. This patch disables PIE support in the relevant
-syslinux Makefile.
-
-Signed-off-by: Ryan Coe <bluemrp9@gmail.com>
----
- gpxe/src/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gpxe/src/Makefile b/gpxe/src/Makefile
-index cc91d78..077af64 100644
---- a/gpxe/src/Makefile
-+++ b/gpxe/src/Makefile
-@@ -4,7 +4,7 @@
- #
-
- CLEANUP :=
--CFLAGS :=
-+CFLAGS := -fno-PIE
- ASFLAGS :=
- LDFLAGS :=
- MAKEDEPS := Makefile
---
-2.7.4
-
diff --git a/boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch b/boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch
deleted file mode 100644
index 4eedf4973e..0000000000
--- a/boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From c0287594239d5af2082cac20817f8e8b11a4b1b2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
-Date: Wed, 5 Apr 2017 14:18:09 +0200
-Subject: [PATCH] memdisk: Force ld output format to 32-bits
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-On toolchains where the default output is x86_64, we need to be
-consistent with the other .o files
-
-Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
----
- memdisk/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/memdisk/Makefile b/memdisk/Makefile
-index e6557d8..06613ff 100644
---- a/memdisk/Makefile
-+++ b/memdisk/Makefile
-@@ -78,7 +78,7 @@ memdisk16.o: memdisk16.asm
- $(NASM) -f bin $(NASMOPT) $(NFLAGS) $(NINCLUDE) -o $@ -l $*.lst $<
-
- memdisk_%.o: memdisk_%.bin
-- $(LD) -r -b binary -o $@ $<
-+ $(LD) --oformat elf32-i386 -r -b binary -o $@ $<
-
- memdisk16.elf: $(OBJS16)
- $(LD) -Ttext 0 -o $@ $^
---
-2.7.4
-
diff --git a/boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch b/boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch
deleted file mode 100644
index e091a3a89d..0000000000
--- a/boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From e000251144056c99e390a2a4449d06cbd2a19c0a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
-Date: Wed, 5 Apr 2017 14:25:02 +0200
-Subject: [PATCH] utils: Use the host toolchain to build.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The utilities are meant to run on the host machine, hence must be built using
-the host toolchain.
-
-Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
----
- utils/Makefile | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/utils/Makefile b/utils/Makefile
-index dfe6259..ac91aaa 100644
---- a/utils/Makefile
-+++ b/utils/Makefile
-@@ -17,8 +17,8 @@
- VPATH = $(SRC)
- include $(MAKEDIR)/syslinux.mk
-
--CFLAGS = $(GCCWARN) -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -I$(SRC)
--LDFLAGS = -O2
-+CFLAGS = $(CFLAGS_FOR_BUILD) $(GCCWARN) -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -I$(SRC)
-+LDFLAGS = $(LDFLAGS_FOR_BUILD) -O2
-
- C_TARGETS = isohybrid gethostip memdiskfind
- SCRIPT_TARGETS = mkdiskimage
-@@ -35,7 +35,7 @@ ISOHDPFX = $(addprefix $(OBJ)/,../mbr/isohdpfx.bin ../mbr/isohdpfx_f.bin \
- all: $(TARGETS)
-
- %.o: %.c
-- $(CC) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $<
-+ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $<
-
- mkdiskimage: mkdiskimage.in ../mbr/mbr.bin bin2hex.pl
- $(PERL) $(SRC)/bin2hex.pl < $(OBJ)/../mbr/mbr.bin | cat $(SRC)/mkdiskimage.in - > $@
-@@ -51,13 +51,13 @@ isohdpfx.c: $(ISOHDPFX) isohdpfxarray.pl
- $(PERL) $(SRC)/isohdpfxarray.pl $(ISOHDPFX) > $@
-
- isohybrid: isohybrid.o isohdpfx.o
-- $(CC) $(LDFLAGS) -o $@ $^ -luuid
-+ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^ -luuid
-
- gethostip: gethostip.o
-- $(CC) $(LDFLAGS) -o $@ $^
-+ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^
-
- memdiskfind: memdiskfind.o
-- $(CC) $(LDFLAGS) -o $@ $^
-+ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^
-
- tidy dist:
- rm -f *.o .*.d isohdpfx.c
---
-2.1.4
-
diff --git a/boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch b/boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch
index c6fa7febf7..71875bf86f 100644
--- a/boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch
+++ b/boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch
@@ -27,7 +27,7 @@ index 29f1fa6..c016e5a 100644
+%.o: %.c
+ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS_FOR_BUILD) $(INCLUDES) -c -o $@ $<
+
- LIBOBJS = $(patsubst %.c,%.o,$(subst $(SRC)/,,$(wildcard $(SRC)/src/*.c)))
+ LIBOBJS = $(patsubst %.c,%.o,$(subst $(SRC)/,,$(sort $(wildcard $(SRC)/src/*.c))))
LIB = lzo.a
BINS = prepcore
@@ -30,7 +33,7 @@ $(LIB) : $(LIBOBJS)
diff --git a/boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch b/boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch
deleted file mode 100644
index c376010232..0000000000
--- a/boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 39274503292a6003b1b0c93f694e34f11e85ea44 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
-Date: Fri, 9 Jun 2017 11:55:14 +0200
-Subject: [PATCH] The VPrint definition is now part of the exports of
- gnu-efi
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
----
- efi/fio.h | 9 ---------
- 1 file changed, 9 deletions(-)
-
-diff --git a/efi/fio.h b/efi/fio.h
-index 65fff8d..a1bfe68 100644
---- a/efi/fio.h
-+++ b/efi/fio.h
-@@ -11,15 +11,6 @@
- #define MAX_EFI_ARGS 64
- #define WS(c16) (c16 == L' ' || c16 == CHAR_TAB)
-
--/* VPrint is not in export declarations in gnu-efi lib yet
-- * although it is a global function; declare it here
-- */
--extern UINTN
--VPrint (
-- IN CHAR16 *fmt,
-- va_list args
-- );
--
- extern EFI_STATUS efi_errno;
-
- void efi_memcpy(unsigned char *dst, unsigned char *src, size_t len);
---
-2.1.4
-
diff --git a/boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch b/boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch
deleted file mode 100644
index 90d0b81f06..0000000000
--- a/boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 3bd5c2d951421a89f76b2423e5810862f53486c1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
-Date: Fri, 9 Jun 2017 11:59:43 +0200
-Subject: [PATCH] Update the longjump calls to fit the new declaration
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
----
- efi/main.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/efi/main.c b/efi/main.c
-index 208fee4f..71d31a5c 100644
---- a/efi/main.c
-+++ b/efi/main.c
-@@ -10,7 +10,6 @@
- #include <syslinux/firmware.h>
- #include <syslinux/linux.h>
- #include <sys/ansi.h>
--#include <setjmp.h>
-
- #include "efi.h"
- #include "fio.h"
-@@ -30,7 +29,7 @@ uint32_t timer_irq;
- __export uint8_t KbdMap[256];
- char aux_seg[256];
-
--static jmp_buf load_error_buf;
-+static jmp_buf *load_error_buf;
-
- static inline EFI_STATUS
- efi_close_protocol(EFI_HANDLE handle, EFI_GUID *guid, EFI_HANDLE agent,
---
-2.13.3
-
diff --git a/boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch b/boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch
deleted file mode 100644
index 9ec12a1791..0000000000
--- a/boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From ca8aaded0c7c3900397029bd9520132b62629308 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
-Date: Mon, 12 Jun 2017 14:59:16 +0200
-Subject: [PATCH] efi/wrapper: build it with the host toolchain.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The wrapper program is executed on the build machine, so it should be
-built with CC_FOR_BUILD.
-
-Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
----
- efi/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/efi/Makefile b/efi/Makefile
-index d5443bd5..d24d16db 100644
---- a/efi/Makefile
-+++ b/efi/Makefile
-@@ -79,7 +79,7 @@ syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS)
- # cp $^ $@
-
- wrapper: wrapper.c
-- $(CC) $^ -o $@
-+ $(CC_FOR_BUILD) $^ -o $@
-
- #
- # Build the wrapper app and wrap our .so to produce a .efi
---
-2.13.3
-
diff --git a/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch b/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch
deleted file mode 100644
index 916012f619..0000000000
--- a/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch
+++ /dev/null
@@ -1,295 +0,0 @@
-From 76946dd67bc856eaf4fe69d0826547a794176f78 Mon Sep 17 00:00:00 2001
-From: Sylvain Gault <sylvain.gault@gmail.com>
-Date: Tue, 29 Sep 2015 04:45:09 +0200
-Subject: [PATCH] bios: Don't try to guess the sections alignment
-
-For the compression / decompression to succeed, the sections layout must
-be the same between the virtual memory and load memory. The section
-alignment was kept in sync by introducing aligment that should be
-greater or equal to the actual section alignment.
-
-This patch compute the load memory addresses of the sections so that
-the layout is the same as the virtual memory addresses.
-
-Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
-Tested-by: poma <pomidorabelisima@gmail.com>
-Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
-
-Upstream: 0cc9a99e560a2f52bcf052fd85b1efae35ee812f
-Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
----
- core/i386/syslinux.ld | 63 ++++++++++---------------------------------------
- core/x86_64/syslinux.ld | 63 ++++++++++---------------------------------------
- 2 files changed, 24 insertions(+), 102 deletions(-)
-
-diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
-index 73904510..92b75b11 100644
---- a/core/i386/syslinux.ld
-+++ b/core/i386/syslinux.ld
-@@ -255,10 +255,9 @@ SECTIONS
- . = 0x100000;
-
- __pm_code_start = .;
-+ __vma_to_lma = __pm_code_lma - __pm_code_start;
-
-- __text_vma = .;
-- __text_lma = __pm_code_lma;
-- .text : AT(__text_lma) {
-+ .text : AT(ADDR(.text) + __vma_to_lma) {
- FILL(0x90909090)
- __text_start = .;
- *(.text)
-@@ -266,106 +265,68 @@ SECTIONS
- __text_end = .;
- }
-
-- . = ALIGN(32);
--
-- __rodata_vma = .;
-- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
-- .rodata : AT(__rodata_lma) {
-+ .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
- __rodata_start = .;
- *(.rodata)
- *(.rodata.*)
- __rodata_end = .;
- }
-
-- . = ALIGN(4);
--
-- __ctors_vma = .;
-- __ctors_lma = __ctors_vma + __text_lma - __text_vma;
-- .ctors : AT(__ctors_lma) {
-+ .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
- __ctors_start = .;
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- __ctors_end = .;
- }
-
-- __dtors_vma = .;
-- __dtors_lma = __dtors_vma + __text_lma - __text_vma;
-- .dtors : AT(__dtors_lma) {
-+ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
- __dtors_start = .;
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- __dtors_end = .;
- }
-
-- . = ALIGN(4);
--
-- __dynsym_vma = .;
-- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma;
-- .dynsym : AT(__dynsym_lma) {
-+ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
- __dynsym_start = .;
- *(.dynsym)
- __dynsym_end = .;
- }
- __dynsym_len = __dynsym_end - __dynsym_start;
-
-- . = ALIGN(4);
--
-- __dynstr_vma = .;
-- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma;
-- .dynstr : AT(__dynstr_lma) {
-+ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
- __dynstr_start = .;
- *(.dynstr)
- __dynstr_end = .;
- }
- __dynstr_len = __dynstr_end - __dynstr_start;
-
-- . = ALIGN(4);
--
-- __gnu_hash_vma = .;
-- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma;
-- .gnu.hash : AT(__gnu_hash_lma) {
-+ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
- __gnu_hash_start = .;
- *(.gnu.hash)
- __gnu_hash_end = .;
- }
-
-
-- . = ALIGN(4);
--
-- __dynlink_vma = .;
-- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma;
-- .dynlink : AT(__dynlink_lma) {
-+ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
- __dynlink_start = .;
- *(.dynlink)
- __dynlink_end = .;
- }
-
-- . = ALIGN(4);
--
-- __got_vma = .;
-- __got_lma = __got_vma + __text_lma - __text_vma;
-- .got : AT(__got_lma) {
-+ .got : AT(ADDR(.got) + __vma_to_lma) {
- __got_start = .;
- KEEP (*(.got.plt))
- KEEP (*(.got))
- __got_end = .;
- }
-
-- . = ALIGN(4);
--
-- __dynamic_vma = .;
-- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma;
-- .dynamic : AT(__dynamic_lma) {
-+ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
- __dynamic_start = .;
- *(.dynamic)
- __dynamic_end = .;
- }
-
-- . = ALIGN(32);
--
-- __data_vma = .;
-- __data_lma = __data_vma + __text_lma - __text_vma;
-- .data : AT(__data_lma) {
-+ .data : AT(ADDR(.data) + __vma_to_lma) {
- __data_start = .;
- *(.data)
- *(.data.*)
-diff --git a/core/x86_64/syslinux.ld b/core/x86_64/syslinux.ld
-index bf815c46..70c6e00a 100644
---- a/core/x86_64/syslinux.ld
-+++ b/core/x86_64/syslinux.ld
-@@ -255,10 +255,9 @@ SECTIONS
- . = 0x100000;
-
- __pm_code_start = .;
-+ __vma_to_lma = __pm_code_lma - __pm_code_start;
-
-- __text_vma = .;
-- __text_lma = __pm_code_lma;
-- .text : AT(__text_lma) {
-+ .text : AT(ADDR(.text) + __vma_to_lma) {
- FILL(0x90909090)
- __text_start = .;
- *(.text)
-@@ -266,106 +265,68 @@ SECTIONS
- __text_end = .;
- }
-
-- . = ALIGN(32);
--
-- __rodata_vma = .;
-- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
-- .rodata : AT(__rodata_lma) {
-+ .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
- __rodata_start = .;
- *(.rodata)
- *(.rodata.*)
- __rodata_end = .;
- }
-
-- . = ALIGN(4);
--
-- __ctors_vma = .;
-- __ctors_lma = __ctors_vma + __text_lma - __text_vma;
-- .ctors : AT(__ctors_lma) {
-+ .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
- __ctors_start = .;
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- __ctors_end = .;
- }
-
-- __dtors_vma = .;
-- __dtors_lma = __dtors_vma + __text_lma - __text_vma;
-- .dtors : AT(__dtors_lma) {
-+ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
- __dtors_start = .;
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- __dtors_end = .;
- }
-
-- . = ALIGN(4);
--
-- __dynsym_vma = .;
-- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma;
-- .dynsym : AT(__dynsym_lma) {
-+ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
- __dynsym_start = .;
- *(.dynsym)
- __dynsym_end = .;
- }
- __dynsym_len = __dynsym_end - __dynsym_start;
-
-- . = ALIGN(4);
--
-- __dynstr_vma = .;
-- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma;
-- .dynstr : AT(__dynstr_lma) {
-+ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
- __dynstr_start = .;
- *(.dynstr)
- __dynstr_end = .;
- }
- __dynstr_len = __dynstr_end - __dynstr_start;
-
-- . = ALIGN(4);
--
-- __gnu_hash_vma = .;
-- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma;
-- .gnu.hash : AT(__gnu_hash_lma) {
-+ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
- __gnu_hash_start = .;
- *(.gnu.hash)
- __gnu_hash_end = .;
- }
-
-
-- . = ALIGN(4);
--
-- __dynlink_vma = .;
-- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma;
-- .dynlink : AT(__dynlink_lma) {
-+ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
- __dynlink_start = .;
- *(.dynlink)
- __dynlink_end = .;
- }
-
-- . = ALIGN(4);
--
-- __got_vma = .;
-- __got_lma = __got_vma + __text_lma - __text_vma;
-- .got : AT(__got_lma) {
-+ .got : AT(ADDR(.got) + __vma_to_lma) {
- __got_start = .;
- KEEP (*(.got.plt))
- KEEP (*(.got))
- __got_end = .;
- }
-
-- . = ALIGN(4);
--
-- __dynamic_vma = .;
-- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma;
-- .dynamic : AT(__dynamic_lma) {
-+ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
- __dynamic_start = .;
- *(.dynamic)
- __dynamic_end = .;
- }
-
-- . = ALIGN(32);
--
-- __data_vma = .;
-- __data_lma = __data_vma + __text_lma - __text_vma;
-- .data : AT(__data_lma) {
-+ .data : AT(ADDR(.data) + __vma_to_lma) {
- __data_start = .;
- *(.data)
- *(.data.*)
---
-2.13.3
-
diff --git a/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch b/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch
deleted file mode 100644
index 8b6d52544b..0000000000
--- a/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch
+++ /dev/null
@@ -1,622 +0,0 @@
-From a14b1b3d3e375d2e8af8804171ef5e52574dbb2a Mon Sep 17 00:00:00 2001
-From: "H. Peter Anvin" <hpa@zytor.com>
-Date: Tue, 9 Feb 2016 18:15:50 -0800
-Subject: [PATCH] core: Clean up the i386-bios build
-
-Remove symbols and data structures not used in the i386-bios build,
-and clean up the linker script so that most internal symbols are
-HIDDEN.
-
-Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-
-Upstream: ff859050fa4e6535cae098dc35d88a265466448d
-
-This patch fixes the following build failure with i386 binutils 2.28.1:
-
-/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld -Bsymbolic -pie -E --hash-style=gnu -T
-/builds/arnout/buildroot/output/build/syslinux-6.03/core/i386/syslinux.ld -M -o ldlinux.elf ldlinux.o \
- --start-group libcom32.a --whole-archive /builds/arnout/buildroot/output/build/syslinux-6.03/bios/com32/lib/libcom32core.a libldlinux.a --end-group -N
---no-omagic \
- > ldlinux.map
-/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: ldlinux.elf: Not enough room for program headers, try linking with -N
-/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: final link failed: Bad value
-/builds/arnout/buildroot/output/build/syslinux-6.03/core/Makefile:167: recipe for target 'ldlinux.elf' failed
-
-Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
----
- core/extern.inc | 17 +--
- core/i386/syslinux.ld | 287 +++++++++++++++++++++++++-------------------------
- core/layout.inc | 11 --
- 3 files changed, 143 insertions(+), 172 deletions(-)
-
-diff --git a/core/extern.inc b/core/extern.inc
-index af8eb04c..ce4abfab 100644
---- a/core/extern.inc
-+++ b/core/extern.inc
-@@ -12,27 +12,17 @@
- ; hello.c
- extern hello
-
-- ;abort.c
-- extern abort_load_new
--
- ; elflink/load_env32.c
- extern load_env32, pm_env32_run
-
-- ; memscan.c
-- extern highmem_init
--
-- extern linux_kernel
--
- extern mp1, mp2, mp3, mp4, mp5
-
-- extern hexdump, mydump
-+ extern hexdump
-
- extern mem_init
-
- ; fs.c
-- extern pm_fs_init, pm_searchdir, getfssec, getfsbytes
-- extern pm_mangle_name, pm_load_config
-- extern pm_open_file, pm_close_file
-+ extern pm_fs_init
- extern SectorSize, SectorShift
-
- ; chdir.c
-@@ -41,9 +31,6 @@
- ; readdir.c
- extern opendir, readdir, closedir
-
-- ; newconfig.c
-- extern pm_is_config_file
--
- ; idle.c
- extern __idle
-
-diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
-index 92b75b11..39198d75 100644
---- a/core/i386/syslinux.ld
-+++ b/core/i386/syslinux.ld
-@@ -1,7 +1,7 @@
- /* -----------------------------------------------------------------------
- *
- * Copyright 2008-2009 H. Peter Anvin - All Rights Reserved
-- * Copyright 2009 Intel Corporation; author: H. Peter Anvin
-+ * Copyright 2009-2016 Intel Corporation; author: H. Peter Anvin
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
-@@ -12,7 +12,7 @@
- * ----------------------------------------------------------------------- */
-
- /*
-- * Linker script for the SYSLINUX core
-+ * Linker script for the SYSLINUX core when built for i386-bios
- */
-
- OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
-@@ -26,7 +26,7 @@ SECTIONS
- {
- /* Prefix structure for the compression program */
- . = 0;
-- __module_start = .;
-+ HIDDEN(__module_start = ABSOLUTE(.));
- .prefix : {
- *(.prefix)
- }
-@@ -35,81 +35,82 @@ SECTIONS
- . = 0x1000;
-
- .earlybss (NOLOAD) : {
-- __earlybss_start = .;
-+ HIDDEN(__earlybss_start = .);
- *(.earlybss)
-- __earlybss_end = .;
-+ HIDDEN(__earlybss_end = .);
- }
-- __earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start);
-- __earlybss_dwords = (__earlybss_len + 3) >> 2;
-+ HIDDEN(__earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start));
-+ HIDDEN(__earlybss_dwords = (__earlybss_len + 3) >> 2);
-
- . = ALIGN(4);
- .bss16 (NOLOAD) : {
-- __bss16_start = .;
-+ HIDDEN(__bss16_start = .);
- *(.bss16)
-- __bss16_end = .;
-+ HIDDEN(__bss16_end = .);
- }
-- __bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start);
-- __bss16_dwords = (__bss16_len + 3) >> 2;
-+ HIDDEN(__bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start));
-+ HIDDEN(__bss16_dwords = (__bss16_len + 3) >> 2);
-
- . = ALIGN(4);
- .config : AT (__config_lma) {
-- __config_start = .;
-+ HIDDEN(__config_start = .);
- *(.config)
-- __config_end = .;
-+ HIDDEN(__config_end = .);
- }
-- __config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start);
-- __config_dwords = (__config_len + 3) >> 2;
-+ HIDDEN(__config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start));
-+ HIDDEN(__config_dwords = (__config_len + 3) >> 2);
-
- /* Generated and/or copied code */
-
- . = ALIGN(128); /* Minimum separation from mutable data */
- .replacestub : AT (__replacestub_lma) {
-- __replacestub_start = .;
-+ HIDDEN(__replacestub_start = .);
- *(.replacestub)
-- __replacestub_end = .;
-+ HIDDEN(__replacestub_end = .);
- }
-- __replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start);
-- __replacestub_dwords = (__replacestub_len + 3) >> 2;
-+ HIDDEN(__replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start));
-+ HIDDEN(__replacestub_dwords = (__replacestub_len + 3) >> 2);
-
- . = ALIGN(16);
-- __gentextnr_lma = .;
-+ HIDDEN(__gentextnr_lma = .);
- .gentextnr : AT(__gentextnr_lma) {
-- __gentextnr_start = .;
-+ HIDDEN(__gentextnr_start = .);
- *(.gentextnr)
-- __gentextnr_end = .;
-+ HIDDEN(__gentextnr_end = .);
- }
-- __gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start);
-- __gentextnr_dwords = (__gentextnr_len + 3) >> 2;
-+ HIDDEN(__gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start));
-+ HIDDEN(__gentextnr_dwords = (__gentextnr_len + 3) >> 2);
-
- . = STACK_BASE;
- .stack16 : AT(STACK_BASE) {
-- __stack16_start = .;
-+ HIDDEN(__stack16_start = .);
- . += STACK_LEN;
-- __stack16_end = .;
-+ HIDDEN(__stack16_end = .);
- }
-- __stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start);
-- __stack16_dwords = (__stack16_len + 3) >> 2;
-+ HIDDEN(__stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start));
-+ HIDDEN(__stack16_dwords = (__stack16_len + 3) >> 2);
-
- /* Initialized sections */
-
- . = 0x7c00;
- .init : {
- FILL(0x90909090)
-- __init_start = .;
-+ HIDDEN(__init_start = .);
- *(.init)
-- __init_end = .;
-+ HIDDEN(__init_end = .);
- }
-- __init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start);
-- __init_dwords = (__init_len + 3) >> 2;
-+ HIDDEN(__init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start));
-+ HIDDEN(__init_dwords = (__init_len + 3) >> 2);
-
-+ . = ALIGN(4);
- .text16 : {
- FILL(0x90909090)
-- __text16_start = .;
-+ HIDDEN(__text16_start = .);
- *(.text16)
-- __text16_end = .;
-+ HIDDEN(__text16_end = .);
- }
-- __text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start);
-- __text16_dwords = (__text16_len + 3) >> 2;
-+ HIDDEN(__text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start));
-+ HIDDEN(__text16_dwords = (__text16_len + 3) >> 2);
-
- /*
- * .textnr is used for 32-bit code that is used on the code
-@@ -118,99 +119,92 @@ SECTIONS
- . = ALIGN(16);
- .textnr : {
- FILL(0x90909090)
-- __textnr_start = .;
-+ HIDDEN(__textnr_start = .);
- *(.textnr)
-- __textnr_end = .;
-+ HIDDEN(__textnr_end = .);
- }
-- __textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start);
-- __textnr_dwords = (__textnr_len + 3) >> 2;
-+ HIDDEN(__textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start));
-+ HIDDEN(__textnr_dwords = (__textnr_len + 3) >> 2);
-
- . = ALIGN(16);
-- __bcopyxx_start = .;
-+ HIDDEN(__bcopyxx_start = .);
-
- .bcopyxx.text : {
- FILL(0x90909090)
-- __bcopyxx_text_start = .;
-+ HIDDEN(__bcopyxx_text_start = .);
- *(.bcopyxx.text)
-- __bcopyxx_text_end = .;
-+ HIDDEN(__bcopyxx_text_end = .);
- }
-- __bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start);
-- __bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2;
-+ HIDDEN(__bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start));
-+ HIDDEN(__bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2);
-
- .bcopyxx.data : {
-- __bcopyxx_data_start = .;
-+ HIDDEN(__bcopyxx_data_start = .);
- *(.bcopyxx.text)
-- __bcopyxx_data_end = .;
-+ HIDDEN(__bcopyxx_data_end = .);
- }
-- __bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start);
-- __bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2;
-+ HIDDEN(__bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start));
-+ HIDDEN(__bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2);
-
-- __bcopyxx_end = .;
-- __bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start);
-- __bcopyxx_dwords = (__bcopyxx_len + 3) >> 2;
-+ HIDDEN(__bcopyxx_end = .);
-+ HIDDEN(__bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start));
-+ HIDDEN(__bcopyxx_dwords = (__bcopyxx_len + 3) >> 2);
-
- . = ALIGN(4);
- .data16 : {
-- __data16_start = .;
-+ HIDDEN(__data16_start = .);
- *(.data16)
-- __data16_end = .;
-+ HIDDEN(__data16_end = .);
- }
-- __data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start);
-- __data16_dwords = (__data16_len + 3) >> 2;
-+ HIDDEN(__data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start));
-+ HIDDEN(__data16_dwords = (__data16_len + 3) >> 2);
-
- . = ALIGN(4);
-- __config_lma = .;
-+ HIDDEN(__config_lma = ABSOLUTE(.));
- . += SIZEOF(.config);
-
- . = ALIGN(4);
-- __replacestub_lma = .;
-+ HIDDEN(__replacestub_lma = ABSOLUTE(.));
- . += SIZEOF(.replacestub);
-
- /* The 32-bit code loads above the non-progbits sections */
-
- . = ALIGN(16);
-- __pm_code_lma = .;
-+ HIDDEN(__pm_code_lma = ABSOLUTE(.));
-
-- __high_clear_start = .;
-+ HIDDEN(__high_clear_start = .);
-
- . = ALIGN(512);
- .adv (NOLOAD) : {
-- __adv_start = .;
-+ HIDDEN(__adv_start = .);
- *(.adv)
-- __adv_end = .;
-+ HIDDEN(__adv_end = .);
- }
-- __adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start);
-- __adv_dwords = (__adv_len + 3) >> 2;
-+ HIDDEN(__adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start));
-+ HIDDEN(__adv_dwords = (__adv_len + 3) >> 2);
-
- /* Late uninitialized sections */
-
- . = ALIGN(4);
- .uibss (NOLOAD) : {
-- __uibss_start = .;
-+ HIDDEN(__uibss_start = .);
- *(.uibss)
-- __uibss_end = .;
-+ HIDDEN(__uibss_end = .);
- }
-- __uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start);
-- __uibss_dwords = (__uibss_len + 3) >> 2;
-+ HIDDEN(__uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start));
-+ HIDDEN(__uibss_dwords = (__uibss_len + 3) >> 2);
-
-- _end16 = .;
-- __assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow");
-+ HIDDEN(_end16 = .);
-+ HIDDEN(__assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow"));
-
- /*
- * Special 16-bit segments
- */
--
-- . = ALIGN(65536);
-- .real_mode (NOLOAD) : {
-- *(.real_mode)
-- }
-- real_mode_seg = core_real_mode >> 4;
--
- . = ALIGN(65536);
- .xfer_buf (NOLOAD) : {
- *(.xfer_buf)
- }
-- xfer_buf_seg = core_xfer_buf >> 4;
-+ HIDDEN(xfer_buf_seg = core_xfer_buf >> 4);
-
- /*
- * The auxilliary data segment is used by the 16-bit code
-@@ -219,33 +213,33 @@ SECTIONS
-
- . = ALIGN(16);
- .auxseg (NOLOAD) : {
-- __auxseg_start = .;
-+ HIDDEN(__auxseg_start = .);
- *(.auxseg)
-- __auxseg_end = .;
-+ HIDDEN(__auxseg_end = .);
- }
-- __auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start);
-- __auxseg_dwords = (__auxseg_len + 3) >> 2;
-- aux_seg = __auxseg_start >> 4;
-+ HIDDEN(__auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start));
-+ HIDDEN(__auxseg_dwords = (__auxseg_len + 3) >> 2);
-+ HIDDEN(aux_seg = __auxseg_start >> 4);
-
- /*
- * Used to allocate lowmem buffers from 32-bit code
- */
- .lowmem (NOLOAD) : {
-- __lowmem_start = .;
-+ HIDDEN(__lowmem_start = .);
- *(.lowmem)
-- __lowmem_end = .;
-+ HIDDEN(__lowmem_end = .);
- }
-- __lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start);
-- __lowmem_dwords = (__lowmem_len + 3) >> 2;
-+ HIDDEN(__lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start));
-+ HIDDEN(__lowmem_dwords = (__lowmem_len + 3) >> 2);
-
-- __high_clear_end = .;
-+ HIDDEN(__high_clear_end = .);
-
-- __high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start);
-- __high_clear_dwords = (__high_clear_len + 3) >> 2;
-+ HIDDEN(__high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start));
-+ HIDDEN(__high_clear_dwords = (__high_clear_len + 3) >> 2);
-
- /* Start of the lowmem heap */
- . = ALIGN(16);
-- __lowmem_heap = .;
-+ HIDDEN(__lowmem_heap = .);
-
- /*
- * 32-bit code. This is a hack for the moment due to the
-@@ -254,136 +248,137 @@ SECTIONS
-
- . = 0x100000;
-
-- __pm_code_start = .;
-- __vma_to_lma = __pm_code_lma - __pm_code_start;
-+ HIDDEN(__pm_code_start = .);
-+ HIDDEN(__vma_to_lma = ABSOLUTE(__pm_code_lma - __pm_code_start));
-
- .text : AT(ADDR(.text) + __vma_to_lma) {
- FILL(0x90909090)
-- __text_start = .;
-+ HIDDEN(__text_start = .);
- *(.text)
- *(.text.*)
-- __text_end = .;
-+ HIDDEN(__text_end = .);
- }
-
- .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
-- __rodata_start = .;
-+ HIDDEN(__rodata_start = .);
- *(.rodata)
- *(.rodata.*)
-- __rodata_end = .;
-+ HIDDEN(__rodata_end = .);
- }
-
- .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
-- __ctors_start = .;
-+ HIDDEN(__ctors_start = .);
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
-- __ctors_end = .;
-+ HIDDEN(__ctors_end = .);
- }
-
- .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
-- __dtors_start = .;
-+ HIDDEN(__dtors_start = .);
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
-- __dtors_end = .;
-+ HIDDEN(__dtors_end = .);
- }
-
- .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
-- __dynsym_start = .;
-- *(.dynsym)
-- __dynsym_end = .;
-+ HIDDEN(__dynsym_start = .);
-+ KEEP (*(.dynsym))
-+ HIDDEN(__dynsym_end = .);
- }
-- __dynsym_len = __dynsym_end - __dynsym_start;
-+ HIDDEN(__dynsym_len = __dynsym_end - __dynsym_start);
-
- .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
-- __dynstr_start = .;
-- *(.dynstr)
-- __dynstr_end = .;
-+ HIDDEN(__dynstr_start = .);
-+ KEEP (*(.dynstr))
-+ HIDDEN(__dynstr_end = .);
- }
-- __dynstr_len = __dynstr_end - __dynstr_start;
-+ HIDDEN(__dynstr_len = __dynstr_end - __dynstr_start);
-
- .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
-- __gnu_hash_start = .;
-- *(.gnu.hash)
-- __gnu_hash_end = .;
-+ HIDDEN(__gnu_hash_start = .);
-+ KEEP (*(.gnu.hash))
-+ HIDDEN(__gnu_hash_end = .);
- }
-
-
- .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
-- __dynlink_start = .;
-- *(.dynlink)
-- __dynlink_end = .;
-+ HIDDEN(__dynlink_start = .);
-+ KEEP (*(.dynlink))
-+ HIDDEN(__dynlink_end = .);
- }
-
- .got : AT(ADDR(.got) + __vma_to_lma) {
-- __got_start = .;
-- KEEP (*(.got.plt))
-+ HIDDEN(__got_start = .);
- KEEP (*(.got))
-- __got_end = .;
-+ KEEP (*(.got.plt))
-+ HIDDEN(__got_end = .);
- }
-
- .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
-- __dynamic_start = .;
-- *(.dynamic)
-- __dynamic_end = .;
-+ HIDDEN(__dynamic_start = .);
-+ KEEP (*(.dynamic))
-+ HIDDEN(__dynamic_end = .);
- }
-
- .data : AT(ADDR(.data) + __vma_to_lma) {
-- __data_start = .;
-+ HIDDEN(__data_start = .);
- *(.data)
- *(.data.*)
-- __data_end = .;
-+ HIDDEN(__data_end = .);
- }
-
-- __pm_code_end = .;
-- __pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start);
-- __pm_code_dwords = (__pm_code_len + 3) >> 2;
-+ HIDDEN(__pm_code_end = .);
-+ HIDDEN(__pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start));
-+ HIDDEN(__pm_code_dwords = (__pm_code_len + 3) >> 2);
-
- . = ALIGN(128);
-
-- __bss_vma = .;
-- __bss_lma = .; /* Dummy */
-+ HIDDEN(__bss_vma = .);
-+ HIDDEN(__bss_lma = ABSOLUTE(.)); /* Dummy */
- .bss (NOLOAD) : AT (__bss_lma) {
-- __bss_start = .;
-+ HIDDEN(__bss_start = .);
- *(.bss)
- *(.bss.*)
- *(COMMON)
-- __bss_end = .;
-+ HIDDEN(__bss_end = .);
- }
-- __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
-- __bss_dwords = (__bss_len + 3) >> 2;
-+ HIDDEN(__bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start));
-+ HIDDEN(__bss_dwords = (__bss_len + 3) >> 2);
-
- /* Very large objects which don't need to be zeroed */
-
-- __hugebss_vma = .;
-- __hugebss_lma = .; /* Dummy */
-+ HIDDEN(__hugebss_vma = .);
-+ HIDDEN(__hugebss_lma = ABSOLUTE(.)); /* Dummy */
- .hugebss (NOLOAD) : AT (__hugebss_lma) {
-- __hugebss_start = .;
-+ HIDDEN(__hugebss_start = .);
- *(.hugebss)
- *(.hugebss.*)
-- __hugebss_end = .;
-+ HIDDEN(__hugebss_end = .);
- }
-- __hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start);
-- __hugebss_dwords = (__hugebss_len + 3) >> 2;
-+ HIDDEN(__hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start));
-+ HIDDEN(__hugebss_dwords = (__hugebss_len + 3) >> 2);
-
-
- /* XXX: This stack should be unified with the COM32 stack */
-- __stack_vma = .;
-- __stack_lma = .; /* Dummy */
-+ HIDDEN(__stack_vma = .);
-+ HIDDEN(__stack_lma = ABSOLUTE(.)); /* Dummy */
- .stack (NOLOAD) : AT(__stack_lma) {
-- __stack_start = .;
-+ HIDDEN(__stack_start = .);
- *(.stack)
-- __stack_end = .;
-+ HIDDEN(__stack_end = .);
- }
-- __stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start);
-- __stack_dwords = (__stack_len + 3) >> 2;
-+ HIDDEN(__stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start));
-+ HIDDEN(__stack_dwords = (__stack_len + 3) >> 2);
-
-- _end = .;
-+ HIDDEN(_end = .);
-
- /* COM32R and kernels are loaded after our own PM code */
- . = ALIGN(65536);
-- free_high_memory = .;
-+ HIDDEN(free_high_memory = .);
-
- /* Stuff we don't need... */
- /DISCARD/ : {
- *(.eh_frame)
-+ *(.interp)
- }
- }
-diff --git a/core/layout.inc b/core/layout.inc
-index 53ca783d..635df537 100644
---- a/core/layout.inc
-+++ b/core/layout.inc
-@@ -139,17 +139,6 @@ serial_buf_size equ 4096 ; Should be a power of 2
- core_xfer_buf resb 65536
-
- ;
--; Segment for the real mode code (needed as long as we have a in-kernel
--; loader and/or COM16 support.
--; One symbol for the segment number, one for the absolute address
--;
-- extern real_mode_seg
-- section .real_mode write nobits align=65536
-- global core_real_mode:data hidden
--core_real_mode resb 65536
--comboot_seg equ real_mode_seg ; COMBOOT image loading zone
--
--;
- ; At the very end, the lowmem heap
- ;
- extern __lowmem_heap
---
-2.13.3
-
diff --git a/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch b/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch
deleted file mode 100644
index beba5cc245..0000000000
--- a/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 1a74985b2a404639b08882c57f3147229605dfd5 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Tue, 19 Apr 2016 06:50:31 -0400
-Subject: [PATCH] extlinux: pull in sys/sysmacros.h for major/minor/makedev
-
-These functions are defined in sys/sysmacros.h, so add the include to
-main.c. This is already handled correctly in mountinfo.c. Otherwise
-we get build failures like:
-
-main.o: In function 'find_device_sysfs':
-extlinux/main.c:1131: undefined reference to 'minor'
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
-Signed-off-by: Alexander Sverdlin <alexader.sverdlin@gmail.com>
----
- extlinux/main.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/extlinux/main.c b/extlinux/main.c
-index a7ebd49..ebff7ea 100644
---- a/extlinux/main.c
-+++ b/extlinux/main.c
-@@ -38,6 +38,7 @@
- #include <sysexits.h>
- #include <sys/ioctl.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <sys/mount.h>
- #include <sys/vfs.h>
---
-2.10.5.GIT
-
diff --git a/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch b/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch
index 17a6d37cef..3970563fa1 100644
--- a/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch
+++ b/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch
@@ -16,25 +16,27 @@ diff --git a/mk/lib.mk b/mk/lib.mk
index ceb95bd0..c9b6eaf3 100644
--- a/mk/lib.mk
+++ b/mk/lib.mk
-@@ -186,9 +186,9 @@ MINLIBOBJS = \
+@@ -186,7 +186,7 @@ MINLIBOBJS = \
# $(LIBVESA_OBJS)
CORELIBOBJS = \
- memcpy.o memset.o memcmp.o printf.o strncmp.o vfprintf.o \
+ memcmp.o printf.o strncmp.o vfprintf.o \
strlen.o vsnprintf.o snprintf.o stpcpy.o strcmp.o strdup.o \
-- strcpy.o strncpy.o setjmp.o fopen.o fread.o fread2.o puts.o \
-+ strcpy.o strncpy.o fopen.o fread.o fread2.o puts.o \
+ strcpy.o strncpy.o fopen.o fread.o fread2.o puts.o \
strtoul.o strntoumax.o strcasecmp.o \
- sprintf.o strlcat.o strchr.o strlcpy.o strncasecmp.o ctypes.o \
- fputs.o fwrite2.o fwrite.o fgetc.o fclose.o lmalloc.o \
-@@ -203,6 +203,11 @@ CORELIBOBJS = \
+@@ -203,11 +203,15 @@ CORELIBOBJS = \
+ sys/stdcon_write.o \
+ syslinux/memscan.o strrchr.o strcat.o \
+ syslinux/debug.o \
+- $(ARCH)/setjmp.o \
+ $(LIBGCC_OBJS) \
$(LIBENTRY_OBJS) \
$(LIBMODULE_OBJS)
+ifndef EFI_BUILD
+# For EFI, these are part of gnu-efi
-+CORELIBOBJS += setjmp.o memcpy.o memset.o
++CORELIBOBJS += $(ARCH)/setjmp.o memcpy.o memset.o
+endif
+
LDFLAGS = -m elf_$(ARCH) --hash-style=gnu -T $(com32)/lib/$(ARCH)/elf.ld
diff --git a/boot/syslinux/0015-efi-main.c-include-efisetjmp.h.patch b/boot/syslinux/0015-efi-main.c-include-efisetjmp.h.patch
index 15adfc49f3..1a6cd81ec3 100644
--- a/boot/syslinux/0015-efi-main.c-include-efisetjmp.h.patch
+++ b/boot/syslinux/0015-efi-main.c-include-efisetjmp.h.patch
@@ -56,7 +56,7 @@ index 71d31a5c1f13..7dc7bca7aeba 100644
+#include <efisetjmp.h>
#include "fio.h"
#include "version.h"
-
+ #include "efi_pxe.h"
--
2.43.0
diff --git a/boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch b/boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch
index ea91de5cb3..5157197e44 100644
--- a/boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch
+++ b/boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch
@@ -73,15 +73,11 @@ diff --git a/core/Makefile b/core/Makefile
index ad0acb5a..3bee4dc9 100644
--- a/core/Makefile
+++ b/core/Makefile
-@@ -164,7 +164,7 @@ AUXLIBS = libisolinux.a libisolinux-debug.a libldlinux.a \
- LDSCRIPT = $(SRC)/$(ARCH)/syslinux.ld
-
+@@ -164,3 +164,3 @@ AUXLIBS = libisolinux.a libisolinux-debug.a libldlinux.a \
%.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS)
-- $(LD) $(LDFLAGS) -Bsymbolic $(LD_PIE) -E --hash-style=gnu -T $(LDSCRIPT) -M -o $@ $< \
-+ $(LD) $(LDFLAGS) -z muldefs -Bsymbolic $(LD_PIE) -E --hash-style=gnu -T $(LDSCRIPT) -M -o $@ $< \
- --start-group $(LIBS) $(subst $(*F).elf,lib$(*F).a,$@) --end-group \
- > $(@:.elf=.map)
- $(OBJDUMP) -h $@ > $(@:.elf=.sec)
+- $(LD) $(LDFLAGS) -pie -Bsymbolic \
++ $(LD) $(LDFLAGS) -pie -z muldefs -Bsymbolic \
+ -T $(LDSCRIPT) \
diff --git a/dos/Makefile b/dos/Makefile
index b9c337d5..2af87346 100644
--- a/dos/Makefile
@@ -108,19 +104,6 @@ index d24d16db..7c714ebf 100644
# We need to rename the .hash section because the EFI firmware
# linker really doesn't like it.
-diff --git a/gpxe/src/arch/i386/Makefile b/gpxe/src/arch/i386/Makefile
-index dd8da802..be1d00ff 100644
---- a/gpxe/src/arch/i386/Makefile
-+++ b/gpxe/src/arch/i386/Makefile
-@@ -55,7 +55,7 @@ ASFLAGS += --32
- ifeq ($(HOST_OS),FreeBSD)
- LDFLAGS += -m elf_i386_fbsd
- else
--LDFLAGS += -m elf_i386
-+LDFLAGS += -z muldefs -m elf_i386
- endif
-
- # EFI requires -fshort-wchar, and nothing else currently uses wchar_t
--
2.30.1
diff --git a/boot/syslinux/0021-load_linux-correct-a-type.patch b/boot/syslinux/0021-load_linux-correct-a-type.patch
deleted file mode 100644
index ff4e5a2d29..0000000000
--- a/boot/syslinux/0021-load_linux-correct-a-type.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7f1b68d561dfe615d5cd73d2f4561ac032832802 Mon Sep 17 00:00:00 2001
-From: Scot Doyle <lkml14@scotdoyle.com>
-Date: Sat, 7 Feb 2015 13:52:05 -0500
-Subject: [PATCH] load_linux: correct a type
-
-Correct base's type to match its initialization from prot_mode_base and
-passage to syslinux_memmap_find(). Tested with extlinux.
-
-Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
-Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
-Upstream: https://github.com/geneC/syslinux/commit/83aad4f69065509ba5b1c080edccfed316a4cff0
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- com32/lib/syslinux/load_linux.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/com32/lib/syslinux/load_linux.c b/com32/lib/syslinux/load_linux.c
-index 06ae2a97..ac737293 100644
---- a/com32/lib/syslinux/load_linux.c
-+++ b/com32/lib/syslinux/load_linux.c
-@@ -155,8 +155,8 @@ int bios_boot_linux(void *kernel_buf, size_t kernel_size,
- char *cmdline)
- {
- struct linux_header hdr, *whdr;
-- size_t real_mode_size, prot_mode_size, base;
-- addr_t real_mode_base, prot_mode_base, prot_mode_max;
-+ size_t real_mode_size, prot_mode_size;
-+ addr_t real_mode_base, prot_mode_base, prot_mode_max, base;
- addr_t irf_size;
- size_t cmdline_size, cmdline_offset;
- struct setup_data *sdp;
---
-2.47.1
-
diff --git a/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch b/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch
deleted file mode 100644
index 9f61745a61..0000000000
--- a/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From cbc8a8e25c3548771de5294f5a1eaef6bfe9b5da Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-Date: Sat, 18 Jan 2025 17:03:16 +0100
-Subject: [PATCH] efi/main.c: fix incorrect type of load_error_buf
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-load_error_buf is used as argument of setjmp()/longjmp(), so it should
-be a "jmp_buf", not a "jmp_buf *". According to the setjmp/longjmp man
-page:
-
- int setjmp(jmp_buf env);
- int sigsetjmp(sigjmp_buf env, int savesigs);
-
-Fixes build issue with GCC >= 14:
-
-efi/main.c:1329:21: error: passing argument 1 of ‘setjmp’ from incompatible pointer type [-Wincompatible-pointer-types]
- 1329 | if (!setjmp(load_error_buf))
- | ^~~~~~~~~~~~~~
- | |
- | struct <anonymous> (*)[1]
-x86_64-buildroot-linux-gnu/sysroot/usr/include/efi/efisetjmp.h:7:29: note: expected ‘struct <anonymous> *’ but argument is of type ‘struct <anonymous> (*)[1]’
- 7 | extern UINTN setjmp(jmp_buf env) __attribute__((returns_twice));
- | ~~~~~~~~^~~
-
-Upstream: N/A dead
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- efi/main.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/efi/main.c b/efi/main.c
-index 7dc7bca7..045dae56 100644
---- a/efi/main.c
-+++ b/efi/main.c
-@@ -30,7 +30,7 @@ uint32_t timer_irq;
- __export uint8_t KbdMap[256];
- char aux_seg[256];
-
--static jmp_buf *load_error_buf;
-+static jmp_buf load_error_buf;
-
- static inline EFI_STATUS
- efi_close_protocol(EFI_HANDLE handle, EFI_GUID *guid, EFI_HANDLE agent,
---
-2.47.1
-
diff --git a/boot/syslinux/syslinux.hash b/boot/syslinux/syslinux.hash
index 9bec3a20e7..64c6a8f0d1 100644
--- a/boot/syslinux/syslinux.hash
+++ b/boot/syslinux/syslinux.hash
@@ -1,4 +1,2 @@
-# From https://www.kernel.org/pub/linux/utils/boot/syslinux/sha256sums.asc
-sha256 26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e syslinux-6.03.tar.xz
-# Locally computed
+sha256 46169f43dabb5f6cb33a3f6fb79a61008179326756481845c0a42d429d0c5bee syslinux_6.04~git20190206.bf6db5b4%2Bdfsg1.orig.tar.xz
sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING
diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk
index f938634c35..27ea1c367a 100644
--- a/boot/syslinux/syslinux.mk
+++ b/boot/syslinux/syslinux.mk
@@ -4,9 +4,9 @@
#
################################################################################
-SYSLINUX_VERSION = 6.03
-SYSLINUX_SOURCE = syslinux-$(SYSLINUX_VERSION).tar.xz
-SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux
+SYSLINUX_VERSION = bf6db5b4
+SYSLINUX_SOURCE = syslinux_6.04~git20190206.$(SYSLINUX_VERSION)%2Bdfsg1.orig.tar.xz
+SYSLINUX_SITE = https://snapshot.debian.org/archive/debian/20260905T023709Z/pool/main/s/syslinux
SYSLINUX_LICENSE = GPL-2.0+
SYSLINUX_LICENSE_FILES = COPYING
--
2.56.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2
2026-10-24 22:08 [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2 Alexander Sverdlin
@ 2026-10-25 20:36 ` Thomas Petazzoni via buildroot
2026-10-26 20:45 ` Alexander Sverdlin
0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-25 20:36 UTC (permalink / raw)
To: Alexander Sverdlin; +Cc: buildroot, Andreas Ziegler
On Sun, Oct 25, 2026 at 12:08:44AM +0200, Alexander Sverdlin wrote:
> The revision to build comes from Archlinux syslinux package, the archive
> from debian (to save time for git clone).
>
> Add patch fixing passing &load_error_buf to setjmp()/longjmp(), rejected
> since gcc 14 made -Wincompatible-pointer-types an error by default.
>
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Does it make sense to keep syslinux? Even Wikipedia says it's
"discontinued". Do you still use it?
What about all the patches you are dropping, are they all "upstream"?
We usually like to have some clarification in the commit log on why
patches are dropped.
> diff --git a/boot/syslinux/0001-efi-main.c-fix-jmp_buf-passing.patch b/boot/syslinux/0001-efi-main.c-fix-jmp_buf-passing.patch
> new file mode 100644
> index 0000000000..3baabc2b2e
> --- /dev/null
> +++ b/boot/syslinux/0001-efi-main.c-fix-jmp_buf-passing.patch
> @@ -0,0 +1,34 @@
> +From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +Subject: [PATCH] efi/main.c: pass jmp_buf directly to setjmp()/longjmp()
> +
> +gnu-efi's jmp_buf is a one-element array, so load_error_buf already decays
> +to the element pointer setjmp()/longjmp() expect. Passing &load_error_buf
> +hands over a pointer-to-array instead, rejected since gcc 14 made
> +-Wincompatible-pointer-types an error by default.
> +
> +Upstream: N/A, dead
> +Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +---
> + efi/main.c | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/efi/main.c b/efi/main.c
> +--- a/efi/main.c
> ++++ b/efi/main.c
> +@@ -184,7 +184,7 @@ __export void local_boot(uint16_t ax)
> + * Inform the firmware that we failed to execute correctly, which
> + * will trigger the next entry in the EFI Boot Manager list.
> + */
> +- longjmp(&load_error_buf, 1);
> ++ longjmp(load_error_buf, 1);
Are you sure this is the right fix...
> diff --git a/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch b/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch
> deleted file mode 100644
> index 9f61745a61..0000000000
> --- a/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -From cbc8a8e25c3548771de5294f5a1eaef6bfe9b5da Mon Sep 17 00:00:00 2001
> -From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> -Date: Sat, 18 Jan 2025 17:03:16 +0100
> -Subject: [PATCH] efi/main.c: fix incorrect type of load_error_buf
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -load_error_buf is used as argument of setjmp()/longjmp(), so it should
> -be a "jmp_buf", not a "jmp_buf *". According to the setjmp/longjmp man
> -page:
> -
> - int setjmp(jmp_buf env);
> - int sigsetjmp(sigjmp_buf env, int savesigs);
> -
> -Fixes build issue with GCC >= 14:
> -
> -efi/main.c:1329:21: error: passing argument 1 of ‘setjmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> - 1329 | if (!setjmp(load_error_buf))
> - | ^~~~~~~~~~~~~~
> - | |
> - | struct <anonymous> (*)[1]
> -x86_64-buildroot-linux-gnu/sysroot/usr/include/efi/efisetjmp.h:7:29: note: expected ‘struct <anonymous> *’ but argument is of type ‘struct <anonymous> (*)[1]’
> - 7 | extern UINTN setjmp(jmp_buf env) __attribute__((returns_twice));
> - | ~~~~~~~~^~~
> -
> -Upstream: N/A dead
> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ----
> - efi/main.c | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/efi/main.c b/efi/main.c
> -index 7dc7bca7..045dae56 100644
> ---- a/efi/main.c
> -+++ b/efi/main.c
> -@@ -30,7 +30,7 @@ uint32_t timer_irq;
> - __export uint8_t KbdMap[256];
> - char aux_seg[256];
> -
> --static jmp_buf *load_error_buf;
> -+static jmp_buf load_error_buf;
And not this one, that you are removing?
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2
2026-10-25 20:36 ` Thomas Petazzoni via buildroot
@ 2026-10-26 20:45 ` Alexander Sverdlin
2026-10-27 4:54 ` Andreas Ziegler
2026-10-27 8:15 ` Thomas Petazzoni via buildroot
0 siblings, 2 replies; 10+ messages in thread
From: Alexander Sverdlin @ 2026-10-26 20:45 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: buildroot, Andreas Ziegler
Hi Thomas,
On Sun, 2026-10-25 at 21:36 +0100, Thomas Petazzoni wrote:
> On Sun, Oct 25, 2026 at 12:08:44AM +0200, Alexander Sverdlin wrote:
> > The revision to build comes from Archlinux syslinux package, the archive
> > from debian (to save time for git clone).
> >
> > Add patch fixing passing &load_error_buf to setjmp()/longjmp(), rejected
> > since gcc 14 made -Wincompatible-pointer-types an error by default.
> >
> > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
>
> Does it make sense to keep syslinux? Even Wikipedia says it's
> "discontinued". Do you still use it?
I'll be fine having it downstream. I just thought, there is still an
interest [1] in this update ;-)
> What about all the patches you are dropping, are they all "upstream"?
> We usually like to have some clarification in the commit log on why
> patches are dropped.
Sorry, yes, all the dropped are "already applied", I will mention this
in the commit message if you'll have interest in it.
> > diff --git a/boot/syslinux/0001-efi-main.c-fix-jmp_buf-passing.patch b/boot/syslinux/0001-efi-main.c-fix-jmp_buf-passing.patch
> > new file mode 100644
> > index 0000000000..3baabc2b2e
> > --- /dev/null
> > +++ b/boot/syslinux/0001-efi-main.c-fix-jmp_buf-passing.patch
> > @@ -0,0 +1,34 @@
> > +From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> > +Subject: [PATCH] efi/main.c: pass jmp_buf directly to setjmp()/longjmp()
> > +
> > +gnu-efi's jmp_buf is a one-element array, so load_error_buf already decays
> > +to the element pointer setjmp()/longjmp() expect. Passing &load_error_buf
> > +hands over a pointer-to-array instead, rejected since gcc 14 made
> > +-Wincompatible-pointer-types an error by default.
> > +
> > +Upstream: N/A, dead
> > +Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> > +---
> > + efi/main.c | 4 ++--
> > + 1 file changed, 2 insertions(+), 2 deletions(-)
> > +
> > +diff --git a/efi/main.c b/efi/main.c
> > +--- a/efi/main.c
> > ++++ b/efi/main.c
> > +@@ -184,7 +184,7 @@ __export void local_boot(uint16_t ax)
> > + * Inform the firmware that we failed to execute correctly, which
> > + * will trigger the next entry in the EFI Boot Manager list.
> > + */
> > +- longjmp(&load_error_buf, 1);
> > ++ longjmp(load_error_buf, 1);
>
> Are you sure this is the right fix...
It is confusing, but indeed, this has been changed back and forth in the
syslinux itself and because of the fact that buildroot builds syslinux
against buildroot gnuefi package.
> > diff --git a/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch b/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch
> > deleted file mode 100644
> > index 9f61745a61..0000000000
> > --- a/boot/syslinux/0024-efi-main.c-fix-incorrect-type-of-load_error_buf.patch
> > +++ /dev/null
> > @@ -1,48 +0,0 @@
> > -From cbc8a8e25c3548771de5294f5a1eaef6bfe9b5da Mon Sep 17 00:00:00 2001
> > -From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > -Date: Sat, 18 Jan 2025 17:03:16 +0100
> > -Subject: [PATCH] efi/main.c: fix incorrect type of load_error_buf
> > -MIME-Version: 1.0
> > -Content-Type: text/plain; charset=UTF-8
> > -Content-Transfer-Encoding: 8bit
> > -
> > -load_error_buf is used as argument of setjmp()/longjmp(), so it should
> > -be a "jmp_buf", not a "jmp_buf *". According to the setjmp/longjmp man
> > -page:
> > -
> > - int setjmp(jmp_buf env);
> > - int sigsetjmp(sigjmp_buf env, int savesigs);
> > -
> > -Fixes build issue with GCC >= 14:
> > -
> > -efi/main.c:1329:21: error: passing argument 1 of ‘setjmp’ from incompatible pointer type [-Wincompatible-pointer-types]
> > - 1329 | if (!setjmp(load_error_buf))
> > - | ^~~~~~~~~~~~~~
> > - | |
> > - | struct <anonymous> (*)[1]
> > -x86_64-buildroot-linux-gnu/sysroot/usr/include/efi/efisetjmp.h:7:29: note: expected ‘struct <anonymous> *’ but argument is of type ‘struct <anonymous> (*)[1]’
> > - 7 | extern UINTN setjmp(jmp_buf env) __attribute__((returns_twice));
> > - | ~~~~~~~~^~~
> > -
> > -Upstream: N/A dead
> > -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > ----
> > - efi/main.c | 2 +-
> > - 1 file changed, 1 insertion(+), 1 deletion(-)
> > -
> > -diff --git a/efi/main.c b/efi/main.c
> > -index 7dc7bca7..045dae56 100644
> > ---- a/efi/main.c
> > -+++ b/efi/main.c
> > -@@ -30,7 +30,7 @@ uint32_t timer_irq;
> > - __export uint8_t KbdMap[256];
> > - char aux_seg[256];
> > -
> > --static jmp_buf *load_error_buf;
> > -+static jmp_buf load_error_buf;
>
> And not this one, that you are removing?
So the patch 24 has partially reverted the patch 7, the latter is already merged
upstream, but in different form (22d32c15ea96
"Update the longjump calls to fit the new declaration").
Ultimately, patch 7 doesn't apply, patch 24 doesn't apply because patch
7 doesn't apply, but even if they would both apply, the net result will
be exactly what 6.04-pre2 has upstream. And it's not buildable against the
buildroot gnuefi package.
[1] https://lore.kernel.org/all/aq62x3ovAUoc_Lmn@windsurf/
--
Alexander Sverdlin.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2
2026-10-26 20:45 ` Alexander Sverdlin
@ 2026-10-27 4:54 ` Andreas Ziegler
2026-10-27 5:57 ` Alexander Sverdlin
2026-10-27 8:19 ` Thomas Petazzoni via buildroot
2026-10-27 8:15 ` Thomas Petazzoni via buildroot
1 sibling, 2 replies; 10+ messages in thread
From: Andreas Ziegler @ 2026-10-27 4:54 UTC (permalink / raw)
To: Alexander Sverdlin; +Cc: Thomas Petazzoni, buildroot
Hi Alexander, Thomas, Everyone,
On 2026-10-26 20:45, Alexander Sverdlin wrote:
> Hi Thomas,
>
> On Sun, 2026-10-25 at 21:36 +0100, Thomas Petazzoni wrote:
>> On Sun, Oct 25, 2026 at 12:08:44AM +0200, Alexander Sverdlin wrote:
>> > The revision to build comes from Archlinux syslinux package, the archive
>> > from debian (to save time for git clone).
>> >
>> > Add patch fixing passing &load_error_buf to setjmp()/longjmp(), rejected
>> > since gcc 14 made -Wincompatible-pointer-types an error by default.
>> >
>> > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
>>
>> Does it make sense to keep syslinux? Even Wikipedia says it's
>> "discontinued". Do you still use it?
>
> I'll be fine having it downstream. I just thought, there is still an
> interest [1] in this update ;-)
Yes, there is still interest in this software, and I sadly mourn the
absence of the don't-delete-host-syslinux patch. I did not reply
earlier, because Thomas already did a deep dive.
Just some formal things:
You might take a look at the output of check-package:
$ utils/check-package boot/syslinux/*
boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch:0:
missing Upstream in the header
(https://nightly.buildroot.org/#_additional_patch_documentation)
boot/syslinux/0011-extlinux-Use-the-host-toolchain-to-build.patch:0:
missing Upstream in the header
(https://nightly.buildroot.org/#_additional_patch_documentation)
boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch:0: missing
Upstream in the header
(https://nightly.buildroot.org/#_additional_patch_documentation)
boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch:0:
missing Upstream in the header
(https://nightly.buildroot.org/#_additional_patch_documentation)
boot/syslinux/0016-Workaround-multiple-definition-of-symbol-errors.patch:0:
missing Upstream in the header
(https://nightly.buildroot.org/#_additional_patch_documentation)
boot/syslinux/0017-Replace-builtin-strlen-that-appears-to-get-optimized.patch:0:
missing Upstream in the header
(https://nightly.buildroot.org/#_additional_patch_documentation)
1137 lines processed
6 warnings generated
These should either be added to the .packageignore file or a "Upstream:
N/A, dead" line, similar to
0023-com32-chain-chain.h-use-proper-type-in-struct-data_a.patch:21.
A few of the existing patches should be rebased for 6.04, they do not
apply cleanly:
>>> syslinux bf6db5b4 Patching
<...>
Applying 0011-extlinux-Use-the-host-toolchain-to-build.patch using
patch:
patching file extlinux/Makefile
Hunk #2 succeeded at 53 (offset 1 line).
Applying 0013-Fix-build-with-gnu-efi-version-3.0.9.patch using patch:
patching file mk/lib.mk
Hunk #1 succeeded at 188 (offset 2 lines).
Hunk #2 succeeded at 198 (offset -5 lines).
<...>
Applying 0016-Workaround-multiple-definition-of-symbol-errors.patch
using patch:
patching file com32/cmenu/Makefile
patching file com32/elflink/ldlinux/Makefile
patching file com32/gpllib/Makefile
patching file com32/hdt/Makefile
patching file core/Makefile
Hunk #1 succeeded at 158 (offset -6 lines).
patching file dos/Makefile
patching file efi/Makefile
Hunk #1 succeeded at 71 (offset 1 line).
<...>
Kind regards,
Andreas
> [1] https://lore.kernel.org/all/aq62x3ovAUoc_Lmn@windsurf/
>
> --
> Alexander Sverdlin.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2
2026-10-27 4:54 ` Andreas Ziegler
@ 2026-10-27 5:57 ` Alexander Sverdlin
2026-10-27 8:20 ` Thomas Petazzoni via buildroot
2026-10-27 8:19 ` Thomas Petazzoni via buildroot
1 sibling, 1 reply; 10+ messages in thread
From: Alexander Sverdlin @ 2026-10-27 5:57 UTC (permalink / raw)
To: Andreas Ziegler; +Cc: Thomas Petazzoni, buildroot
Hi Andreas!
On Tue, 2026-10-27 at 04:54 +0000, Andreas Ziegler wrote:
> > > Does it make sense to keep syslinux? Even Wikipedia says it's
> > > "discontinued". Do you still use it?
> >
> > I'll be fine having it downstream. I just thought, there is still an
> > interest [1] in this update ;-)
>
> Yes, there is still interest in this software, and I sadly mourn the
> absence of the don't-delete-host-syslinux patch.
Maybe I can look into creating syslinux-host package, so that I don't
need to patch much in the sources and still have a functioning installer.
If Thomas makes his mind about the existence of the original syslinux
package at all ;-)
--
Alexander Sverdlin.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2
2026-10-26 20:45 ` Alexander Sverdlin
2026-10-27 4:54 ` Andreas Ziegler
@ 2026-10-27 8:15 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 10+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-27 8:15 UTC (permalink / raw)
To: Alexander Sverdlin; +Cc: buildroot, Andreas Ziegler
On Mon, Oct 26, 2026 at 09:45:35PM +0100, Alexander Sverdlin wrote:
> > Does it make sense to keep syslinux? Even Wikipedia says it's
> > "discontinued". Do you still use it?
>
> I'll be fine having it downstream. I just thought, there is still an
> interest [1] in this update ;-)
If you're still using it, totally fine with me to continue to have it
in Buildroot.
> Sorry, yes, all the dropped are "already applied", I will mention this
> in the commit message if you'll have interest in it.
Perfect.
> > And not this one, that you are removing?
>
> So the patch 24 has partially reverted the patch 7, the latter is already merged
> upstream, but in different form (22d32c15ea96
> "Update the longjump calls to fit the new declaration").
>
> Ultimately, patch 7 doesn't apply, patch 24 doesn't apply because patch
> 7 doesn't apply, but even if they would both apply, the net result will
> be exactly what 6.04-pre2 has upstream. And it's not buildable against the
> buildroot gnuefi package.
Hum, I'm not entirely sure to follow, but if the result builds/works,
that's what matters.
Can you send an updated version with a slightly improved commit
message, and then we will be good to go?
Thanks a lot!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2
2026-10-27 4:54 ` Andreas Ziegler
2026-10-27 5:57 ` Alexander Sverdlin
@ 2026-10-27 8:19 ` Thomas Petazzoni via buildroot
2026-10-28 4:48 ` Andreas Ziegler
1 sibling, 1 reply; 10+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-27 8:19 UTC (permalink / raw)
To: Andreas Ziegler; +Cc: Alexander Sverdlin, buildroot
On Tue, Oct 27, 2026 at 04:54:45AM +0000, Andreas Ziegler wrote:
> Yes, there is still interest in this software, and I sadly mourn the absence
> of the don't-delete-host-syslinux patch.
Not sure to understand this one. Could you clarify? Is Alexander's
patch dropping some feature that exists today in boot/syslinux/ and
that is important for you?
In any case: thanks a lot for raising your interest in syslinux. If
both of you could add yourself in DEVELOPERS for boot/syslinux/, it
would be much appreciated.
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2
2026-10-27 5:57 ` Alexander Sverdlin
@ 2026-10-27 8:20 ` Thomas Petazzoni via buildroot
2026-10-27 15:12 ` Lance Fredrickson
0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-27 8:20 UTC (permalink / raw)
To: Alexander Sverdlin; +Cc: Andreas Ziegler, buildroot
On Tue, Oct 27, 2026 at 06:57:44AM +0100, Alexander Sverdlin wrote:
> If Thomas makes his mind about the existence of the original syslinux
> package at all ;-)
Considering we have interest, it is pretty clear that we should keep
syslinux, so please go ahead with submitting new iterations :-)
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2
2026-10-27 8:20 ` Thomas Petazzoni via buildroot
@ 2026-10-27 15:12 ` Lance Fredrickson
0 siblings, 0 replies; 10+ messages in thread
From: Lance Fredrickson @ 2026-10-27 15:12 UTC (permalink / raw)
To: buildroot
Just wanted to chime in and say I'm using syslinux as well, and I'm glad
to see it will continue to be in buildroot. Thanks for maintenance work
you guys are doing.
Lance
On 10/27/2026 2:20 AM, Thomas Petazzoni via buildroot wrote:
> On Tue, Oct 27, 2026 at 06:57:44AM +0100, Alexander Sverdlin wrote:
>
>> If Thomas makes his mind about the existence of the original syslinux
>> package at all ;-)
> Considering we have interest, it is pretty clear that we should keep
> syslinux, so please go ahead with submitting new iterations :-)
>
> Thomas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2
2026-10-27 8:19 ` Thomas Petazzoni via buildroot
@ 2026-10-28 4:48 ` Andreas Ziegler
0 siblings, 0 replies; 10+ messages in thread
From: Andreas Ziegler @ 2026-10-28 4:48 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Alexander Sverdlin, buildroot
On 2026-10-27 08:19, Thomas Petazzoni wrote:
> On Tue, Oct 27, 2026 at 04:54:45AM +0000, Andreas Ziegler wrote:
>
>> Yes, there is still interest in this software, and I sadly mourn the
>> absence
>> of the don't-delete-host-syslinux patch.
>
> Not sure to understand this one. Could you clarify? Is Alexander's
> patch dropping some feature that exists today in boot/syslinux/ and
> that is important for you?
The v1 of this patch was a series, which contained one additional patch:
https://patchwork.buildroot.org/project/buildroot/patch/20260830181907.106154-2-alexander.sverdlin@gmail.com/
. This unfortunately did not meet the upstream requirement. This change
would make a messy (and dangerous) installation of syslinux on the build
machine obsolete.
> In any case: thanks a lot for raising your interest in syslinux. If
> both of you could add yourself in DEVELOPERS for boot/syslinux/, it
> would be much appreciated.
Last time I did low-level C and assembler programming was during
university, which is now more than 30 years in the past -- but if it
helps keeping syslinux active, why not.
Kind regards,
Andreas
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-10-28 4:49 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-24 22:08 [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2 Alexander Sverdlin
2026-10-25 20:36 ` Thomas Petazzoni via buildroot
2026-10-26 20:45 ` Alexander Sverdlin
2026-10-27 4:54 ` Andreas Ziegler
2026-10-27 5:57 ` Alexander Sverdlin
2026-10-27 8:20 ` Thomas Petazzoni via buildroot
2026-10-27 15:12 ` Lance Fredrickson
2026-10-27 8:19 ` Thomas Petazzoni via buildroot
2026-10-28 4:48 ` Andreas Ziegler
2026-10-27 8:15 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox