All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Cc: buildroot@buildroot.org, Andreas Ziegler <br025@umbiko.net>
Subject: Re: [Buildroot] [PATCH v2] boot/syslinux: Bump to 6.04-pre2
Date: Sun, 25 Oct 2026 21:36:56 +0100	[thread overview]
Message-ID: <at5oC97YlhN98HHS@windsurf> (raw)
In-Reply-To: <20261024220915.2813680-1-alexander.sverdlin@gmail.com>

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

  reply	other threads:[~2026-10-25 20:37 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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-29 20:30           ` Thomas Petazzoni via buildroot
2026-10-27  8:15     ` Thomas Petazzoni via buildroot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=at5oC97YlhN98HHS@windsurf \
    --to=buildroot@buildroot.org \
    --cc=alexander.sverdlin@gmail.com \
    --cc=br025@umbiko.net \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.