public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH 1/3] m4: upgrade to 1.4.21
@ 2026-03-05 18:03 martin.jansa
  2026-03-05 18:03 ` [PATCH 2/3] dtc: backport fix for build with glibc-2.43 martin.jansa
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: martin.jansa @ 2026-03-05 18:03 UTC (permalink / raw)
  To: openembedded-core; +Cc: Martin Jansa

From: Martin Jansa <martin.jansa@gmail.com>

https://lists.gnu.org/archive/html/m4-announce/2026-02/msg00000.html
This release is being made mainly to cater to recent glibc changes in
light of the C23 language standard.  However, it also includes fixes
for some corner-case bugs in eval and when using the defn macro on
builtins.

Fixes m4-native builds on hosts with glibc-2.43 like:
./stdlib.h:827:20: error: expected identifier or '(' before '_Generic'
./string.h:777:20: error: expected identifier or '(' before '_Generic'

Remove 0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
which is included in gnulib revision used by m4 since:
https://gitweb.git.savannah.gnu.org/gitweb/?p=m4.git;a=commit;h=beee8d26382460010338c37f9dd9f823aa9f4ee8

LIC_FILES_CHKSUM was updated for barem4.m4 and testbarem4.m4 from:
https://gitweb.git.savannah.gnu.org/gitweb/?p=m4.git;a=blobdiff;f=examples/COPYING;h=e623b2b9394cbd1784a4964bbac105050296f33b;hp=7e73a1219b542fa035facc47cdb3dd81132e6373;hb=900a90f624cee4a8c1c02c4d6a61ef1ed26a17d1;hpb=c7b96d682958532c4eb2d5c2d81bb6ac342fd410

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
 .../m4/{m4-1.4.20.inc => m4-1.4.21.inc}       |   5 +-
 ...4-native_1.4.20.bb => m4-native_1.4.21.bb} |   0
 ...gcc-Wformat-security-warnings-with-d.patch | 133 ------------------
 .../m4/{m4_1.4.20.bb => m4_1.4.21.bb}         |   0
 4 files changed, 2 insertions(+), 136 deletions(-)
 rename meta/recipes-devtools/m4/{m4-1.4.20.inc => m4-1.4.21.inc} (90%)
 rename meta/recipes-devtools/m4/{m4-native_1.4.20.bb => m4-native_1.4.21.bb} (100%)
 delete mode 100644 meta/recipes-devtools/m4/m4/0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
 rename meta/recipes-devtools/m4/{m4_1.4.20.bb => m4_1.4.21.bb} (100%)

diff --git a/meta/recipes-devtools/m4/m4-1.4.20.inc b/meta/recipes-devtools/m4/m4-1.4.21.inc
similarity index 90%
rename from meta/recipes-devtools/m4/m4-1.4.20.inc
rename to meta/recipes-devtools/m4/m4-1.4.21.inc
index 5c4ba09288..ce9fe2be8e 100644
--- a/meta/recipes-devtools/m4/m4-1.4.20.inc
+++ b/meta/recipes-devtools/m4/m4-1.4.21.inc
@@ -7,19 +7,18 @@ GNU M4 also has built-in functions for including files, running shell commands,
 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 \
            "
 SRC_URI:append:class-target = " file://run-ptest \
                                 file://0001-test-c32ispunct-Check-for-musl-along-with-glibc.patch \
                                 file://serial-tests-config.patch \
                               "
 
-SRC_URI[sha256sum] = "6ac4fc31ce440debe63987c2ebbf9d7b6634e67a7c3279257dc7361de8bdb3ef"
+SRC_URI[sha256sum] = "38ae59f7a30bf9c108193cc5c25fbb06014f21e230c7ede2eff614f7b7c37ed8"
 
 LICENSE = "GPL-3.0-only"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464\
-	            file://examples/COPYING;md5=4031593b2166d6c47cae282d944a7ede"
+	            file://examples/COPYING;md5=005f2e201a0526c1d1d79dd6303ecf23"
 
 EXTRA_OECONF += "--without-libsigsegv-prefix"
 
diff --git a/meta/recipes-devtools/m4/m4-native_1.4.20.bb b/meta/recipes-devtools/m4/m4-native_1.4.21.bb
similarity index 100%
rename from meta/recipes-devtools/m4/m4-native_1.4.20.bb
rename to meta/recipes-devtools/m4/m4-native_1.4.21.bb
diff --git a/meta/recipes-devtools/m4/m4/0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch b/meta/recipes-devtools/m4/m4/0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
deleted file mode 100644
index 6fad05041f..0000000000
--- a/meta/recipes-devtools/m4/m4/0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From c4dc0ab4424fca31635b7837b1c180f7d3df8ede Mon Sep 17 00:00:00 2001
-From: Bruno Haible <bruno@clisp.org>
-Date: Wed, 28 May 2025 15:14:07 +0200
-Subject: [PATCH] gettext-h: Avoid gcc -Wformat-security warnings with
- --disable-nls.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Reported by Holger Hoffstätte <holger@applied-asynchrony.com> in
-<https://lists.gnu.org/archive/html/bug-gnulib/2025-05/msg00225.html>.
-
-* lib/gettext.h (gettext, dgettext, dcgettext): With gcc in C mode,
-define these as inline functions.
-* lib/sigpipe-die.c (sigpipe_die): Use translated string as a format
-string, relying on the format string checking done by 'msgfmt -c'.
-* lib/xmemcoll.c (collate_error): Revert commit from 2025-01-17.
-* lib/xprintf.c (xvprintf, xvfprintf): Likewise.
-* lib/openat-die.c (openat_save_fail, openat_restore_fail): Revert
-commit from 2024-12-10.
-
-Upstream-Status: Backport [https://cgit.git.savannah.gnu.org/cgit/gnulib.git/commit/?id=6e5015dd557b20ae4a0829c4bf78480ce2f4cb04]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- lib/gettext.h    | 49 ++++++++++++++++++++++++++++++++++++------------
- lib/openat-die.c |  4 ++--
- lib/xprintf.c    |  4 ++--
- 3 files changed, 41 insertions(+), 16 deletions(-)
-
-diff --git a/lib/gettext.h b/lib/gettext.h
-index ea0c27e..bb3d975 100644
---- a/lib/gettext.h
-+++ b/lib/gettext.h
-@@ -59,18 +59,43 @@
- #  endif
- # endif
- 
--/* Disabled NLS.
--   The casts to 'const char *' serve the purpose of producing warnings
--   for invalid uses of the value returned from these functions.
--   On pre-ANSI systems without 'const', the config.h file is supposed to
--   contain "#define const".  */
--# undef gettext
--# define gettext(Msgid) ((const char *) (Msgid))
--# undef dgettext
--# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid))
--# undef dcgettext
--# define dcgettext(Domainname, Msgid, Category) \
--    ((void) (Category), dgettext (Domainname, Msgid))
-+/* Disabled NLS.  */
-+# if defined __GNUC__ && !defined __clang__ && !defined __cplusplus
-+/* Use inline functions, to avoid warnings
-+     warning: format not a string literal and no format arguments
-+   that don't occur with enabled NLS.  */
-+__attribute__ ((__always_inline__, __gnu_inline__)) extern inline
-+const char *
-+gettext (const char *msgid)
-+{
-+  return msgid;
-+}
-+__attribute__ ((__always_inline__, __gnu_inline__)) extern inline
-+const char *
-+dgettext (const char *domain, const char *msgid)
-+{
-+  (void) domain;
-+  return msgid;
-+}
-+__attribute__ ((__always_inline__, __gnu_inline__)) extern inline
-+const char *
-+dcgettext (const char *domain, const char *msgid, int category)
-+{
-+  (void) domain;
-+  (void) category;
-+  return msgid;
-+}
-+# else
-+/* The casts to 'const char *' serve the purpose of producing warnings
-+   for invalid uses of the value returned from these functions.  */
-+#  undef gettext
-+#  define gettext(Msgid) ((const char *) (Msgid))
-+#  undef dgettext
-+#  define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid))
-+#  undef dcgettext
-+#  define dcgettext(Domainname, Msgid, Category) \
-+     ((void) (Category), dgettext (Domainname, Msgid))
-+# endif
- # undef ngettext
- # define ngettext(Msgid1, Msgid2, N) \
-     ((N) == 1 \
-diff --git a/lib/openat-die.c b/lib/openat-die.c
-index 3fbb5d8..79a5b23 100644
---- a/lib/openat-die.c
-+++ b/lib/openat-die.c
-@@ -34,7 +34,7 @@ _Noreturn void
- openat_save_fail (int errnum)
- {
- #ifndef GNULIB_LIBPOSIX
--  error (exit_failure, errnum, "%s",
-+  error (exit_failure, errnum,
-          _("unable to record current working directory"));
- #endif
-   /* _Noreturn cannot be applied to error, since it returns
-@@ -53,7 +53,7 @@ _Noreturn void
- openat_restore_fail (int errnum)
- {
- #ifndef GNULIB_LIBPOSIX
--  error (exit_failure, errnum, "%s",
-+  error (exit_failure, errnum,
-          _("failed to return to initial working directory"));
- #endif
- 
-diff --git a/lib/xprintf.c b/lib/xprintf.c
-index 4d9a3e5..790af53 100644
---- a/lib/xprintf.c
-+++ b/lib/xprintf.c
-@@ -45,7 +45,7 @@ xvprintf (char const *restrict format, va_list args)
- {
-   off64_t retval = vzprintf (format, args);
-   if (retval < 0 && ! ferror (stdout))
--    error (exit_failure, errno, "%s", _("cannot perform formatted output"));
-+    error (exit_failure, errno, _("cannot perform formatted output"));
- 
-   return retval;
- }
-@@ -67,7 +67,7 @@ xvfprintf (FILE *restrict stream, char const *restrict format, va_list args)
- {
-   off64_t retval = vfzprintf (stream, format, args);
-   if (retval < 0 && ! ferror (stream))
--    error (exit_failure, errno, "%s", _("cannot perform formatted output"));
-+    error (exit_failure, errno, _("cannot perform formatted output"));
- 
-   return retval;
- }
diff --git a/meta/recipes-devtools/m4/m4_1.4.20.bb b/meta/recipes-devtools/m4/m4_1.4.21.bb
similarity index 100%
rename from meta/recipes-devtools/m4/m4_1.4.20.bb
rename to meta/recipes-devtools/m4/m4_1.4.21.bb


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

* [PATCH 2/3] dtc: backport fix for build with glibc-2.43
  2026-03-05 18:03 [PATCH 1/3] m4: upgrade to 1.4.21 martin.jansa
@ 2026-03-05 18:03 ` martin.jansa
  2026-03-05 18:03 ` [PATCH 3/3] libunistring: upgrade to 1.4.2 martin.jansa
  2026-03-07 15:00 ` [OE-core] [PATCH 1/3] m4: upgrade to 1.4.21 Robert Yang
  2 siblings, 0 replies; 6+ messages in thread
From: martin.jansa @ 2026-03-05 18:03 UTC (permalink / raw)
  To: openembedded-core; +Cc: Martin Jansa

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>
---
 .../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] 6+ messages in thread

* [PATCH 3/3] libunistring: upgrade to 1.4.2
  2026-03-05 18:03 [PATCH 1/3] m4: upgrade to 1.4.21 martin.jansa
  2026-03-05 18:03 ` [PATCH 2/3] dtc: backport fix for build with glibc-2.43 martin.jansa
@ 2026-03-05 18:03 ` martin.jansa
  2026-03-07 15:00 ` [OE-core] [PATCH 1/3] m4: upgrade to 1.4.21 Robert Yang
  2 siblings, 0 replies; 6+ messages in thread
From: martin.jansa @ 2026-03-05 18:03 UTC (permalink / raw)
  To: openembedded-core; +Cc: Martin Jansa

From: Martin Jansa <martin.jansa@gmail.com>

https://lists.gnu.org/archive/html/bug-libunistring/2026-02/msg00001.html

glibc-2.43 isn't used in OE builds yet, but this fixes libunistring-native:
https://errors.yoctoproject.org/Errors/Details/903980/
unistring-native/1.4.1/recipe-sysroot-native/usr/include  -isystemTOPDIR/tmp/work/x86_64-linux/libunistring-native/1.4.1/recipe-sysroot-native/usr/include -O2 -pipe -c ../../sources/libunistring-1.4.1/lib/amemxfrm.c
In file included from /usr/include/features.h:540,
                 from /usr/include/errno.h:25,
                 from ../../sources/libunistring-1.4.1/lib/amemxfrm.c:23:
./stdlib.h:807:20: error: expected identifier or ‘(’ before ‘_Generic’
  807 | _GL_EXTERN_C void *bsearch (const void *__key,
      |                    ^~~~~~~
make[2]: *** [Makefile:10166: config.h] Error 1

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
 .../{libunistring_1.4.1.bb => libunistring_1.4.2.bb}            | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-support/libunistring/{libunistring_1.4.1.bb => libunistring_1.4.2.bb} (93%)

diff --git a/meta/recipes-support/libunistring/libunistring_1.4.1.bb b/meta/recipes-support/libunistring/libunistring_1.4.2.bb
similarity index 93%
rename from meta/recipes-support/libunistring/libunistring_1.4.1.bb
rename to meta/recipes-support/libunistring/libunistring_1.4.2.bb
index 791f4983ed..8f6cc27193 100644
--- a/meta/recipes-support/libunistring/libunistring_1.4.1.bb
+++ b/meta/recipes-support/libunistring/libunistring_1.4.2.bb
@@ -21,7 +21,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
 DEPENDS = "gperf-native"
 
 SRC_URI = "${GNU_MIRROR}/libunistring/libunistring-${PV}.tar.gz"
-SRC_URI[sha256sum] = "12542ad7619470efd95a623174dcd4b364f2483caf708c6bee837cb53a54cb9d"
+SRC_URI[sha256sum] = "e82664b170064e62331962126b259d452d53b227bb4a93ab20040d846fec01d8"
 
 inherit autotools texinfo
 BBCLASSEXTEND = "native nativesdk"


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

* Re: [OE-core] [PATCH 1/3] m4: upgrade to 1.4.21
  2026-03-05 18:03 [PATCH 1/3] m4: upgrade to 1.4.21 martin.jansa
  2026-03-05 18:03 ` [PATCH 2/3] dtc: backport fix for build with glibc-2.43 martin.jansa
  2026-03-05 18:03 ` [PATCH 3/3] libunistring: upgrade to 1.4.2 martin.jansa
@ 2026-03-07 15:00 ` Robert Yang
  2026-03-08 12:14   ` Martin Jansa
  2 siblings, 1 reply; 6+ messages in thread
From: Robert Yang @ 2026-03-07 15:00 UTC (permalink / raw)
  To: martin.jansa, openembedded-core

Hi Martin,

On 3/6/26 02:03, Martin Jansa via lists.openembedded.org wrote:
> From: Martin Jansa <martin.jansa@gmail.com>
> 
> https://lists.gnu.org/archive/html/m4-announce/2026-02/msg00000.html
> This release is being made mainly to cater to recent glibc changes in
> light of the C23 language standard.  However, it also includes fixes
> for some corner-case bugs in eval and when using the defn macro on
> builtins.
> 
> Fixes m4-native builds on hosts with glibc-2.43 like:
> ./stdlib.h:827:20: error: expected identifier or '(' before '_Generic'
> ./string.h:777:20: error: expected identifier or '(' before '_Generic'
> 
> Remove 0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
> which is included in gnulib revision used by m4 since:
> https://gitweb.git.savannah.gnu.org/gitweb/?p=m4.git;a=commit;h=beee8d26382460010338c37f9dd9f823aa9f4ee8
> 
> LIC_FILES_CHKSUM was updated for barem4.m4 and testbarem4.m4 from:
> https://gitweb.git.savannah.gnu.org/gitweb/?p=m4.git;a=blobdiff;f=examples/COPYING;h=e623b2b9394cbd1784a4964bbac105050296f33b;hp=7e73a1219b542fa035facc47cdb3dd81132e6373;hb=900a90f624cee4a8c1c02c4d6a61ef1ed26a17d1;hpb=c7b96d682958532c4eb2d5c2d81bb6ac342fd410
> 
> Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
> ---
>   .../m4/{m4-1.4.20.inc => m4-1.4.21.inc}       |   5 +-
>   ...4-native_1.4.20.bb => m4-native_1.4.21.bb} |   0
>   ...gcc-Wformat-security-warnings-with-d.patch | 133 ------------------
>   .../m4/{m4_1.4.20.bb => m4_1.4.21.bb}         |   0
>   4 files changed, 2 insertions(+), 136 deletions(-)
>   rename meta/recipes-devtools/m4/{m4-1.4.20.inc => m4-1.4.21.inc} (90%)
>   rename meta/recipes-devtools/m4/{m4-native_1.4.20.bb => m4-native_1.4.21.bb} (100%)
>   delete mode 100644 meta/recipes-devtools/m4/m4/0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
>   rename meta/recipes-devtools/m4/{m4_1.4.20.bb => m4_1.4.21.bb} (100%)
> 
> diff --git a/meta/recipes-devtools/m4/m4-1.4.20.inc b/meta/recipes-devtools/m4/m4-1.4.21.inc
> similarity index 90%
> rename from meta/recipes-devtools/m4/m4-1.4.20.inc
> rename to meta/recipes-devtools/m4/m4-1.4.21.inc
> index 5c4ba09288..ce9fe2be8e 100644
> --- a/meta/recipes-devtools/m4/m4-1.4.20.inc
> +++ b/meta/recipes-devtools/m4/m4-1.4.21.inc
> @@ -7,19 +7,18 @@ GNU M4 also has built-in functions for including files, running shell commands,
>   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 \
>              "
>   SRC_URI:append:class-target = " file://run-ptest \
>                                   file://0001-test-c32ispunct-Check-for-musl-along-with-glibc.patch \
>                                   file://serial-tests-config.patch \
>                                 "
>   
> -SRC_URI[sha256sum] = "6ac4fc31ce440debe63987c2ebbf9d7b6634e67a7c3279257dc7361de8bdb3ef"
> +SRC_URI[sha256sum] = "38ae59f7a30bf9c108193cc5c25fbb06014f21e230c7ede2eff614f7b7c37ed8"
>   
>   LICENSE = "GPL-3.0-only"
>   
>   LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464\
> -	            file://examples/COPYING;md5=4031593b2166d6c47cae282d944a7ede"
> +	            file://examples/COPYING;md5=005f2e201a0526c1d1d79dd6303ecf23"

There are new license in the example files barem4.m4 and testbarem4.m4, it just
says "This program is distributed under a Creative Commons Share-alike license",
but not version is specified, I guess we should use CC-BY-SA-4.0.

// Robert



>   
>   EXTRA_OECONF += "--without-libsigsegv-prefix"
>   
> diff --git a/meta/recipes-devtools/m4/m4-native_1.4.20.bb b/meta/recipes-devtools/m4/m4-native_1.4.21.bb
> similarity index 100%
> rename from meta/recipes-devtools/m4/m4-native_1.4.20.bb
> rename to meta/recipes-devtools/m4/m4-native_1.4.21.bb
> diff --git a/meta/recipes-devtools/m4/m4/0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch b/meta/recipes-devtools/m4/m4/0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
> deleted file mode 100644
> index 6fad05041f..0000000000
> --- a/meta/recipes-devtools/m4/m4/0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
> +++ /dev/null
> @@ -1,133 +0,0 @@
> -From c4dc0ab4424fca31635b7837b1c180f7d3df8ede Mon Sep 17 00:00:00 2001
> -From: Bruno Haible <bruno@clisp.org>
> -Date: Wed, 28 May 2025 15:14:07 +0200
> -Subject: [PATCH] gettext-h: Avoid gcc -Wformat-security warnings with
> - --disable-nls.
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -Reported by Holger Hoffstätte <holger@applied-asynchrony.com> in
> -<https://lists.gnu.org/archive/html/bug-gnulib/2025-05/msg00225.html>.
> -
> -* lib/gettext.h (gettext, dgettext, dcgettext): With gcc in C mode,
> -define these as inline functions.
> -* lib/sigpipe-die.c (sigpipe_die): Use translated string as a format
> -string, relying on the format string checking done by 'msgfmt -c'.
> -* lib/xmemcoll.c (collate_error): Revert commit from 2025-01-17.
> -* lib/xprintf.c (xvprintf, xvfprintf): Likewise.
> -* lib/openat-die.c (openat_save_fail, openat_restore_fail): Revert
> -commit from 2024-12-10.
> -
> -Upstream-Status: Backport [https://cgit.git.savannah.gnu.org/cgit/gnulib.git/commit/?id=6e5015dd557b20ae4a0829c4bf78480ce2f4cb04]
> -Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ----
> - lib/gettext.h    | 49 ++++++++++++++++++++++++++++++++++++------------
> - lib/openat-die.c |  4 ++--
> - lib/xprintf.c    |  4 ++--
> - 3 files changed, 41 insertions(+), 16 deletions(-)
> -
> -diff --git a/lib/gettext.h b/lib/gettext.h
> -index ea0c27e..bb3d975 100644
> ---- a/lib/gettext.h
> -+++ b/lib/gettext.h
> -@@ -59,18 +59,43 @@
> - #  endif
> - # endif
> -
> --/* Disabled NLS.
> --   The casts to 'const char *' serve the purpose of producing warnings
> --   for invalid uses of the value returned from these functions.
> --   On pre-ANSI systems without 'const', the config.h file is supposed to
> --   contain "#define const".  */
> --# undef gettext
> --# define gettext(Msgid) ((const char *) (Msgid))
> --# undef dgettext
> --# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid))
> --# undef dcgettext
> --# define dcgettext(Domainname, Msgid, Category) \
> --    ((void) (Category), dgettext (Domainname, Msgid))
> -+/* Disabled NLS.  */
> -+# if defined __GNUC__ && !defined __clang__ && !defined __cplusplus
> -+/* Use inline functions, to avoid warnings
> -+     warning: format not a string literal and no format arguments
> -+   that don't occur with enabled NLS.  */
> -+__attribute__ ((__always_inline__, __gnu_inline__)) extern inline
> -+const char *
> -+gettext (const char *msgid)
> -+{
> -+  return msgid;
> -+}
> -+__attribute__ ((__always_inline__, __gnu_inline__)) extern inline
> -+const char *
> -+dgettext (const char *domain, const char *msgid)
> -+{
> -+  (void) domain;
> -+  return msgid;
> -+}
> -+__attribute__ ((__always_inline__, __gnu_inline__)) extern inline
> -+const char *
> -+dcgettext (const char *domain, const char *msgid, int category)
> -+{
> -+  (void) domain;
> -+  (void) category;
> -+  return msgid;
> -+}
> -+# else
> -+/* The casts to 'const char *' serve the purpose of producing warnings
> -+   for invalid uses of the value returned from these functions.  */
> -+#  undef gettext
> -+#  define gettext(Msgid) ((const char *) (Msgid))
> -+#  undef dgettext
> -+#  define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid))
> -+#  undef dcgettext
> -+#  define dcgettext(Domainname, Msgid, Category) \
> -+     ((void) (Category), dgettext (Domainname, Msgid))
> -+# endif
> - # undef ngettext
> - # define ngettext(Msgid1, Msgid2, N) \
> -     ((N) == 1 \
> -diff --git a/lib/openat-die.c b/lib/openat-die.c
> -index 3fbb5d8..79a5b23 100644
> ---- a/lib/openat-die.c
> -+++ b/lib/openat-die.c
> -@@ -34,7 +34,7 @@ _Noreturn void
> - openat_save_fail (int errnum)
> - {
> - #ifndef GNULIB_LIBPOSIX
> --  error (exit_failure, errnum, "%s",
> -+  error (exit_failure, errnum,
> -          _("unable to record current working directory"));
> - #endif
> -   /* _Noreturn cannot be applied to error, since it returns
> -@@ -53,7 +53,7 @@ _Noreturn void
> - openat_restore_fail (int errnum)
> - {
> - #ifndef GNULIB_LIBPOSIX
> --  error (exit_failure, errnum, "%s",
> -+  error (exit_failure, errnum,
> -          _("failed to return to initial working directory"));
> - #endif
> -
> -diff --git a/lib/xprintf.c b/lib/xprintf.c
> -index 4d9a3e5..790af53 100644
> ---- a/lib/xprintf.c
> -+++ b/lib/xprintf.c
> -@@ -45,7 +45,7 @@ xvprintf (char const *restrict format, va_list args)
> - {
> -   off64_t retval = vzprintf (format, args);
> -   if (retval < 0 && ! ferror (stdout))
> --    error (exit_failure, errno, "%s", _("cannot perform formatted output"));
> -+    error (exit_failure, errno, _("cannot perform formatted output"));
> -
> -   return retval;
> - }
> -@@ -67,7 +67,7 @@ xvfprintf (FILE *restrict stream, char const *restrict format, va_list args)
> - {
> -   off64_t retval = vfzprintf (stream, format, args);
> -   if (retval < 0 && ! ferror (stream))
> --    error (exit_failure, errno, "%s", _("cannot perform formatted output"));
> -+    error (exit_failure, errno, _("cannot perform formatted output"));
> -
> -   return retval;
> - }
> diff --git a/meta/recipes-devtools/m4/m4_1.4.20.bb b/meta/recipes-devtools/m4/m4_1.4.21.bb
> similarity index 100%
> rename from meta/recipes-devtools/m4/m4_1.4.20.bb
> rename to meta/recipes-devtools/m4/m4_1.4.21.bb
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#232503): https://lists.openembedded.org/g/openembedded-core/message/232503
> Mute This Topic: https://lists.openembedded.org/mt/118156597/7304958
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [liezhi.yang@eng.windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



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

* Re: [OE-core] [PATCH 1/3] m4: upgrade to 1.4.21
  2026-03-07 15:00 ` [OE-core] [PATCH 1/3] m4: upgrade to 1.4.21 Robert Yang
@ 2026-03-08 12:14   ` Martin Jansa
  2026-03-11  5:17     ` Robert Yang
  0 siblings, 1 reply; 6+ messages in thread
From: Martin Jansa @ 2026-03-08 12:14 UTC (permalink / raw)
  To: Robert Yang; +Cc: openembedded-core

On Sat, Mar 7, 2026 at 4:00 PM Robert Yang <liezhi.yang@windriver.com> wrote:
>
> Hi Martin,

Hi Robert,


> On 3/6/26 02:03, Martin Jansa via lists.openembedded.org wrote:
> > From: Martin Jansa <martin.jansa@gmail.com>
> >
> > https://lists.gnu.org/archive/html/m4-announce/2026-02/msg00000.html
> > This release is being made mainly to cater to recent glibc changes in
> > light of the C23 language standard.  However, it also includes fixes
> > for some corner-case bugs in eval and when using the defn macro on
> > builtins.
> >
> > Fixes m4-native builds on hosts with glibc-2.43 like:
> > ./stdlib.h:827:20: error: expected identifier or '(' before '_Generic'
> > ./string.h:777:20: error: expected identifier or '(' before '_Generic'
> >
> > Remove 0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
> > which is included in gnulib revision used by m4 since:
> > https://gitweb.git.savannah.gnu.org/gitweb/?p=m4.git;a=commit;h=beee8d26382460010338c37f9dd9f823aa9f4ee8
> >
> > LIC_FILES_CHKSUM was updated for barem4.m4 and testbarem4.m4 from:
> > https://gitweb.git.savannah.gnu.org/gitweb/?p=m4.git;a=blobdiff;f=examples/COPYING;h=e623b2b9394cbd1784a4964bbac105050296f33b;hp=7e73a1219b542fa035facc47cdb3dd81132e6373;hb=900a90f624cee4a8c1c02c4d6a61ef1ed26a17d1;hpb=c7b96d682958532c4eb2d5c2d81bb6ac342fd410
> >
> > Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
> > ---
> >   .../m4/{m4-1.4.20.inc => m4-1.4.21.inc}       |   5 +-
> >   ...4-native_1.4.20.bb => m4-native_1.4.21.bb} |   0
> >   ...gcc-Wformat-security-warnings-with-d.patch | 133 ------------------
> >   .../m4/{m4_1.4.20.bb => m4_1.4.21.bb}         |   0
> >   4 files changed, 2 insertions(+), 136 deletions(-)
> >   rename meta/recipes-devtools/m4/{m4-1.4.20.inc => m4-1.4.21.inc} (90%)
> >   rename meta/recipes-devtools/m4/{m4-native_1.4.20.bb => m4-native_1.4.21.bb} (100%)
> >   delete mode 100644 meta/recipes-devtools/m4/m4/0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
> >   rename meta/recipes-devtools/m4/{m4_1.4.20.bb => m4_1.4.21.bb} (100%)
> >
> > diff --git a/meta/recipes-devtools/m4/m4-1.4.20.inc b/meta/recipes-devtools/m4/m4-1.4.21.inc
> > similarity index 90%
> > rename from meta/recipes-devtools/m4/m4-1.4.20.inc
> > rename to meta/recipes-devtools/m4/m4-1.4.21.inc
> > index 5c4ba09288..ce9fe2be8e 100644
> > --- a/meta/recipes-devtools/m4/m4-1.4.20.inc
> > +++ b/meta/recipes-devtools/m4/m4-1.4.21.inc
> > @@ -7,19 +7,18 @@ GNU M4 also has built-in functions for including files, running shell commands,
> >   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 \
> >              "
> >   SRC_URI:append:class-target = " file://run-ptest \
> >                                   file://0001-test-c32ispunct-Check-for-musl-along-with-glibc.patch \
> >                                   file://serial-tests-config.patch \
> >                                 "
> >
> > -SRC_URI[sha256sum] = "6ac4fc31ce440debe63987c2ebbf9d7b6634e67a7c3279257dc7361de8bdb3ef"
> > +SRC_URI[sha256sum] = "38ae59f7a30bf9c108193cc5c25fbb06014f21e230c7ede2eff614f7b7c37ed8"
> >
> >   LICENSE = "GPL-3.0-only"
> >
> >   LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464\
> > -                 file://examples/COPYING;md5=4031593b2166d6c47cae282d944a7ede"
> > +                 file://examples/COPYING;md5=005f2e201a0526c1d1d79dd6303ecf23"
>
> There are new license in the example files barem4.m4 and testbarem4.m4, it just
> says "This program is distributed under a Creative Commons Share-alike license",
> but not version is specified, I guess we should use CC-BY-SA-4.0.

Is there an option to install the examples? I've checked the build and
image directories and the examples aren't built nor installed.


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

* Re: [OE-core] [PATCH 1/3] m4: upgrade to 1.4.21
  2026-03-08 12:14   ` Martin Jansa
@ 2026-03-11  5:17     ` Robert Yang
  0 siblings, 0 replies; 6+ messages in thread
From: Robert Yang @ 2026-03-11  5:17 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

Hi Martin,

On 3/8/26 20:14, Martin Jansa wrote:
> On Sat, Mar 7, 2026 at 4:00 PM Robert Yang <liezhi.yang@windriver.com> wrote:
>>
>> Hi Martin,
> 
> Hi Robert,
> 
> 
>> On 3/6/26 02:03, Martin Jansa via lists.openembedded.org wrote:
>>> From: Martin Jansa <martin.jansa@gmail.com>
>>>
>>> https://lists.gnu.org/archive/html/m4-announce/2026-02/msg00000.html
>>> This release is being made mainly to cater to recent glibc changes in
>>> light of the C23 language standard.  However, it also includes fixes
>>> for some corner-case bugs in eval and when using the defn macro on
>>> builtins.
>>>
>>> Fixes m4-native builds on hosts with glibc-2.43 like:
>>> ./stdlib.h:827:20: error: expected identifier or '(' before '_Generic'
>>> ./string.h:777:20: error: expected identifier or '(' before '_Generic'
>>>
>>> Remove 0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
>>> which is included in gnulib revision used by m4 since:
>>> https://gitweb.git.savannah.gnu.org/gitweb/?p=m4.git;a=commit;h=beee8d26382460010338c37f9dd9f823aa9f4ee8
>>>
>>> LIC_FILES_CHKSUM was updated for barem4.m4 and testbarem4.m4 from:
>>> https://gitweb.git.savannah.gnu.org/gitweb/?p=m4.git;a=blobdiff;f=examples/COPYING;h=e623b2b9394cbd1784a4964bbac105050296f33b;hp=7e73a1219b542fa035facc47cdb3dd81132e6373;hb=900a90f624cee4a8c1c02c4d6a61ef1ed26a17d1;hpb=c7b96d682958532c4eb2d5c2d81bb6ac342fd410
>>>
>>> Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
>>> ---
>>>    .../m4/{m4-1.4.20.inc => m4-1.4.21.inc}       |   5 +-
>>>    ...4-native_1.4.20.bb => m4-native_1.4.21.bb} |   0
>>>    ...gcc-Wformat-security-warnings-with-d.patch | 133 ------------------
>>>    .../m4/{m4_1.4.20.bb => m4_1.4.21.bb}         |   0
>>>    4 files changed, 2 insertions(+), 136 deletions(-)
>>>    rename meta/recipes-devtools/m4/{m4-1.4.20.inc => m4-1.4.21.inc} (90%)
>>>    rename meta/recipes-devtools/m4/{m4-native_1.4.20.bb => m4-native_1.4.21.bb} (100%)
>>>    delete mode 100644 meta/recipes-devtools/m4/m4/0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch
>>>    rename meta/recipes-devtools/m4/{m4_1.4.20.bb => m4_1.4.21.bb} (100%)
>>>
>>> diff --git a/meta/recipes-devtools/m4/m4-1.4.20.inc b/meta/recipes-devtools/m4/m4-1.4.21.inc
>>> similarity index 90%
>>> rename from meta/recipes-devtools/m4/m4-1.4.20.inc
>>> rename to meta/recipes-devtools/m4/m4-1.4.21.inc
>>> index 5c4ba09288..ce9fe2be8e 100644
>>> --- a/meta/recipes-devtools/m4/m4-1.4.20.inc
>>> +++ b/meta/recipes-devtools/m4/m4-1.4.21.inc
>>> @@ -7,19 +7,18 @@ GNU M4 also has built-in functions for including files, running shell commands,
>>>    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 \
>>>               "
>>>    SRC_URI:append:class-target = " file://run-ptest \
>>>                                    file://0001-test-c32ispunct-Check-for-musl-along-with-glibc.patch \
>>>                                    file://serial-tests-config.patch \
>>>                                  "
>>>
>>> -SRC_URI[sha256sum] = "6ac4fc31ce440debe63987c2ebbf9d7b6634e67a7c3279257dc7361de8bdb3ef"
>>> +SRC_URI[sha256sum] = "38ae59f7a30bf9c108193cc5c25fbb06014f21e230c7ede2eff614f7b7c37ed8"
>>>
>>>    LICENSE = "GPL-3.0-only"
>>>
>>>    LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464\
>>> -                 file://examples/COPYING;md5=4031593b2166d6c47cae282d944a7ede"
>>> +                 file://examples/COPYING;md5=005f2e201a0526c1d1d79dd6303ecf23"
>>
>> There are new license in the example files barem4.m4 and testbarem4.m4, it just
>> says "This program is distributed under a Creative Commons Share-alike license",
>> but not version is specified, I guess we should use CC-BY-SA-4.0.
> 
> Is there an option to install the examples? I've checked the build and
> image directories and the examples aren't built nor installed.

Sorry, I didn't know that either. I found this issue during update m4, thanks
for working on it.

// Robert





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

end of thread, other threads:[~2026-03-11  5:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-05 18:03 [PATCH 1/3] m4: upgrade to 1.4.21 martin.jansa
2026-03-05 18:03 ` [PATCH 2/3] dtc: backport fix for build with glibc-2.43 martin.jansa
2026-03-05 18:03 ` [PATCH 3/3] libunistring: upgrade to 1.4.2 martin.jansa
2026-03-07 15:00 ` [OE-core] [PATCH 1/3] m4: upgrade to 1.4.21 Robert Yang
2026-03-08 12:14   ` Martin Jansa
2026-03-11  5:17     ` Robert Yang

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