* [PATCH v3] libxl: constify some local variables for building with glibc 2.43
@ 2026-02-20 12:12 Marek Marczykowski-Górecki
2026-02-20 14:06 ` Jan Beulich
2026-02-25 14:43 ` Anthony PERARD
0 siblings, 2 replies; 4+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-02-20 12:12 UTC (permalink / raw)
To: xen-devel; +Cc: Marek Marczykowski-Górecki, Anthony PERARD, Juergen Gross
Archlinux just updated glibc to 2.43+r5+g856c426a7534-1 and that
causes libxl build failure:
libxl_cpuid.c: In function ‘libxl_cpuid_parse_config_xend’:
libxl_cpuid.c:447:16: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
447 | endptr = strchr(str, '=');
| ^
libxl_cpuid.c:452:16: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
452 | endptr = strchr(str, ',');
| ^
libxl_cpuid.c:454:20: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
454 | endptr = strchr(str, 0);
| ^
cc1: all warnings being treated as errors
Add missing consts. Note in libxl_cpuid_parse_config_xend() non-const
endptr still is needed, to be compatible with the second argument to
strtoul(). Add second variable for this reason.
And while at it, move semicolon to its own line
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v3:
- go back to adding consts, as it wasn't about GCC after all
- reduce variable scope, move semicolon
Changes in v2:
- revert to old standard (specify it explicitly now), instead of
adjusting the code to the new standard - this way is more
backport-friendly
---
tools/libs/light/libxl_cpuid.c | 21 ++++++++++++---------
tools/libs/light/libxl_internal.c | 2 +-
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index 8420b2465f39..14f08df33a14 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -440,29 +440,32 @@ int libxl_cpuid_parse_config_xend(libxl_cpuid_policy_list *policy,
str = endptr + 1;
entry = cpuid_find_match(policy, leaf, subleaf);
for (str = endptr + 1; *str != 0;) {
+ const char *endptrc;
+
if (str[0] != 'e' || str[2] != 'x') {
return 4;
}
value = str[1] - 'a';
- endptr = strchr(str, '=');
- if (value > 3 || endptr == NULL) {
+ endptrc = strchr(str, '=');
+ if (value > 3 || endptrc == NULL) {
return 4;
}
- str = endptr + 1;
- endptr = strchr(str, ',');
- if (endptr == NULL) {
- endptr = strchr(str, 0);
+ str = endptrc + 1;
+ endptrc = strchr(str, ',');
+ if (endptrc == NULL) {
+ endptrc = strchr(str, 0);
}
- if (endptr - str != 32) {
+ if (endptrc - str != 32) {
return 5;
}
entry->policy[value] = calloc(32 + 1, 1);
strncpy(entry->policy[value], str, 32);
entry->policy[value][32] = 0;
- if (*endptr == 0) {
+ if (*endptrc == 0) {
break;
}
- for (str = endptr + 1; *str == ' ' || *str == '\n'; str++);
+ for (str = endptrc + 1; *str == ' ' || *str == '\n'; str++)
+ ;
}
return 0;
}
diff --git a/tools/libs/light/libxl_internal.c b/tools/libs/light/libxl_internal.c
index 2941ca0bbd0e..d70cfed7d88f 100644
--- a/tools/libs/light/libxl_internal.c
+++ b/tools/libs/light/libxl_internal.c
@@ -204,7 +204,7 @@ char *libxl__strndup(libxl__gc *gc, const char *c, size_t n)
char *libxl__dirname(libxl__gc *gc, const char *s)
{
- char *c = strrchr(s, '/');
+ const char *c = strrchr(s, '/');
if (!c)
return NULL;
--
2.52.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v3] libxl: constify some local variables for building with glibc 2.43
2026-02-20 12:12 [PATCH v3] libxl: constify some local variables for building with glibc 2.43 Marek Marczykowski-Górecki
@ 2026-02-20 14:06 ` Jan Beulich
2026-02-20 14:13 ` Marek Marczykowski-Górecki
2026-02-25 14:43 ` Anthony PERARD
1 sibling, 1 reply; 4+ messages in thread
From: Jan Beulich @ 2026-02-20 14:06 UTC (permalink / raw)
To: Marek Marczykowski-Górecki; +Cc: Anthony PERARD, Juergen Gross, xen-devel
On 20.02.2026 13:12, Marek Marczykowski-Górecki wrote:
> Archlinux just updated glibc to 2.43+r5+g856c426a7534-1 and that
> causes libxl build failure:
>
> libxl_cpuid.c: In function ‘libxl_cpuid_parse_config_xend’:
> libxl_cpuid.c:447:16: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> 447 | endptr = strchr(str, '=');
> | ^
> libxl_cpuid.c:452:16: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> 452 | endptr = strchr(str, ',');
> | ^
> libxl_cpuid.c:454:20: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> 454 | endptr = strchr(str, 0);
> | ^
> cc1: all warnings being treated as errors
>
> Add missing consts. Note in libxl_cpuid_parse_config_xend() non-const
> endptr still is needed, to be compatible with the second argument to
> strtoul(). Add second variable for this reason.
>
> And while at it, move semicolon to its own line
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
I'd like to note though that this can't be all that's needed for tools/ to
build fine in such an environment. xenstored/core.c has two problematic uses
of strrchr(), for example.
Jan
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3] libxl: constify some local variables for building with glibc 2.43
2026-02-20 14:06 ` Jan Beulich
@ 2026-02-20 14:13 ` Marek Marczykowski-Górecki
0 siblings, 0 replies; 4+ messages in thread
From: Marek Marczykowski-Górecki @ 2026-02-20 14:13 UTC (permalink / raw)
To: Jan Beulich; +Cc: Anthony PERARD, Juergen Gross, xen-devel
[-- Attachment #1: Type: text/plain, Size: 1742 bytes --]
On Fri, Feb 20, 2026 at 03:06:56PM +0100, Jan Beulich wrote:
> On 20.02.2026 13:12, Marek Marczykowski-Górecki wrote:
> > Archlinux just updated glibc to 2.43+r5+g856c426a7534-1 and that
> > causes libxl build failure:
> >
> > libxl_cpuid.c: In function ‘libxl_cpuid_parse_config_xend’:
> > libxl_cpuid.c:447:16: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> > 447 | endptr = strchr(str, '=');
> > | ^
> > libxl_cpuid.c:452:16: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> > 452 | endptr = strchr(str, ',');
> > | ^
> > libxl_cpuid.c:454:20: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> > 454 | endptr = strchr(str, 0);
> > | ^
> > cc1: all warnings being treated as errors
> >
> > Add missing consts. Note in libxl_cpuid_parse_config_xend() non-const
> > endptr still is needed, to be compatible with the second argument to
> > strtoul(). Add second variable for this reason.
> >
> > And while at it, move semicolon to its own line
> >
> > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
> I'd like to note though that this can't be all that's needed for tools/ to
> build fine in such an environment. xenstored/core.c has two problematic uses
> of strrchr(), for example.
Hm, it builds fine for me, not sure why.
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3] libxl: constify some local variables for building with glibc 2.43
2026-02-20 12:12 [PATCH v3] libxl: constify some local variables for building with glibc 2.43 Marek Marczykowski-Górecki
2026-02-20 14:06 ` Jan Beulich
@ 2026-02-25 14:43 ` Anthony PERARD
1 sibling, 0 replies; 4+ messages in thread
From: Anthony PERARD @ 2026-02-25 14:43 UTC (permalink / raw)
To: Marek Marczykowski-Górecki; +Cc: xen-devel, Juergen Gross
On Fri, Feb 20, 2026 at 01:12:00PM +0100, Marek Marczykowski-Górecki wrote:
> Archlinux just updated glibc to 2.43+r5+g856c426a7534-1 and that
> causes libxl build failure:
>
> libxl_cpuid.c: In function ‘libxl_cpuid_parse_config_xend’:
> libxl_cpuid.c:447:16: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> 447 | endptr = strchr(str, '=');
> | ^
> libxl_cpuid.c:452:16: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> 452 | endptr = strchr(str, ',');
> | ^
> libxl_cpuid.c:454:20: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> 454 | endptr = strchr(str, 0);
> | ^
> cc1: all warnings being treated as errors
>
> Add missing consts. Note in libxl_cpuid_parse_config_xend() non-const
> endptr still is needed, to be compatible with the second argument to
> strtoul(). Add second variable for this reason.
>
> And while at it, move semicolon to its own line
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Anthony PERARD <anthony.perard@vates.tech>
Thanks,
--
Anthony Perard | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-02-25 14:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-20 12:12 [PATCH v3] libxl: constify some local variables for building with glibc 2.43 Marek Marczykowski-Górecki
2026-02-20 14:06 ` Jan Beulich
2026-02-20 14:13 ` Marek Marczykowski-Górecki
2026-02-25 14:43 ` Anthony PERARD
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.