From 7c29f6da91a3375576abdac50ddf04b1be0577aa Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Sun, 4 Feb 2024 12:27:44 -0500 Subject: [PATCH] Fix build with GCC 14 --- 0008-Fix-build-with-GCC-14.patch | 61 ++++++++++++++++++++++++++++++++ syslinux.spec | 1 + 2 files changed, 62 insertions(+) create mode 100644 0008-Fix-build-with-GCC-14.patch diff --git a/0008-Fix-build-with-GCC-14.patch b/0008-Fix-build-with-GCC-14.patch new file mode 100644 index 0000000..61de20e --- /dev/null +++ b/0008-Fix-build-with-GCC-14.patch @@ -0,0 +1,61 @@ +From 321433861cc9cd3c7e0ee02830e561bc0f956998 Mon Sep 17 00:00:00 2001 +From: 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 + #include + #include ++#include + + #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/syslinux.spec b/syslinux.spec index 1bd1325..72a6371 100644 --- a/syslinux.spec +++ b/syslinux.spec @@ -21,6 +21,7 @@ Patch0004: 0004-Add-RPMOPTFLAGS-to-CFLAGS-for-some-stuff.patch Patch0005: 0005-Workaround-multiple-definition-of-symbol-errors.patch Patch0006: 0006-Replace-builtin-strlen-that-appears-to-get-optimized.patch Patch0007: 0007-Fix-backspace-when-editing-a-multiline-cmdline.patch +Patch0008: 0008-Fix-build-with-GCC-14.patch # this is to keep rpmbuild from thinking the .c32 / .com / .0 / memdisk files # in noarch packages are a reason to stop the build.