mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-10 08:14:09 -09:00
package/iproute2: fix building error using designated initializers
This patch fixes the following error:
arpd.c:442:17: error: initialization of 'int' from 'void *' makes integer from pointer without a cast [-Wint-conversion]
442 | NULL, 0,
The analysis of socket.h [1] containing the msghdr structure shows that
it has been modified with the addition of padding fields, which cause
the compilation error:
struct msghdr {
void *msg_name;
socklen_t msg_namelen;
struct iovec *msg_iov;
#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN
int __pad1;
#endif
int msg_iovlen;
#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN
int __pad1;
#endif
void *msg_control;
#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN
int __pad2;
#endif
socklen_t msg_controllen;
#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN
int __pad2;
#endif
int msg_flags;
};
The use of designated initializers allows the issue to be fixed.
[1] iproute2/host/mips64-buildroot-linux-musl/sysroot/usr/include/sys/socket.h
Fixes:
- http://autobuild.buildroot.org/results/e4cdfa38ae9578992f1c0ff5c4edae3cc0836e3c
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
committed by
Thomas Petazzoni
parent
70359eaa0d
commit
57d94b293b
@@ -0,0 +1,63 @@
|
||||
From 32da5f26dee03600a9ca72a99016d95f05c4f1ec Mon Sep 17 00:00:00 2001
|
||||
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
Date: Sat, 28 Sep 2024 11:03:11 +0200
|
||||
Subject: [PATCH] arpd: use designated initializers for msghdr structure
|
||||
|
||||
This patch fixes the following error:
|
||||
|
||||
arpd.c:442:17: error: initialization of 'int' from 'void *' makes integer from pointer without a cast [-Wint-conversion]
|
||||
442 | NULL, 0,
|
||||
|
||||
raised by Buildroot autobuilder [1].
|
||||
|
||||
In the case in question, the analysis of socket.h [2] containing the
|
||||
msghdr structure shows that it has been modified with the addition of
|
||||
padding fields, which cause the compilation error. The use of designated
|
||||
initializers allows the issue to be fixed.
|
||||
|
||||
struct msghdr {
|
||||
void *msg_name;
|
||||
socklen_t msg_namelen;
|
||||
struct iovec *msg_iov;
|
||||
int __pad1;
|
||||
int msg_iovlen;
|
||||
int __pad1;
|
||||
void *msg_control;
|
||||
int __pad2;
|
||||
socklen_t msg_controllen;
|
||||
int __pad2;
|
||||
int msg_flags;
|
||||
};
|
||||
|
||||
[1] http://autobuild.buildroot.org/results/e4cdfa38ae9578992f1c0ff5c4edae3cc0836e3c/
|
||||
[2] iproute2/host/mips64-buildroot-linux-musl/sysroot/usr/include/sys/socket.h
|
||||
|
||||
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
|
||||
Upstream: https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=9c9824bcaf092cb99988d59717674b73b5d0d19c
|
||||
---
|
||||
misc/arpd.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/misc/arpd.c b/misc/arpd.c
|
||||
index 3185620f..983e546d 100644
|
||||
--- a/misc/arpd.c
|
||||
+++ b/misc/arpd.c
|
||||
@@ -437,10 +437,10 @@ static void get_kern_msg(void)
|
||||
struct iovec iov;
|
||||
char buf[8192];
|
||||
struct msghdr msg = {
|
||||
- (void *)&nladdr, sizeof(nladdr),
|
||||
- &iov, 1,
|
||||
- NULL, 0,
|
||||
- 0
|
||||
+ .msg_name = &nladdr,
|
||||
+ .msg_namelen = sizeof(nladdr),
|
||||
+ .msg_iov = &iov,
|
||||
+ .msg_iovlen = 1,
|
||||
};
|
||||
|
||||
iov.iov_base = buf;
|
||||
--
|
||||
2.46.1
|
||||
|
||||
Reference in New Issue
Block a user