Add a patch from Fedora 40 to fix build with GCC 14.

Remove internal (long obsolete) copies of ext2_fs.h that clash
with the one from e2fsprogs when built with GCC 14.

Signed-off-by: Zoltán Böszörményi <[email protected]>
---
 .../syslinux/0008-Fix-build-with-GCC-14.patch | 62 +++++++++++++++++++
 .../syslinux/syslinux_6.04-pre2.bb            |  5 ++
 2 files changed, 67 insertions(+)
 create mode 100644 
meta/recipes-devtools/syslinux/syslinux/0008-Fix-build-with-GCC-14.patch

diff --git 
a/meta/recipes-devtools/syslinux/syslinux/0008-Fix-build-with-GCC-14.patch 
b/meta/recipes-devtools/syslinux/syslinux/0008-Fix-build-with-GCC-14.patch
new file mode 100644
index 0000000000..41414ed0f5
--- /dev/null
+++ b/meta/recipes-devtools/syslinux/syslinux/0008-Fix-build-with-GCC-14.patch
@@ -0,0 +1,62 @@
+From 321433861cc9cd3c7e0ee02830e561bc0f956998 Mon Sep 17 00:00:00 2001
+From: rpm-build <rpm-build>
+Date: Sun, 4 Feb 2024 11:46:02 -0500
+Subject: [PATCH] Fix build with GCC 14
+
+com32/lib/syslinux/debug.c: In function ‘syslinux_debug’:
+com32/lib/syslinux/debug.c:91:5: error: implicit declaration of function 
‘printf’
+
+com32/libupload/upload_tftp.c: In function ‘upload_tftp_write’:
+com32/libupload/upload_tftp.c:64:11: error: implicit declaration of function 
‘tftp_put’
+
+com32/chain/chain.c: In function ‘main’:
+com32/chain/chain.c:517:44: error: passing argument 3 of ‘loadfile’ from 
incompatible pointer type
+com32/include/syslinux/loadfile.h:11:37: note: expected ‘size_t *’ but 
argument is of type ‘addr_t *’
+
+Upstream-Status: Inactive-Upstream [no upstream]
+---
+ com32/chain/chain.c        | 2 +-
+ com32/lib/syslinux/debug.c | 1 +
+ com32/libupload/tftp.h     | 3 +++
+ 3 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/com32/chain/chain.c b/com32/chain/chain.c
+index 4e9e32d..b11b880 100644
+--- a/com32/chain/chain.c
++++ b/com32/chain/chain.c
+@@ -514,7 +514,7 @@ int main(int argc, char *argv[])
+     if (opt.file) {
+       fdat.base = (opt.fseg << 4) + opt.foff;
+ 
+-      if (loadfile(opt.file, &fdat.data, &fdat.size)) {
++      if (loadfile(opt.file, &fdat.data, (size_t*)&fdat.size)) {
+           error("Couldn't read the boot file.");
+           goto bail;
+       }
+diff --git a/com32/lib/syslinux/debug.c b/com32/lib/syslinux/debug.c
+index d9ab863..e8f53d5 100644
+--- a/com32/lib/syslinux/debug.c
++++ b/com32/lib/syslinux/debug.c
+@@ -1,6 +1,7 @@
+ #include <linux/list.h>
+ #include <string.h>
+ #include <stdbool.h>
++#include <stdio.h>
+ 
+ #ifdef DYNAMIC_DEBUG
+ 
+diff --git a/com32/libupload/tftp.h b/com32/libupload/tftp.h
+index 323dc16..09aa40b 100644
+--- a/com32/libupload/tftp.h
++++ b/com32/libupload/tftp.h
+@@ -19,4 +19,7 @@ TFTP_OK      = 11, /* Not in RFC */
+ };
+ 
+ extern const char *tftp_string_error_message[];
++
++extern int tftp_put(struct url_info *url, int flags, struct inode *inode,
++                               const char **redir, char *data, int 
data_length);
+ #endif
+-- 
+2.43.0
+
diff --git a/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb 
b/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
index c8e7f25d2b..190891b6fe 100644
--- a/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
+++ b/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
@@ -22,6 +22,7 @@ SRC_URI = 
"https://www.zytor.com/pub/syslinux/Testing/6.04/syslinux-${PV}.tar.xz
            file://0012-libinstaller-Fix-build-with-glibc-2.36.patch \
            file://0013-remove-clean-script.patch \
            file://0014-Fix-reproducibility-issues.patch \
+           file://0008-Fix-build-with-GCC-14.patch \
 "
 
 SRC_URI[md5sum] = "2b31c78f087f99179feb357da312d7ec"
@@ -71,6 +72,10 @@ PACKAGECONFIG[mtools] = ",,,"
 # Tasks for native/nativesdk which just build the installer.
 #
 do_configure() {
+       # These clash with ext2_fs.h from e2fsprogs when built with GCC 14
+       rm -f ${S}/core/fs/ext2/ext2_fs.h
+       rm -f ${S}/libinstaller/ext2fs/ext2_fs.h
+
        oe_runmake firmware="bios" clean
 }
 
-- 
2.44.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#198901): 
https://lists.openembedded.org/g/openembedded-core/message/198901
Mute This Topic: https://lists.openembedded.org/mt/105858862/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to