* [PATCH 0/2] Fix const qualifier build errors with recent glibc
@ 2025-12-10 18:13 Cédric Le Goater
2025-12-10 18:13 ` [PATCH 1/2] i386: " Cédric Le Goater
2025-12-10 18:13 ` [PATCH 2/2] tests/vhost-user-bridge.c: " Cédric Le Goater
0 siblings, 2 replies; 7+ messages in thread
From: Cédric Le Goater @ 2025-12-10 18:13 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Peter Maydell, Paolo Bonzini,
Richard Henderson, Cédric Le Goater
Hello,
More fixes for the build breakage due to the recent change in glibc
2.42.9000 :
https://sourceware.org/git/?p=glibc.git;a=commit;h=cd748a63ab1a7ae846175c532a3daab341c62690
Thanks,
C.
Cédric Le Goater (2):
i386: Fix const qualifier build errors with recent glibc
tests/vhost-user-bridge.c: Fix const qualifier build errors with
recent glibc
hw/i386/x86-common.c | 2 +-
tests/vhost-user-bridge.c | 10 ++++------
2 files changed, 5 insertions(+), 7 deletions(-)
--
2.52.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] i386: Fix const qualifier build errors with recent glibc
2025-12-10 18:13 [PATCH 0/2] Fix const qualifier build errors with recent glibc Cédric Le Goater
@ 2025-12-10 18:13 ` Cédric Le Goater
2025-12-10 18:39 ` Peter Maydell
2025-12-11 15:16 ` Philippe Mathieu-Daudé
2025-12-10 18:13 ` [PATCH 2/2] tests/vhost-user-bridge.c: " Cédric Le Goater
1 sibling, 2 replies; 7+ messages in thread
From: Cédric Le Goater @ 2025-12-10 18:13 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Peter Maydell, Paolo Bonzini,
Richard Henderson, Cédric Le Goater
A recent change in glibc 2.42.9000 [1] changes the return type of
strstr() and other string functions to be 'const char *' when the
input is a 'const char *'. This breaks the build in :
../hw/i386/x86-common.c:827:11: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
827 | vmode = strstr(kernel_cmdline, "vga=");
| ^
Fix this by changing the type of the variables that store the result
of these functions to 'const char *'.
[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=cd748a63ab1a7ae846175c532a3daab341c62690
Signed-off-by: Cédric Le Goater <clg@redhat.com>
---
hw/i386/x86-common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/i386/x86-common.c b/hw/i386/x86-common.c
index c844749900a30c9c9c284c529e93c84c9457b128..f77e2e63046ff56d079363e411a9ee0eca365291 100644
--- a/hw/i386/x86-common.c
+++ b/hw/i386/x86-common.c
@@ -654,7 +654,7 @@ void x86_load_linux(X86MachineState *x86ms,
uint8_t header[8192], *setup, *kernel;
hwaddr real_addr, prot_addr, cmdline_addr, initrd_addr = 0;
FILE *f;
- char *vmode;
+ const char *vmode;
MachineState *machine = MACHINE(x86ms);
struct setup_data *setup_data;
const char *kernel_filename = machine->kernel_filename;
--
2.52.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] tests/vhost-user-bridge.c: Fix const qualifier build errors with recent glibc
2025-12-10 18:13 [PATCH 0/2] Fix const qualifier build errors with recent glibc Cédric Le Goater
2025-12-10 18:13 ` [PATCH 1/2] i386: " Cédric Le Goater
@ 2025-12-10 18:13 ` Cédric Le Goater
2025-12-10 18:14 ` Cédric Le Goater
1 sibling, 1 reply; 7+ messages in thread
From: Cédric Le Goater @ 2025-12-10 18:13 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Peter Maydell, Paolo Bonzini,
Richard Henderson, Cédric Le Goater
A recent change in glibc 2.42.9000 [1] changes the return type of
strstr() and other string functions to be 'const char *' when the
input is a 'const char *'. This breaks the build in :
../tests/vhost-user-bridge.c: In function ‘vubr_parse_host_port’:
../tests/vhost-user-bridge.c:749:15: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
749 | char *p = strchr(buf, ':');
| ^~~~~~
Fix this by using the glib g_strsplit() routine instead of strdup().
[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=cd748a63ab1a7ae846175c532a3daab341c62690
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
---
tests/vhost-user-bridge.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/tests/vhost-user-bridge.c b/tests/vhost-user-bridge.c
index a5c711b1de8e9c164dd1614f4329b8e3c05d0402..ce4c3426d3938a0b54195f3e95bb1f1c3c4ae823 100644
--- a/tests/vhost-user-bridge.c
+++ b/tests/vhost-user-bridge.c
@@ -746,14 +746,12 @@ vubr_run(VubrDev *dev)
static int
vubr_parse_host_port(const char **host, const char **port, const char *buf)
{
- char *p = strchr(buf, ':');
-
- if (!p) {
+ g_auto(GStrv) tokens = g_strsplit(buf, ":", 2);
+ if (!tokens[0] || !tokens[1]) {
return -1;
}
- *p = '\0';
- *host = strdup(buf);
- *port = strdup(p + 1);
+ *host = g_steal_pointer(&tokens[0]);
+ *port = g_steal_pointer(&tokens[1]);
return 0;
}
--
2.52.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] tests/vhost-user-bridge.c: Fix const qualifier build errors with recent glibc
2025-12-10 18:13 ` [PATCH 2/2] tests/vhost-user-bridge.c: " Cédric Le Goater
@ 2025-12-10 18:14 ` Cédric Le Goater
2025-12-11 7:55 ` Cédric Le Goater
0 siblings, 1 reply; 7+ messages in thread
From: Cédric Le Goater @ 2025-12-10 18:14 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Peter Maydell, Paolo Bonzini,
Richard Henderson
On 12/10/25 19:13, Cédric Le Goater wrote:
> A recent change in glibc 2.42.9000 [1] changes the return type of
> strstr() and other string functions to be 'const char *' when the
> input is a 'const char *'. This breaks the build in :
>
> ../tests/vhost-user-bridge.c: In function ‘vubr_parse_host_port’:
> ../tests/vhost-user-bridge.c:749:15: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> 749 | char *p = strchr(buf, ':');
> | ^~~~~~
>
> Fix this by using the glib g_strsplit() routine instead of strdup().
>
> [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=cd748a63ab1a7ae846175c532a3daab341c62690
>
> Suggested-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
> tests/vhost-user-bridge.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
I should have added 'Not Tested' !
Thanks,
C.
> diff --git a/tests/vhost-user-bridge.c b/tests/vhost-user-bridge.c
> index a5c711b1de8e9c164dd1614f4329b8e3c05d0402..ce4c3426d3938a0b54195f3e95bb1f1c3c4ae823 100644
> --- a/tests/vhost-user-bridge.c
> +++ b/tests/vhost-user-bridge.c
> @@ -746,14 +746,12 @@ vubr_run(VubrDev *dev)
> static int
> vubr_parse_host_port(const char **host, const char **port, const char *buf)
> {
> - char *p = strchr(buf, ':');
> -
> - if (!p) {
> + g_auto(GStrv) tokens = g_strsplit(buf, ":", 2);
> + if (!tokens[0] || !tokens[1]) {
> return -1;
> }
> - *p = '\0';
> - *host = strdup(buf);
> - *port = strdup(p + 1);
> + *host = g_steal_pointer(&tokens[0]);
> + *port = g_steal_pointer(&tokens[1]);
> return 0;
> }
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] i386: Fix const qualifier build errors with recent glibc
2025-12-10 18:13 ` [PATCH 1/2] i386: " Cédric Le Goater
@ 2025-12-10 18:39 ` Peter Maydell
2025-12-11 15:16 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 7+ messages in thread
From: Peter Maydell @ 2025-12-10 18:39 UTC (permalink / raw)
To: Cédric Le Goater
Cc: qemu-devel, Philippe Mathieu-Daudé, Paolo Bonzini,
Richard Henderson
On Wed, 10 Dec 2025 at 18:13, Cédric Le Goater <clg@redhat.com> wrote:
>
> A recent change in glibc 2.42.9000 [1] changes the return type of
> strstr() and other string functions to be 'const char *' when the
> input is a 'const char *'. This breaks the build in :
>
> ../hw/i386/x86-common.c:827:11: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> 827 | vmode = strstr(kernel_cmdline, "vga=");
> | ^
>
> Fix this by changing the type of the variables that store the result
> of these functions to 'const char *'.
>
> [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=cd748a63ab1a7ae846175c532a3daab341c62690
>
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
> hw/i386/x86-common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/i386/x86-common.c b/hw/i386/x86-common.c
> index c844749900a30c9c9c284c529e93c84c9457b128..f77e2e63046ff56d079363e411a9ee0eca365291 100644
> --- a/hw/i386/x86-common.c
> +++ b/hw/i386/x86-common.c
> @@ -654,7 +654,7 @@ void x86_load_linux(X86MachineState *x86ms,
> uint8_t header[8192], *setup, *kernel;
> hwaddr real_addr, prot_addr, cmdline_addr, initrd_addr = 0;
> FILE *f;
> - char *vmode;
> + const char *vmode;
> MachineState *machine = MACHINE(x86ms);
> struct setup_data *setup_data;
> const char *kernel_filename = machine->kernel_filename;
> --
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] tests/vhost-user-bridge.c: Fix const qualifier build errors with recent glibc
2025-12-10 18:14 ` Cédric Le Goater
@ 2025-12-11 7:55 ` Cédric Le Goater
0 siblings, 0 replies; 7+ messages in thread
From: Cédric Le Goater @ 2025-12-11 7:55 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Peter Maydell, Paolo Bonzini,
Richard Henderson
On 12/10/25 19:14, Cédric Le Goater wrote:
> On 12/10/25 19:13, Cédric Le Goater wrote:
>> A recent change in glibc 2.42.9000 [1] changes the return type of
>> strstr() and other string functions to be 'const char *' when the
>> input is a 'const char *'. This breaks the build in :
>>
>> ../tests/vhost-user-bridge.c: In function ‘vubr_parse_host_port’:
>> ../tests/vhost-user-bridge.c:749:15: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
>> 749 | char *p = strchr(buf, ':');
>> | ^~~~~~
>>
>> Fix this by using the glib g_strsplit() routine instead of strdup().
>>
>> [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=cd748a63ab1a7ae846175c532a3daab341c62690
>>
>> Suggested-by: Peter Maydell <peter.maydell@linaro.org>
>> Signed-off-by: Cédric Le Goater <clg@redhat.com>
>> ---
>> tests/vhost-user-bridge.c | 10 ++++------
>> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> I should have added 'Not Tested' !
It seems to be going well:
$ build/tests/vhost-user-bridge -l 127.0.0.1:1234 -r 127.0.0.1:4321
ud socket: /tmp/vubr.sock (server)
local: 127.0.0.1:1234
remote: 127.0.0.1:4321
Waiting for connections on UNIX socket /tmp/vubr.sock ...
Added sock 3 for watching. max_sock: 3
Added sock 4 for watching. max_sock: 4
Waiting for data from udp backend on 127.0.0.1:1234...
C.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] i386: Fix const qualifier build errors with recent glibc
2025-12-10 18:13 ` [PATCH 1/2] i386: " Cédric Le Goater
2025-12-10 18:39 ` Peter Maydell
@ 2025-12-11 15:16 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-12-11 15:16 UTC (permalink / raw)
To: Cédric Le Goater, qemu-devel
Cc: Peter Maydell, Paolo Bonzini, Richard Henderson
On 10/12/25 19:13, Cédric Le Goater wrote:
> A recent change in glibc 2.42.9000 [1] changes the return type of
> strstr() and other string functions to be 'const char *' when the
> input is a 'const char *'. This breaks the build in :
>
> ../hw/i386/x86-common.c:827:11: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> 827 | vmode = strstr(kernel_cmdline, "vga=");
> | ^
>
> Fix this by changing the type of the variables that store the result
> of these functions to 'const char *'.
>
> [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=cd748a63ab1a7ae846175c532a3daab341c62690
>
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
> hw/i386/x86-common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-12-11 15:16 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-10 18:13 [PATCH 0/2] Fix const qualifier build errors with recent glibc Cédric Le Goater
2025-12-10 18:13 ` [PATCH 1/2] i386: " Cédric Le Goater
2025-12-10 18:39 ` Peter Maydell
2025-12-11 15:16 ` Philippe Mathieu-Daudé
2025-12-10 18:13 ` [PATCH 2/2] tests/vhost-user-bridge.c: " Cédric Le Goater
2025-12-10 18:14 ` Cédric Le Goater
2025-12-11 7:55 ` Cédric Le Goater
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).