From 533c0aac289a545d07efc69766227d71d2df9d80 Mon Sep 17 00:00:00 2001 From: Thomas Perale Date: Tue, 1 Jul 2025 22:32:28 +0200 Subject: [PATCH] package/daq: fix build with GCC14 The daq package fails to build with GCC14 toolchains: ``` daq_nfq.c: In function 'SetPktHdr': daq_nfq.c:395:37: error: passing argument 2 of 'nfq_get_payload' from incompatible pointer type [-Wincompatible-pointer-types] 395 | int len = nfq_get_payload(nfad, (char**)pkt); | ^~~~~~~~~~~ | | | char ** ``` The issue can be reproduced with the following config: ``` cat > daq.config < Signed-off-by: Julien Olivain --- ...-fix-incompatible-pointer-type-error.patch | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 package/daq/0003-daq-fix-incompatible-pointer-type-error.patch diff --git a/package/daq/0003-daq-fix-incompatible-pointer-type-error.patch b/package/daq/0003-daq-fix-incompatible-pointer-type-error.patch new file mode 100644 index 0000000000..a15d325cd6 --- /dev/null +++ b/package/daq/0003-daq-fix-incompatible-pointer-type-error.patch @@ -0,0 +1,31 @@ +Fix daq incompatible pointer type error when gcc option +'-Wincompatible-pointer-types is set: + +| ../../daq-2.0.7/os-daq-modules/daq_nfq.c: In function 'SetPktHdr': +| ../../daq-2.0.7/os-daq-modules/daq_nfq.c:394:37: error: passing argument 2 + of 'nfq_get_payload' from incompatible pointer type [-Wincompatible-pointer-types] +| 394 | int len = nfq_get_payload(nfad, (char**)pkt); +| | ^~~~~~~~~~~ +| | | +| | char ** + +Signed-off-by: Kai Kang +Upstream: https://git.openembedded.org/meta-openembedded/tree/meta-networking/recipes-connectivity/daq/files/daq-fix-incompatible-pointer-type-error.patch?h=master +Signed-off-by: Thomas Perale +--- + os-daq-modules/daq_nfq.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/os-daq-modules/daq_nfq.c b/os-daq-modules/daq_nfq.c +index 4de94b6..a6de2f3 100644 +--- a/os-daq-modules/daq_nfq.c ++++ b/os-daq-modules/daq_nfq.c +@@ -391,7 +391,7 @@ static inline int SetPktHdr ( + DAQ_PktHdr_t* hdr, + uint8_t** pkt + ) { +- int len = nfq_get_payload(nfad, (char**)pkt); ++ int len = nfq_get_payload(nfad, (unsigned char**)pkt); + + if ( len <= 0 ) + return -1;