diff mbox series

[v2,iproute2] bridge/vlan.c: bridge/vlan.c: fix build with gcc 14 on musl systems

Message ID 20240510143613.1531283-1-gabifalk@gmx.com (mailing list archive)
State Accepted
Commit 53a89bfd86fff1a00cc77cabb8457a03eaa3bc7d
Delegated to: Stephen Hemminger
Headers show
Series [v2,iproute2] bridge/vlan.c: bridge/vlan.c: fix build with gcc 14 on musl systems | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Gabi Falk May 10, 2024, 2:36 p.m. UTC
On glibc based systems the definition of 'struct timeval' is pulled in
with inclusion of <stdlib.h> header, but on musl based systems it
doesn't work this way.  Missing definition triggers an
incompatible-pointer-types error with gcc 14 (warning on previous
versions of gcc):

../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
   80 | _PRINT_FUNC(tv, const struct timeval *)
      |                              ^~~~~~~
../include/json_print.h:50:37: note: in definition of macro '_PRINT_FUNC'
   50 |                                     type value);                        \
      |                                     ^~~~
../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
   80 | _PRINT_FUNC(tv, const struct timeval *)
      |                              ^~~~~~~
../include/json_print.h:55:45: note: in definition of macro '_PRINT_FUNC'
   55 |                                             type value)                 \
      |                                             ^~~~
../include/json_print.h: In function 'print_tv':
../include/json_print.h:58:48: error: passing argument 5 of 'print_color_tv' from incompatible pointer type [-Wincompatible-pointer-types]
   58 |                                                value);                  \
      |                                                ^~~~~
      |                                                |
      |                                                const struct timeval *

Signed-off-by: Gabi Falk <gabifalk@gmx.com>
---
 bridge/vlan.c | 1 +
 bridge/vni.c  | 1 +
 vdpa/vdpa.c   | 1 +
 3 files changed, 3 insertions(+)

--
gabi

Comments

patchwork-bot+netdevbpf@kernel.org May 14, 2024, 5:30 a.m. UTC | #1
Hello:

This patch was applied to iproute2/iproute2.git (main)
by Stephen Hemminger <stephen@networkplumber.org>:

On Fri, 10 May 2024 14:36:12 +0000 you wrote:
> On glibc based systems the definition of 'struct timeval' is pulled in
> with inclusion of <stdlib.h> header, but on musl based systems it
> doesn't work this way.  Missing definition triggers an
> incompatible-pointer-types error with gcc 14 (warning on previous
> versions of gcc):
> 
> ../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
>    80 | _PRINT_FUNC(tv, const struct timeval *)
>       |                              ^~~~~~~
> ../include/json_print.h:50:37: note: in definition of macro '_PRINT_FUNC'
>    50 |                                     type value);                        \
>       |                                     ^~~~
> ../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
>    80 | _PRINT_FUNC(tv, const struct timeval *)
>       |                              ^~~~~~~
> ../include/json_print.h:55:45: note: in definition of macro '_PRINT_FUNC'
>    55 |                                             type value)                 \
>       |                                             ^~~~
> ../include/json_print.h: In function 'print_tv':
> ../include/json_print.h:58:48: error: passing argument 5 of 'print_color_tv' from incompatible pointer type [-Wincompatible-pointer-types]
>    58 |                                                value);                  \
>       |                                                ^~~~~
>       |                                                |
>       |                                                const struct timeval *
> 
> [...]

Here is the summary with links:
  - [v2,iproute2] bridge/vlan.c: bridge/vlan.c: fix build with gcc 14 on musl systems
    https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=53a89bfd86ff

You are awesome, thank you!
diff mbox series

Patch

diff --git a/bridge/vlan.c b/bridge/vlan.c
index 5352eb24..0a7e6c45 100644
--- a/bridge/vlan.c
+++ b/bridge/vlan.c
@@ -4,6 +4,7 @@ 
 #include <unistd.h>
 #include <fcntl.h>
 #include <sys/socket.h>
+#include <sys/time.h>
 #include <net/if.h>
 #include <netinet/in.h>
 #include <linux/if_bridge.h>
diff --git a/bridge/vni.c b/bridge/vni.c
index a7abe6de..e1f981fc 100644
--- a/bridge/vni.c
+++ b/bridge/vni.c
@@ -10,6 +10,7 @@ 
 #include <string.h>
 #include <fcntl.h>
 #include <sys/socket.h>
+#include <sys/time.h>
 #include <net/if.h>
 #include <netinet/in.h>
 #include <linux/if_link.h>
diff --git a/vdpa/vdpa.c b/vdpa/vdpa.c
index 6e4a9c11..43f87824 100644
--- a/vdpa/vdpa.c
+++ b/vdpa/vdpa.c
@@ -3,6 +3,7 @@ 
 #include <stdio.h>
 #include <getopt.h>
 #include <errno.h>
+#include <sys/time.h>
 #include <linux/genetlink.h>
 #include <linux/if_ether.h>
 #include <linux/vdpa.h>