From patchwork Wed Apr 16 11:14:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: mark yang X-Patchwork-Id: 61431 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 31847C369BD for ; Wed, 16 Apr 2025 11:14:34 +0000 (UTC) Received: from lgeamrelo11.lge.com (lgeamrelo11.lge.com [156.147.23.53]) by mx.groups.io with SMTP id smtpd.web10.16523.1744802070803270779 for ; Wed, 16 Apr 2025 04:14:31 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: lge.com, ip: 156.147.23.53, mailfrom: mark.yang@lge.com) Received: from unknown (HELO lgemrelse7q.lge.com) (156.147.1.151) by 156.147.23.53 with ESMTP; 16 Apr 2025 20:14:28 +0900 X-Original-SENDERIP: 156.147.1.151 X-Original-MAILFROM: mark.yang@lge.com Received: from unknown (HELO markyang..) (10.177.120.37) by 156.147.1.151 with ESMTP; 16 Apr 2025 20:14:28 +0900 X-Original-SENDERIP: 10.177.120.37 X-Original-MAILFROM: mark.yang@lge.com From: mark.yang@lge.com To: openembedded-devel@lists.openembedded.org Cc: "mark.yang" Subject: [meta-networking][PATCH] netperf: fix build error with gcc-15 Date: Wed, 16 Apr 2025 20:14:26 +0900 Message-Id: <20250416111426.3734037-1-mark.yang@lge.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 16 Apr 2025 11:14:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/116907 From: "mark.yang" * submit fix: https://github.com/HewlettPackard/netperf/pull/86 to fix: http://errors.yoctoproject.org/Errors/Details/851803/ ../../git/src/nettest_bsd.c:4497:19: error: too many arguments to function 'alloc_sendfile_buf_ring'; expected 0, have 4 4497 | send_ring = alloc_sendfile_buf_ring(send_width, | ^~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ In file included from ../../git/src/nettest_bsd.c:175: ../../git/src/netlib.h:690:26: note: declared here 690 | extern struct ring_elt *alloc_sendfile_buf_ring(); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../git/src/nettest_omni.c:184: ../../git/src/hist.h:135:6: error: conflicting types for 'HIST_purge'; have 'void(struct histogram_struct *)' 135 | void HIST_purge(HIST h); | ^~~~~~~~~~ ... Signed-off-by: mark.yang --- ...-arguments-error-occurring-in-gcc-15.patch | 168 ++++++++++++++++++ .../recipes-support/netperf/netperf_git.bb | 1 + 2 files changed, 169 insertions(+) create mode 100644 meta-networking/recipes-support/netperf/files/0001-Fix-too-many-arguments-error-occurring-in-gcc-15.patch diff --git a/meta-networking/recipes-support/netperf/files/0001-Fix-too-many-arguments-error-occurring-in-gcc-15.patch b/meta-networking/recipes-support/netperf/files/0001-Fix-too-many-arguments-error-occurring-in-gcc-15.patch new file mode 100644 index 0000000000..51313d8055 --- /dev/null +++ b/meta-networking/recipes-support/netperf/files/0001-Fix-too-many-arguments-error-occurring-in-gcc-15.patch @@ -0,0 +1,168 @@ +From fd4f2099efd378a3e00809b485ae22ebf20ab0f7 Mon Sep 17 00:00:00 2001 +From: "mark.yang" +Date: Wed, 16 Apr 2025 20:02:36 +0900 +Subject: [PATCH] Fix too many arguments error occurring in gcc-15 + +* See more details in http://errors.yoctoproject.org/Errors/Details/851803/ +../../git/src/nettest_bsd.c:4497:19: error: too many arguments to function 'alloc_sendfile_buf_ring'; expected 0, have 4 + 4497 | send_ring = alloc_sendfile_buf_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +In file included from ../../git/src/nettest_bsd.c:175: +../../git/src/netlib.h:690:26: note: declared here + 690 | extern struct ring_elt *alloc_sendfile_buf_ring(); + | ^~~~~~~~~~~~~~~~~~~~~~~ +In file included from ../../git/src/nettest_omni.c:184: +../../git/src/hist.h:135:6: error: conflicting types for 'HIST_purge'; have 'void(struct histogram_struct *)' + 135 | void HIST_purge(HIST h); + | ^~~~~~~~~~ +In file included from ../../git/src/nettest_omni.c:166: +../../git/src/netlib.h:651:17: note: previous declaration of 'HIST_purge' with type 'void(void)' + 651 | extern void HIST_purge(); + | ^~~~~~~~~~ +../../git/src/nettest_bsd.c: In function 'recv_tcp_stream': +../../git/src/nettest_bsd.c:5197:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 5197 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c: In function 'recv_tcp_maerts': +../../git/src/nettest_bsd.c:5617:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 5617 | send_ring = allocate_buffer_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c: In function 'recv_udp_stream': +../../git/src/nettest_bsd.c:7345:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 7345 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c: In function 'recv_udp_rr': +../../git/src/nettest_bsd.c:8360:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 8360 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c:8365:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 8365 | send_ring = allocate_buffer_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c: In function 'recv_tcp_rr': +../../git/src/nettest_bsd.c:8677:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 8677 | send_ring = allocate_buffer_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_bsd.c:8682:15: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 8682 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c: In function 'send_omni_inner': +../../git/src/nettest_omni.c:4044:21: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 4044 | send_ring = allocate_buffer_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:4086:21: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 4086 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:5050:5: error: too many arguments to function 'HIST_get_stats'; expected 0, have 5 + 5050 | HIST_get_stats(time_hist, + | ^~~~~~~~~~~~~~ ~~~~~~~~~ +../../git/src/netlib.h:650:17: note: declared here + 650 | extern void HIST_get_stats(); + | ^~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:5055:19: error: too many arguments to function 'HIST_get_percentile'; expected 0, have 2 + 5055 | p50_latency = HIST_get_percentile(time_hist, 0.50); + | ^~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ +../../git/src/netlib.h:649:17: note: declared here + 649 | extern int HIST_get_percentile(); + | ^~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:5056:19: error: too many arguments to function 'HIST_get_percentile'; expected 0, have 2 + 5056 | p90_latency = HIST_get_percentile(time_hist, 0.90); + | ^~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ +../../git/src/netlib.h:649:17: note: declared here + 649 | extern int HIST_get_percentile(); + | ^~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:5057:19: error: too many arguments to function 'HIST_get_percentile'; expected 0, have 2 + 5057 | p99_latency = HIST_get_percentile(time_hist, 0.99); + | ^~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ +../../git/src/netlib.h:649:17: note: declared here + 649 | extern int HIST_get_percentile(); + | ^~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c: In function 'recv_omni': +../../git/src/nettest_omni.c:5354:17: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 5354 | send_ring = allocate_buffer_ring(send_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ +../../git/src/nettest_omni.c:5396:17: error: too many arguments to function 'allocate_buffer_ring'; expected 0, have 4 + 5396 | recv_ring = allocate_buffer_ring(recv_width, + | ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ +../../git/src/netlib.h:679:26: note: declared here + 679 | extern struct ring_elt *allocate_buffer_ring(); + | ^~~~~~~~~~~~~~~~~~~~ + +Upstream-Status: Submitted [https://github.com/HewlettPackard/netperf/pull/86] +Signed-off-by: mark.yang +--- + src/netlib.h | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/src/netlib.h b/src/netlib.h +index b1f4199..8e1f6fe 100644 +--- a/src/netlib.h ++++ b/src/netlib.h +@@ -564,6 +564,7 @@ extern void demo_interval_final(); + #endif + #endif + ++#include "hist.h" + extern void netlib_init(); + extern int netlib_get_page_size(); + extern void install_signal_catchers(); +@@ -646,9 +647,9 @@ extern char *find_interface_slot(char *interface_name); + extern void find_interface_ids(char *interface_name, int *vendor, int *device, int *sub_vend, int *sub_dev); + extern void find_driver_info(char *ifname, char *driver, char *version, char *firmware, char *bus, int len); + extern void find_system_info(char **system_model, char **cpu_model, int *cpu_frequency); +-extern int HIST_get_percentile(); +-extern void HIST_get_stats(); +-extern void HIST_purge(); ++extern int HIST_get_percentile(HIST h, const double percentile); ++extern void HIST_get_stats(HIST h, int *min, int *max, double *mean, double *stddev); ++extern void HIST_purge(HIST h); + extern void find_security_info(int *enabled, int *type, char **specific); + extern void demo_first_timestamp(); + extern void demo_reset(); +@@ -676,7 +677,7 @@ extern void catcher(int, siginfo_t *,void *); + #else + extern void catcher(int); + #endif /* __hpux */ +-extern struct ring_elt *allocate_buffer_ring(); ++extern struct ring_elt *allocate_buffer_ring(int recv_width, int recv_size, int local_recv_align, int local_recv_offset); + extern void access_buffer(char *buffer_ptr, + int length, + int dirty_count, +@@ -687,7 +688,7 @@ extern struct ring_elt *allocate_exs_buffer_ring(); + #endif /* HAVE_ICSC_EXS */ + + #ifdef HAVE_SENDFILE +-extern struct ring_elt *alloc_sendfile_buf_ring(); ++extern struct ring_elt *alloc_sendfile_buf_ring(int send_width, int send_size, int local_send_align, int local_send_offset); + extern int netperf_sendfile(SOCKET send_socket, struct ring_elt *send_ring); + #endif /* HAVE_SENDFILE */ + diff --git a/meta-networking/recipes-support/netperf/netperf_git.bb b/meta-networking/recipes-support/netperf/netperf_git.bb index 3110237804..151f243c27 100644 --- a/meta-networking/recipes-support/netperf/netperf_git.bb +++ b/meta-networking/recipes-support/netperf/netperf_git.bb @@ -16,6 +16,7 @@ SRC_URI = "git://github.com/HewlettPackard/netperf.git;branch=master;protocol=ht file://0001-nettest_omni-Remove-duplicate-variable-definitions.patch \ file://netserver_permissions.patch \ file://0001-Makefile.am-add-ACLOCAL_AMFLAGS.patch \ + file://0001-Fix-too-many-arguments-error-occurring-in-gcc-15.patch \ " SRCREV = "3bc455b23f901dae377ca0a558e1e32aa56b31c4"