* [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43
@ 2026-04-09 15:28 martin.jansa
2026-04-09 15:28 ` [whinlatter][PATCH 2/9] pseudo: Add fix for glibc 2.43 martin.jansa
` (8 more replies)
0 siblings, 9 replies; 19+ messages in thread
From: martin.jansa @ 2026-04-09 15:28 UTC (permalink / raw)
To: openembedded-core; +Cc: Martin Jansa, Mathieu Dubois-Briand, Richard Purdie
From: Martin Jansa <martin.jansa@gmail.com>
glibc-2.43 isn't used in OE builds yet, but this fixes dtc-native:
https://errors.yoctoproject.org/Errors/Details/903983/
../sources/dtc-1.7.2/libfdt/fdt_overlay.c: In function ‘overlay_fixup_phandle’:
../sources/dtc-1.7.2/libfdt/fdt_overlay.c:424:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
424 | sep = memchr(fixup_str, ':', fixup_len);
| ^
../sources/dtc-1.7.2/libfdt/fdt_overlay.c:434:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
434 | sep = memchr(name, ':', fixup_len);
| ^
cc1: all warnings being treated as errors
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
.../0001-Fix-discarded-const-qualifiers.patch | 83 +++++++++++++++++++
meta/recipes-kernel/dtc/dtc_1.7.2.bb | 1 +
2 files changed, 84 insertions(+)
create mode 100644 meta/recipes-kernel/dtc/dtc/0001-Fix-discarded-const-qualifiers.patch
diff --git a/meta/recipes-kernel/dtc/dtc/0001-Fix-discarded-const-qualifiers.patch b/meta/recipes-kernel/dtc/dtc/0001-Fix-discarded-const-qualifiers.patch
new file mode 100644
index 0000000000..053a94f0bf
--- /dev/null
+++ b/meta/recipes-kernel/dtc/dtc/0001-Fix-discarded-const-qualifiers.patch
@@ -0,0 +1,83 @@
+From c58beee7bec0774f12202511c97beb741ff2b534 Mon Sep 17 00:00:00 2001
+From: Stephen Gallagher <sgallagh@redhat.com>
+Date: Tue, 6 Jan 2026 14:19:30 -0500
+Subject: [PATCH] Fix discarded const qualifiers
+
+It's unsafe to implicitly discard the const qualifier on a pointer. In
+overlay_fixup_phandle(), this was probably just an oversight, and making
+the "sep" variable a const char * is sufficient to fix it.
+
+In create_node(), however, the "p" variable is directly modifying the
+buffer pointed to by "const char* node_name". To fix this, we need to
+actually make a duplicate of the buffer and operate on that instead.
+
+This introduces a malloc()/free() and an unbounded strdup() into the
+operation, but fdtput isn't a long-running service and the node_name
+argument comes directly from argv, so this shouldn't introduce a
+significant performance impact.
+
+Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
+Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/libfdt/fdt_overlay.c?h=main&id=9a1c801a1a3c102bf95c5339c9e985b26b823a21]
+---
+ fdtput.c | 8 +++++---
+ libfdt/fdt_overlay.c | 3 ++-
+ meson.build | 1 +
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/fdtput.c b/fdtput.c
+index c2fecf4..8deec7e 100644
+--- a/fdtput.c
++++ b/fdtput.c
+@@ -230,19 +230,21 @@ static int create_paths(char **blob, const char *in_path)
+ static int create_node(char **blob, const char *node_name)
+ {
+ int node = 0;
+- char *p;
++ const char *p;
++ char *path = NULL;
+
+ p = strrchr(node_name, '/');
+ if (!p) {
+ report_error(node_name, -1, -FDT_ERR_BADPATH);
+ return -1;
+ }
+- *p = '\0';
+
+ *blob = realloc_node(*blob, p + 1);
+
+ if (p > node_name) {
+- node = fdt_path_offset(*blob, node_name);
++ path = xstrndup(node_name, (size_t)(p - node_name));
++ node = fdt_path_offset(*blob, path);
++ free(path);
+ if (node < 0) {
+ report_error(node_name, -1, node);
+ return -1;
+diff --git a/libfdt/fdt_overlay.c b/libfdt/fdt_overlay.c
+index 28b667f..5f8aa62 100644
+--- a/libfdt/fdt_overlay.c
++++ b/libfdt/fdt_overlay.c
+@@ -409,7 +409,8 @@ static int overlay_fixup_phandle(void *fdt, void *fdto, int symbols_off,
+ const char *fixup_str = value;
+ uint32_t path_len, name_len;
+ uint32_t fixup_len;
+- char *sep, *endptr;
++ const char *sep;
++ char *endptr;
+ int poffset, ret;
+
+ fixup_end = memchr(value, '\0', len);
+diff --git a/meson.build b/meson.build
+index 310699f..2966b06 100644
+--- a/meson.build
++++ b/meson.build
+@@ -18,6 +18,7 @@ add_project_arguments(
+ '-Wshadow',
+ '-Wsuggest-attribute=format',
+ '-Wwrite-strings',
++ '-Wdiscarded-qualifiers',
+ ]),
+ language: 'c'
+ )
diff --git a/meta/recipes-kernel/dtc/dtc_1.7.2.bb b/meta/recipes-kernel/dtc/dtc_1.7.2.bb
index 92e83a9404..b8b79542c5 100644
--- a/meta/recipes-kernel/dtc/dtc_1.7.2.bb
+++ b/meta/recipes-kernel/dtc/dtc_1.7.2.bb
@@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
SRC_URI = " \
git://git.kernel.org/pub/scm/utils/dtc/dtc.git;branch=main;protocol=https \
+ file://0001-Fix-discarded-const-qualifiers.patch \
"
SRCREV = "2d10aa2afe35527728db30b35ec491ecb6959e5c"
^ permalink raw reply related [flat|nested] 19+ messages in thread* [whinlatter][PATCH 2/9] pseudo: Add fix for glibc 2.43 2026-04-09 15:28 [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 martin.jansa @ 2026-04-09 15:28 ` martin.jansa 2026-04-09 15:28 ` [whinlatter][PATCH 3/9] yocto-uninative: Update to 5.1 " martin.jansa ` (7 subsequent siblings) 8 siblings, 0 replies; 19+ messages in thread From: martin.jansa @ 2026-04-09 15:28 UTC (permalink / raw) To: openembedded-core; +Cc: Richard Purdie From: Richard Purdie <richard.purdie@linuxfoundation.org> Update to add a fix for a function definition to work with glibc 2.43. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- meta/recipes-devtools/pseudo/pseudo_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb index a26a205a16..4d31629903 100644 --- a/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -12,7 +12,7 @@ SRC_URI:append:class-nativesdk = " \ file://older-glibc-symbols.patch" SRC_URI[prebuilt.sha256sum] = "ed9f456856e9d86359f169f46a70ad7be4190d6040282b84c8d97b99072485aa" -SRCREV = "43cbd8fb4914328094ccdb4bb827d74b1bac2046" +SRCREV = "56e1f8df4761da60e41812fc32b1de797d1765e9" PV = "1.9.3+git" # largefile and 64bit time_t support adds these macros via compiler flags globally ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [whinlatter][PATCH 3/9] yocto-uninative: Update to 5.1 for glibc 2.43 2026-04-09 15:28 [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 martin.jansa 2026-04-09 15:28 ` [whinlatter][PATCH 2/9] pseudo: Add fix for glibc 2.43 martin.jansa @ 2026-04-09 15:28 ` martin.jansa 2026-04-09 15:28 ` [whinlatter][PATCH 4/9] m4: backport 3 gnulib changes to fix build with glibc-2.43 on host martin.jansa ` (6 subsequent siblings) 8 siblings, 0 replies; 19+ messages in thread From: martin.jansa @ 2026-04-09 15:28 UTC (permalink / raw) To: openembedded-core; +Cc: Michael Halstead, Richard Purdie From: Michael Halstead <mhalstead@linuxfoundation.org> yocto-uninative: Update to 5.1 for glibc 2.43 Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- meta/conf/distro/include/yocto-uninative.inc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/meta/conf/distro/include/yocto-uninative.inc b/meta/conf/distro/include/yocto-uninative.inc index e9dc6c8640..d97c96f631 100644 --- a/meta/conf/distro/include/yocto-uninative.inc +++ b/meta/conf/distro/include/yocto-uninative.inc @@ -6,10 +6,10 @@ # to the distro running on the build machine. # -UNINATIVE_MAXGLIBCVERSION = "2.42" -UNINATIVE_VERSION = "5.0" +UNINATIVE_MAXGLIBCVERSION = "2.43" +UNINATIVE_VERSION = "5.1" UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/" -UNINATIVE_CHECKSUM[aarch64] ?= "a25f2174d0cefcb22af005e9bc72ac01ae83b011c5b6d6d5bf00dac979877f76" -UNINATIVE_CHECKSUM[i686] ?= "959cc2539b692f9b9862825c7324a0fe4d061fca742f6c259f67f581c59af956" -UNINATIVE_CHECKSUM[x86_64] ?= "96045e8b1e242c8a849426a8506c7043f354b39f2bc0035192780e8205e23e9d" +UNINATIVE_CHECKSUM[aarch64] ?= "4166237a9dabd222dcb9627a9435dffd756764fabf76ed7ef2e93dc2964567ad" +UNINATIVE_CHECKSUM[i686] ?= "761502cc9aef4d54d0c6fe9418beb9fdd2c6220da6f2b04128c89f47902ab9ae" +UNINATIVE_CHECKSUM[x86_64] ?= "2b63a078c26535e0786e87f81ae69509df30f4dce40693004c527bd5e4ab2b85" ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [whinlatter][PATCH 4/9] m4: backport 3 gnulib changes to fix build with glibc-2.43 on host 2026-04-09 15:28 [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 martin.jansa 2026-04-09 15:28 ` [whinlatter][PATCH 2/9] pseudo: Add fix for glibc 2.43 martin.jansa 2026-04-09 15:28 ` [whinlatter][PATCH 3/9] yocto-uninative: Update to 5.1 " martin.jansa @ 2026-04-09 15:28 ` martin.jansa 2026-04-09 15:28 ` [whinlatter][PATCH 5/9] gettext: backport " martin.jansa ` (5 subsequent siblings) 8 siblings, 0 replies; 19+ messages in thread From: martin.jansa @ 2026-04-09 15:28 UTC (permalink / raw) To: openembedded-core; +Cc: Martin Jansa From: Martin Jansa <martin.jansa@gmail.com> All 3 are already included in m4-1.4.21 used in master. Signed-off-by: Martin Jansa <martin.jansa@gmail.com> --- meta/recipes-devtools/m4/m4-1.4.20.inc | 3 + ...-Fix-some-g-Wsystem-headers-warnings.patch | 135 ++++++++++++ ...pilation-error-on-macOS-with-fortify.patch | 126 ++++++++++++ ...23-qualifier-generic-fns-like-strchr.patch | 194 ++++++++++++++++++ 4 files changed, 458 insertions(+) create mode 100644 meta/recipes-devtools/m4/m4/0001-string-h-wchar-h-Fix-some-g-Wsystem-headers-warnings.patch create mode 100644 meta/recipes-devtools/m4/m4/0002-string-h-Fix-compilation-error-on-macOS-with-fortify.patch create mode 100644 meta/recipes-devtools/m4/m4/0003-Port-to-C23-qualifier-generic-fns-like-strchr.patch diff --git a/meta/recipes-devtools/m4/m4-1.4.20.inc b/meta/recipes-devtools/m4/m4-1.4.20.inc index 5c4ba09288..df47e1e188 100644 --- a/meta/recipes-devtools/m4/m4-1.4.20.inc +++ b/meta/recipes-devtools/m4/m4-1.4.20.inc @@ -8,6 +8,9 @@ inherit autotools texinfo ptest gettext SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \ file://0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch \ + file://0001-string-h-wchar-h-Fix-some-g-Wsystem-headers-warnings.patch \ + file://0002-string-h-Fix-compilation-error-on-macOS-with-fortify.patch \ + file://0003-Port-to-C23-qualifier-generic-fns-like-strchr.patch \ " SRC_URI:append:class-target = " file://run-ptest \ file://0001-test-c32ispunct-Check-for-musl-along-with-glibc.patch \ diff --git a/meta/recipes-devtools/m4/m4/0001-string-h-wchar-h-Fix-some-g-Wsystem-headers-warnings.patch b/meta/recipes-devtools/m4/m4/0001-string-h-wchar-h-Fix-some-g-Wsystem-headers-warnings.patch new file mode 100644 index 0000000000..63495a8443 --- /dev/null +++ b/meta/recipes-devtools/m4/m4/0001-string-h-wchar-h-Fix-some-g-Wsystem-headers-warnings.patch @@ -0,0 +1,135 @@ +From a9ff1a1ea55bee12751c751460a0102493fa65aa Mon Sep 17 00:00:00 2001 +From: Bruno Haible <bruno@clisp.org> +Date: Mon, 12 May 2025 03:05:51 +0200 +Subject: [PATCH] string-h, wchar-h: Fix some g++ -Wsystem-headers warnings. + +* lib/string.in.h (memcpy, memccpy, memmove, strncpy, strndup, strncat, +memcmp, strncmp, memset): On glibc systems, declare with +_GL_ATTRIBUTE_NOTHROW. +* lib/wchar.in.h (wmemcpy, wmemmove, wcsncpy, wcsncat, wmemcmp, wcsncmp, +wmemset): Likewise. + +Upstream-Status: Backport [https://cgit.git.savannah.gnu.org/cgit/gnulib.git/commit/?id=0614c2db34f65c595d85be4adc5628778905855a] +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + lib/string.in.h | 27 +++++++++++++++++++++++++++ + lib/wchar.in.h | 21 +++++++++++++++++++++ + 2 files changed, 48 insertions(+) + +diff --git a/lib/string.in.h b/lib/string.in.h +index e764221..e3d94b7 100644 +--- a/lib/string.in.h ++++ b/lib/string.in.h +@@ -215,25 +215,49 @@ _GL_EXTERN_C void free (void *); + /* Declarations for ISO C N3322. */ + #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__ + _GL_EXTERN_C void *memcpy (void *__dest, const void *__src, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + _GL_EXTERN_C void *memccpy (void *__dest, const void *__src, int __c, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 4) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 4); + _GL_EXTERN_C void *memmove (void *__dest, const void *__src, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + _GL_EXTERN_C char *strncpy (char *__dest, const char *__src, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + _GL_EXTERN_C char *strndup (const char *__s, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 2); + _GL_EXTERN_C char *strncat (char *__dest, const char *__src, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + _GL_EXTERN_C int memcmp (const void *__s1, const void *__s2, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + _GL_EXTERN_C int strncmp (const char *__s1, const char *__s2, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + # ifndef __cplusplus +@@ -243,6 +267,9 @@ _GL_EXTERN_C void *memrchr (const void *__s, int __c, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + # endif + _GL_EXTERN_C void *memset (void *__s, int __c, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + _GL_EXTERN_C void *memset_explicit (void *__s, int __c, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); +diff --git a/lib/wchar.in.h b/lib/wchar.in.h +index 8836ed1..a6c52eb 100644 +--- a/lib/wchar.in.h ++++ b/lib/wchar.in.h +@@ -281,20 +281,38 @@ _GL_EXTERN_C void free (void *); + /* Declarations for ISO C N3322. */ + #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__ + _GL_EXTERN_C wchar_t *wmemcpy (wchar_t *__dest, const wchar_t *__src, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + _GL_EXTERN_C wchar_t *wmemmove (wchar_t *__dest, const wchar_t *__src, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + _GL_EXTERN_C wchar_t *wcsncpy (wchar_t *__dest, const wchar_t *__src, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + _GL_EXTERN_C wchar_t *wcsncat (wchar_t *__dest, const wchar_t *__src, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + _GL_EXTERN_C int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + _GL_EXTERN_C int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + # ifndef __cplusplus +@@ -302,6 +320,9 @@ _GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + # endif + _GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n) ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++ _GL_ATTRIBUTE_NOTHROW ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + #endif + diff --git a/meta/recipes-devtools/m4/m4/0002-string-h-Fix-compilation-error-on-macOS-with-fortify.patch b/meta/recipes-devtools/m4/m4/0002-string-h-Fix-compilation-error-on-macOS-with-fortify.patch new file mode 100644 index 0000000000..ef7117997b --- /dev/null +++ b/meta/recipes-devtools/m4/m4/0002-string-h-Fix-compilation-error-on-macOS-with-fortify.patch @@ -0,0 +1,126 @@ +From 84b6bcb2c691796d87b47bfcf815409ca2b9e461 Mon Sep 17 00:00:00 2001 +From: Bruno Haible <bruno@clisp.org> +Date: Thu, 10 Jul 2025 11:04:50 +0200 +Subject: [PATCH] string-h: Fix compilation error on macOS with fortify. + +Reported by Pierre Ossman <ossman@cendio.se> at +<https://savannah.gnu.org/bugs/?67300>. + +* lib/string.in.h (memcpy etc.): Don't redeclare functions that are +declared as macros. + +Upstream-Status: Backport [https://cgit.git.savannah.gnu.org/cgit/gnulib.git/commit/?id=c44fe03b72687c9e913727724c29bdb49c1f86e3] +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + lib/string.in.h | 58 +++++++++++++++++++++++++++++++++---------------- + 1 file changed, 39 insertions(+), 19 deletions(-) + +diff --git a/lib/string.in.h b/lib/string.in.h +index e3d94b7..9a039c7 100644 +--- a/lib/string.in.h ++++ b/lib/string.in.h +@@ -214,65 +214,85 @@ _GL_EXTERN_C void free (void *); + + /* Declarations for ISO C N3322. */ + #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__ ++# ifndef memcpy + _GL_EXTERN_C void *memcpy (void *__dest, const void *__src, size_t __n) +-# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 + _GL_ATTRIBUTE_NOTHROW +-# endif ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); ++# endif ++# ifndef memccpy + _GL_EXTERN_C void *memccpy (void *__dest, const void *__src, int __c, size_t __n) +-# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 + _GL_ATTRIBUTE_NOTHROW +-# endif ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 4) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 4); ++# endif ++# ifndef memmove + _GL_EXTERN_C void *memmove (void *__dest, const void *__src, size_t __n) +-# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 + _GL_ATTRIBUTE_NOTHROW +-# endif ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); ++# endif ++# ifndef strncpy + _GL_EXTERN_C char *strncpy (char *__dest, const char *__src, size_t __n) +-# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 + _GL_ATTRIBUTE_NOTHROW +-# endif ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); ++# endif ++# ifndef strndup + _GL_EXTERN_C char *strndup (const char *__s, size_t __n) +-# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 + _GL_ATTRIBUTE_NOTHROW +-# endif ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 2); ++# endif ++# ifndef strncat + _GL_EXTERN_C char *strncat (char *__dest, const char *__src, size_t __n) +-# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 + _GL_ATTRIBUTE_NOTHROW +-# endif ++# endif + _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); ++# endif ++# ifndef memcmp + _GL_EXTERN_C int memcmp (const void *__s1, const void *__s2, size_t __n) +-# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 + _GL_ATTRIBUTE_NOTHROW +-# endif ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); ++# endif ++# ifndef strncmp + _GL_EXTERN_C int strncmp (const char *__s1, const char *__s2, size_t __n) +-# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 + _GL_ATTRIBUTE_NOTHROW +-# endif ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); +-# ifndef __cplusplus ++# endif ++# if !defined memchr && !defined __cplusplus + _GL_EXTERN_C void *memchr (const void *__s, int __c, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + _GL_EXTERN_C void *memrchr (const void *__s, int __c, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + # endif ++# ifndef memset + _GL_EXTERN_C void *memset (void *__s, int __c, size_t __n) +-# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 ++# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 + _GL_ATTRIBUTE_NOTHROW +-# endif ++# endif + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); ++# endif ++# ifndef memset_explicit + _GL_EXTERN_C void *memset_explicit (void *__s, int __c, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); ++# endif + #endif + + diff --git a/meta/recipes-devtools/m4/m4/0003-Port-to-C23-qualifier-generic-fns-like-strchr.patch b/meta/recipes-devtools/m4/m4/0003-Port-to-C23-qualifier-generic-fns-like-strchr.patch new file mode 100644 index 0000000000..7d88e45fa5 --- /dev/null +++ b/meta/recipes-devtools/m4/m4/0003-Port-to-C23-qualifier-generic-fns-like-strchr.patch @@ -0,0 +1,194 @@ +From 100cbc40da39dcdf259ebce2bd0f2b4889cf2204 Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Sun, 23 Nov 2025 00:50:40 -0800 +Subject: [PATCH] Port to C23 qualifier-generic fns like strchr +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This ports Gnulib to strict C23 platforms that reject code +like ‘char *q = strchr (P, 'x');’ when P is a pointer to const, +because in C23 strchr is a qualifier-generic function so +strchr (P, 'x') returns char const *. +This patch does not attempt to do the following two things, +which might be useful in the future: +1. When compiling on non-C23 platforms, check user code for +portability to platforms that define qualifier-generic functions. +2. Port Gnulib to platforms that have qualifier-generic functions +not listed in the C23 standard, e.g., strchrnul. I don’t know +of any such platforms. +* lib/argp-help.c (argp_doc): +* lib/c-strstr.c (c_strstr): +* lib/dfa.c (comsubs): +* lib/mbschr.c (mbschr): +* lib/mbspbrk.c (mbspbrk): +* lib/mbsrchr.c (mbsrchr): +* lib/memchr2.c (memchr2): +* lib/string-desc.c (_sd_index): +* tests/test-bsearch.c (lib_bsearch): +* tests/test-memchr.c (lib_memchr): +* tests/test-wmemchr.c (lib_wmemchr): +Port to C23, where functions like strchr are qualifier-generic. +* lib/c++defs.h (_GL_FUNCDECL_SYS_NAME): New macro. +* lib/c++defs.h (_GL_FUNCDECL_SYS): +* lib/stdlib.in.h (bsearch): +Use it, to prevent C23 names like strchr from acting like macros. +* lib/string.in.h (memchr, strchr, strpbrk, strrchr): +Do not #undef when GNULIB_POSIXCHECK is defined, as this could +cause conforming C23 code to fail to conform. It’s not clear why +_GL_WARN_ON_USE_CXX; perhaps it was needed but isn’t any more? +But for now, limit the removal of #undef to these four functions +where #undeffing is clearly undesirable in C23. +* lib/wchar.in.h (wmemchr): Parenthesize function name in decl, +to prevent it from acting like a macro. + +Upstream-Status: Backport [https://cgit.git.savannah.gnu.org/cgit/gnulib.git/commit/?id=df17f4f37ed3ca373d23ad42eae51122bdb96626] +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + lib/c++defs.h | 12 +++++++++++- + lib/memchr2.c | 2 +- + lib/stdlib.in.h | 6 +++--- + lib/string.in.h | 4 ---- + lib/wchar.in.h | 2 +- + tests/c++defs.h | 12 +++++++++++- + 6 files changed, 27 insertions(+), 11 deletions(-) + +diff --git a/lib/c++defs.h b/lib/c++defs.h +index df98a5a..d3dfabd 100644 +--- a/lib/c++defs.h ++++ b/lib/c++defs.h +@@ -127,6 +127,16 @@ + #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \ + _GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters + ++/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to ++ parenthsized func otherwise. Parenthesization is needed in C23 if ++ the function is like strchr and so is a qualifier-generic macro ++ that expands to something more complicated. */ ++#ifdef __cplusplus ++# define _GL_FUNCDECL_SYS_NAME(func) func ++#else ++# define _GL_FUNCDECL_SYS_NAME(func) (func) ++#endif ++ + /* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]); + declares the system function, named func, with the given prototype, + consisting of return type, parameters, and attributes. +@@ -139,7 +149,7 @@ + _GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD); + */ + #define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \ +- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters ++ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters + + /* _GL_CXXALIAS_RPL (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func +diff --git a/lib/memchr2.c b/lib/memchr2.c +index 7493823..d7724ae 100644 +--- a/lib/memchr2.c ++++ b/lib/memchr2.c +@@ -55,7 +55,7 @@ memchr2 (void const *s, int c1_in, int c2_in, size_t n) + c2 = (unsigned char) c2_in; + + if (c1 == c2) +- return memchr (s, c1, n); ++ return (void *) memchr (s, c1, n); + + /* Handle the first few bytes by reading one byte at a time. + Do this until VOID_PTR is aligned on a longword boundary. */ +diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h +index 1342db4..3548d6e 100644 +--- a/lib/stdlib.in.h ++++ b/lib/stdlib.in.h +@@ -237,9 +237,9 @@ _GL_INLINE_HEADER_BEGIN + + /* Declarations for ISO C N3322. */ + #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__ +-_GL_EXTERN_C void *bsearch (const void *__key, +- const void *__base, size_t __nmemb, size_t __size, +- int (*__compare) (const void *, const void *)) ++_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch) ++ (const void *__key, const void *__base, size_t __nmemb, size_t __size, ++ int (*__compare) (const void *, const void *)) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5)); + _GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size, + int (*__compare) (const void *, const void *)) +diff --git a/lib/string.in.h b/lib/string.in.h +index 9a039c7..bc44f81 100644 +--- a/lib/string.in.h ++++ b/lib/string.in.h +@@ -403,7 +403,6 @@ _GL_CXXALIASWARN1 (memchr, void const *, + _GL_CXXALIASWARN (memchr); + # endif + #elif defined GNULIB_POSIXCHECK +-# undef memchr + /* Assume memchr is always declared. */ + _GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - " + "use gnulib module memchr for portability" ); +@@ -653,7 +652,6 @@ _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - " + #if defined GNULIB_POSIXCHECK + /* strchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strchr + /* Assume strchr is always declared. */ + _GL_WARN_ON_USE_CXX (strchr, + const char *, char *, (const char *, int), +@@ -945,7 +943,6 @@ _GL_CXXALIASWARN (strpbrk); + Even in this simple case, it does not work with multibyte strings if the + locale encoding is GB18030 and one of the characters to be searched is a + digit. */ +-# undef strpbrk + _GL_WARN_ON_USE_CXX (strpbrk, + const char *, char *, (const char *, const char *), + "strpbrk cannot work correctly on character strings " +@@ -975,7 +972,6 @@ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings " + #if defined GNULIB_POSIXCHECK + /* strrchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strrchr + /* Assume strrchr is always declared. */ + _GL_WARN_ON_USE_CXX (strrchr, + const char *, char *, (const char *, int), +diff --git a/lib/wchar.in.h b/lib/wchar.in.h +index a6c52eb..b4de385 100644 +--- a/lib/wchar.in.h ++++ b/lib/wchar.in.h +@@ -316,7 +316,7 @@ _GL_EXTERN_C int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + # ifndef __cplusplus +-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n) ++_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + # endif + _GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n) +diff --git a/tests/c++defs.h b/tests/c++defs.h +index df98a5a..d3dfabd 100644 +--- a/tests/c++defs.h ++++ b/tests/c++defs.h +@@ -127,6 +127,16 @@ + #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \ + _GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters + ++/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to ++ parenthsized func otherwise. Parenthesization is needed in C23 if ++ the function is like strchr and so is a qualifier-generic macro ++ that expands to something more complicated. */ ++#ifdef __cplusplus ++# define _GL_FUNCDECL_SYS_NAME(func) func ++#else ++# define _GL_FUNCDECL_SYS_NAME(func) (func) ++#endif ++ + /* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]); + declares the system function, named func, with the given prototype, + consisting of return type, parameters, and attributes. +@@ -139,7 +149,7 @@ + _GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD); + */ + #define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \ +- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters ++ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters + + /* _GL_CXXALIAS_RPL (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [whinlatter][PATCH 5/9] gettext: backport gnulib changes to fix build with glibc-2.43 on host 2026-04-09 15:28 [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 martin.jansa ` (2 preceding siblings ...) 2026-04-09 15:28 ` [whinlatter][PATCH 4/9] m4: backport 3 gnulib changes to fix build with glibc-2.43 on host martin.jansa @ 2026-04-09 15:28 ` martin.jansa 2026-04-09 15:28 ` [whinlatter][PATCH 6/9] util-linux: backport fix to " martin.jansa ` (4 subsequent siblings) 8 siblings, 0 replies; 19+ messages in thread From: martin.jansa @ 2026-04-09 15:28 UTC (permalink / raw) To: openembedded-core; +Cc: Martin Jansa From: Martin Jansa <martin.jansa@gmail.com> It's already included in gettext-1.0 used in master. Unfortunately this need to be applied in 6 different copies of gnulib inside gettext repo. Signed-off-by: Martin Jansa <martin.jansa@gmail.com> --- ...23-qualifier-generic-fns-like-strchr.patch | 626 ++++++++++++++++++ meta/recipes-core/gettext/gettext_0.26.bb | 1 + 2 files changed, 627 insertions(+) create mode 100644 meta/recipes-core/gettext/gettext/0001-Port-to-C23-qualifier-generic-fns-like-strchr.patch diff --git a/meta/recipes-core/gettext/gettext/0001-Port-to-C23-qualifier-generic-fns-like-strchr.patch b/meta/recipes-core/gettext/gettext/0001-Port-to-C23-qualifier-generic-fns-like-strchr.patch new file mode 100644 index 0000000000..634e17ea78 --- /dev/null +++ b/meta/recipes-core/gettext/gettext/0001-Port-to-C23-qualifier-generic-fns-like-strchr.patch @@ -0,0 +1,626 @@ +From 64c9525e8664ec3b89475100cbeda06ed916e707 Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Sun, 23 Nov 2025 00:50:40 -0800 +Subject: [PATCH] Port to C23 qualifier-generic fns like strchr +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This ports Gnulib to strict C23 platforms that reject code +like ‘char *q = strchr (P, 'x');’ when P is a pointer to const, +because in C23 strchr is a qualifier-generic function so +strchr (P, 'x') returns char const *. +This patch does not attempt to do the following two things, +which might be useful in the future: +1. When compiling on non-C23 platforms, check user code for +portability to platforms that define qualifier-generic functions. +2. Port Gnulib to platforms that have qualifier-generic functions +not listed in the C23 standard, e.g., strchrnul. I don’t know +of any such platforms. +* lib/argp-help.c (argp_doc): +* lib/c-strstr.c (c_strstr): +* lib/dfa.c (comsubs): +* lib/mbschr.c (mbschr): +* lib/mbspbrk.c (mbspbrk): +* lib/mbsrchr.c (mbsrchr): +* lib/memchr2.c (memchr2): +* lib/string-desc.c (_sd_index): +* tests/test-bsearch.c (lib_bsearch): +* tests/test-memchr.c (lib_memchr): +* tests/test-wmemchr.c (lib_wmemchr): +Port to C23, where functions like strchr are qualifier-generic. +* lib/c++defs.h (_GL_FUNCDECL_SYS_NAME): New macro. +* lib/c++defs.h (_GL_FUNCDECL_SYS): +* lib/stdlib.in.h (bsearch): +Use it, to prevent C23 names like strchr from acting like macros. +* lib/string.in.h (memchr, strchr, strpbrk, strrchr): +Do not #undef when GNULIB_POSIXCHECK is defined, as this could +cause conforming C23 code to fail to conform. It’s not clear why +_GL_WARN_ON_USE_CXX; perhaps it was needed but isn’t any more? +But for now, limit the removal of #undef to these four functions +where #undeffing is clearly undesirable in C23. +* lib/wchar.in.h (wmemchr): Parenthesize function name in decl, +to prevent it from acting like a macro. + +Upstream-Status: Backport [https://cgit.git.savannah.gnu.org/cgit/gnulib.git/commit/?id=df17f4f37ed3ca373d23ad42eae51122bdb96626] +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + gettext-runtime/gnulib-lib/c++defs.h | 12 +++++++++++- + gettext-runtime/gnulib-lib/stdlib.in.h | 6 +++--- + gettext-runtime/gnulib-lib/string.in.h | 4 ---- + gettext-runtime/gnulib-lib/wchar.in.h | 2 +- + gettext-runtime/intl/gnulib-lib/c++defs.h | 12 +++++++++++- + gettext-runtime/intl/gnulib-lib/stdlib.in.h | 6 +++--- + gettext-runtime/intl/gnulib-lib/string.in.h | 4 ---- + gettext-runtime/intl/gnulib-lib/wchar.in.h | 2 +- + gettext-tools/gnulib-lib/c++defs.h | 12 +++++++++++- + gettext-tools/gnulib-lib/stdlib.in.h | 6 +++--- + gettext-tools/gnulib-lib/string.in.h | 4 ---- + gettext-tools/gnulib-lib/wchar.in.h | 2 +- + gettext-tools/libgettextpo/c++defs.h | 12 +++++++++++- + gettext-tools/libgettextpo/stdlib.in.h | 6 +++--- + gettext-tools/libgettextpo/string.in.h | 4 ---- + gettext-tools/libgettextpo/wchar.in.h | 2 +- + gettext-tools/libgrep/gnulib-lib/c++defs.h | 12 +++++++++++- + gettext-tools/libgrep/gnulib-lib/memchr2.c | 2 +- + gettext-tools/libgrep/gnulib-lib/stdlib.in.h | 6 +++--- + gettext-tools/libgrep/gnulib-lib/wchar.in.h | 2 +- + libtextstyle/lib/c++defs.h | 12 +++++++++++- + libtextstyle/lib/stdlib.in.h | 6 +++--- + libtextstyle/lib/string.in.h | 4 ---- + libtextstyle/lib/wchar.in.h | 2 +- + 24 files changed, 91 insertions(+), 51 deletions(-) + +diff --git a/gettext-runtime/gnulib-lib/c++defs.h b/gettext-runtime/gnulib-lib/c++defs.h +index df98a5a..d3dfabd 100644 +--- a/gettext-runtime/gnulib-lib/c++defs.h ++++ b/gettext-runtime/gnulib-lib/c++defs.h +@@ -127,6 +127,16 @@ + #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \ + _GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters + ++/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to ++ parenthsized func otherwise. Parenthesization is needed in C23 if ++ the function is like strchr and so is a qualifier-generic macro ++ that expands to something more complicated. */ ++#ifdef __cplusplus ++# define _GL_FUNCDECL_SYS_NAME(func) func ++#else ++# define _GL_FUNCDECL_SYS_NAME(func) (func) ++#endif ++ + /* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]); + declares the system function, named func, with the given prototype, + consisting of return type, parameters, and attributes. +@@ -139,7 +149,7 @@ + _GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD); + */ + #define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \ +- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters ++ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters + + /* _GL_CXXALIAS_RPL (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func +diff --git a/gettext-runtime/gnulib-lib/stdlib.in.h b/gettext-runtime/gnulib-lib/stdlib.in.h +index 1342db4..3548d6e 100644 +--- a/gettext-runtime/gnulib-lib/stdlib.in.h ++++ b/gettext-runtime/gnulib-lib/stdlib.in.h +@@ -237,9 +237,9 @@ _GL_INLINE_HEADER_BEGIN + + /* Declarations for ISO C N3322. */ + #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__ +-_GL_EXTERN_C void *bsearch (const void *__key, +- const void *__base, size_t __nmemb, size_t __size, +- int (*__compare) (const void *, const void *)) ++_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch) ++ (const void *__key, const void *__base, size_t __nmemb, size_t __size, ++ int (*__compare) (const void *, const void *)) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5)); + _GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size, + int (*__compare) (const void *, const void *)) +diff --git a/gettext-runtime/gnulib-lib/string.in.h b/gettext-runtime/gnulib-lib/string.in.h +index 9a039c7..bc44f81 100644 +--- a/gettext-runtime/gnulib-lib/string.in.h ++++ b/gettext-runtime/gnulib-lib/string.in.h +@@ -403,7 +403,6 @@ _GL_CXXALIASWARN1 (memchr, void const *, + _GL_CXXALIASWARN (memchr); + # endif + #elif defined GNULIB_POSIXCHECK +-# undef memchr + /* Assume memchr is always declared. */ + _GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - " + "use gnulib module memchr for portability" ); +@@ -653,7 +652,6 @@ _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - " + #if defined GNULIB_POSIXCHECK + /* strchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strchr + /* Assume strchr is always declared. */ + _GL_WARN_ON_USE_CXX (strchr, + const char *, char *, (const char *, int), +@@ -945,7 +943,6 @@ _GL_CXXALIASWARN (strpbrk); + Even in this simple case, it does not work with multibyte strings if the + locale encoding is GB18030 and one of the characters to be searched is a + digit. */ +-# undef strpbrk + _GL_WARN_ON_USE_CXX (strpbrk, + const char *, char *, (const char *, const char *), + "strpbrk cannot work correctly on character strings " +@@ -975,7 +972,6 @@ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings " + #if defined GNULIB_POSIXCHECK + /* strrchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strrchr + /* Assume strrchr is always declared. */ + _GL_WARN_ON_USE_CXX (strrchr, + const char *, char *, (const char *, int), +diff --git a/gettext-runtime/gnulib-lib/wchar.in.h b/gettext-runtime/gnulib-lib/wchar.in.h +index a6c52eb..b4de385 100644 +--- a/gettext-runtime/gnulib-lib/wchar.in.h ++++ b/gettext-runtime/gnulib-lib/wchar.in.h +@@ -316,7 +316,7 @@ _GL_EXTERN_C int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + # ifndef __cplusplus +-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n) ++_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + # endif + _GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n) +diff --git a/gettext-runtime/intl/gnulib-lib/c++defs.h b/gettext-runtime/intl/gnulib-lib/c++defs.h +index df98a5a..d3dfabd 100644 +--- a/gettext-runtime/intl/gnulib-lib/c++defs.h ++++ b/gettext-runtime/intl/gnulib-lib/c++defs.h +@@ -127,6 +127,16 @@ + #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \ + _GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters + ++/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to ++ parenthsized func otherwise. Parenthesization is needed in C23 if ++ the function is like strchr and so is a qualifier-generic macro ++ that expands to something more complicated. */ ++#ifdef __cplusplus ++# define _GL_FUNCDECL_SYS_NAME(func) func ++#else ++# define _GL_FUNCDECL_SYS_NAME(func) (func) ++#endif ++ + /* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]); + declares the system function, named func, with the given prototype, + consisting of return type, parameters, and attributes. +@@ -139,7 +149,7 @@ + _GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD); + */ + #define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \ +- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters ++ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters + + /* _GL_CXXALIAS_RPL (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func +diff --git a/gettext-runtime/intl/gnulib-lib/stdlib.in.h b/gettext-runtime/intl/gnulib-lib/stdlib.in.h +index 1342db4..3548d6e 100644 +--- a/gettext-runtime/intl/gnulib-lib/stdlib.in.h ++++ b/gettext-runtime/intl/gnulib-lib/stdlib.in.h +@@ -237,9 +237,9 @@ _GL_INLINE_HEADER_BEGIN + + /* Declarations for ISO C N3322. */ + #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__ +-_GL_EXTERN_C void *bsearch (const void *__key, +- const void *__base, size_t __nmemb, size_t __size, +- int (*__compare) (const void *, const void *)) ++_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch) ++ (const void *__key, const void *__base, size_t __nmemb, size_t __size, ++ int (*__compare) (const void *, const void *)) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5)); + _GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size, + int (*__compare) (const void *, const void *)) +diff --git a/gettext-runtime/intl/gnulib-lib/string.in.h b/gettext-runtime/intl/gnulib-lib/string.in.h +index 9a039c7..bc44f81 100644 +--- a/gettext-runtime/intl/gnulib-lib/string.in.h ++++ b/gettext-runtime/intl/gnulib-lib/string.in.h +@@ -403,7 +403,6 @@ _GL_CXXALIASWARN1 (memchr, void const *, + _GL_CXXALIASWARN (memchr); + # endif + #elif defined GNULIB_POSIXCHECK +-# undef memchr + /* Assume memchr is always declared. */ + _GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - " + "use gnulib module memchr for portability" ); +@@ -653,7 +652,6 @@ _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - " + #if defined GNULIB_POSIXCHECK + /* strchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strchr + /* Assume strchr is always declared. */ + _GL_WARN_ON_USE_CXX (strchr, + const char *, char *, (const char *, int), +@@ -945,7 +943,6 @@ _GL_CXXALIASWARN (strpbrk); + Even in this simple case, it does not work with multibyte strings if the + locale encoding is GB18030 and one of the characters to be searched is a + digit. */ +-# undef strpbrk + _GL_WARN_ON_USE_CXX (strpbrk, + const char *, char *, (const char *, const char *), + "strpbrk cannot work correctly on character strings " +@@ -975,7 +972,6 @@ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings " + #if defined GNULIB_POSIXCHECK + /* strrchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strrchr + /* Assume strrchr is always declared. */ + _GL_WARN_ON_USE_CXX (strrchr, + const char *, char *, (const char *, int), +diff --git a/gettext-runtime/intl/gnulib-lib/wchar.in.h b/gettext-runtime/intl/gnulib-lib/wchar.in.h +index a6c52eb..b4de385 100644 +--- a/gettext-runtime/intl/gnulib-lib/wchar.in.h ++++ b/gettext-runtime/intl/gnulib-lib/wchar.in.h +@@ -316,7 +316,7 @@ _GL_EXTERN_C int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + # ifndef __cplusplus +-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n) ++_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + # endif + _GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n) +diff --git a/gettext-tools/gnulib-lib/c++defs.h b/gettext-tools/gnulib-lib/c++defs.h +index df98a5a..d3dfabd 100644 +--- a/gettext-tools/gnulib-lib/c++defs.h ++++ b/gettext-tools/gnulib-lib/c++defs.h +@@ -127,6 +127,16 @@ + #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \ + _GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters + ++/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to ++ parenthsized func otherwise. Parenthesization is needed in C23 if ++ the function is like strchr and so is a qualifier-generic macro ++ that expands to something more complicated. */ ++#ifdef __cplusplus ++# define _GL_FUNCDECL_SYS_NAME(func) func ++#else ++# define _GL_FUNCDECL_SYS_NAME(func) (func) ++#endif ++ + /* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]); + declares the system function, named func, with the given prototype, + consisting of return type, parameters, and attributes. +@@ -139,7 +149,7 @@ + _GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD); + */ + #define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \ +- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters ++ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters + + /* _GL_CXXALIAS_RPL (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func +diff --git a/gettext-tools/gnulib-lib/stdlib.in.h b/gettext-tools/gnulib-lib/stdlib.in.h +index 1342db4..3548d6e 100644 +--- a/gettext-tools/gnulib-lib/stdlib.in.h ++++ b/gettext-tools/gnulib-lib/stdlib.in.h +@@ -237,9 +237,9 @@ _GL_INLINE_HEADER_BEGIN + + /* Declarations for ISO C N3322. */ + #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__ +-_GL_EXTERN_C void *bsearch (const void *__key, +- const void *__base, size_t __nmemb, size_t __size, +- int (*__compare) (const void *, const void *)) ++_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch) ++ (const void *__key, const void *__base, size_t __nmemb, size_t __size, ++ int (*__compare) (const void *, const void *)) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5)); + _GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size, + int (*__compare) (const void *, const void *)) +diff --git a/gettext-tools/gnulib-lib/string.in.h b/gettext-tools/gnulib-lib/string.in.h +index 9a039c7..bc44f81 100644 +--- a/gettext-tools/gnulib-lib/string.in.h ++++ b/gettext-tools/gnulib-lib/string.in.h +@@ -403,7 +403,6 @@ _GL_CXXALIASWARN1 (memchr, void const *, + _GL_CXXALIASWARN (memchr); + # endif + #elif defined GNULIB_POSIXCHECK +-# undef memchr + /* Assume memchr is always declared. */ + _GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - " + "use gnulib module memchr for portability" ); +@@ -653,7 +652,6 @@ _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - " + #if defined GNULIB_POSIXCHECK + /* strchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strchr + /* Assume strchr is always declared. */ + _GL_WARN_ON_USE_CXX (strchr, + const char *, char *, (const char *, int), +@@ -945,7 +943,6 @@ _GL_CXXALIASWARN (strpbrk); + Even in this simple case, it does not work with multibyte strings if the + locale encoding is GB18030 and one of the characters to be searched is a + digit. */ +-# undef strpbrk + _GL_WARN_ON_USE_CXX (strpbrk, + const char *, char *, (const char *, const char *), + "strpbrk cannot work correctly on character strings " +@@ -975,7 +972,6 @@ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings " + #if defined GNULIB_POSIXCHECK + /* strrchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strrchr + /* Assume strrchr is always declared. */ + _GL_WARN_ON_USE_CXX (strrchr, + const char *, char *, (const char *, int), +diff --git a/gettext-tools/gnulib-lib/wchar.in.h b/gettext-tools/gnulib-lib/wchar.in.h +index a6c52eb..b4de385 100644 +--- a/gettext-tools/gnulib-lib/wchar.in.h ++++ b/gettext-tools/gnulib-lib/wchar.in.h +@@ -316,7 +316,7 @@ _GL_EXTERN_C int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + # ifndef __cplusplus +-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n) ++_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + # endif + _GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n) +diff --git a/gettext-tools/libgettextpo/c++defs.h b/gettext-tools/libgettextpo/c++defs.h +index df98a5a..d3dfabd 100644 +--- a/gettext-tools/libgettextpo/c++defs.h ++++ b/gettext-tools/libgettextpo/c++defs.h +@@ -127,6 +127,16 @@ + #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \ + _GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters + ++/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to ++ parenthsized func otherwise. Parenthesization is needed in C23 if ++ the function is like strchr and so is a qualifier-generic macro ++ that expands to something more complicated. */ ++#ifdef __cplusplus ++# define _GL_FUNCDECL_SYS_NAME(func) func ++#else ++# define _GL_FUNCDECL_SYS_NAME(func) (func) ++#endif ++ + /* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]); + declares the system function, named func, with the given prototype, + consisting of return type, parameters, and attributes. +@@ -139,7 +149,7 @@ + _GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD); + */ + #define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \ +- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters ++ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters + + /* _GL_CXXALIAS_RPL (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func +diff --git a/gettext-tools/libgettextpo/stdlib.in.h b/gettext-tools/libgettextpo/stdlib.in.h +index 1342db4..3548d6e 100644 +--- a/gettext-tools/libgettextpo/stdlib.in.h ++++ b/gettext-tools/libgettextpo/stdlib.in.h +@@ -237,9 +237,9 @@ _GL_INLINE_HEADER_BEGIN + + /* Declarations for ISO C N3322. */ + #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__ +-_GL_EXTERN_C void *bsearch (const void *__key, +- const void *__base, size_t __nmemb, size_t __size, +- int (*__compare) (const void *, const void *)) ++_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch) ++ (const void *__key, const void *__base, size_t __nmemb, size_t __size, ++ int (*__compare) (const void *, const void *)) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5)); + _GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size, + int (*__compare) (const void *, const void *)) +diff --git a/gettext-tools/libgettextpo/string.in.h b/gettext-tools/libgettextpo/string.in.h +index 9a039c7..bc44f81 100644 +--- a/gettext-tools/libgettextpo/string.in.h ++++ b/gettext-tools/libgettextpo/string.in.h +@@ -403,7 +403,6 @@ _GL_CXXALIASWARN1 (memchr, void const *, + _GL_CXXALIASWARN (memchr); + # endif + #elif defined GNULIB_POSIXCHECK +-# undef memchr + /* Assume memchr is always declared. */ + _GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - " + "use gnulib module memchr for portability" ); +@@ -653,7 +652,6 @@ _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - " + #if defined GNULIB_POSIXCHECK + /* strchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strchr + /* Assume strchr is always declared. */ + _GL_WARN_ON_USE_CXX (strchr, + const char *, char *, (const char *, int), +@@ -945,7 +943,6 @@ _GL_CXXALIASWARN (strpbrk); + Even in this simple case, it does not work with multibyte strings if the + locale encoding is GB18030 and one of the characters to be searched is a + digit. */ +-# undef strpbrk + _GL_WARN_ON_USE_CXX (strpbrk, + const char *, char *, (const char *, const char *), + "strpbrk cannot work correctly on character strings " +@@ -975,7 +972,6 @@ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings " + #if defined GNULIB_POSIXCHECK + /* strrchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strrchr + /* Assume strrchr is always declared. */ + _GL_WARN_ON_USE_CXX (strrchr, + const char *, char *, (const char *, int), +diff --git a/gettext-tools/libgettextpo/wchar.in.h b/gettext-tools/libgettextpo/wchar.in.h +index a6c52eb..b4de385 100644 +--- a/gettext-tools/libgettextpo/wchar.in.h ++++ b/gettext-tools/libgettextpo/wchar.in.h +@@ -316,7 +316,7 @@ _GL_EXTERN_C int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + # ifndef __cplusplus +-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n) ++_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + # endif + _GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n) +diff --git a/gettext-tools/libgrep/gnulib-lib/c++defs.h b/gettext-tools/libgrep/gnulib-lib/c++defs.h +index df98a5a..d3dfabd 100644 +--- a/gettext-tools/libgrep/gnulib-lib/c++defs.h ++++ b/gettext-tools/libgrep/gnulib-lib/c++defs.h +@@ -127,6 +127,16 @@ + #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \ + _GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters + ++/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to ++ parenthsized func otherwise. Parenthesization is needed in C23 if ++ the function is like strchr and so is a qualifier-generic macro ++ that expands to something more complicated. */ ++#ifdef __cplusplus ++# define _GL_FUNCDECL_SYS_NAME(func) func ++#else ++# define _GL_FUNCDECL_SYS_NAME(func) (func) ++#endif ++ + /* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]); + declares the system function, named func, with the given prototype, + consisting of return type, parameters, and attributes. +@@ -139,7 +149,7 @@ + _GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD); + */ + #define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \ +- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters ++ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters + + /* _GL_CXXALIAS_RPL (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func +diff --git a/gettext-tools/libgrep/gnulib-lib/memchr2.c b/gettext-tools/libgrep/gnulib-lib/memchr2.c +index 7493823..d7724ae 100644 +--- a/gettext-tools/libgrep/gnulib-lib/memchr2.c ++++ b/gettext-tools/libgrep/gnulib-lib/memchr2.c +@@ -55,7 +55,7 @@ memchr2 (void const *s, int c1_in, int c2_in, size_t n) + c2 = (unsigned char) c2_in; + + if (c1 == c2) +- return memchr (s, c1, n); ++ return (void *) memchr (s, c1, n); + + /* Handle the first few bytes by reading one byte at a time. + Do this until VOID_PTR is aligned on a longword boundary. */ +diff --git a/gettext-tools/libgrep/gnulib-lib/stdlib.in.h b/gettext-tools/libgrep/gnulib-lib/stdlib.in.h +index 1342db4..3548d6e 100644 +--- a/gettext-tools/libgrep/gnulib-lib/stdlib.in.h ++++ b/gettext-tools/libgrep/gnulib-lib/stdlib.in.h +@@ -237,9 +237,9 @@ _GL_INLINE_HEADER_BEGIN + + /* Declarations for ISO C N3322. */ + #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__ +-_GL_EXTERN_C void *bsearch (const void *__key, +- const void *__base, size_t __nmemb, size_t __size, +- int (*__compare) (const void *, const void *)) ++_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch) ++ (const void *__key, const void *__base, size_t __nmemb, size_t __size, ++ int (*__compare) (const void *, const void *)) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5)); + _GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size, + int (*__compare) (const void *, const void *)) +diff --git a/gettext-tools/libgrep/gnulib-lib/wchar.in.h b/gettext-tools/libgrep/gnulib-lib/wchar.in.h +index a6c52eb..b4de385 100644 +--- a/gettext-tools/libgrep/gnulib-lib/wchar.in.h ++++ b/gettext-tools/libgrep/gnulib-lib/wchar.in.h +@@ -316,7 +316,7 @@ _GL_EXTERN_C int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + # ifndef __cplusplus +-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n) ++_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + # endif + _GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n) +diff --git a/libtextstyle/lib/c++defs.h b/libtextstyle/lib/c++defs.h +index df98a5a..d3dfabd 100644 +--- a/libtextstyle/lib/c++defs.h ++++ b/libtextstyle/lib/c++defs.h +@@ -127,6 +127,16 @@ + #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \ + _GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters + ++/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to ++ parenthsized func otherwise. Parenthesization is needed in C23 if ++ the function is like strchr and so is a qualifier-generic macro ++ that expands to something more complicated. */ ++#ifdef __cplusplus ++# define _GL_FUNCDECL_SYS_NAME(func) func ++#else ++# define _GL_FUNCDECL_SYS_NAME(func) (func) ++#endif ++ + /* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]); + declares the system function, named func, with the given prototype, + consisting of return type, parameters, and attributes. +@@ -139,7 +149,7 @@ + _GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD); + */ + #define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \ +- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters ++ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters + + /* _GL_CXXALIAS_RPL (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func +diff --git a/libtextstyle/lib/stdlib.in.h b/libtextstyle/lib/stdlib.in.h +index 1342db4..3548d6e 100644 +--- a/libtextstyle/lib/stdlib.in.h ++++ b/libtextstyle/lib/stdlib.in.h +@@ -237,9 +237,9 @@ _GL_INLINE_HEADER_BEGIN + + /* Declarations for ISO C N3322. */ + #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__ +-_GL_EXTERN_C void *bsearch (const void *__key, +- const void *__base, size_t __nmemb, size_t __size, +- int (*__compare) (const void *, const void *)) ++_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch) ++ (const void *__key, const void *__base, size_t __nmemb, size_t __size, ++ int (*__compare) (const void *, const void *)) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5)); + _GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size, + int (*__compare) (const void *, const void *)) +diff --git a/libtextstyle/lib/string.in.h b/libtextstyle/lib/string.in.h +index 9a039c7..bc44f81 100644 +--- a/libtextstyle/lib/string.in.h ++++ b/libtextstyle/lib/string.in.h +@@ -403,7 +403,6 @@ _GL_CXXALIASWARN1 (memchr, void const *, + _GL_CXXALIASWARN (memchr); + # endif + #elif defined GNULIB_POSIXCHECK +-# undef memchr + /* Assume memchr is always declared. */ + _GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - " + "use gnulib module memchr for portability" ); +@@ -653,7 +652,6 @@ _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - " + #if defined GNULIB_POSIXCHECK + /* strchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strchr + /* Assume strchr is always declared. */ + _GL_WARN_ON_USE_CXX (strchr, + const char *, char *, (const char *, int), +@@ -945,7 +943,6 @@ _GL_CXXALIASWARN (strpbrk); + Even in this simple case, it does not work with multibyte strings if the + locale encoding is GB18030 and one of the characters to be searched is a + digit. */ +-# undef strpbrk + _GL_WARN_ON_USE_CXX (strpbrk, + const char *, char *, (const char *, const char *), + "strpbrk cannot work correctly on character strings " +@@ -975,7 +972,6 @@ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings " + #if defined GNULIB_POSIXCHECK + /* strrchr() does not work with multibyte strings if the locale encoding is + GB18030 and the character to be searched is a digit. */ +-# undef strrchr + /* Assume strrchr is always declared. */ + _GL_WARN_ON_USE_CXX (strrchr, + const char *, char *, (const char *, int), +diff --git a/libtextstyle/lib/wchar.in.h b/libtextstyle/lib/wchar.in.h +index a6c52eb..b4de385 100644 +--- a/libtextstyle/lib/wchar.in.h ++++ b/libtextstyle/lib/wchar.in.h +@@ -316,7 +316,7 @@ _GL_EXTERN_C int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3); + # ifndef __cplusplus +-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n) ++_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n) + _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3); + # endif + _GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n) diff --git a/meta/recipes-core/gettext/gettext_0.26.bb b/meta/recipes-core/gettext/gettext_0.26.bb index b99b301af4..bb73015449 100644 --- a/meta/recipes-core/gettext/gettext_0.26.bb +++ b/meta/recipes-core/gettext/gettext_0.26.bb @@ -26,6 +26,7 @@ SRC_URI += " \ file://serial-tests-config.patch \ file://0001-tests-autopoint-3-unset-MAKEFLAGS.patch \ file://0001-init-env.in-do-not-add-C-CXX-parameters.patch \ + file://0001-Port-to-C23-qualifier-generic-fns-like-strchr.patch \ " SRC_URI:append:libc-musl = " file://0001-Ignore-failing-tests-needing-BIG5-encoding-on-musl.patch" ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [whinlatter][PATCH 6/9] util-linux: backport fix to build with glibc-2.43 on host 2026-04-09 15:28 [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 martin.jansa ` (3 preceding siblings ...) 2026-04-09 15:28 ` [whinlatter][PATCH 5/9] gettext: backport " martin.jansa @ 2026-04-09 15:28 ` martin.jansa 2026-04-09 15:28 ` [whinlatter][PATCH 7/9] systemd: " martin.jansa ` (3 subsequent siblings) 8 siblings, 0 replies; 19+ messages in thread From: martin.jansa @ 2026-04-09 15:28 UTC (permalink / raw) To: openembedded-core; +Cc: Martin Jansa From: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Martin Jansa <martin.jansa@gmail.com> --- meta/recipes-core/util-linux/util-linux.inc | 1 + ...x-bsearch-macro-usage-with-glibc-C23.patch | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 meta/recipes-core/util-linux/util-linux/0001-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index 3135bbb7c6..3bcf681f24 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc @@ -21,6 +21,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin file://0001-ts-kill-decode-use-RTMIN-from-kill-L-instead-of-hard.patch \ file://0001-tests-helpers-test_sigstate.c-explicitly-reset-SIGIN.patch \ file://0001-include-mount-api-utils-avoid-using-sys-mount.h.patch \ + file://0001-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch \ file://CVE-2025-14104-01.patch \ file://CVE-2025-14104-02.patch \ " diff --git a/meta/recipes-core/util-linux/util-linux/0001-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch b/meta/recipes-core/util-linux/util-linux/0001-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch new file mode 100644 index 0000000000..6194594f7f --- /dev/null +++ b/meta/recipes-core/util-linux/util-linux/0001-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch @@ -0,0 +1,40 @@ +From 710a6989e0fc6dfc9290e2639022d1dbf429557f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <cristian@rodriguez.im> +Date: Sat, 22 Nov 2025 10:41:08 -0300 +Subject: [PATCH] lsfd: fix bsearch macro usage with glibc C23 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +C23 requires bsearch to be a const preserving macro, build now fails +with + +../lsfd-cmd/lsfd.c:1879:75: error: macro ‘bsearch’ passed 6 arguments, but takes just 5 + 1879 | nfds, sizeof(struct pollfd), pollfdcmp)) + | ^ +In file included from ../include/c.h:17, + from ../lsfd-cmd/lsfd.c:48: +/usr/include/stdlib.h:987:10: note: macro ‘bsearch’ defined here + 987 | # define bsearch(KEY, BASE, NMEMB, SIZE, COMPAR) \ + + add parenthesis around expression to fix it. + +Upstream-Status: Backport [2.42 https://github.com/util-linux/util-linux/commit/711bda1441561bfd2eb6d45fe0bc789535c1f1a8] +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + lsfd-cmd/lsfd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lsfd-cmd/lsfd.c b/lsfd-cmd/lsfd.c +index 75cd1de..9aae240 100644 +--- a/lsfd-cmd/lsfd.c ++++ b/lsfd-cmd/lsfd.c +@@ -1836,7 +1836,7 @@ static void mark_poll_fds_as_multiplexed(char *buf, + struct file *file = list_entry(f, struct file, files); + if (is_opened_file(file) && !file->multiplexed) { + int fd = file->association; +- if (bsearch(&(struct pollfd){.fd = fd,}, local.iov_base, ++ if (bsearch((&(struct pollfd){.fd = fd,}), local.iov_base, + nfds, sizeof(struct pollfd), pollfdcmp)) + file->multiplexed = 1; + } ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [whinlatter][PATCH 7/9] systemd: backport fix to build with glibc-2.43 on host 2026-04-09 15:28 [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 martin.jansa ` (4 preceding siblings ...) 2026-04-09 15:28 ` [whinlatter][PATCH 6/9] util-linux: backport fix to " martin.jansa @ 2026-04-09 15:28 ` martin.jansa 2026-04-09 15:28 ` [whinlatter][PATCH 8/9] gcc: backport a fix for building with gcc-16 martin.jansa ` (2 subsequent siblings) 8 siblings, 0 replies; 19+ messages in thread From: martin.jansa @ 2026-04-09 15:28 UTC (permalink / raw) To: openembedded-core; +Cc: Martin Jansa From: Martin Jansa <martin.jansa@gmail.com> fixes systemd-systemctl-native on hosts with glibc-2.43: In file included from ../sources/systemd-systemctl-257.9/src/basic/errno-list.c:13: src/basic/errno-to-name.h:71:23: error: initialized field overwritten [-Werror=override-init] 71 | [EFSBADCRC] = "EFSBADCRC", | ^~~~~~~~~~~ src/basic/errno-to-name.h:71:23: note: (near initialization for ?errno_names[74]?) src/basic/errno-to-name.h:114:26: error: initialized field overwritten [-Werror=override-init] 114 | [EFSCORRUPTED] = "EFSCORRUPTED", | ^~~~~~~~~~~~~~ src/basic/errno-to-name.h:114:26: note: (near initialization for ?errno_names[117]?) Signed-off-by: Martin Jansa <martin.jansa@gmail.com> --- meta/recipes-core/systemd/systemd.inc | 4 ++- ...ilter-out-EFSBADCRC-and-EFSCORRUPTED.patch | 34 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-core/systemd/systemd/0001-errno-list-filter-out-EFSBADCRC-and-EFSCORRUPTED.patch diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc index 761660f2c8..f41acc029d 100644 --- a/meta/recipes-core/systemd/systemd.inc +++ b/meta/recipes-core/systemd/systemd.inc @@ -17,6 +17,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ SRCREV = "5e38d199a623563698ab4a69acbbe3afa9135198" SRCBRANCH = "v257-stable" -SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}" +SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV} \ + file://0001-errno-list-filter-out-EFSBADCRC-and-EFSCORRUPTED.patch \ +" CVE_PRODUCT = "systemd" diff --git a/meta/recipes-core/systemd/systemd/0001-errno-list-filter-out-EFSBADCRC-and-EFSCORRUPTED.patch b/meta/recipes-core/systemd/systemd/0001-errno-list-filter-out-EFSBADCRC-and-EFSCORRUPTED.patch new file mode 100644 index 0000000000..5673175cb1 --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0001-errno-list-filter-out-EFSBADCRC-and-EFSCORRUPTED.patch @@ -0,0 +1,34 @@ +From fb146f6d2c5118410fd19907651fd8f7310bf69e Mon Sep 17 00:00:00 2001 +From: Yu Watanabe <watanabe.yu+github@gmail.com> +Date: Tue, 24 Feb 2026 20:19:45 +0900 +Subject: [PATCH] errno-list: filter out EFSBADCRC and EFSCORRUPTED + +These are introduced in kernel v7.0. + +Upstream-Status: Backport [https://github.com/systemd/systemd/commit/3cfb16998808a6ec8012a6120d0a82f0e1a0c8bb] +Signed-off-by: Martin Jansa <martin.jansa@gmail.com> +--- + src/basic/generate-errno-list.sh | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/src/basic/generate-errno-list.sh b/src/basic/generate-errno-list.sh +index f756b2e020..491fa1b6e3 100755 +--- a/src/basic/generate-errno-list.sh ++++ b/src/basic/generate-errno-list.sh +@@ -3,9 +3,13 @@ + set -eu + set -o pipefail + +-# In kernel's arch/parisc/include/uapi/asm/errno.h, ECANCELLED and EREFUSED are defined as aliases of +-# ECANCELED and ECONNREFUSED, respectively. Let's drop them. ++# In kernel's arch/parisc/include/uapi/asm/errno.h, The following aliases are defined: ++# ECANCELLED → ECANCELED ++# EREFUSED → ECONNREFUSED ++# EFSBADCRC → EBADMSG ++# EFSCORRUPTED → EUCLEAN ++# Let's drop them. + + ${1:?} -dM -include errno.h - </dev/null | \ +- grep -Ev '^#define[[:space:]]+(ECANCELLED|EREFUSED)' | \ ++ grep -Ev '^#define[[:space:]]+(ECANCELLED|EREFUSED|EFSBADCRC|EFSCORRUPTED)' | \ + awk '/^#define[ \t]+E[^ _]+[ \t]+/ { print $2; }' ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [whinlatter][PATCH 8/9] gcc: backport a fix for building with gcc-16 2026-04-09 15:28 [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 martin.jansa ` (5 preceding siblings ...) 2026-04-09 15:28 ` [whinlatter][PATCH 7/9] systemd: " martin.jansa @ 2026-04-09 15:28 ` martin.jansa 2026-04-09 15:28 ` [whinlatter][PATCH 9/9] binutils: backport patch to fix build with glibc-2.43 on host martin.jansa 2026-04-09 19:17 ` [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 Yoann Congal 8 siblings, 0 replies; 19+ messages in thread From: martin.jansa @ 2026-04-09 15:28 UTC (permalink / raw) To: openembedded-core; +Cc: Martin Jansa, Mathieu Dubois-Briand, Richard Purdie From: Martin Jansa <martin.jansa@gmail.com> Fixes: https://errors.yoctoproject.org/Errors/Details/905192/ when building on host with gcc-16 Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- meta/recipes-devtools/gcc/gcc-15.2.inc | 1 + ...dy-Make-it-buildable-by-C-11-to-C-26.patch | 257 ++++++++++++++++++ 2 files changed, 258 insertions(+) create mode 100644 meta/recipes-devtools/gcc/gcc/0028-libcody-Make-it-buildable-by-C-11-to-C-26.patch diff --git a/meta/recipes-devtools/gcc/gcc-15.2.inc b/meta/recipes-devtools/gcc/gcc-15.2.inc index d178b25487..69eff3621d 100644 --- a/meta/recipes-devtools/gcc/gcc-15.2.inc +++ b/meta/recipes-devtools/gcc/gcc-15.2.inc @@ -73,6 +73,7 @@ SRC_URI = "${BASEURI} \ file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \ file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \ file://0026-fix-pr90579-testcases.patch \ + file://0028-libcody-Make-it-buildable-by-C-11-to-C-26.patch \ " UNPACKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/sources" diff --git a/meta/recipes-devtools/gcc/gcc/0028-libcody-Make-it-buildable-by-C-11-to-C-26.patch b/meta/recipes-devtools/gcc/gcc/0028-libcody-Make-it-buildable-by-C-11-to-C-26.patch new file mode 100644 index 0000000000..431facb011 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc/0028-libcody-Make-it-buildable-by-C-11-to-C-26.patch @@ -0,0 +1,257 @@ +From 0ffe3c9af4e5d5468df742512b6e930fe7039230 Mon Sep 17 00:00:00 2001 +From: Jakub Jelinek <jakub@redhat.com> +Date: Fri, 21 Nov 2025 16:25:58 +0100 +Subject: [PATCH] libcody: Make it buildable by C++11 to C++26 + +The following builds with -std=c++11 and c++14 and c++17 and c++20 and c++23 +and c++26. + +I see the u8 string literals are mixed e.g. with strerror, so in +-fexec-charset=IBM1047 there will still be garbage, so am not 100% sure if +the u8 literals everywhere are worth it either. + +2025-11-21 Jakub Jelinek <jakub@redhat.com> + + * cody.hh (S2C): For __cpp_char8_t >= 201811 use char8_t instead of + char in argument type. + (MessageBuffer::Space): Revert 2025-11-15 change. + (MessageBuffer::Append): For __cpp_char8_t >= 201811 add overload + with char8_t const * type of first argument. + (Packet::Packet): Similarly for first argument. + * client.cc (CommunicationError, Client::ProcessResponse, + Client::Connect, ConnectResponse, PathnameResponse, OKResponse, + IncludeTranslateResponse): Cast u8 string literals to (const char *) + where needed. + * server.cc (Server::ProcessRequests, ConnectRequest): Likewise. + +Signed-off-by: Martin Jansa <martin.jansa@gmail.com> +Upstream-Status: Backport [07a767c7a50d1daae8ef7d4aba73fe53ad40c0b7] +--- + libcody/client.cc | 36 +++++++++++++++++++----------------- + libcody/cody.hh | 22 ++++++++++++++++++++++ + libcody/server.cc | 28 ++++++++++++++-------------- + 3 files changed, 55 insertions(+), 31 deletions(-) + +diff --git a/libcody/client.cc b/libcody/client.cc +index ae69d190cb77..147fecdbe500 100644 +--- a/libcody/client.cc ++++ b/libcody/client.cc +@@ -97,7 +97,7 @@ int Client::CommunicateWithServer () + + static Packet CommunicationError (int err) + { +- std::string e {u8"communication error:"}; ++ std::string e {(const char *) u8"communication error:"}; + e.append (strerror (err)); + + return Packet (Client::PC_ERROR, std::move (e)); +@@ -110,33 +110,34 @@ Packet Client::ProcessResponse (std::vector<std::string> &words, + { + if (e == EINVAL) + { +- std::string msg (u8"malformed string '"); ++ std::string msg ((const char *) u8"malformed string '"); + msg.append (words[0]); +- msg.append (u8"'"); ++ msg.append ((const char *) u8"'"); + return Packet (Client::PC_ERROR, std::move (msg)); + } + else +- return Packet (Client::PC_ERROR, u8"missing response"); ++ return Packet (Client::PC_ERROR, (const char *) u8"missing response"); + } + + Assert (!words.empty ()); +- if (words[0] == u8"ERROR") ++ if (words[0] == (const char *) u8"ERROR") + return Packet (Client::PC_ERROR, +- words.size () == 2 ? words[1]: u8"malformed error response"); ++ words.size () == 2 ? words[1] ++ : (const char *) u8"malformed error response"); + + if (isLast && !read.IsAtEnd ()) + return Packet (Client::PC_ERROR, +- std::string (u8"unexpected extra response")); ++ std::string ((const char *) u8"unexpected extra response")); + + Assert (code < Detail::RC_HWM); + Packet result (responseTable[code] (words)); + result.SetRequest (code); + if (result.GetCode () == Client::PC_ERROR && result.GetString ().empty ()) + { +- std::string msg {u8"malformed response '"}; ++ std::string msg {(const char *) u8"malformed response '"}; + + read.LexedLine (msg); +- msg.append (u8"'"); ++ msg.append ((const char *) u8"'"); + result.GetString () = std::move (msg); + } + else if (result.GetCode () == Client::PC_CONNECT) +@@ -199,7 +200,7 @@ Packet Client::Connect (char const *agent, char const *ident, + size_t alen, size_t ilen) + { + write.BeginLine (); +- write.AppendWord (u8"HELLO"); ++ write.AppendWord ((const char *) u8"HELLO"); + write.AppendInteger (Version); + write.AppendWord (agent, true, alen); + write.AppendWord (ident, true, ilen); +@@ -211,7 +212,8 @@ Packet Client::Connect (char const *agent, char const *ident, + // HELLO $version $agent [$flags] + Packet ConnectResponse (std::vector<std::string> &words) + { +- if (words[0] == u8"HELLO" && (words.size () == 3 || words.size () == 4)) ++ if (words[0] == (const char *) u8"HELLO" ++ && (words.size () == 3 || words.size () == 4)) + { + char *eptr; + unsigned long val = strtoul (words[1].c_str (), &eptr, 10); +@@ -247,7 +249,7 @@ Packet Client::ModuleRepo () + // PATHNAME $dir | ERROR + Packet PathnameResponse (std::vector<std::string> &words) + { +- if (words[0] == u8"PATHNAME" && words.size () == 2) ++ if (words[0] == (const char *) u8"PATHNAME" && words.size () == 2) + return Packet (Client::PC_PATHNAME, std::move (words[1])); + + return Packet (Client::PC_ERROR, u8""); +@@ -256,7 +258,7 @@ Packet PathnameResponse (std::vector<std::string> &words) + // OK or ERROR + Packet OKResponse (std::vector<std::string> &words) + { +- if (words[0] == u8"OK") ++ if (words[0] == (const char *) u8"OK") + return Packet (Client::PC_OK); + else + return Packet (Client::PC_ERROR, +@@ -319,11 +321,11 @@ Packet Client::IncludeTranslate (char const *include, Flags flags, size_t ilen) + // PATHNAME $cmifile + Packet IncludeTranslateResponse (std::vector<std::string> &words) + { +- if (words[0] == u8"BOOL" && words.size () == 2) ++ if (words[0] == (const char *) u8"BOOL" && words.size () == 2) + { +- if (words[1] == u8"FALSE") +- return Packet (Client::PC_BOOL, 0); +- else if (words[1] == u8"TRUE") ++ if (words[1] == (const char *) u8"FALSE") ++ return Packet (Client::PC_BOOL); ++ else if (words[1] == (const char *) u8"TRUE") + return Packet (Client::PC_BOOL, 1); + else + return Packet (Client::PC_ERROR, u8""); +diff --git a/libcody/cody.hh b/libcody/cody.hh +index 789ce9e70b75..93bce93aa94d 100644 +--- a/libcody/cody.hh ++++ b/libcody/cody.hh +@@ -47,12 +47,21 @@ namespace Detail { + + // C++11 doesn't have utf8 character literals :( + ++#if __cpp_char8_t >= 201811 ++template<unsigned I> ++constexpr char S2C (char8_t const (&s)[I]) ++{ ++ static_assert (I == 2, "only single octet strings may be converted"); ++ return s[0]; ++} ++#else + template<unsigned I> + constexpr char S2C (char const (&s)[I]) + { + static_assert (I == 2, "only single octet strings may be converted"); + return s[0]; + } ++#endif + + /// Internal buffering class. Used to concatenate outgoing messages + /// and Lex incoming ones. +@@ -123,6 +132,13 @@ public: + Space (); + Append (str, maybe_quote, len); + } ++#if __cpp_char8_t >= 201811 ++ void AppendWord (char8_t const *str, bool maybe_quote = false, ++ size_t len = ~size_t (0)) ++ { ++ AppendWord ((const char *) str, maybe_quote, len); ++ } ++#endif + /// Add a word as with AppendWord + /// @param str the string to append + /// @param maybe_quote string might need quoting, as for Append +@@ -264,6 +280,12 @@ public: + : string (s), cat (STRING), code (c) + { + } ++#if __cpp_char8_t >= 201811 ++ Packet (unsigned c, const char8_t *s) ++ : string ((const char *) s), cat (STRING), code (c) ++ { ++ } ++#endif + Packet (unsigned c, std::vector<std::string> &&v) + : vector (std::move (v)), cat (VECTOR), code (c) + { +diff --git a/libcody/server.cc b/libcody/server.cc +index e2fa069bb933..c18469fae843 100644 +--- a/libcody/server.cc ++++ b/libcody/server.cc +@@ -36,12 +36,12 @@ static RequestPair + const requestTable[Detail::RC_HWM] = + { + // Same order as enum RequestCode +- RequestPair {u8"HELLO", nullptr}, +- RequestPair {u8"MODULE-REPO", ModuleRepoRequest}, +- RequestPair {u8"MODULE-EXPORT", ModuleExportRequest}, +- RequestPair {u8"MODULE-IMPORT", ModuleImportRequest}, +- RequestPair {u8"MODULE-COMPILED", ModuleCompiledRequest}, +- RequestPair {u8"INCLUDE-TRANSLATE", IncludeTranslateRequest}, ++ RequestPair {(const char *) u8"HELLO", nullptr}, ++ RequestPair {(const char *) u8"MODULE-REPO", ModuleRepoRequest}, ++ RequestPair {(const char *) u8"MODULE-EXPORT", ModuleExportRequest}, ++ RequestPair {(const char *) u8"MODULE-IMPORT", ModuleImportRequest}, ++ RequestPair {(const char *) u8"MODULE-COMPILED", ModuleCompiledRequest}, ++ RequestPair {(const char *) u8"INCLUDE-TRANSLATE", IncludeTranslateRequest}, + }; + } + +@@ -135,21 +135,21 @@ void Server::ProcessRequests (void) + std::string msg; + + if (err > 0) +- msg = u8"error processing '"; ++ msg = (const char *) u8"error processing '"; + else if (ix >= Detail::RC_HWM) +- msg = u8"unrecognized '"; ++ msg = (const char *) u8"unrecognized '"; + else if (IsConnected () && ix == Detail::RC_CONNECT) +- msg = u8"already connected '"; ++ msg = (const char *) u8"already connected '"; + else if (!IsConnected () && ix != Detail::RC_CONNECT) +- msg = u8"not connected '"; ++ msg = (const char *) u8"not connected '"; + else +- msg = u8"malformed '"; ++ msg = (const char *) u8"malformed '"; + + read.LexedLine (msg); +- msg.append (u8"'"); ++ msg.append ((const char *) u8"'"); + if (err > 0) + { +- msg.append (u8" "); ++ msg.append ((const char *) u8" "); + msg.append (strerror (err)); + } + resolver->ErrorResponse (this, std::move (msg)); +@@ -176,7 +176,7 @@ Resolver *ConnectRequest (Server *s, Resolver *r, + return nullptr; + + if (words.size () == 3) +- words.emplace_back (u8""); ++ words.emplace_back ((const char *) u8""); + unsigned version = ParseUnsigned (words[1]); + if (version == ~0u) + return nullptr; ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [whinlatter][PATCH 9/9] binutils: backport patch to fix build with glibc-2.43 on host 2026-04-09 15:28 [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 martin.jansa ` (6 preceding siblings ...) 2026-04-09 15:28 ` [whinlatter][PATCH 8/9] gcc: backport a fix for building with gcc-16 martin.jansa @ 2026-04-09 15:28 ` martin.jansa 2026-04-09 19:17 ` [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 Yoann Congal 8 siblings, 0 replies; 19+ messages in thread From: martin.jansa @ 2026-04-09 15:28 UTC (permalink / raw) To: openembedded-core; +Cc: Martin Jansa From: Martin Jansa <martin.jansa@gmail.com> Fixes: ../../../gprofng/libcollector/linetrace.c: In function ‘__collector_ext_line_install’: ../../../gprofng/libcollector/linetrace.c:219:45: error: expected identifier before ‘_Generic’ 219 | if (java_follow_env != NULL && CALL_UTIL (strstr)(java_follow_env, COLLECTOR_JVMTI_OPTION)) | ^~~~~~ ../../../gprofng/libcollector/linetrace.c:219:34: note: in expansion of macro ‘CALL_UTIL’ 219 | if (java_follow_env != NULL && CALL_UTIL (strstr)(java_follow_env, COLLECTOR_JVMTI_OPTION)) | ^~~~~~~~~ Signed-off-by: Martin Jansa <martin.jansa@gmail.com> --- .../binutils/binutils-2.45.inc | 1 + ...tect-against-standard-library-macros.patch | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 meta/recipes-devtools/binutils/binutils/0022-gprofng-protect-against-standard-library-macros.patch diff --git a/meta/recipes-devtools/binutils/binutils-2.45.inc b/meta/recipes-devtools/binutils/binutils-2.45.inc index 16a63cabc5..f5456c0b0f 100644 --- a/meta/recipes-devtools/binutils/binutils-2.45.inc +++ b/meta/recipes-devtools/binutils/binutils-2.45.inc @@ -39,6 +39,7 @@ SRC_URI = "\ file://0015-CVE-2025-11081.patch \ file://0016-CVE-2025-11082.patch \ file://0017-CVE-2025-11083.patch \ + file://0022-gprofng-protect-against-standard-library-macros.patch \ file://CVE-2025-11414.patch \ file://CVE-2025-11412.patch \ file://CVE-2025-11413.patch \ diff --git a/meta/recipes-devtools/binutils/binutils/0022-gprofng-protect-against-standard-library-macros.patch b/meta/recipes-devtools/binutils/binutils/0022-gprofng-protect-against-standard-library-macros.patch new file mode 100644 index 0000000000..0fa0a93991 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0022-gprofng-protect-against-standard-library-macros.patch @@ -0,0 +1,31 @@ +From 5f66aee7f4bec7a2d8378034116f5e5c3dc50f41 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@suse.de> +Date: Sat, 22 Nov 2025 11:29:43 +0100 +Subject: [PATCH] gprofng: protect against standard library macros + +The CALL_UTIL macro can expand to an unparsable expression of the argument +is a macro, like with the new const-preserving standard library macros in +C23. + + * gprofng/src/collector_module.h (CALL_UTIL): Add parens to not + expand its argument if it is a function-like macro. + +Upstream-Status: Backport [2.46 5f66aee7f4bec7a2d8378034116f5e5c3dc50f41] +Signed-off-by: Martin Jansa <martin.jansa@gmail.com> +--- + gprofng/src/collector_module.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gprofng/src/collector_module.h b/gprofng/src/collector_module.h +index b64d69c45ab..859a6dd1f7d 100644 +--- a/gprofng/src/collector_module.h ++++ b/gprofng/src/collector_module.h +@@ -119,7 +119,7 @@ typedef struct CollectorUtilFuncs + extern CollectorUtilFuncs __collector_util_funcs; + extern int __collector_dlsym_guard; + +-#define CALL_UTIL(x) __collector_util_funcs.x ++#define CALL_UTIL(x) (__collector_util_funcs.x) + + /* The following constants define the meaning of the "void *arg" + * argument of getFrameInfo(). ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 2026-04-09 15:28 [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 martin.jansa ` (7 preceding siblings ...) 2026-04-09 15:28 ` [whinlatter][PATCH 9/9] binutils: backport patch to fix build with glibc-2.43 on host martin.jansa @ 2026-04-09 19:17 ` Yoann Congal 2026-04-09 21:29 ` Martin Jansa [not found] ` <18A4CD91CED0CFD1.657799@lists.openembedded.org> 8 siblings, 2 replies; 19+ messages in thread From: Yoann Congal @ 2026-04-09 19:17 UTC (permalink / raw) To: martin.jansa, openembedded-core; +Cc: Mathieu Dubois-Briand, Richard Purdie On Thu Apr 9, 2026 at 5:28 PM CEST, Martin Jansa via lists.openembedded.org wrote: > From: Martin Jansa <martin.jansa@gmail.com> > > glibc-2.43 isn't used in OE builds yet, but this fixes dtc-native: > https://errors.yoctoproject.org/Errors/Details/903983/ > > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c: In function ‘overlay_fixup_phandle’: > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:424:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > 424 | sep = memchr(fixup_str, ':', fixup_len); > | ^ > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:434:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > 434 | sep = memchr(name, ':', fixup_len); > | ^ > cc1: all warnings being treated as errors > > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > --- Hello, I've started a whinlatter bringup build on the new Ubuntu 26.04 worker with this series applied: https://autobuilder.yoctoproject.org/valkyrie/#/builders/96/builds/23 It got 2 errors (Other errors are most likely consequences of these ones): ERROR: shadow-native-4.18.0-r0 do_configure: configure failed: https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 6269: | checking for crypt in -lcrypt... no | configure: error: crypt() not found | NOTE: The following config.log files may provide further information. | NOTE: /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/shadow-native/4.18.0/build/config.log | ERROR: configure failed | WARNING: exit code 1 from a shell command. NOTE: recipe shadow-native-4.18.0-r0: task do_configure: Failed ERROR: virglrenderer-native-1.1.1-r0 do_compile: Execution of '/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/temp/run.do_compile.2048675' failed with exit code 1 https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 29545: | [4/57] gcc -Isrc/mesa/libmesa.a.p -Isrc/mesa -I../sources/virglrenderer-1.1.1/src/mesa -I../sources/virglrenderer-1.1.1/src/mesa/compat -I../sources/virglrenderer-1.1.1/src/mesa/pipe -I../sources/virglrenderer-1.1.1/src/mesa/util -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu11 -Werror=enum-int-mismatch -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pedantic -Wmissing-prototypes -Werror=incompatible-pointer-types -Werror=int-to-pointer-cast -Werror=switch -Wno-overlength-strings -Wno-missing-field-initializers -Werror=format -fvisibility=hidden -fno-strict-aliasing -imacros /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/build/config.h -DHAVE_CONFIG_H=1 -isystem/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -pthread -MD -MQ src/mesa/libmesa.a.p/util_u_math.c.o -MF src/mesa/libmesa.a.p/util_u_math.c.o.d -o src/mesa/libmesa.a.p/util_u_math.c.o -c ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c | FAILED: [code=1] src/mesa/libmesa.a.p/util_u_math.c.o | gcc -Isrc/mesa/libmesa.a.p -Isrc/mesa -I../sources/virglrenderer-1.1.1/src/mesa -I../sources/virglrenderer-1.1.1/src/mesa/compat -I../sources/virglrenderer-1.1.1/src/mesa/pipe -I../sources/virglrenderer-1.1.1/src/mesa/util -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu11 -Werror=enum-int-mismatch -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pedantic -Wmissing-prototypes -Werror=incompatible-pointer-types -Werror=int-to-pointer-cast -Werror=switch -Wno-overlength-strings -Wno-missing-field-initializers -Werror=format -fvisibility=hidden -fno-strict-aliasing -imacros /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/build/config.h -DHAVE_CONFIG_H=1 -isystem/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -pthread -MD -MQ src/mesa/libmesa.a.p/util_u_math.c.o -MF src/mesa/libmesa.a.p/util_u_math.c.o.d -o src/mesa/libmesa.a.p/util_u_math.c.o -c ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c | In file included from ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads.h:64, | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_thread.h:35, | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_cpu_detect.h:40, | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c:32: | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:54:9: warning: ‘ONCE_FLAG_INIT’ redefined | 54 | #define ONCE_FLAG_INIT PTHREAD_ONCE_INIT | | ^~~~~~~~~~~~~~ | In file included from /usr/include/stdlib.h:1191, | from ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:29: | /usr/include/x86_64-linux-gnu/bits/types/once_flag.h:25:9: note: this is the location of the previous definition | 25 | #define ONCE_FLAG_INIT __ONCE_FLAG_INIT | | ^~~~~~~~~~~~~~ | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:69:25: error: conflicting types for ‘once_flag’; have ‘pthread_once_t’ {aka ‘int’} | 69 | typedef pthread_once_t once_flag; | | ^~~~~~~~~ | /usr/include/x86_64-linux-gnu/bits/types/once_flag.h:24:21: note: previous declaration of ‘once_flag’ with type ‘once_flag’ | 24 | typedef __once_flag once_flag; | | ^~~~~~~~~ | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:94:1: error: conflicting types for ‘call_once’; have ‘void(int *, void (*)(void))’ | 94 | call_once(once_flag *flag, void (*func)(void)) | | ^~~~~~~~~ | /usr/include/stdlib.h:1195:13: note: previous declaration of ‘call_once’ with type ‘void(once_flag *, void (*)(void))’ | 1195 | extern void call_once (once_flag *__flag, void (*__func)(void)); | | ^~~~~~~~~ Regards, -- Yoann Congal Smile ECS ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 2026-04-09 19:17 ` [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 Yoann Congal @ 2026-04-09 21:29 ` Martin Jansa 2026-04-10 7:41 ` Yoann Congal [not found] ` <18A4CD91CED0CFD1.657799@lists.openembedded.org> 1 sibling, 1 reply; 19+ messages in thread From: Martin Jansa @ 2026-04-09 21:29 UTC (permalink / raw) To: Yoann Congal; +Cc: openembedded-core, Mathieu Dubois-Briand, Richard Purdie On Thu, Apr 9, 2026 at 9:17 PM Yoann Congal <yoann.congal@smile.fr> wrote: > > On Thu Apr 9, 2026 at 5:28 PM CEST, Martin Jansa via lists.openembedded.org wrote: > > From: Martin Jansa <martin.jansa@gmail.com> > > > > glibc-2.43 isn't used in OE builds yet, but this fixes dtc-native: > > https://errors.yoctoproject.org/Errors/Details/903983/ > > > > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c: In function ‘overlay_fixup_phandle’: > > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:424:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > > 424 | sep = memchr(fixup_str, ':', fixup_len); > > | ^ > > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:434:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > > 434 | sep = memchr(name, ':', fixup_len); > > | ^ > > cc1: all warnings being treated as errors > > > > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > > Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > > --- > > Hello, > > I've started a whinlatter bringup build on the new Ubuntu 26.04 worker > with this series applied: > https://autobuilder.yoctoproject.org/valkyrie/#/builders/96/builds/23 > > It got 2 errors (Other errors are most likely consequences of these ones): > > ERROR: shadow-native-4.18.0-r0 do_configure: configure failed: > https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 6269: > | checking for crypt in -lcrypt... no > | configure: error: crypt() not found > | NOTE: The following config.log files may provide further information. > | NOTE: /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/shadow-native/4.18.0/build/config.log > | ERROR: configure failed > | WARNING: exit code 1 from a shell command. > NOTE: recipe shadow-native-4.18.0-r0: task do_configure: Failed Hello, for shadow please read https://lists.openembedded.org/g/openembedded-core/message/234119 the important part: "libcrypt-dev is no longer installed as a dependency in my minimal docker image" I guess it's now missing on your ubuntu-26.04 host as well. It used to be typically installed by build-essential -> libc6-dev -> libcrypt-dev but not anymore since 2.42-7: 25.10 questing with 2.42-0ubuntu3.1: https://packages.ubuntu.com/questing/libc6-dev 26.04 resolute with 2.43-2ubuntu1: https://packages.ubuntu.com/resolute/libc6-dev https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog: ... glibc (2.42-7) unstable; urgency=medium [ Aurelien Jarno ] * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev dependency from libc6-dev. Thanks to Helmut Grohne for proposing that, doing an archive rebuild and filling the bug reports. * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static probes. * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of the obsolete termio interface. Closes: #1124068. * debian/rules.d/debhelper.mk: ensure that linker scripts work even when /usr is unmerged. Closes: #1120508 * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides, source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0. * debian/control.in/main: drop Rules-Requires-Root: no, this is now the default. * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove the workaround for GLIBC_ABI_GNU_TLS. Closes: #1122038. * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt GLIBC_ABI_GNU_TLS. -- Aurelien Jarno <aurel32@debian.org> Sun, 04 Jan 2026 10:07:24 +0100 ... I'll have a look at virglrenderer-native tomorrow. khem already fixed it in: https://gitlab.freedesktop.org/virgl/virglrenderer/-/commit/3f0f775edb2df5ea54c37863286ad565ccddb276 https://git.openembedded.org/openembedded-core/commit/?id=8e85dc6b7f5f7668a610b5fd3754c716f0af65b0 https://git.openembedded.org/openembedded-core/commit/?id=5ff5aac9ed9e53a2e06515cc480c7d89a8aa3171 will add a backport in whinlatter and possibly scarthgap as well. Regards, > ERROR: virglrenderer-native-1.1.1-r0 do_compile: Execution of '/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/temp/run.do_compile.2048675' failed with exit code 1 > https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 29545: > | [4/57] gcc -Isrc/mesa/libmesa.a.p -Isrc/mesa -I../sources/virglrenderer-1.1.1/src/mesa -I../sources/virglrenderer-1.1.1/src/mesa/compat -I../sources/virglrenderer-1.1.1/src/mesa/pipe -I../sources/virglrenderer-1.1.1/src/mesa/util -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu11 -Werror=enum-int-mismatch -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pedantic -Wmissing-prototypes -Werror=incompatible-pointer-types -Werror=int-to-pointer-cast -Werror=switch -Wno-overlength-strings -Wno-missing-field-initializers -Werror=format -fvisibility=hidden -fno-strict-aliasing -imacros /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/build/config.h -DHAVE_CONFIG_H=1 -isystem/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -pthread -MD -MQ src/mesa/libmesa.a.p/util_u_math.c.o -MF src/mesa/libmesa.a.p/util_u_math.c.o.d -o src/mesa/libmesa.a.p/util_u_math.c.o -c ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c > | FAILED: [code=1] src/mesa/libmesa.a.p/util_u_math.c.o > | gcc -Isrc/mesa/libmesa.a.p -Isrc/mesa -I../sources/virglrenderer-1.1.1/src/mesa -I../sources/virglrenderer-1.1.1/src/mesa/compat -I../sources/virglrenderer-1.1.1/src/mesa/pipe -I../sources/virglrenderer-1.1.1/src/mesa/util -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu11 -Werror=enum-int-mismatch -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pedantic -Wmissing-prototypes -Werror=incompatible-pointer-types -Werror=int-to-pointer-cast -Werror=switch -Wno-overlength-strings -Wno-missing-field-initializers -Werror=format -fvisibility=hidden -fno-strict-aliasing -imacros /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/build/config.h -DHAVE_CONFIG_H=1 -isystem/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -pthread -MD -MQ src/mesa/libmesa.a.p/util_u_math.c.o -MF src/mesa/libmesa.a.p/util_u_math.c.o.d -o src/mesa/libmesa.a.p/util_u_math.c.o -c ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c > | In file included from ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads.h:64, > | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_thread.h:35, > | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_cpu_detect.h:40, > | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c:32: > | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:54:9: warning: ‘ONCE_FLAG_INIT’ redefined > | 54 | #define ONCE_FLAG_INIT PTHREAD_ONCE_INIT > | | ^~~~~~~~~~~~~~ > | In file included from /usr/include/stdlib.h:1191, > | from ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:29: > | /usr/include/x86_64-linux-gnu/bits/types/once_flag.h:25:9: note: this is the location of the previous definition > | 25 | #define ONCE_FLAG_INIT __ONCE_FLAG_INIT > | | ^~~~~~~~~~~~~~ > | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:69:25: error: conflicting types for ‘once_flag’; have ‘pthread_once_t’ {aka ‘int’} > | 69 | typedef pthread_once_t once_flag; > | | ^~~~~~~~~ > | /usr/include/x86_64-linux-gnu/bits/types/once_flag.h:24:21: note: previous declaration of ‘once_flag’ with type ‘once_flag’ > | 24 | typedef __once_flag once_flag; > | | ^~~~~~~~~ > | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:94:1: error: conflicting types for ‘call_once’; have ‘void(int *, void (*)(void))’ > | 94 | call_once(once_flag *flag, void (*func)(void)) > | | ^~~~~~~~~ > | /usr/include/stdlib.h:1195:13: note: previous declaration of ‘call_once’ with type ‘void(once_flag *, void (*)(void))’ > | 1195 | extern void call_once (once_flag *__flag, void (*__func)(void)); > | | ^~~~~~~~~ > > Regards, > > -- > Yoann Congal > Smile ECS > ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 2026-04-09 21:29 ` Martin Jansa @ 2026-04-10 7:41 ` Yoann Congal 2026-04-10 9:09 ` Martin Jansa 2026-04-10 9:19 ` Yoann Congal 0 siblings, 2 replies; 19+ messages in thread From: Yoann Congal @ 2026-04-10 7:41 UTC (permalink / raw) To: Martin Jansa; +Cc: openembedded-core, Mathieu Dubois-Briand, Richard Purdie On Thu Apr 9, 2026 at 11:29 PM CEST, Martin Jansa wrote: > On Thu, Apr 9, 2026 at 9:17 PM Yoann Congal <yoann.congal@smile.fr> wrote: >> >> On Thu Apr 9, 2026 at 5:28 PM CEST, Martin Jansa via lists.openembedded.org wrote: >> > From: Martin Jansa <martin.jansa@gmail.com> >> > >> > glibc-2.43 isn't used in OE builds yet, but this fixes dtc-native: >> > https://errors.yoctoproject.org/Errors/Details/903983/ >> > >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c: In function ‘overlay_fixup_phandle’: >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:424:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] >> > 424 | sep = memchr(fixup_str, ':', fixup_len); >> > | ^ >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:434:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] >> > 434 | sep = memchr(name, ':', fixup_len); >> > | ^ >> > cc1: all warnings being treated as errors >> > >> > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> >> > Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> >> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> >> > --- >> >> Hello, >> >> I've started a whinlatter bringup build on the new Ubuntu 26.04 worker >> with this series applied: >> https://autobuilder.yoctoproject.org/valkyrie/#/builders/96/builds/23 >> >> It got 2 errors (Other errors are most likely consequences of these ones): >> >> ERROR: shadow-native-4.18.0-r0 do_configure: configure failed: >> https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 6269: >> | checking for crypt in -lcrypt... no >> | configure: error: crypt() not found >> | NOTE: The following config.log files may provide further information. >> | NOTE: /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/shadow-native/4.18.0/build/config.log >> | ERROR: configure failed >> | WARNING: exit code 1 from a shell command. >> NOTE: recipe shadow-native-4.18.0-r0: task do_configure: Failed > > Hello, > > for shadow please read > https://lists.openembedded.org/g/openembedded-core/message/234119 the > important part: > "libcrypt-dev is no longer installed as a dependency in my minimal docker image" > I guess it's now missing on your ubuntu-26.04 host as well. > It used to be typically installed by build-essential -> libc6-dev -> > libcrypt-dev but not anymore since 2.42-7: > > 25.10 questing with 2.42-0ubuntu3.1: > https://packages.ubuntu.com/questing/libc6-dev > 26.04 resolute with 2.43-2ubuntu1: > https://packages.ubuntu.com/resolute/libc6-dev > > https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog: > ... > glibc (2.42-7) unstable; urgency=medium > > [ Aurelien Jarno ] > * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev > dependency from libc6-dev. Thanks to Helmut Grohne for proposing that, > doing an archive rebuild and filling the bug reports. > * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static > probes. > * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of > the obsolete termio interface. Closes: #1124068. > * debian/rules.d/debhelper.mk: ensure that linker scripts work even when > /usr is unmerged. Closes: #1120508 > * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides, > source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop > unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0. > * debian/control.in/main: drop Rules-Requires-Root: no, this is now the > default. > * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove > the workaround for GLIBC_ABI_GNU_TLS. Closes: #1122038. > * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt > GLIBC_ABI_GNU_TLS. > > -- Aurelien Jarno <aurel32@debian.org> Sun, 04 Jan 2026 10:07:24 +0100 > ... Hello, In that case, shouldn't we remove "virtual/crypt-native" from ASSUME_PROVIDED? https://git.openembedded.org/openembedded-core/tree/meta/conf/bitbake.conf#n232 I've tried it but then libxcrypt-native fails to build with: | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c: In function ‘_crypt_crypt_gost_yescrypt_rn’: | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c:134:16: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] | 134 | char *hptr = strchr ((const char *) intbuf->retval + 3, '$'); | | ^~~~~~ | cc1: all warnings being treated as errors It looks like the fixes for that are on master but the patches don't apply. Can you send an update series with those fixes? Thanks! > > > I'll have a look at virglrenderer-native tomorrow. khem already fixed it in: > https://gitlab.freedesktop.org/virgl/virglrenderer/-/commit/3f0f775edb2df5ea54c37863286ad565ccddb276 > https://git.openembedded.org/openembedded-core/commit/?id=8e85dc6b7f5f7668a610b5fd3754c716f0af65b0 > https://git.openembedded.org/openembedded-core/commit/?id=5ff5aac9ed9e53a2e06515cc480c7d89a8aa3171 > will add a backport in whinlatter and possibly scarthgap as well. > > Regards, > >> ERROR: virglrenderer-native-1.1.1-r0 do_compile: Execution of '/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/temp/run.do_compile.2048675' failed with exit code 1 >> https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 29545: >> | [4/57] gcc -Isrc/mesa/libmesa.a.p -Isrc/mesa -I../sources/virglrenderer-1.1.1/src/mesa -I../sources/virglrenderer-1.1.1/src/mesa/compat -I../sources/virglrenderer-1.1.1/src/mesa/pipe -I../sources/virglrenderer-1.1.1/src/mesa/util -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu11 -Werror=enum-int-mismatch -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pedantic -Wmissing-prototypes -Werror=incompatible-pointer-types -Werror=int-to-pointer-cast -Werror=switch -Wno-overlength-strings -Wno-missing-field-initializers -Werror=format -fvisibility=hidden -fno-strict-aliasing -imacros /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/build/config.h -DHAVE_CONFIG_H=1 -isystem/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -pthread -MD -MQ src/mesa/libmesa.a.p/util_u_math.c.o -MF src/mesa/libmesa.a.p/util_u_math.c.o.d -o src/mesa/libmesa.a.p/util_u_math.c.o -c ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c >> | FAILED: [code=1] src/mesa/libmesa.a.p/util_u_math.c.o >> | gcc -Isrc/mesa/libmesa.a.p -Isrc/mesa -I../sources/virglrenderer-1.1.1/src/mesa -I../sources/virglrenderer-1.1.1/src/mesa/compat -I../sources/virglrenderer-1.1.1/src/mesa/pipe -I../sources/virglrenderer-1.1.1/src/mesa/util -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu11 -Werror=enum-int-mismatch -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pedantic -Wmissing-prototypes -Werror=incompatible-pointer-types -Werror=int-to-pointer-cast -Werror=switch -Wno-overlength-strings -Wno-missing-field-initializers -Werror=format -fvisibility=hidden -fno-strict-aliasing -imacros /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/build/config.h -DHAVE_CONFIG_H=1 -isystem/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -pthread -MD -MQ src/mesa/libmesa.a.p/util_u_math.c.o -MF src/mesa/libmesa.a.p/util_u_math.c.o.d -o src/mesa/libmesa.a.p/util_u_math.c.o -c ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c >> | In file included from ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads.h:64, >> | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_thread.h:35, >> | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_cpu_detect.h:40, >> | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c:32: >> | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:54:9: warning: ‘ONCE_FLAG_INIT’ redefined >> | 54 | #define ONCE_FLAG_INIT PTHREAD_ONCE_INIT >> | | ^~~~~~~~~~~~~~ >> | In file included from /usr/include/stdlib.h:1191, >> | from ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:29: >> | /usr/include/x86_64-linux-gnu/bits/types/once_flag.h:25:9: note: this is the location of the previous definition >> | 25 | #define ONCE_FLAG_INIT __ONCE_FLAG_INIT >> | | ^~~~~~~~~~~~~~ >> | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:69:25: error: conflicting types for ‘once_flag’; have ‘pthread_once_t’ {aka ‘int’} >> | 69 | typedef pthread_once_t once_flag; >> | | ^~~~~~~~~ >> | /usr/include/x86_64-linux-gnu/bits/types/once_flag.h:24:21: note: previous declaration of ‘once_flag’ with type ‘once_flag’ >> | 24 | typedef __once_flag once_flag; >> | | ^~~~~~~~~ >> | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:94:1: error: conflicting types for ‘call_once’; have ‘void(int *, void (*)(void))’ >> | 94 | call_once(once_flag *flag, void (*func)(void)) >> | | ^~~~~~~~~ >> | /usr/include/stdlib.h:1195:13: note: previous declaration of ‘call_once’ with type ‘void(once_flag *, void (*)(void))’ >> | 1195 | extern void call_once (once_flag *__flag, void (*__func)(void)); >> | | ^~~~~~~~~ >> >> Regards, >> >> -- >> Yoann Congal >> Smile ECS >> -- Yoann Congal Smile ECS ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 2026-04-10 7:41 ` Yoann Congal @ 2026-04-10 9:09 ` Martin Jansa 2026-04-10 9:28 ` Yoann Congal 2026-04-10 9:19 ` Yoann Congal 1 sibling, 1 reply; 19+ messages in thread From: Martin Jansa @ 2026-04-10 9:09 UTC (permalink / raw) To: Yoann Congal; +Cc: openembedded-core, Mathieu Dubois-Briand, Richard Purdie On Fri, Apr 10, 2026 at 9:42 AM Yoann Congal <yoann.congal@smile.fr> wrote: > > On Thu Apr 9, 2026 at 11:29 PM CEST, Martin Jansa wrote: > > On Thu, Apr 9, 2026 at 9:17 PM Yoann Congal <yoann.congal@smile.fr> wrote: > >> > >> On Thu Apr 9, 2026 at 5:28 PM CEST, Martin Jansa via lists.openembedded.org wrote: > >> > From: Martin Jansa <martin.jansa@gmail.com> > >> > > >> > glibc-2.43 isn't used in OE builds yet, but this fixes dtc-native: > >> > https://errors.yoctoproject.org/Errors/Details/903983/ > >> > > >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c: In function ‘overlay_fixup_phandle’: > >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:424:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > >> > 424 | sep = memchr(fixup_str, ':', fixup_len); > >> > | ^ > >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:434:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > >> > 434 | sep = memchr(name, ':', fixup_len); > >> > | ^ > >> > cc1: all warnings being treated as errors > >> > > >> > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > >> > Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> > >> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > >> > --- > >> > >> Hello, > >> > >> I've started a whinlatter bringup build on the new Ubuntu 26.04 worker > >> with this series applied: > >> https://autobuilder.yoctoproject.org/valkyrie/#/builders/96/builds/23 > >> > >> It got 2 errors (Other errors are most likely consequences of these ones): > >> > >> ERROR: shadow-native-4.18.0-r0 do_configure: configure failed: > >> https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 6269: > >> | checking for crypt in -lcrypt... no > >> | configure: error: crypt() not found > >> | NOTE: The following config.log files may provide further information. > >> | NOTE: /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/shadow-native/4.18.0/build/config.log > >> | ERROR: configure failed > >> | WARNING: exit code 1 from a shell command. > >> NOTE: recipe shadow-native-4.18.0-r0: task do_configure: Failed > > > > Hello, > > > > for shadow please read > > https://lists.openembedded.org/g/openembedded-core/message/234119 the > > important part: > > "libcrypt-dev is no longer installed as a dependency in my minimal docker image" > > I guess it's now missing on your ubuntu-26.04 host as well. > > It used to be typically installed by build-essential -> libc6-dev -> > > libcrypt-dev but not anymore since 2.42-7: > > > > 25.10 questing with 2.42-0ubuntu3.1: > > https://packages.ubuntu.com/questing/libc6-dev > > 26.04 resolute with 2.43-2ubuntu1: > > https://packages.ubuntu.com/resolute/libc6-dev > > > > https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog: > > ... > > glibc (2.42-7) unstable; urgency=medium > > > > [ Aurelien Jarno ] > > * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev > > dependency from libc6-dev. Thanks to Helmut Grohne for proposing that, > > doing an archive rebuild and filling the bug reports. > > * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static > > probes. > > * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of > > the obsolete termio interface. Closes: #1124068. > > * debian/rules.d/debhelper.mk: ensure that linker scripts work even when > > /usr is unmerged. Closes: #1120508 > > * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides, > > source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop > > unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0. > > * debian/control.in/main: drop Rules-Requires-Root: no, this is now the > > default. > > * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove > > the workaround for GLIBC_ABI_GNU_TLS. Closes: #1122038. > > * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt > > GLIBC_ABI_GNU_TLS. > > > > -- Aurelien Jarno <aurel32@debian.org> Sun, 04 Jan 2026 10:07:24 +0100 > > ... > > Hello, > > In that case, shouldn't we remove "virtual/crypt-native" from ASSUME_PROVIDED? > https://git.openembedded.org/openembedded-core/tree/meta/conf/bitbake.conf#n232 > > I've tried it but then libxcrypt-native fails to build with: > | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c: In function ‘_crypt_crypt_gost_yescrypt_rn’: > | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c:134:16: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > | 134 | char *hptr = strchr ((const char *) intbuf->retval + 3, '$'); > | | ^~~~~~ > | cc1: all warnings being treated as errors > > It looks like the fixes for that are on master but the patches don't > apply. > > Can you send an update series with those fixes? Patches for building libxcrypt-native? I still see virtual/crypt-native in ASSUME_PROVIDED in master, that's why I've added libcrypt-dev into the ubuntu-26.04 image at least until the same is resolved in wrynose/master. The same issue is in current master. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 2026-04-10 9:09 ` Martin Jansa @ 2026-04-10 9:28 ` Yoann Congal 2026-04-10 9:39 ` Martin Jansa 0 siblings, 1 reply; 19+ messages in thread From: Yoann Congal @ 2026-04-10 9:28 UTC (permalink / raw) To: Martin Jansa; +Cc: openembedded-core, Mathieu Dubois-Briand, Richard Purdie On Fri Apr 10, 2026 at 11:09 AM CEST, Martin Jansa wrote: > On Fri, Apr 10, 2026 at 9:42 AM Yoann Congal <yoann.congal@smile.fr> wrote: >> >> On Thu Apr 9, 2026 at 11:29 PM CEST, Martin Jansa wrote: >> > On Thu, Apr 9, 2026 at 9:17 PM Yoann Congal <yoann.congal@smile.fr> wrote: >> >> >> >> On Thu Apr 9, 2026 at 5:28 PM CEST, Martin Jansa via lists.openembedded.org wrote: >> >> > From: Martin Jansa <martin.jansa@gmail.com> >> >> > >> >> > glibc-2.43 isn't used in OE builds yet, but this fixes dtc-native: >> >> > https://errors.yoctoproject.org/Errors/Details/903983/ >> >> > >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c: In function ‘overlay_fixup_phandle’: >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:424:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] >> >> > 424 | sep = memchr(fixup_str, ':', fixup_len); >> >> > | ^ >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:434:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] >> >> > 434 | sep = memchr(name, ':', fixup_len); >> >> > | ^ >> >> > cc1: all warnings being treated as errors >> >> > >> >> > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> >> >> > Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> >> >> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> >> >> > --- >> >> >> >> Hello, >> >> >> >> I've started a whinlatter bringup build on the new Ubuntu 26.04 worker >> >> with this series applied: >> >> https://autobuilder.yoctoproject.org/valkyrie/#/builders/96/builds/23 >> >> >> >> It got 2 errors (Other errors are most likely consequences of these ones): >> >> >> >> ERROR: shadow-native-4.18.0-r0 do_configure: configure failed: >> >> https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 6269: >> >> | checking for crypt in -lcrypt... no >> >> | configure: error: crypt() not found >> >> | NOTE: The following config.log files may provide further information. >> >> | NOTE: /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/shadow-native/4.18.0/build/config.log >> >> | ERROR: configure failed >> >> | WARNING: exit code 1 from a shell command. >> >> NOTE: recipe shadow-native-4.18.0-r0: task do_configure: Failed >> > >> > Hello, >> > >> > for shadow please read >> > https://lists.openembedded.org/g/openembedded-core/message/234119 the >> > important part: >> > "libcrypt-dev is no longer installed as a dependency in my minimal docker image" >> > I guess it's now missing on your ubuntu-26.04 host as well. >> > It used to be typically installed by build-essential -> libc6-dev -> >> > libcrypt-dev but not anymore since 2.42-7: >> > >> > 25.10 questing with 2.42-0ubuntu3.1: >> > https://packages.ubuntu.com/questing/libc6-dev >> > 26.04 resolute with 2.43-2ubuntu1: >> > https://packages.ubuntu.com/resolute/libc6-dev >> > >> > https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog: >> > ... >> > glibc (2.42-7) unstable; urgency=medium >> > >> > [ Aurelien Jarno ] >> > * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev >> > dependency from libc6-dev. Thanks to Helmut Grohne for proposing that, >> > doing an archive rebuild and filling the bug reports. >> > * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static >> > probes. >> > * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of >> > the obsolete termio interface. Closes: #1124068. >> > * debian/rules.d/debhelper.mk: ensure that linker scripts work even when >> > /usr is unmerged. Closes: #1120508 >> > * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides, >> > source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop >> > unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0. >> > * debian/control.in/main: drop Rules-Requires-Root: no, this is now the >> > default. >> > * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove >> > the workaround for GLIBC_ABI_GNU_TLS. Closes: #1122038. >> > * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt >> > GLIBC_ABI_GNU_TLS. >> > >> > -- Aurelien Jarno <aurel32@debian.org> Sun, 04 Jan 2026 10:07:24 +0100 >> > ... >> >> Hello, >> >> In that case, shouldn't we remove "virtual/crypt-native" from ASSUME_PROVIDED? >> https://git.openembedded.org/openembedded-core/tree/meta/conf/bitbake.conf#n232 >> >> I've tried it but then libxcrypt-native fails to build with: >> | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c: In function ‘_crypt_crypt_gost_yescrypt_rn’: >> | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c:134:16: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] >> | 134 | char *hptr = strchr ((const char *) intbuf->retval + 3, '$'); >> | | ^~~~~~ >> | cc1: all warnings being treated as errors >> >> It looks like the fixes for that are on master but the patches don't >> apply. >> >> Can you send an update series with those fixes? > > > Patches for building libxcrypt-native? I still see > virtual/crypt-native in ASSUME_PROVIDED in master, that's why I've > added libcrypt-dev into the ubuntu-26.04 image at least until the same > is resolved in wrynose/master. The same issue is in current master. (Sorry, our mails crossed) I discussed that with Paul. He suggested to add libcrypt-dev as a host dependency instead (ie. what you describe). I agree (sorry about the sudden change of heart). Can you send the yocto-docs patch to do this? -- Yoann Congal Smile ECS ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 2026-04-10 9:28 ` Yoann Congal @ 2026-04-10 9:39 ` Martin Jansa 2026-04-10 9:44 ` Yoann Congal 0 siblings, 1 reply; 19+ messages in thread From: Martin Jansa @ 2026-04-10 9:39 UTC (permalink / raw) To: Yoann Congal; +Cc: openembedded-core, Mathieu Dubois-Briand, Richard Purdie On Fri, Apr 10, 2026 at 11:28 AM Yoann Congal <yoann.congal@smile.fr> wrote: > > On Fri Apr 10, 2026 at 11:09 AM CEST, Martin Jansa wrote: > > On Fri, Apr 10, 2026 at 9:42 AM Yoann Congal <yoann.congal@smile.fr> wrote: > >> > >> On Thu Apr 9, 2026 at 11:29 PM CEST, Martin Jansa wrote: > >> > On Thu, Apr 9, 2026 at 9:17 PM Yoann Congal <yoann.congal@smile.fr> wrote: > >> >> > >> >> On Thu Apr 9, 2026 at 5:28 PM CEST, Martin Jansa via lists.openembedded.org wrote: > >> >> > From: Martin Jansa <martin.jansa@gmail.com> > >> >> > > >> >> > glibc-2.43 isn't used in OE builds yet, but this fixes dtc-native: > >> >> > https://errors.yoctoproject.org/Errors/Details/903983/ > >> >> > > >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c: In function ‘overlay_fixup_phandle’: > >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:424:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > >> >> > 424 | sep = memchr(fixup_str, ':', fixup_len); > >> >> > | ^ > >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:434:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > >> >> > 434 | sep = memchr(name, ':', fixup_len); > >> >> > | ^ > >> >> > cc1: all warnings being treated as errors > >> >> > > >> >> > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > >> >> > Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> > >> >> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > >> >> > --- > >> >> > >> >> Hello, > >> >> > >> >> I've started a whinlatter bringup build on the new Ubuntu 26.04 worker > >> >> with this series applied: > >> >> https://autobuilder.yoctoproject.org/valkyrie/#/builders/96/builds/23 > >> >> > >> >> It got 2 errors (Other errors are most likely consequences of these ones): > >> >> > >> >> ERROR: shadow-native-4.18.0-r0 do_configure: configure failed: > >> >> https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 6269: > >> >> | checking for crypt in -lcrypt... no > >> >> | configure: error: crypt() not found > >> >> | NOTE: The following config.log files may provide further information. > >> >> | NOTE: /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/shadow-native/4.18.0/build/config.log > >> >> | ERROR: configure failed > >> >> | WARNING: exit code 1 from a shell command. > >> >> NOTE: recipe shadow-native-4.18.0-r0: task do_configure: Failed > >> > > >> > Hello, > >> > > >> > for shadow please read > >> > https://lists.openembedded.org/g/openembedded-core/message/234119 the > >> > important part: > >> > "libcrypt-dev is no longer installed as a dependency in my minimal docker image" > >> > I guess it's now missing on your ubuntu-26.04 host as well. > >> > It used to be typically installed by build-essential -> libc6-dev -> > >> > libcrypt-dev but not anymore since 2.42-7: > >> > > >> > 25.10 questing with 2.42-0ubuntu3.1: > >> > https://packages.ubuntu.com/questing/libc6-dev > >> > 26.04 resolute with 2.43-2ubuntu1: > >> > https://packages.ubuntu.com/resolute/libc6-dev > >> > > >> > https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog: > >> > ... > >> > glibc (2.42-7) unstable; urgency=medium > >> > > >> > [ Aurelien Jarno ] > >> > * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev > >> > dependency from libc6-dev. Thanks to Helmut Grohne for proposing that, > >> > doing an archive rebuild and filling the bug reports. > >> > * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static > >> > probes. > >> > * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of > >> > the obsolete termio interface. Closes: #1124068. > >> > * debian/rules.d/debhelper.mk: ensure that linker scripts work even when > >> > /usr is unmerged. Closes: #1120508 > >> > * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides, > >> > source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop > >> > unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0. > >> > * debian/control.in/main: drop Rules-Requires-Root: no, this is now the > >> > default. > >> > * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove > >> > the workaround for GLIBC_ABI_GNU_TLS. Closes: #1122038. > >> > * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt > >> > GLIBC_ABI_GNU_TLS. > >> > > >> > -- Aurelien Jarno <aurel32@debian.org> Sun, 04 Jan 2026 10:07:24 +0100 > >> > ... > >> > >> Hello, > >> > >> In that case, shouldn't we remove "virtual/crypt-native" from ASSUME_PROVIDED? > >> https://git.openembedded.org/openembedded-core/tree/meta/conf/bitbake.conf#n232 > >> > >> I've tried it but then libxcrypt-native fails to build with: > >> | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c: In function ‘_crypt_crypt_gost_yescrypt_rn’: > >> | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c:134:16: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > >> | 134 | char *hptr = strchr ((const char *) intbuf->retval + 3, '$'); > >> | | ^~~~~~ > >> | cc1: all warnings being treated as errors > >> > >> It looks like the fixes for that are on master but the patches don't > >> apply. > >> > >> Can you send an update series with those fixes? > > > > > > Patches for building libxcrypt-native? I still see > > virtual/crypt-native in ASSUME_PROVIDED in master, that's why I've > > added libcrypt-dev into the ubuntu-26.04 image at least until the same > > is resolved in wrynose/master. The same issue is in current master. > > (Sorry, our mails crossed) > > I discussed that with Paul. He suggested to add libcrypt-dev as a host > dependency instead (ie. what you describe). I agree (sorry about the > sudden change of heart). > > Can you send the yocto-docs patch to do this? Yes, done: https://lists.yoctoproject.org/g/docs/message/9213 ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 2026-04-10 9:39 ` Martin Jansa @ 2026-04-10 9:44 ` Yoann Congal 2026-04-10 10:09 ` Martin Jansa 0 siblings, 1 reply; 19+ messages in thread From: Yoann Congal @ 2026-04-10 9:44 UTC (permalink / raw) To: Martin Jansa; +Cc: openembedded-core, Mathieu Dubois-Briand, Richard Purdie On Fri Apr 10, 2026 at 11:39 AM CEST, Martin Jansa wrote: > On Fri, Apr 10, 2026 at 11:28 AM Yoann Congal <yoann.congal@smile.fr> wrote: >> >> On Fri Apr 10, 2026 at 11:09 AM CEST, Martin Jansa wrote: >> > On Fri, Apr 10, 2026 at 9:42 AM Yoann Congal <yoann.congal@smile.fr> wrote: >> >> >> >> On Thu Apr 9, 2026 at 11:29 PM CEST, Martin Jansa wrote: >> >> > On Thu, Apr 9, 2026 at 9:17 PM Yoann Congal <yoann.congal@smile.fr> wrote: >> >> >> >> >> >> On Thu Apr 9, 2026 at 5:28 PM CEST, Martin Jansa via lists.openembedded.org wrote: >> >> >> > From: Martin Jansa <martin.jansa@gmail.com> >> >> >> > >> >> >> > glibc-2.43 isn't used in OE builds yet, but this fixes dtc-native: >> >> >> > https://errors.yoctoproject.org/Errors/Details/903983/ >> >> >> > >> >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c: In function ‘overlay_fixup_phandle’: >> >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:424:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] >> >> >> > 424 | sep = memchr(fixup_str, ':', fixup_len); >> >> >> > | ^ >> >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:434:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] >> >> >> > 434 | sep = memchr(name, ':', fixup_len); >> >> >> > | ^ >> >> >> > cc1: all warnings being treated as errors >> >> >> > >> >> >> > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> >> >> >> > Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> >> >> >> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> >> >> >> > --- >> >> >> >> >> >> Hello, >> >> >> >> >> >> I've started a whinlatter bringup build on the new Ubuntu 26.04 worker >> >> >> with this series applied: >> >> >> https://autobuilder.yoctoproject.org/valkyrie/#/builders/96/builds/23 >> >> >> >> >> >> It got 2 errors (Other errors are most likely consequences of these ones): >> >> >> >> >> >> ERROR: shadow-native-4.18.0-r0 do_configure: configure failed: >> >> >> https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 6269: >> >> >> | checking for crypt in -lcrypt... no >> >> >> | configure: error: crypt() not found >> >> >> | NOTE: The following config.log files may provide further information. >> >> >> | NOTE: /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/shadow-native/4.18.0/build/config.log >> >> >> | ERROR: configure failed >> >> >> | WARNING: exit code 1 from a shell command. >> >> >> NOTE: recipe shadow-native-4.18.0-r0: task do_configure: Failed >> >> > >> >> > Hello, >> >> > >> >> > for shadow please read >> >> > https://lists.openembedded.org/g/openembedded-core/message/234119 the >> >> > important part: >> >> > "libcrypt-dev is no longer installed as a dependency in my minimal docker image" >> >> > I guess it's now missing on your ubuntu-26.04 host as well. >> >> > It used to be typically installed by build-essential -> libc6-dev -> >> >> > libcrypt-dev but not anymore since 2.42-7: >> >> > >> >> > 25.10 questing with 2.42-0ubuntu3.1: >> >> > https://packages.ubuntu.com/questing/libc6-dev >> >> > 26.04 resolute with 2.43-2ubuntu1: >> >> > https://packages.ubuntu.com/resolute/libc6-dev >> >> > >> >> > https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog: >> >> > ... >> >> > glibc (2.42-7) unstable; urgency=medium >> >> > >> >> > [ Aurelien Jarno ] >> >> > * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev >> >> > dependency from libc6-dev. Thanks to Helmut Grohne for proposing that, >> >> > doing an archive rebuild and filling the bug reports. >> >> > * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static >> >> > probes. >> >> > * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of >> >> > the obsolete termio interface. Closes: #1124068. >> >> > * debian/rules.d/debhelper.mk: ensure that linker scripts work even when >> >> > /usr is unmerged. Closes: #1120508 >> >> > * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides, >> >> > source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop >> >> > unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0. >> >> > * debian/control.in/main: drop Rules-Requires-Root: no, this is now the >> >> > default. >> >> > * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove >> >> > the workaround for GLIBC_ABI_GNU_TLS. Closes: #1122038. >> >> > * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt >> >> > GLIBC_ABI_GNU_TLS. >> >> > >> >> > -- Aurelien Jarno <aurel32@debian.org> Sun, 04 Jan 2026 10:07:24 +0100 >> >> > ... >> >> >> >> Hello, >> >> >> >> In that case, shouldn't we remove "virtual/crypt-native" from ASSUME_PROVIDED? >> >> https://git.openembedded.org/openembedded-core/tree/meta/conf/bitbake.conf#n232 >> >> >> >> I've tried it but then libxcrypt-native fails to build with: >> >> | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c: In function ‘_crypt_crypt_gost_yescrypt_rn’: >> >> | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c:134:16: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] >> >> | 134 | char *hptr = strchr ((const char *) intbuf->retval + 3, '$'); >> >> | | ^~~~~~ >> >> | cc1: all warnings being treated as errors >> >> >> >> It looks like the fixes for that are on master but the patches don't >> >> apply. >> >> >> >> Can you send an update series with those fixes? >> > >> > >> > Patches for building libxcrypt-native? I still see >> > virtual/crypt-native in ASSUME_PROVIDED in master, that's why I've >> > added libcrypt-dev into the ubuntu-26.04 image at least until the same >> > is resolved in wrynose/master. The same issue is in current master. >> >> (Sorry, our mails crossed) >> >> I discussed that with Paul. He suggested to add libcrypt-dev as a host >> dependency instead (ie. what you describe). I agree (sorry about the >> sudden change of heart). >> >> Can you send the yocto-docs patch to do this? > > Yes, done: > https://lists.yoctoproject.org/g/docs/message/9213 Awesome, thanks! Next, I will ask helpdesk to install libcrypt-dev on the ubuntu 26.04 worker and start the build with the added patch "virglrenderer: Fix build with glibc 2.43+" -- Yoann Congal Smile ECS ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 2026-04-10 9:44 ` Yoann Congal @ 2026-04-10 10:09 ` Martin Jansa 0 siblings, 0 replies; 19+ messages in thread From: Martin Jansa @ 2026-04-10 10:09 UTC (permalink / raw) To: Yoann Congal; +Cc: openembedded-core, Mathieu Dubois-Briand, Richard Purdie On Fri, Apr 10, 2026 at 11:44 AM Yoann Congal <yoann.congal@smile.fr> wrote: > > On Fri Apr 10, 2026 at 11:39 AM CEST, Martin Jansa wrote: > > On Fri, Apr 10, 2026 at 11:28 AM Yoann Congal <yoann.congal@smile.fr> wrote: > >> > >> On Fri Apr 10, 2026 at 11:09 AM CEST, Martin Jansa wrote: > >> > On Fri, Apr 10, 2026 at 9:42 AM Yoann Congal <yoann.congal@smile.fr> wrote: > >> >> > >> >> On Thu Apr 9, 2026 at 11:29 PM CEST, Martin Jansa wrote: > >> >> > On Thu, Apr 9, 2026 at 9:17 PM Yoann Congal <yoann.congal@smile.fr> wrote: > >> >> >> > >> >> >> On Thu Apr 9, 2026 at 5:28 PM CEST, Martin Jansa via lists.openembedded.org wrote: > >> >> >> > From: Martin Jansa <martin.jansa@gmail.com> > >> >> >> > > >> >> >> > glibc-2.43 isn't used in OE builds yet, but this fixes dtc-native: > >> >> >> > https://errors.yoctoproject.org/Errors/Details/903983/ > >> >> >> > > >> >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c: In function ‘overlay_fixup_phandle’: > >> >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:424:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > >> >> >> > 424 | sep = memchr(fixup_str, ':', fixup_len); > >> >> >> > | ^ > >> >> >> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:434:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > >> >> >> > 434 | sep = memchr(name, ':', fixup_len); > >> >> >> > | ^ > >> >> >> > cc1: all warnings being treated as errors > >> >> >> > > >> >> >> > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > >> >> >> > Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> > >> >> >> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > >> >> >> > --- > >> >> >> > >> >> >> Hello, > >> >> >> > >> >> >> I've started a whinlatter bringup build on the new Ubuntu 26.04 worker > >> >> >> with this series applied: > >> >> >> https://autobuilder.yoctoproject.org/valkyrie/#/builders/96/builds/23 > >> >> >> > >> >> >> It got 2 errors (Other errors are most likely consequences of these ones): > >> >> >> > >> >> >> ERROR: shadow-native-4.18.0-r0 do_configure: configure failed: > >> >> >> https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 6269: > >> >> >> | checking for crypt in -lcrypt... no > >> >> >> | configure: error: crypt() not found > >> >> >> | NOTE: The following config.log files may provide further information. > >> >> >> | NOTE: /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/shadow-native/4.18.0/build/config.log > >> >> >> | ERROR: configure failed > >> >> >> | WARNING: exit code 1 from a shell command. > >> >> >> NOTE: recipe shadow-native-4.18.0-r0: task do_configure: Failed > >> >> > > >> >> > Hello, > >> >> > > >> >> > for shadow please read > >> >> > https://lists.openembedded.org/g/openembedded-core/message/234119 the > >> >> > important part: > >> >> > "libcrypt-dev is no longer installed as a dependency in my minimal docker image" > >> >> > I guess it's now missing on your ubuntu-26.04 host as well. > >> >> > It used to be typically installed by build-essential -> libc6-dev -> > >> >> > libcrypt-dev but not anymore since 2.42-7: > >> >> > > >> >> > 25.10 questing with 2.42-0ubuntu3.1: > >> >> > https://packages.ubuntu.com/questing/libc6-dev > >> >> > 26.04 resolute with 2.43-2ubuntu1: > >> >> > https://packages.ubuntu.com/resolute/libc6-dev > >> >> > > >> >> > https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog: > >> >> > ... > >> >> > glibc (2.42-7) unstable; urgency=medium > >> >> > > >> >> > [ Aurelien Jarno ] > >> >> > * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev > >> >> > dependency from libc6-dev. Thanks to Helmut Grohne for proposing that, > >> >> > doing an archive rebuild and filling the bug reports. > >> >> > * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static > >> >> > probes. > >> >> > * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of > >> >> > the obsolete termio interface. Closes: #1124068. > >> >> > * debian/rules.d/debhelper.mk: ensure that linker scripts work even when > >> >> > /usr is unmerged. Closes: #1120508 > >> >> > * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides, > >> >> > source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop > >> >> > unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0. > >> >> > * debian/control.in/main: drop Rules-Requires-Root: no, this is now the > >> >> > default. > >> >> > * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove > >> >> > the workaround for GLIBC_ABI_GNU_TLS. Closes: #1122038. > >> >> > * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt > >> >> > GLIBC_ABI_GNU_TLS. > >> >> > > >> >> > -- Aurelien Jarno <aurel32@debian.org> Sun, 04 Jan 2026 10:07:24 +0100 > >> >> > ... > >> >> > >> >> Hello, > >> >> > >> >> In that case, shouldn't we remove "virtual/crypt-native" from ASSUME_PROVIDED? > >> >> https://git.openembedded.org/openembedded-core/tree/meta/conf/bitbake.conf#n232 > >> >> > >> >> I've tried it but then libxcrypt-native fails to build with: > >> >> | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c: In function ‘_crypt_crypt_gost_yescrypt_rn’: > >> >> | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c:134:16: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > >> >> | 134 | char *hptr = strchr ((const char *) intbuf->retval + 3, '$'); > >> >> | | ^~~~~~ > >> >> | cc1: all warnings being treated as errors > >> >> > >> >> It looks like the fixes for that are on master but the patches don't > >> >> apply. > >> >> > >> >> Can you send an update series with those fixes? > >> > > >> > > >> > Patches for building libxcrypt-native? I still see > >> > virtual/crypt-native in ASSUME_PROVIDED in master, that's why I've > >> > added libcrypt-dev into the ubuntu-26.04 image at least until the same > >> > is resolved in wrynose/master. The same issue is in current master. > >> > >> (Sorry, our mails crossed) > >> > >> I discussed that with Paul. He suggested to add libcrypt-dev as a host > >> dependency instead (ie. what you describe). I agree (sorry about the > >> sudden change of heart). > >> > >> Can you send the yocto-docs patch to do this? > > > > Yes, done: > > https://lists.yoctoproject.org/g/docs/message/9213 > > Awesome, thanks! > Next, I will ask helpdesk to install libcrypt-dev on the ubuntu 26.04 > worker and start the build with the added patch > "virglrenderer: Fix build with glibc 2.43+" Sounds good, thanks. I've also sent the libxcrypt-native fixes for whinlatter and scarthgap (slightly modified cherry-picks from master). It's not needed to build any of my images, but as you already noticed them failing on 26.04 someone else might need them. Cheers, ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 2026-04-10 7:41 ` Yoann Congal 2026-04-10 9:09 ` Martin Jansa @ 2026-04-10 9:19 ` Yoann Congal 1 sibling, 0 replies; 19+ messages in thread From: Yoann Congal @ 2026-04-10 9:19 UTC (permalink / raw) To: Yoann Congal, Martin Jansa Cc: openembedded-core, Mathieu Dubois-Briand, Richard Purdie, Paul Barker On Fri Apr 10, 2026 at 9:41 AM CEST, Yoann Congal wrote: > On Thu Apr 9, 2026 at 11:29 PM CEST, Martin Jansa wrote: >> On Thu, Apr 9, 2026 at 9:17 PM Yoann Congal <yoann.congal@smile.fr> wrote: >>> >>> On Thu Apr 9, 2026 at 5:28 PM CEST, Martin Jansa via lists.openembedded.org wrote: >>> > From: Martin Jansa <martin.jansa@gmail.com> >>> > >>> > glibc-2.43 isn't used in OE builds yet, but this fixes dtc-native: >>> > https://errors.yoctoproject.org/Errors/Details/903983/ >>> > >>> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c: In function ‘overlay_fixup_phandle’: >>> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:424:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] >>> > 424 | sep = memchr(fixup_str, ':', fixup_len); >>> > | ^ >>> > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:434:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] >>> > 434 | sep = memchr(name, ':', fixup_len); >>> > | ^ >>> > cc1: all warnings being treated as errors >>> > >>> > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> >>> > Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> >>> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> >>> > --- >>> >>> Hello, >>> >>> I've started a whinlatter bringup build on the new Ubuntu 26.04 worker >>> with this series applied: >>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/96/builds/23 >>> >>> It got 2 errors (Other errors are most likely consequences of these ones): >>> >>> ERROR: shadow-native-4.18.0-r0 do_configure: configure failed: >>> https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 6269: >>> | checking for crypt in -lcrypt... no >>> | configure: error: crypt() not found >>> | NOTE: The following config.log files may provide further information. >>> | NOTE: /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/shadow-native/4.18.0/build/config.log >>> | ERROR: configure failed >>> | WARNING: exit code 1 from a shell command. >>> NOTE: recipe shadow-native-4.18.0-r0: task do_configure: Failed >> >> Hello, >> >> for shadow please read >> https://lists.openembedded.org/g/openembedded-core/message/234119 the >> important part: >> "libcrypt-dev is no longer installed as a dependency in my minimal docker image" >> I guess it's now missing on your ubuntu-26.04 host as well. >> It used to be typically installed by build-essential -> libc6-dev -> >> libcrypt-dev but not anymore since 2.42-7: >> >> 25.10 questing with 2.42-0ubuntu3.1: >> https://packages.ubuntu.com/questing/libc6-dev >> 26.04 resolute with 2.43-2ubuntu1: >> https://packages.ubuntu.com/resolute/libc6-dev >> >> https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog: >> ... >> glibc (2.42-7) unstable; urgency=medium >> >> [ Aurelien Jarno ] >> * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev >> dependency from libc6-dev. Thanks to Helmut Grohne for proposing that, >> doing an archive rebuild and filling the bug reports. >> * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static >> probes. >> * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of >> the obsolete termio interface. Closes: #1124068. >> * debian/rules.d/debhelper.mk: ensure that linker scripts work even when >> /usr is unmerged. Closes: #1120508 >> * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides, >> source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop >> unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0. >> * debian/control.in/main: drop Rules-Requires-Root: no, this is now the >> default. >> * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove >> the workaround for GLIBC_ABI_GNU_TLS. Closes: #1122038. >> * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt >> GLIBC_ABI_GNU_TLS. >> >> -- Aurelien Jarno <aurel32@debian.org> Sun, 04 Jan 2026 10:07:24 +0100 >> ... > > Hello, > > In that case, shouldn't we remove "virtual/crypt-native" from ASSUME_PROVIDED? > https://git.openembedded.org/openembedded-core/tree/meta/conf/bitbake.conf#n232 > > I've tried it but then libxcrypt-native fails to build with: > | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c: In function ‘_crypt_crypt_gost_yescrypt_rn’: > | ../sources/libxcrypt-4.4.38/lib/crypt-gost-yescrypt.c:134:16: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > | 134 | char *hptr = strchr ((const char *) intbuf->retval + 3, '$'); > | | ^~~~~~ > | cc1: all warnings being treated as errors > > It looks like the fixes for that are on master but the patches don't > apply. > > Can you send an update series with those fixes? I discussed that with Paul. He suggested to add libcrypt-dev as a host dependency instead. I agree (sorry about the sudden change of heart). Can you send the yocto-docs patch to do this? > > Thanks! > >> >> >> I'll have a look at virglrenderer-native tomorrow. khem already fixed it in: >> https://gitlab.freedesktop.org/virgl/virglrenderer/-/commit/3f0f775edb2df5ea54c37863286ad565ccddb276 >> https://git.openembedded.org/openembedded-core/commit/?id=8e85dc6b7f5f7668a610b5fd3754c716f0af65b0 >> https://git.openembedded.org/openembedded-core/commit/?id=5ff5aac9ed9e53a2e06515cc480c7d89a8aa3171 >> will add a backport in whinlatter and possibly scarthgap as well. >> >> Regards, >> >>> ERROR: virglrenderer-native-1.1.1-r0 do_compile: Execution of '/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/temp/run.do_compile.2048675' failed with exit code 1 >>> https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 29545: >>> | [4/57] gcc -Isrc/mesa/libmesa.a.p -Isrc/mesa -I../sources/virglrenderer-1.1.1/src/mesa -I../sources/virglrenderer-1.1.1/src/mesa/compat -I../sources/virglrenderer-1.1.1/src/mesa/pipe -I../sources/virglrenderer-1.1.1/src/mesa/util -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu11 -Werror=enum-int-mismatch -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pedantic -Wmissing-prototypes -Werror=incompatible-pointer-types -Werror=int-to-pointer-cast -Werror=switch -Wno-overlength-strings -Wno-missing-field-initializers -Werror=format -fvisibility=hidden -fno-strict-aliasing -imacros /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/build/config.h -DHAVE_CONFIG_H=1 -isystem/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -pthread -MD -MQ src/mesa/libmesa.a.p/util_u_math.c.o -MF src/mesa/libmesa.a.p/util_u_math.c.o.d -o src/mesa/libmesa.a.p/util_u_math.c.o -c ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c >>> | FAILED: [code=1] src/mesa/libmesa.a.p/util_u_math.c.o >>> | gcc -Isrc/mesa/libmesa.a.p -Isrc/mesa -I../sources/virglrenderer-1.1.1/src/mesa -I../sources/virglrenderer-1.1.1/src/mesa/compat -I../sources/virglrenderer-1.1.1/src/mesa/pipe -I../sources/virglrenderer-1.1.1/src/mesa/util -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu11 -Werror=enum-int-mismatch -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pedantic -Wmissing-prototypes -Werror=incompatible-pointer-types -Werror=int-to-pointer-cast -Werror=switch -Wno-overlength-strings -Wno-missing-field-initializers -Werror=format -fvisibility=hidden -fno-strict-aliasing -imacros /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/build/config.h -DHAVE_CONFIG_H=1 -isystem/srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/virglrenderer-native/1.1.1/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -pthread -MD -MQ src/mesa/libmesa.a.p/util_u_math.c.o -MF src/mesa/libmesa.a.p/util_u_math.c.o.d -o src/mesa/libmesa.a.p/util_u_math.c.o -c ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c >>> | In file included from ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads.h:64, >>> | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_thread.h:35, >>> | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_cpu_detect.h:40, >>> | from ../sources/virglrenderer-1.1.1/src/mesa/util/u_math.c:32: >>> | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:54:9: warning: ‘ONCE_FLAG_INIT’ redefined >>> | 54 | #define ONCE_FLAG_INIT PTHREAD_ONCE_INIT >>> | | ^~~~~~~~~~~~~~ >>> | In file included from /usr/include/stdlib.h:1191, >>> | from ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:29: >>> | /usr/include/x86_64-linux-gnu/bits/types/once_flag.h:25:9: note: this is the location of the previous definition >>> | 25 | #define ONCE_FLAG_INIT __ONCE_FLAG_INIT >>> | | ^~~~~~~~~~~~~~ >>> | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:69:25: error: conflicting types for ‘once_flag’; have ‘pthread_once_t’ {aka ‘int’} >>> | 69 | typedef pthread_once_t once_flag; >>> | | ^~~~~~~~~ >>> | /usr/include/x86_64-linux-gnu/bits/types/once_flag.h:24:21: note: previous declaration of ‘once_flag’ with type ‘once_flag’ >>> | 24 | typedef __once_flag once_flag; >>> | | ^~~~~~~~~ >>> | ../sources/virglrenderer-1.1.1/src/mesa/compat/c11/threads_posix.h:94:1: error: conflicting types for ‘call_once’; have ‘void(int *, void (*)(void))’ >>> | 94 | call_once(once_flag *flag, void (*func)(void)) >>> | | ^~~~~~~~~ >>> | /usr/include/stdlib.h:1195:13: note: previous declaration of ‘call_once’ with type ‘void(once_flag *, void (*)(void))’ >>> | 1195 | extern void call_once (once_flag *__flag, void (*__func)(void)); >>> | | ^~~~~~~~~ >>> >>> Regards, >>> >>> -- >>> Yoann Congal >>> Smile ECS >>> -- Yoann Congal Smile ECS ^ permalink raw reply [flat|nested] 19+ messages in thread
[parent not found: <18A4CD91CED0CFD1.657799@lists.openembedded.org>]
* Re: [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 [not found] ` <18A4CD91CED0CFD1.657799@lists.openembedded.org> @ 2026-04-10 6:14 ` Martin Jansa 0 siblings, 0 replies; 19+ messages in thread From: Martin Jansa @ 2026-04-10 6:14 UTC (permalink / raw) To: martin.jansa Cc: Yoann Congal, openembedded-core, Mathieu Dubois-Briand, Richard Purdie On Thu, Apr 9, 2026 at 11:29 PM Martin Jansa via lists.openembedded.org <martin.jansa=gmail.com@lists.openembedded.org> wrote: > > On Thu, Apr 9, 2026 at 9:17 PM Yoann Congal <yoann.congal@smile.fr> wrote: > > > > On Thu Apr 9, 2026 at 5:28 PM CEST, Martin Jansa via lists.openembedded.org wrote: > > > From: Martin Jansa <martin.jansa@gmail.com> > > > > > > glibc-2.43 isn't used in OE builds yet, but this fixes dtc-native: > > > https://errors.yoctoproject.org/Errors/Details/903983/ > > > > > > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c: In function ‘overlay_fixup_phandle’: > > > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:424:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > > > 424 | sep = memchr(fixup_str, ':', fixup_len); > > > | ^ > > > ../sources/dtc-1.7.2/libfdt/fdt_overlay.c:434:21: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] > > > 434 | sep = memchr(name, ':', fixup_len); > > > | ^ > > > cc1: all warnings being treated as errors > > > > > > Signed-off-by: Martin Jansa <martin.jansa@gmail.com> > > > Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> > > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > > > --- > > > > Hello, > > > > I've started a whinlatter bringup build on the new Ubuntu 26.04 worker > > with this series applied: > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/96/builds/23 > > > > It got 2 errors (Other errors are most likely consequences of these ones): > > > > ERROR: shadow-native-4.18.0-r0 do_configure: configure failed: > > https://autobuilder.yoctoproject.org/valkyrie/?#/builders/96/builds/23/steps/12/logs/stdio line 6269: > > | checking for crypt in -lcrypt... no > > | configure: error: crypt() not found > > | NOTE: The following config.log files may provide further information. > > | NOTE: /srv/pokybuild/yocto-worker/bringup/build/build/tmp/work/x86_64-linux/shadow-native/4.18.0/build/config.log > > | ERROR: configure failed > > | WARNING: exit code 1 from a shell command. > > NOTE: recipe shadow-native-4.18.0-r0: task do_configure: Failed > > Hello, > > for shadow please read > https://lists.openembedded.org/g/openembedded-core/message/234119 the > important part: > "libcrypt-dev is no longer installed as a dependency in my minimal docker image" > I guess it's now missing on your ubuntu-26.04 host as well. > It used to be typically installed by build-essential -> libc6-dev -> > libcrypt-dev but not anymore since 2.42-7: > > 25.10 questing with 2.42-0ubuntu3.1: > https://packages.ubuntu.com/questing/libc6-dev > 26.04 resolute with 2.43-2ubuntu1: > https://packages.ubuntu.com/resolute/libc6-dev > > https://changelogs.ubuntu.com/changelogs/pool/main/g/glibc/glibc_2.43-2ubuntu1/changelog: > ... > glibc (2.42-7) unstable; urgency=medium > > [ Aurelien Jarno ] > * debian/control.in/libc, debian/rules.d/debhelper.mk: drop libcrypt-dev > dependency from libc6-dev. Thanks to Helmut Grohne for proposing that, > doing an archive rebuild and filling the bug reports. > * debian/control.in/main, debian/sysdeps/linux.mk: enable SystemTap static > probes. > * debian/debhelper.in/libc-dev.NEWS: add a NEWS entry about the removal of > the obsolete termio interface. Closes: #1124068. > * debian/rules.d/debhelper.mk: ensure that linker scripts work even when > /usr is unmerged. Closes: #1120508 > * debian/debhelper.in/libc-dev{,-alt}.lintian-overrides, > source/lintian-overrides, rules.d/debhelper.mk, salsa-ci.yml: drop > unpack-message-for-{orig,source} overrides, fixed in lintian 2.128.0. > * debian/control.in/main: drop Rules-Requires-Root: no, this is now the > default. > * debian/libc6.symbols.i386, debian/libc6-i386.symbols.{amd64,x32}: remove > the workaround for GLIBC_ABI_GNU_TLS. Closes: #1122038. > * debian/control.in/{libc,i386}: ensure that libdpkg-perl is fixed wrt > GLIBC_ABI_GNU_TLS. > > -- Aurelien Jarno <aurel32@debian.org> Sun, 04 Jan 2026 10:07:24 +0100 > ... > > > I'll have a look at virglrenderer-native tomorrow. khem already fixed it in: > https://gitlab.freedesktop.org/virgl/virglrenderer/-/commit/3f0f775edb2df5ea54c37863286ad565ccddb276 > https://git.openembedded.org/openembedded-core/commit/?id=8e85dc6b7f5f7668a610b5fd3754c716f0af65b0 > https://git.openembedded.org/openembedded-core/commit/?id=5ff5aac9ed9e53a2e06515cc480c7d89a8aa3171 > will add a backport in whinlatter and possibly scarthgap as well. Backport for whinlatter sent: https://lists.openembedded.org/g/openembedded-core/message/234990 for scarthgap there is a similar issue in mesa-native first, will send it later. Cheers, ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2026-04-10 10:10 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-09 15:28 [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 martin.jansa
2026-04-09 15:28 ` [whinlatter][PATCH 2/9] pseudo: Add fix for glibc 2.43 martin.jansa
2026-04-09 15:28 ` [whinlatter][PATCH 3/9] yocto-uninative: Update to 5.1 " martin.jansa
2026-04-09 15:28 ` [whinlatter][PATCH 4/9] m4: backport 3 gnulib changes to fix build with glibc-2.43 on host martin.jansa
2026-04-09 15:28 ` [whinlatter][PATCH 5/9] gettext: backport " martin.jansa
2026-04-09 15:28 ` [whinlatter][PATCH 6/9] util-linux: backport fix to " martin.jansa
2026-04-09 15:28 ` [whinlatter][PATCH 7/9] systemd: " martin.jansa
2026-04-09 15:28 ` [whinlatter][PATCH 8/9] gcc: backport a fix for building with gcc-16 martin.jansa
2026-04-09 15:28 ` [whinlatter][PATCH 9/9] binutils: backport patch to fix build with glibc-2.43 on host martin.jansa
2026-04-09 19:17 ` [OE-core] [whinlatter][PATCH 1/9] dtc: backport fix for build with glibc-2.43 Yoann Congal
2026-04-09 21:29 ` Martin Jansa
2026-04-10 7:41 ` Yoann Congal
2026-04-10 9:09 ` Martin Jansa
2026-04-10 9:28 ` Yoann Congal
2026-04-10 9:39 ` Martin Jansa
2026-04-10 9:44 ` Yoann Congal
2026-04-10 10:09 ` Martin Jansa
2026-04-10 9:19 ` Yoann Congal
[not found] ` <18A4CD91CED0CFD1.657799@lists.openembedded.org>
2026-04-10 6:14 ` Martin Jansa
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox