aboutsummaryrefslogtreecommitdiff
path: root/pfinet
diff options
context:
space:
mode:
authorFlavio Cruz <flaviocruz@gmail.com>2024-06-24 21:56:08 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2024-06-24 23:29:03 +0200
commit76369501dab992fa4d5451c36b3cbd74896b97a1 (patch)
tree8f0698f0562c16a0341c6b9eb28b670f6ddbe3e7 /pfinet
parentc60efab86ea82158ae26be56c1bc8684cd54c61b (diff)
downloadhurd-76369501dab992fa4d5451c36b3cbd74896b97a1.tar.gz
hurd-76369501dab992fa4d5451c36b3cbd74896b97a1.tar.bz2
hurd-76369501dab992fa4d5451c36b3cbd74896b97a1.zip
Fix issues with GCC 14.
* 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. Message-ID: <pnx5mho5ipgabehscwu2ogk5l7zfjsxpmjz37fuplgbtohwtjj@ofhr2r5xvqm6>
Diffstat (limited to 'pfinet')
-rw-r--r--pfinet/Makefile5
-rw-r--r--pfinet/glue-include/linux/socket.h36
2 files changed, 10 insertions, 31 deletions
diff --git a/pfinet/Makefile b/pfinet/Makefile
index a210a113..22c3a171 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 87ddedc1..90861fde 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,