syslinux: Fix build with GCC 14

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Michael Tremer
2024-08-07 15:00:33 +00:00
parent ab1b09f61f
commit ec054262e9
2 changed files with 62 additions and 0 deletions

View File

@@ -80,6 +80,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/syslinux-6.04_replace-builtin-strlen-that-appears-to-get-optimized.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/syslinux-6.04_pre1-fcommon.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/syslinux-6.04-libinstaller-Fix-build-with-glibc-2.36.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/syslinux-6.04-pre1-fix-build-with-gcc-14.patch
# Build
cd $(DIR_APP) && make bios $(MAKETUNING)

View File

@@ -0,0 +1,61 @@
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 *
---
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