package/vde2: fix build w/ gcc-15
Fixes: https://autobuild.buildroot.net/results/8d14173f31922a737c326be75aa24c9f9471342a/ The vde2 source code uses empty argument function pointer prototypes like: typedef ssize_t (* ssize_fun)(); extern ssize_fun vdehist_vderead; In C17 and earlier, such prototypes means unknown number of arguments, whereas with C23 it means no arguments, leading to build failures: libvdehist.c:39:27: error: initialization of 'ssize_fun' {aka 'long int (*)(void)'} from incompatible pointer type 'ssize_t (*)(int, void *, size_t)' {aka 'long int (*)(int, void *, long unsigned int)'} [-Wincompatible-pointer-types] Workaround it using -std=gnu99. Vde2 is provided both as a host and target package, so do this unconditionally for both. Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
This commit is contained in:
committed by
Arnout Vandecappelle
parent
08a1e10fbe
commit
2218f02155
@@ -38,5 +38,10 @@ HOST_VDE2_CONF_OPTS = \
|
||||
--disable-profile \
|
||||
--enable-tuntap
|
||||
|
||||
# C23 changes meaning of empty argument prototypes like int (*)()
|
||||
# causing build failures, so force gnu99
|
||||
VDE2_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99"
|
||||
HOST_VDE2_CONF_ENV = CFLAGS="$(HOST_CFLAGS) -std=gnu99"
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
||||
|
||||
Reference in New Issue
Block a user