Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/irqbalance: fix build with newer gcc
@ 2025-12-03 19:42 Bernd Kuhls
  2025-12-28 18:18 ` Thomas Petazzoni via buildroot
  2026-01-07 17:54 ` Arnout Vandecappelle via buildroot
  0 siblings, 2 replies; 3+ messages in thread
From: Bernd Kuhls @ 2025-12-03 19:42 UTC (permalink / raw)
  To: buildroot; +Cc: Karoly Kasza

Fixes:
https://autobuild.buildroot.net/results/3b6/3b609fe191e03330480f647b09dd06916da13317/

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
 .../irqbalance/0001-fix-32-bit-formats.patch  |  70 ++++
 ...02-add-void-to-fix-strict-prototypes.patch | 321 ++++++++++++++++++
 2 files changed, 391 insertions(+)
 create mode 100644 package/irqbalance/0001-fix-32-bit-formats.patch
 create mode 100644 package/irqbalance/0002-add-void-to-fix-strict-prototypes.patch

diff --git a/package/irqbalance/0001-fix-32-bit-formats.patch b/package/irqbalance/0001-fix-32-bit-formats.patch
new file mode 100644
index 0000000000..eac8b083d6
--- /dev/null
+++ b/package/irqbalance/0001-fix-32-bit-formats.patch
@@ -0,0 +1,70 @@
+From 1277ea524354fa628b4189e699af8d62f8be7021 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Sun, 31 Mar 2024 14:18:24 -0700
+Subject: [PATCH] fix 32-bit formats
+
+exposed with -Wformat when building on 32-bit systems
+
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+
+Upstream: https://github.com/Irqbalance/irqbalance/commit/1277ea524354fa628b4189e699af8d62f8be7021
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ placement.c | 2 +-
+ ui/ui.c     | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/placement.c b/placement.c
+index 9fde8cb..dea7c23 100644
+--- a/placement.c
++++ b/placement.c
+@@ -172,7 +172,7 @@ static void validate_irq(struct irq_info *info, void *data)
+ {
+ 	if (info->assigned_obj != data)
+ 		log(TO_CONSOLE, LOG_INFO, "object validation error: irq %d is wrong, points to %p, should be %p\n",
+-			info->irq, info->assigned_obj, data);
++			info->irq, (void*)info->assigned_obj, data);
+ }
+ 
+ static void validate_object(struct topo_obj *d, void *data __attribute__((unused)))
+diff --git a/ui/ui.c b/ui/ui.c
+index bee6868..8354fc6 100644
+--- a/ui/ui.c
++++ b/ui/ui.c
+@@ -101,7 +101,7 @@ int get_valid_sleep_input(int column_offest)
+ 		if(input == NULL) {
+ 			curs_set(0);
+ 			attrset(COLOR_PAIR(1));
+-			mvprintw(2, column_offest, "%lu			", new_sleep);
++			mvprintw(2, column_offest, "%" PRIu64 "			", new_sleep);
+ 			move(LINES, COLS);
+ 			break;
+ 		}
+@@ -125,7 +125,7 @@ int get_valid_sleep_input(int column_offest)
+ 	}
+ 
+ 	attrset(COLOR_PAIR(1));
+-	mvprintw(2, column_offest, "%lu				", new_sleep);
++	mvprintw(2, column_offest, "%" PRIu64 "				", new_sleep);
+ 
+ 	return new_sleep;
+ }
+@@ -296,7 +296,7 @@ void handle_cpu_banning()
+ 		case '\r': {
+ 			attrset(COLOR_PAIR(3));
+ 			int banned = toggle_cpu(tmp, position + offset - 6);
+-			mvprintw(position, 3, "CPU %d     ", position + offset - 6);
++			mvprintw(position, 3, "CPU %zu     ", position + offset - 6);
+ 			if(banned) {
+ 				mvprintw(position, 19, "YES");
+ 			} else {
+@@ -770,7 +770,7 @@ void display_tree_node_irqs(irq_t *irq, void *data)
+ 	if (max_offset >= offset && max_offset - offset < LINES - 5) {
+ 		snprintf(indent + strlen(indent), 32 - strlen(indent), "%s", (char *)data);
+ 		attrset(COLOR_PAIR(3));
+-		printw("%sIRQ %u, IRQs since last rebalance %lu\n",
++		printw("%sIRQ %u, IRQs since last rebalance %" PRIu64 "\n",
+ 			indent, irq->vector, irq->diff);
+ 	}
+ 	max_offset++;
diff --git a/package/irqbalance/0002-add-void-to-fix-strict-prototypes.patch b/package/irqbalance/0002-add-void-to-fix-strict-prototypes.patch
new file mode 100644
index 0000000000..ea0495d895
--- /dev/null
+++ b/package/irqbalance/0002-add-void-to-fix-strict-prototypes.patch
@@ -0,0 +1,321 @@
+From b6a831d692ed7e12db7748db49b3b39516d151d2 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Sun, 31 Mar 2024 14:31:22 -0700
+Subject: [PATCH] add void to fix strict-prototypes
+
+This becomes a hard error with C23
+
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+
+Upstream: https://github.com/Irqbalance/irqbalance/commit/b6a831d692ed7e12db7748db49b3b39516d151d2
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ irqbalance.c       |  2 +-
+ irqbalance.h       |  2 +-
+ procinterrupts.c   |  2 +-
+ ui/helpers.c       |  2 +-
+ ui/helpers.h       |  2 +-
+ ui/irqbalance-ui.c |  6 +++---
+ ui/irqbalance-ui.h |  5 ++---
+ ui/ui.c            | 26 +++++++++++++-------------
+ ui/ui.h            | 28 ++++++++++++++--------------
+ 9 files changed, 37 insertions(+), 38 deletions(-)
+
+diff --git a/irqbalance.c b/irqbalance.c
+index 12302d7..373161f 100644
+--- a/irqbalance.c
++++ b/irqbalance.c
+@@ -544,7 +544,7 @@ gboolean sock_handle(gint fd, GIOCondition condition, gpointer user_data __attri
+ 	return TRUE;
+ }
+ 
+-int init_socket()
++int init_socket(void)
+ {
+ 	struct sockaddr_un addr;
+ 	memset(&addr, 0, sizeof(struct sockaddr_un));
+diff --git a/irqbalance.h b/irqbalance.h
+index 7b47cd1..09daa3d 100644
+--- a/irqbalance.h
++++ b/irqbalance.h
+@@ -36,7 +36,7 @@ extern char *classes[];
+ extern void parse_cpu_tree(void);
+ extern void clear_work_stats(void);
+ extern void parse_proc_interrupts(void);
+-extern GList* collect_full_irq_list();
++extern GList* collect_full_irq_list(void);
+ extern void parse_proc_stat(void);
+ extern void set_interrupt_count(int number, uint64_t count);
+ extern void set_msi_interrupt_numa(int number);
+diff --git a/procinterrupts.c b/procinterrupts.c
+index dfa95c6..e7ba653 100644
+--- a/procinterrupts.c
++++ b/procinterrupts.c
+@@ -206,7 +206,7 @@ void init_irq_class_and_type(char *savedline, struct irq_info *info, int irq)
+ 	info->name = strdup(irq_fullname);
+ }
+ 
+-GList* collect_full_irq_list()
++GList* collect_full_irq_list(void)
+ {
+ 	GList *tmp_list = NULL;
+ 	FILE *file;
+diff --git a/ui/helpers.c b/ui/helpers.c
+index 0e9f76c..247f826 100644
+--- a/ui/helpers.c
++++ b/ui/helpers.c
+@@ -165,7 +165,7 @@ void dump_node(cpu_node_t *node, void *data __attribute__((unused)))
+ 	}
+ }
+ 
+-void dump_tree()
++void dump_tree(void)
+ {
+ 	for_each_node(tree, dump_node, NULL);
+ }
+diff --git a/ui/helpers.h b/ui/helpers.h
+index b8d9fcc..922914b 100644
+--- a/ui/helpers.h
++++ b/ui/helpers.h
+@@ -25,7 +25,7 @@ void for_each_node(GList *list, void (*fp)(cpu_node_t *node, void *data), void *
+ 
+ void dump_irq(irq_t *irq, void *data __attribute__((unused)));
+ void dump_node(cpu_node_t *node, void *data __attribute__((unused)));
+-void dump_tree();
++void dump_tree(void);
+ 
+ 
+ #endif /* HELPERS_H */
+diff --git a/ui/irqbalance-ui.c b/ui/irqbalance-ui.c
+index c26eff6..f5122ee 100644
+--- a/ui/irqbalance-ui.c
++++ b/ui/irqbalance-ui.c
+@@ -28,7 +28,7 @@ setup_t setup;
+ GMainLoop *main_loop;
+ static int default_bufsz = 8192;
+ 
+-struct msghdr * create_credentials_msg()
++struct msghdr * create_credentials_msg(void)
+ {
+ 	struct ucred *credentials = malloc(sizeof(struct ucred));
+ 	credentials->pid = getpid();
+@@ -51,7 +51,7 @@ struct msghdr * create_credentials_msg()
+ 	return msg;
+ }
+ 
+-int init_connection()
++int init_connection(void)
+ {
+ 	struct sockaddr_un addr;
+ 	memset(&addr, 0, sizeof(struct sockaddr_un));
+@@ -378,7 +378,7 @@ gboolean rescan_tree(gpointer data __attribute__((unused)))
+ 	free(irqbalance_data);
+ 	return TRUE;
+ }
+-void scroll_window() {
++void scroll_window(void) {
+ 	switch(state) {
+ 	case STATE_TREE:
+ 		display_tree();
+diff --git a/ui/irqbalance-ui.h b/ui/irqbalance-ui.h
+index dc24083..178be4b 100644
+--- a/ui/irqbalance-ui.h
++++ b/ui/irqbalance-ui.h
+@@ -72,8 +72,8 @@ typedef struct setup {
+ 
+ /* Function prototypes */
+ 
+-struct msghdr * create_credentials_msg();
+-int init_connection();
++struct msghdr * create_credentials_msg(void);
++int init_connection(void);
+ void send_settings(char *data);
+ char * get_data(char *string);
+ void parse_setup(char *setup_data);
+@@ -83,7 +83,6 @@ void assign_cpu_lists(cpu_node_t *node, void *data);
+ void assign_cpu_mask(cpu_node_t *node, void *data);
+ void parse_into_tree(char *data);
+ gboolean rescan_tree(gpointer data);
+-int main();
+ 
+ 
+ #endif /* IRQBALANCE_UI_H */
+diff --git a/ui/ui.c b/ui/ui.c
+index 8354fc6..9fa990a 100644
+--- a/ui/ui.c
++++ b/ui/ui.c
+@@ -21,7 +21,7 @@ char *IRQ_CLASS_TO_STR[] = {
+ 			"10-Gigabit Ethernet",
+ 			"Virt Event"};
+ 
+-void show_frame()
++void show_frame(void)
+ {
+ 	int i;
+ 	attrset(COLOR_PAIR(4));
+@@ -37,7 +37,7 @@ void show_frame()
+ 	}
+ }
+ 
+-void show_footer()
++void show_footer(void)
+ {
+ 	char footer[COLS];
+ 	snprintf(footer, COLS - 1,
+@@ -172,7 +172,7 @@ void print_cpu_line(cpu_ban_t *cpu, void *data __attribute__((unused)))
+ 	max_offset++;
+ }
+ 
+-void print_all_cpus()
++void print_all_cpus(void)
+ {
+ 	max_offset = 0;
+ 	if(all_cpus == NULL) {
+@@ -193,7 +193,7 @@ void add_banned_cpu(int *banned_cpu, void *data)
+ 	snprintf(data + strlen(data), 1024 - strlen(data), "%d, ", *banned_cpu);
+ }
+ 
+-void display_banned_cpus()
++void display_banned_cpus(void)
+ {
+ 	char banned_cpus[1024] = "Banned CPU numbers: \0";
+ 	if(g_list_length(setup.banned_cpus) > 0) {
+@@ -247,7 +247,7 @@ void get_cpu(cpu_node_t *node, void *data __attribute__((unused)))
+ 	}
+ }
+ 
+-void handle_cpu_banning()
++void handle_cpu_banning(void)
+ {
+ 	GList *tmp = g_list_copy_deep(all_cpus, copy_cpu_ban, NULL);
+ 	attrset(COLOR_PAIR(5));
+@@ -504,7 +504,7 @@ void print_irq_line(irq_t *irq, void *data __attribute__((unused)))
+ 	mvprintw(line, 120, "%s", irq_name[line]);
+ }
+ 
+-void print_all_irqs()
++void print_all_irqs(void)
+ {
+ 	max_offset = 0;
+ 	attrset(COLOR_PAIR(0));
+@@ -555,13 +555,13 @@ void copy_irqs_from_nodes(cpu_node_t *node, void *data __attribute__((unused)))
+ 	}
+ }
+ 
+-void get_all_irqs()
++void get_all_irqs(void)
+ {
+ 	all_irqs = g_list_copy_deep(setup.banned_irqs, copy_irq, NULL);
+ 	for_each_node(tree, copy_irqs_from_nodes, NULL);
+ }
+ 
+-void handle_irq_banning()
++void handle_irq_banning(void)
+ {
+ 	GList *tmp = g_list_copy_deep(all_irqs, copy_irq, NULL);
+ 	attrset(COLOR_PAIR(5));
+@@ -670,7 +670,7 @@ void handle_irq_banning()
+ 	}
+ }
+ 
+-void handle_sleep_setting()
++void handle_sleep_setting(void)
+ {
+ 	char info[128] = "Current sleep interval between rebalancing: \0";
+ 	uint8_t sleep_input_offset = strlen(info) + 3;
+@@ -693,7 +693,7 @@ void handle_sleep_setting()
+ 	refresh();
+ }
+ 
+-void init()
++void init(void)
+ {
+ 	signal(SIGINT, close_window);
+ 	initscr();
+@@ -732,7 +732,7 @@ void close_window(int sig __attribute__((unused)))
+ 	exit(EXIT_SUCCESS);
+ }
+ 
+-void settings()
++void settings(void)
+ {
+ 	clear();
+ 	char *setup_data = get_data(SETUP);
+@@ -751,7 +751,7 @@ void settings()
+ 	free(setup_data);
+ }
+ 
+-void setup_irqs()
++void setup_irqs(void)
+ {
+ 	clear();
+ 	get_all_irqs();
+@@ -830,7 +830,7 @@ void display_tree_node(cpu_node_t *node, void *data)
+ 	}
+ }
+ 
+-void display_tree()
++void display_tree(void)
+ {
+ 	clear();
+ 	char *setup_data = get_data(SETUP);
+diff --git a/ui/ui.h b/ui/ui.h
+index da5b4b9..f3485d4 100644
+--- a/ui/ui.h
++++ b/ui/ui.h
+@@ -17,40 +17,40 @@ extern setup_t setup;
+ extern int offset;
+ extern int max_offset;
+ 
+-void show_frame();
+-void show_footer();
++void show_frame(void);
++void show_footer(void);
+ 
+ char * check_control_in_sleep_input(int max_len, int column_offest, int line_offset);
+ int get_valid_sleep_input(int column_offest);
+ 
+ void get_banned_cpu(int *cpu, void *data);
+ void print_cpu_line(cpu_ban_t *cpu, void *data);
+-void print_all_cpus();
++void print_all_cpus(void);
+ void add_banned_cpu(int *banned_cpu, void *data);
+-void display_banned_cpus();
++void display_banned_cpus(void);
+ int toggle_cpu(GList *cpu_list, int cpu_number);
+ void get_new_cpu_ban_values(cpu_ban_t *cpu, void *data);
+-void get_cpu();
+-void handle_sleep_setting();
+-void handle_cpu_banning();
++void get_cpu(cpu_node_t *node, void *data);
++void handle_sleep_setting(void);
++void handle_cpu_banning(void);
+ 
+ void copy_assigned_obj(int *number, void *data);
+ void print_assigned_objects_string(irq_t *irq, int *line_offset);
+ void print_irq_line(irq_t *irq, void *data);
+-void print_all_irqs();
++void print_all_irqs(void);
+ int toggle_irq(GList *irq_list, int position);
+ void get_new_irq_ban_values(irq_t *irq, void *data);
+ void copy_irqs_from_nodes(cpu_node_t *node, void *data);
+-void get_all_irqs();
+-void handle_irq_banning();
++void get_all_irqs(void);
++void handle_irq_banning(void);
+ 
+-void init();
++void init(void);
+ void close_window(int sig);
+-void settings();
+-void setup_irqs();
++void settings(void);
++void setup_irqs(void);
+ void display_tree_node_irqs(irq_t *irq, void *data);
+ void display_tree_node(cpu_node_t *node, void *data);
+-void display_tree();
++void display_tree(void);
+ 
+ 
+ #endif /* UI_H */
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/irqbalance: fix build with newer gcc
  2025-12-03 19:42 [Buildroot] [PATCH 1/1] package/irqbalance: fix build with newer gcc Bernd Kuhls
@ 2025-12-28 18:18 ` Thomas Petazzoni via buildroot
  2026-01-07 17:54 ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-12-28 18:18 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: buildroot, Karoly Kasza

Hello Bernd,

On Wed,  3 Dec 2025 20:42:01 +0100
Bernd Kuhls <bernd@kuhls.net> wrote:

> Fixes:
> https://autobuild.buildroot.net/results/3b6/3b609fe191e03330480f647b09dd06916da13317/
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>

Thanks for the patch. It would have been nice to narrow down a simple
defconfig that exhibits the issue, and then investigate at which GCC
version the problem started. So I had to investigate both myself in
order to have a more meaningful commit message. This again confirms my
request to you to improve the investigations you do and their
description in the commit log. It would help us a lot.

Note that irqbalance 1.9.5 is now released, so if you want to send a
version bump, feel free to do so :-)

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/irqbalance: fix build with newer gcc
  2025-12-03 19:42 [Buildroot] [PATCH 1/1] package/irqbalance: fix build with newer gcc Bernd Kuhls
  2025-12-28 18:18 ` Thomas Petazzoni via buildroot
@ 2026-01-07 17:54 ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 3+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2026-01-07 17:54 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: Arnout Vandecappelle, buildroot

In reply of:
> Fixes:
> https://autobuild.buildroot.net/results/3b6/3b609fe191e03330480f647b09dd06916da13317/
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>

Applied to 2025.11.x. Thanks

> ---
>  .../irqbalance/0001-fix-32-bit-formats.patch  |  70 ++++
>  ...02-add-void-to-fix-strict-prototypes.patch | 321 ++++++++++++++++++
>  2 files changed, 391 insertions(+)
>  create mode 100644 package/irqbalance/0001-fix-32-bit-formats.patch
>  create mode 100644 package/irqbalance/0002-add-void-to-fix-strict-prototypes.patch
> 
> diff --git a/package/irqbalance/0001-fix-32-bit-formats.patch b/package/irqbalance/0001-fix-32-bit-formats.patch
> new file mode 100644
> index 0000000000..eac8b083d6
> --- /dev/null
> +++ b/package/irqbalance/0001-fix-32-bit-formats.patch
> @@ -0,0 +1,70 @@
> +From 1277ea524354fa628b4189e699af8d62f8be7021 Mon Sep 17 00:00:00 2001
> +From: Rosen Penev <rosenp@gmail.com>
> +Date: Sun, 31 Mar 2024 14:18:24 -0700
> +Subject: [PATCH] fix 32-bit formats
> +
> +exposed with -Wformat when building on 32-bit systems
> +
> +Signed-off-by: Rosen Penev <rosenp@gmail.com>
> +
> +Upstream: https://github.com/Irqbalance/irqbalance/commit/1277ea524354fa628b4189e699af8d62f8be7021
> +
> +Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> +---
> + placement.c | 2 +-
> + ui/ui.c     | 8 ++++----
> + 2 files changed, 5 insertions(+), 5 deletions(-)
> +
> +diff --git a/placement.c b/placement.c
> +index 9fde8cb..dea7c23 100644
> +--- a/placement.c
> ++++ b/placement.c
> +@@ -172,7 +172,7 @@ static void validate_irq(struct irq_info *info, void *data)
> + {
> + 	if (info->assigned_obj != data)
> + 		log(TO_CONSOLE, LOG_INFO, "object validation error: irq %d is wrong, points to %p, should be %p\n",
> +-			info->irq, info->assigned_obj, data);
> ++			info->irq, (void*)info->assigned_obj, data);
> + }
> + 
> + static void validate_object(struct topo_obj *d, void *data __attribute__((unused)))
> +diff --git a/ui/ui.c b/ui/ui.c
> +index bee6868..8354fc6 100644
> +--- a/ui/ui.c
> ++++ b/ui/ui.c
> +@@ -101,7 +101,7 @@ int get_valid_sleep_input(int column_offest)
> + 		if(input == NULL) {
> + 			curs_set(0);
> + 			attrset(COLOR_PAIR(1));
> +-			mvprintw(2, column_offest, "%lu			", new_sleep);
> ++			mvprintw(2, column_offest, "%" PRIu64 "			", new_sleep);
> + 			move(LINES, COLS);
> + 			break;
> + 		}
> +@@ -125,7 +125,7 @@ int get_valid_sleep_input(int column_offest)
> + 	}
> + 
> + 	attrset(COLOR_PAIR(1));
> +-	mvprintw(2, column_offest, "%lu				", new_sleep);
> ++	mvprintw(2, column_offest, "%" PRIu64 "				", new_sleep);
> + 
> + 	return new_sleep;
> + }
> +@@ -296,7 +296,7 @@ void handle_cpu_banning()
> + 		case '\r': {
> + 			attrset(COLOR_PAIR(3));
> + 			int banned = toggle_cpu(tmp, position + offset - 6);
> +-			mvprintw(position, 3, "CPU %d     ", position + offset - 6);
> ++			mvprintw(position, 3, "CPU %zu     ", position + offset - 6);
> + 			if(banned) {
> + 				mvprintw(position, 19, "YES");
> + 			} else {
> +@@ -770,7 +770,7 @@ void display_tree_node_irqs(irq_t *irq, void *data)
> + 	if (max_offset >= offset && max_offset - offset < LINES - 5) {
> + 		snprintf(indent + strlen(indent), 32 - strlen(indent), "%s", (char *)data);
> + 		attrset(COLOR_PAIR(3));
> +-		printw("%sIRQ %u, IRQs since last rebalance %lu\n",
> ++		printw("%sIRQ %u, IRQs since last rebalance %" PRIu64 "\n",
> + 			indent, irq->vector, irq->diff);
> + 	}
> + 	max_offset++;
> diff --git a/package/irqbalance/0002-add-void-to-fix-strict-prototypes.patch b/package/irqbalance/0002-add-void-to-fix-strict-prototypes.patch
> new file mode 100644
> index 0000000000..ea0495d895
> --- /dev/null
> +++ b/package/irqbalance/0002-add-void-to-fix-strict-prototypes.patch
> @@ -0,0 +1,321 @@
> +From b6a831d692ed7e12db7748db49b3b39516d151d2 Mon Sep 17 00:00:00 2001
> +From: Rosen Penev <rosenp@gmail.com>
> +Date: Sun, 31 Mar 2024 14:31:22 -0700
> +Subject: [PATCH] add void to fix strict-prototypes
> +
> +This becomes a hard error with C23
> +
> +Signed-off-by: Rosen Penev <rosenp@gmail.com>
> +
> +Upstream: https://github.com/Irqbalance/irqbalance/commit/b6a831d692ed7e12db7748db49b3b39516d151d2
> +
> +Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> +---
> + irqbalance.c       |  2 +-
> + irqbalance.h       |  2 +-
> + procinterrupts.c   |  2 +-
> + ui/helpers.c       |  2 +-
> + ui/helpers.h       |  2 +-
> + ui/irqbalance-ui.c |  6 +++---
> + ui/irqbalance-ui.h |  5 ++---
> + ui/ui.c            | 26 +++++++++++++-------------
> + ui/ui.h            | 28 ++++++++++++++--------------
> + 9 files changed, 37 insertions(+), 38 deletions(-)
> +
> +diff --git a/irqbalance.c b/irqbalance.c
> +index 12302d7..373161f 100644
> +--- a/irqbalance.c
> ++++ b/irqbalance.c
> +@@ -544,7 +544,7 @@ gboolean sock_handle(gint fd, GIOCondition condition, gpointer user_data __attri
> + 	return TRUE;
> + }
> + 
> +-int init_socket()
> ++int init_socket(void)
> + {
> + 	struct sockaddr_un addr;
> + 	memset(&addr, 0, sizeof(struct sockaddr_un));
> +diff --git a/irqbalance.h b/irqbalance.h
> +index 7b47cd1..09daa3d 100644
> +--- a/irqbalance.h
> ++++ b/irqbalance.h
> +@@ -36,7 +36,7 @@ extern char *classes[];
> + extern void parse_cpu_tree(void);
> + extern void clear_work_stats(void);
> + extern void parse_proc_interrupts(void);
> +-extern GList* collect_full_irq_list();
> ++extern GList* collect_full_irq_list(void);
> + extern void parse_proc_stat(void);
> + extern void set_interrupt_count(int number, uint64_t count);
> + extern void set_msi_interrupt_numa(int number);
> +diff --git a/procinterrupts.c b/procinterrupts.c
> +index dfa95c6..e7ba653 100644
> +--- a/procinterrupts.c
> ++++ b/procinterrupts.c
> +@@ -206,7 +206,7 @@ void init_irq_class_and_type(char *savedline, struct irq_info *info, int irq)
> + 	info->name = strdup(irq_fullname);
> + }
> + 
> +-GList* collect_full_irq_list()
> ++GList* collect_full_irq_list(void)
> + {
> + 	GList *tmp_list = NULL;
> + 	FILE *file;
> +diff --git a/ui/helpers.c b/ui/helpers.c
> +index 0e9f76c..247f826 100644
> +--- a/ui/helpers.c
> ++++ b/ui/helpers.c
> +@@ -165,7 +165,7 @@ void dump_node(cpu_node_t *node, void *data __attribute__((unused)))
> + 	}
> + }
> + 
> +-void dump_tree()
> ++void dump_tree(void)
> + {
> + 	for_each_node(tree, dump_node, NULL);
> + }
> +diff --git a/ui/helpers.h b/ui/helpers.h
> +index b8d9fcc..922914b 100644
> +--- a/ui/helpers.h
> ++++ b/ui/helpers.h
> +@@ -25,7 +25,7 @@ void for_each_node(GList *list, void (*fp)(cpu_node_t *node, void *data), void *
> + 
> + void dump_irq(irq_t *irq, void *data __attribute__((unused)));
> + void dump_node(cpu_node_t *node, void *data __attribute__((unused)));
> +-void dump_tree();
> ++void dump_tree(void);
> + 
> + 
> + #endif /* HELPERS_H */
> +diff --git a/ui/irqbalance-ui.c b/ui/irqbalance-ui.c
> +index c26eff6..f5122ee 100644
> +--- a/ui/irqbalance-ui.c
> ++++ b/ui/irqbalance-ui.c
> +@@ -28,7 +28,7 @@ setup_t setup;
> + GMainLoop *main_loop;
> + static int default_bufsz = 8192;
> + 
> +-struct msghdr * create_credentials_msg()
> ++struct msghdr * create_credentials_msg(void)
> + {
> + 	struct ucred *credentials = malloc(sizeof(struct ucred));
> + 	credentials->pid = getpid();
> +@@ -51,7 +51,7 @@ struct msghdr * create_credentials_msg()
> + 	return msg;
> + }
> + 
> +-int init_connection()
> ++int init_connection(void)
> + {
> + 	struct sockaddr_un addr;
> + 	memset(&addr, 0, sizeof(struct sockaddr_un));
> +@@ -378,7 +378,7 @@ gboolean rescan_tree(gpointer data __attribute__((unused)))
> + 	free(irqbalance_data);
> + 	return TRUE;
> + }
> +-void scroll_window() {
> ++void scroll_window(void) {
> + 	switch(state) {
> + 	case STATE_TREE:
> + 		display_tree();
> +diff --git a/ui/irqbalance-ui.h b/ui/irqbalance-ui.h
> +index dc24083..178be4b 100644
> +--- a/ui/irqbalance-ui.h
> ++++ b/ui/irqbalance-ui.h
> +@@ -72,8 +72,8 @@ typedef struct setup {
> + 
> + /* Function prototypes */
> + 
> +-struct msghdr * create_credentials_msg();
> +-int init_connection();
> ++struct msghdr * create_credentials_msg(void);
> ++int init_connection(void);
> + void send_settings(char *data);
> + char * get_data(char *string);
> + void parse_setup(char *setup_data);
> +@@ -83,7 +83,6 @@ void assign_cpu_lists(cpu_node_t *node, void *data);
> + void assign_cpu_mask(cpu_node_t *node, void *data);
> + void parse_into_tree(char *data);
> + gboolean rescan_tree(gpointer data);
> +-int main();
> + 
> + 
> + #endif /* IRQBALANCE_UI_H */
> +diff --git a/ui/ui.c b/ui/ui.c
> +index 8354fc6..9fa990a 100644
> +--- a/ui/ui.c
> ++++ b/ui/ui.c
> +@@ -21,7 +21,7 @@ char *IRQ_CLASS_TO_STR[] = {
> + 			"10-Gigabit Ethernet",
> + 			"Virt Event"};
> + 
> +-void show_frame()
> ++void show_frame(void)
> + {
> + 	int i;
> + 	attrset(COLOR_PAIR(4));
> +@@ -37,7 +37,7 @@ void show_frame()
> + 	}
> + }
> + 
> +-void show_footer()
> ++void show_footer(void)
> + {
> + 	char footer[COLS];
> + 	snprintf(footer, COLS - 1,
> +@@ -172,7 +172,7 @@ void print_cpu_line(cpu_ban_t *cpu, void *data __attribute__((unused)))
> + 	max_offset++;
> + }
> + 
> +-void print_all_cpus()
> ++void print_all_cpus(void)
> + {
> + 	max_offset = 0;
> + 	if(all_cpus == NULL) {
> +@@ -193,7 +193,7 @@ void add_banned_cpu(int *banned_cpu, void *data)
> + 	snprintf(data + strlen(data), 1024 - strlen(data), "%d, ", *banned_cpu);
> + }
> + 
> +-void display_banned_cpus()
> ++void display_banned_cpus(void)
> + {
> + 	char banned_cpus[1024] = "Banned CPU numbers: \0";
> + 	if(g_list_length(setup.banned_cpus) > 0) {
> +@@ -247,7 +247,7 @@ void get_cpu(cpu_node_t *node, void *data __attribute__((unused)))
> + 	}
> + }
> + 
> +-void handle_cpu_banning()
> ++void handle_cpu_banning(void)
> + {
> + 	GList *tmp = g_list_copy_deep(all_cpus, copy_cpu_ban, NULL);
> + 	attrset(COLOR_PAIR(5));
> +@@ -504,7 +504,7 @@ void print_irq_line(irq_t *irq, void *data __attribute__((unused)))
> + 	mvprintw(line, 120, "%s", irq_name[line]);
> + }
> + 
> +-void print_all_irqs()
> ++void print_all_irqs(void)
> + {
> + 	max_offset = 0;
> + 	attrset(COLOR_PAIR(0));
> +@@ -555,13 +555,13 @@ void copy_irqs_from_nodes(cpu_node_t *node, void *data __attribute__((unused)))
> + 	}
> + }
> + 
> +-void get_all_irqs()
> ++void get_all_irqs(void)
> + {
> + 	all_irqs = g_list_copy_deep(setup.banned_irqs, copy_irq, NULL);
> + 	for_each_node(tree, copy_irqs_from_nodes, NULL);
> + }
> + 
> +-void handle_irq_banning()
> ++void handle_irq_banning(void)
> + {
> + 	GList *tmp = g_list_copy_deep(all_irqs, copy_irq, NULL);
> + 	attrset(COLOR_PAIR(5));
> +@@ -670,7 +670,7 @@ void handle_irq_banning()
> + 	}
> + }
> + 
> +-void handle_sleep_setting()
> ++void handle_sleep_setting(void)
> + {
> + 	char info[128] = "Current sleep interval between rebalancing: \0";
> + 	uint8_t sleep_input_offset = strlen(info) + 3;
> +@@ -693,7 +693,7 @@ void handle_sleep_setting()
> + 	refresh();
> + }
> + 
> +-void init()
> ++void init(void)
> + {
> + 	signal(SIGINT, close_window);
> + 	initscr();
> +@@ -732,7 +732,7 @@ void close_window(int sig __attribute__((unused)))
> + 	exit(EXIT_SUCCESS);
> + }
> + 
> +-void settings()
> ++void settings(void)
> + {
> + 	clear();
> + 	char *setup_data = get_data(SETUP);
> +@@ -751,7 +751,7 @@ void settings()
> + 	free(setup_data);
> + }
> + 
> +-void setup_irqs()
> ++void setup_irqs(void)
> + {
> + 	clear();
> + 	get_all_irqs();
> +@@ -830,7 +830,7 @@ void display_tree_node(cpu_node_t *node, void *data)
> + 	}
> + }
> + 
> +-void display_tree()
> ++void display_tree(void)
> + {
> + 	clear();
> + 	char *setup_data = get_data(SETUP);
> +diff --git a/ui/ui.h b/ui/ui.h
> +index da5b4b9..f3485d4 100644
> +--- a/ui/ui.h
> ++++ b/ui/ui.h
> +@@ -17,40 +17,40 @@ extern setup_t setup;
> + extern int offset;
> + extern int max_offset;
> + 
> +-void show_frame();
> +-void show_footer();
> ++void show_frame(void);
> ++void show_footer(void);
> + 
> + char * check_control_in_sleep_input(int max_len, int column_offest, int line_offset);
> + int get_valid_sleep_input(int column_offest);
> + 
> + void get_banned_cpu(int *cpu, void *data);
> + void print_cpu_line(cpu_ban_t *cpu, void *data);
> +-void print_all_cpus();
> ++void print_all_cpus(void);
> + void add_banned_cpu(int *banned_cpu, void *data);
> +-void display_banned_cpus();
> ++void display_banned_cpus(void);
> + int toggle_cpu(GList *cpu_list, int cpu_number);
> + void get_new_cpu_ban_values(cpu_ban_t *cpu, void *data);
> +-void get_cpu();
> +-void handle_sleep_setting();
> +-void handle_cpu_banning();
> ++void get_cpu(cpu_node_t *node, void *data);
> ++void handle_sleep_setting(void);
> ++void handle_cpu_banning(void);
> + 
> + void copy_assigned_obj(int *number, void *data);
> + void print_assigned_objects_string(irq_t *irq, int *line_offset);
> + void print_irq_line(irq_t *irq, void *data);
> +-void print_all_irqs();
> ++void print_all_irqs(void);
> + int toggle_irq(GList *irq_list, int position);
> + void get_new_irq_ban_values(irq_t *irq, void *data);
> + void copy_irqs_from_nodes(cpu_node_t *node, void *data);
> +-void get_all_irqs();
> +-void handle_irq_banning();
> ++void get_all_irqs(void);
> ++void handle_irq_banning(void);
> + 
> +-void init();
> ++void init(void);
> + void close_window(int sig);
> +-void settings();
> +-void setup_irqs();
> ++void settings(void);
> ++void setup_irqs(void);
> + void display_tree_node_irqs(irq_t *irq, void *data);
> + void display_tree_node(cpu_node_t *node, void *data);
> +-void display_tree();
> ++void display_tree(void);
> + 
> + 
> + #endif /* UI_H */
> -- 
> 2.47.3
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-01-07 17:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-03 19:42 [Buildroot] [PATCH 1/1] package/irqbalance: fix build with newer gcc Bernd Kuhls
2025-12-28 18:18 ` Thomas Petazzoni via buildroot
2026-01-07 17:54 ` Arnout Vandecappelle via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox