bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH hurd 2/2] Fix issues with GCC 14.


From: Flavio Cruz
Subject: [PATCH hurd 2/2] Fix issues with GCC 14.
Date: Mon, 24 Jun 2024 21:56:08 +0100

* ftpfts/ftpfs: use appropriate function signature for interrupt_check.
* pfinet/Makefile: turn off warnings in Linux driver code that are now
  errors in GCC 14.
* pfinet/glue-include/linux/socket.h: remove duplicate functions. These
  are implemented in linux-src/net/core/iovec.c.
---
 ftpfs/ftpfs.c                      |  7 +++++-
 pfinet/Makefile                    |  5 +++++
 pfinet/glue-include/linux/socket.h | 36 +++++-------------------------
 3 files changed, 16 insertions(+), 32 deletions(-)

diff --git a/ftpfs/ftpfs.c b/ftpfs/ftpfs.c
index 794439b..ba77cae 100644
--- a/ftpfs/ftpfs.c
+++ b/ftpfs/ftpfs.c
@@ -51,8 +51,13 @@ struct ftpfs *ftpfs;
 /* Parameters describing the server we're connecting to.  */
 struct ftp_conn_params *ftpfs_ftp_params = 0;
 
+static int interrupt_check_hook (struct ftp_conn *)
+{
+  return ports_self_interrupted ();
+}
+
 /* customization hooks.  */
-struct ftp_conn_hooks ftpfs_ftp_hooks = { interrupt_check: 
ports_self_interrupted };
+struct ftp_conn_hooks ftpfs_ftp_hooks = { interrupt_check: 
interrupt_check_hook };
 
 /* The (user-specified) name of the SERVER:FILESYSTEM we're connected too.  */
 char *ftpfs_remote_fs;
diff --git a/pfinet/Makefile b/pfinet/Makefile
index a210a11..22c3a17 100644
--- a/pfinet/Makefile
+++ b/pfinet/Makefile
@@ -144,6 +144,11 @@ socket-MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
 iioctl-MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
 rioctl-MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
 
+LINUX_SRCS_WITH_ERRORS := af_inet6 tcp_ipv6 udp_ipv6
+LINUX_OBJS_WITH_ERRORS := $(addsuffix .o, $(LINUX_SRCS_WITH_ERRORS))
+# We are not fixing the current warnings in the Linux drivers.
+$(LINUX_OBJS_WITH_ERRORS): CFLAGS += -Wno-error=incompatible-pointer-types
+
 # cpp doesn't automatically make dependencies for -imacros dependencies. argh.
 io_S.h ioServer.c socket_S.h socketServer.c: mig-mutate.h
 $(OBJS): config.h
diff --git a/pfinet/glue-include/linux/socket.h 
b/pfinet/glue-include/linux/socket.h
index 87ddedc..90861fd 100644
--- a/pfinet/glue-include/linux/socket.h
+++ b/pfinet/glue-include/linux/socket.h
@@ -107,38 +107,12 @@ struct ucred {
   gid_t gid;
 };
 
-
-extern inline int              /* Does not modify IOV.  */
+int            /* Does not modify IOV.  */
 memcpy_fromiovecend (unsigned char *kdata, struct iovec *iov,
-                    int offset, int len)
-{
-  assert_backtrace (offset + len <= iov->iov_len);
-  memcpy (kdata, iov->iov_base + offset, len);
-  return 0;
-}
-extern inline int              /* Modifies IOV to consume LEN bytes.  */
-memcpy_fromiovec (unsigned char *kdata, struct iovec *iov, int len)
-{
-  assert_backtrace (len <= iov->iov_len);
-  memcpy (kdata, iov->iov_base, len);
-  iov->iov_base += len;
-  iov->iov_len -= len;
-  return 0;
-}
-extern inline void             /* Modifies IOV to consume LEN bytes.  */
-memcpy_tokerneliovec (struct iovec *iov, unsigned char *kdata, int len)
-{
-  assert_backtrace (len <= iov->iov_len);
-  memcpy (iov->iov_base, kdata, len);
-  iov->iov_base += len;
-  iov->iov_len -= len;
-}
-extern inline int              /* Modifies IOV to consume LEN bytes.  */
-memcpy_toiovec (struct iovec *iov, unsigned char *kdata, int len)
-{
-  memcpy_tokerneliovec (iov, kdata, len);
-  return 0;
-}
+                    int offset, int len);
+
+int            /* Modifies IOV to consume LEN bytes.  */
+memcpy_toiovec (struct iovec *iov, unsigned char *kdata, int len);
 
 extern int csum_partial_copy_fromiovecend(unsigned char *kdata,
                                          struct iovec *iov,
-- 
2.45.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]