* Re: [OE-core] [PATCH 1/7] elfutils: upgrade 0.196 -> 0.197
2026-10-20 9:29 ` [PATCH 1/7] elfutils: upgrade 0.196 -> 0.197 Jaipaul Cheernam
@ 2026-10-20 14:13 ` Mathieu Dubois-Briand
2026-10-20 15:33 ` Jaipaul Cheernam
2026-10-20 15:31 ` [PATCH v2] " Jaipaul Cheernam
2026-10-20 17:26 ` [PATCH v3] " Jaipaul Cheernam
2 siblings, 1 reply; 13+ messages in thread
From: Mathieu Dubois-Briand @ 2026-10-20 14:13 UTC (permalink / raw)
To: Jaipaul Cheernam, openembedded-core
On Tue Oct 20, 2026 at 11:29 AM CEST, Jaipaul Cheernam wrote:
> Version 0.197 "Anti-Corruption"
>
> THREAD-SAFETY: New document describing the thread safety model for elfutils
> libraries when built with --enable-thread-safety. Thread
> safety support remains experimental.
>
> backends: Add unwinding support for alpha core files and processes.
>
> libdebuginfod: The progress callback function is now also invoked when
> waiting for a server's initial response.
>
> libdw: dwarf_begin_elf_type is now exported from libdw.so. Previously
> this function was missing from the exported symbols.
>
> libelf: Improved handling of corrupt ZSTD compression headers.
>
> readelf: Improved handling of corrupt .gdb_index and .debug_cu_index
> sections.
>
> translations: New Swedish translation.
>
> unstrip: Improved handling of corrupt symbol tables. When -m is given,
> the -d output path is now built from the module basename to avoid
> writing the reconstructed module image outside the intended
> output directory.
>
> - Drop already upstreamed patches
> srcfiles.patch, 0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch
>
> Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
> ---
Hi Jaipaul,
Thanks for the upgrade.
It look like the associated ptests are failing:
AssertionError:
Failed ptests:
{'elfutils': 'START: ptest-runner\n'
...
'===============================================================\n'
'2 of 258 tests did not behave as expected (2 unexpected passes)\n'
'(46 tests were not run)\n'
'Please report to https://sourceware.org/bugzilla\n'
https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/4777
https://autobuilder.yoctoproject.org/valkyrie/#/builders/109/builds/1409
https://autobuilder.yoctoproject.org/valkyrie/#/builders/110/builds/1398
The log in there is really verbose. I hope you can extract some useful
data from these few thousand lines of ptest log.
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [OE-core] [PATCH 1/7] elfutils: upgrade 0.196 -> 0.197
2026-10-20 14:13 ` [OE-core] " Mathieu Dubois-Briand
@ 2026-10-20 15:33 ` Jaipaul Cheernam
2026-10-20 15:42 ` Khem Raj
0 siblings, 1 reply; 13+ messages in thread
From: Jaipaul Cheernam @ 2026-10-20 15:33 UTC (permalink / raw)
To: Mathieu Dubois-Briand, openembedded-core
On 2026-10-20 16:13, Mathieu Dubois-Briand wrote:
> The log in there is really verbose. I hope you can extract some useful
> data from these few thousand lines of ptest log.
Hi Mathieu,
Able to identify the problem and verified locally and sent v2.
Actually recipe is expecting two test cases to fail but those are
passing now after upgrade and dropped that change.
Regards,
Jaipaul
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2] elfutils: upgrade 0.196 -> 0.197
2026-10-20 9:29 ` [PATCH 1/7] elfutils: upgrade 0.196 -> 0.197 Jaipaul Cheernam
2026-10-20 14:13 ` [OE-core] " Mathieu Dubois-Briand
@ 2026-10-20 15:31 ` Jaipaul Cheernam
2026-10-20 17:26 ` [PATCH v3] " Jaipaul Cheernam
2 siblings, 0 replies; 13+ messages in thread
From: Jaipaul Cheernam @ 2026-10-20 15:31 UTC (permalink / raw)
To: openembedded-core
Version 0.197 "Anti-Corruption"
THREAD-SAFETY: New document describing the thread safety model for elfutils
libraries when built with --enable-thread-safety. Thread
safety support remains experimental.
backends: Add unwinding support for alpha core files and processes.
libdebuginfod: The progress callback function is now also invoked when
waiting for a server's initial response.
libdw: dwarf_begin_elf_type is now exported from libdw.so. Previously
this function was missing from the exported symbols.
libelf: Improved handling of corrupt ZSTD compression headers.
readelf: Improved handling of corrupt .gdb_index and .debug_cu_index
sections.
translations: New Swedish translation.
unstrip: Improved handling of corrupt symbol tables. When -m is given,
the -d output path is now built from the module basename to avoid
writing the reconstructed module image outside the intended
output directory.
- Drop already upstreamed patches
srcfiles.patch, 0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch
- Drop stackprof systemwide tests from PTEST_XFAILS. Upstream 0.197
added testjob_launch to generate background CPU load so these tests
pass reliably; keeping them as XFAIL now causes XPASS build failures.
ptest results:
- with removing XFAIL change: elfutils run: 263 PASSED, 45 SKIPPED, 0 FAILED
without change: 261 PASSED, 45 SKIPPED + 1 XPASS
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
---
Changes Since v1:
- Drop stackprof systemwide tests from PTEST_XFAILS.
.../{elfutils_0.196.bb => elfutils_0.197.bb} | 6 +-
...s-uio.h-instead-of-linux-uio.h-for-s.patch | 74 -------------------
...001-config-eu.am-do-not-force-Werror.patch | 2 +-
...-check-data_list.data.d.d_buf-before.patch | 2 +-
...-skip-the-test-when-gcc-not-deployed.patch | 2 +-
...m-compile-test_nlist-with-standard-C.patch | 4 +-
...cvt_gunhash-if-dest-and-src-are-same.patch | 2 +-
| 2 +-
.../elfutils/files/0003-musl-utils.patch | 4 +-
.../elfutils/files/ptest.patch | 8 +-
.../elfutils/files/srcfiles.patch | 65 ----------------
11 files changed, 14 insertions(+), 157 deletions(-)
rename meta/recipes-devtools/elfutils/{elfutils_0.196.bb => elfutils_0.197.bb} (95%)
delete mode 100644 meta/recipes-devtools/elfutils/files/0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch
delete mode 100644 meta/recipes-devtools/elfutils/files/srcfiles.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.196.bb b/meta/recipes-devtools/elfutils/elfutils_0.197.bb
similarity index 95%
rename from meta/recipes-devtools/elfutils/elfutils_0.196.bb
rename to meta/recipes-devtools/elfutils/elfutils_0.197.bb
index 4541000840b..c0b308c44b8 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.196.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.197.bb
@@ -19,13 +19,11 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
file://ptest.patch \
file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \
file://0001-config-eu.am-do-not-force-Werror.patch \
- file://0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch \
- file://srcfiles.patch \
"
SRC_URI:append:libc-musl = " \
file://0003-musl-utils.patch \
"
-SRC_URI[sha256sum] = "fd5cc6b77ad6773cac93cb3f415f9318ac3b3455eecf801f6b4a742c4f6c7209"
+SRC_URI[sha256sum] = "1fdf525f22dcf796d99a99ba3ea00a1f7b1ae5421bc62e8443a708920b99b904"
inherit autotools gettext ptest pkgconfig
@@ -66,8 +64,6 @@ PTEST_XFAILS ?= ""
# See - https://sourceware.org/bugzilla/show_bug.cgi?id=32232
PTEST_XFAILS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' run-strip-strmerge.sh run-elflint-self.sh run-backtrace-data.sh run-reverse-sections-self.sh', '', d)}"
PTEST_XFAILS:append:libc-musl = " run-large-elf-file.sh run-backtrace-data.sh run-backtrace-native.sh run-stack-d-test.sh run-stack-i-test.sh run-stack-demangled-test.sh run-deleted.sh run-compress-test.sh"
-# systemwide stackprof tests need userspace CPU activity, which minimal qemu images lack
-PTEST_XFAILS:append:qemuall = " run-stackprof-system.sh run-stackprof-system-gprof.sh"
do_install_ptest() {
# copy the files which needed by the cases
diff --git a/meta/recipes-devtools/elfutils/files/0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch b/meta/recipes-devtools/elfutils/files/0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch
deleted file mode 100644
index 0461172fcfd..00000000000
--- a/meta/recipes-devtools/elfutils/files/0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 64e89606ff4967a647525524aec00dd33765ba2a Mon Sep 17 00:00:00 2001
-From: Daeho Ro <email@daeho.ro>
-Date: Sun, 16 Aug 2026 16:27:56 +0900
-Subject: [PATCH] backends: use <sys/uio.h> instead of <linux/uio.h> for
- struct iovec
-
-Since commit 0e8b57a3 ("elfcompress: Handle existing output files
-(symlinks)") lib/system.h includes <fcntl.h>. When _GNU_SOURCE is
-defined, glibc's <fcntl.h> pulls in <bits/types/struct_iovec.h> (via
-bits/fcntl-linux.h), which defines struct iovec. The kernel UAPI header
-<linux/uio.h> defines struct iovec unconditionally, so including it
-after "system.h" now breaks the aarch64 backend build:
-
- In file included from aarch64_initreg.c:36:
- /usr/include/linux/uio.h:17:8: error: redefinition of 'struct iovec'
- 17 | struct iovec
- | ^~~~~
- In file included from /usr/include/aarch64-linux-gnu/bits/fcntl-linux.h:38,
- from /usr/include/aarch64-linux-gnu/bits/fcntl.h:61,
- from /usr/include/fcntl.h:35,
- from ../lib/system.h:42,
- from aarch64_initreg.c:33:
- /usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h:26:8: note: originally defined here
-
-Seen building 0.196 on aarch64 with glibc 2.39 and gcc 13.3.0.
-
-Both files only need struct iovec to call ptrace (PTRACE_GETREGSET),
-which glibc provides in <sys/uio.h>; that header guards the definition
-with __iovec_defined, so it composes with the rest of system.h.
-arm_initreg.c does not currently include "system.h" and so still builds,
-but it has the same latent conflict.
-
-* backends/aarch64_initreg.c: Include <sys/uio.h> instead of
- <linux/uio.h>.
-* backends/arm_initreg.c: Likewise.
-
-Signed-off-by: Daeho Ro <email@daeho.ro>
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=patch;h=64e89606ff4967a647525524aec00dd33765ba2a]
-Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
----
- backends/aarch64_initreg.c | 2 +-
- backends/arm_initreg.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/backends/aarch64_initreg.c b/backends/aarch64_initreg.c
-index a6badbb4..539a6366 100644
---- a/backends/aarch64_initreg.c
-+++ b/backends/aarch64_initreg.c
-@@ -33,7 +33,7 @@
- #include "system.h"
- #include <assert.h>
- #if defined(__aarch64__) && defined(__linux__)
--# include <linux/uio.h>
-+# include <sys/uio.h>
- # include <sys/user.h>
- # include <sys/ptrace.h>
- # include <asm/ptrace.h>
-diff --git a/backends/arm_initreg.c b/backends/arm_initreg.c
-index efcabaf6..062bb9e0 100644
---- a/backends/arm_initreg.c
-+++ b/backends/arm_initreg.c
-@@ -38,7 +38,7 @@
- #endif
-
- #ifdef __aarch64__
--# include <linux/uio.h>
-+# include <sys/uio.h>
- # include <sys/user.h>
- # include <sys/ptrace.h>
- /* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
---
-2.43.7
-
diff --git a/meta/recipes-devtools/elfutils/files/0001-config-eu.am-do-not-force-Werror.patch b/meta/recipes-devtools/elfutils/files/0001-config-eu.am-do-not-force-Werror.patch
index d460f2e58b4..d145c9e820a 100644
--- a/meta/recipes-devtools/elfutils/files/0001-config-eu.am-do-not-force-Werror.patch
+++ b/meta/recipes-devtools/elfutils/files/0001-config-eu.am-do-not-force-Werror.patch
@@ -1,4 +1,4 @@
-From 975357f7585076a072f61684db20180ef8dd31b7 Mon Sep 17 00:00:00 2001
+From 645351e3057b76d9a76495c7e021b3449cd5cae5 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Fri, 22 Nov 2024 12:50:48 +0100
Subject: [PATCH] config/eu.am: do not force -Werror
diff --git a/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch b/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
index 621be1b37dc..47f28885a99 100644
--- a/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
+++ b/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
@@ -1,4 +1,4 @@
-From bf22ef3c1a559dc0b265a9c7c2fcda4a20519e63 Mon Sep 17 00:00:00 2001
+From 6305e20927bc39367009efd1ecb71ce20a006ed6 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Thu, 16 Aug 2018 09:58:26 +0800
Subject: [PATCH] libelf/elf_end.c: check data_list.data.d.d_buf before free it
diff --git a/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch b/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
index 093d03c736d..330b0565fc8 100644
--- a/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
+++ b/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
@@ -1,4 +1,4 @@
-From db59c8a80a285f9cba3f789b6c2c240481b97db8 Mon Sep 17 00:00:00 2001
+From 1741d5bb8597aaeb6ef6caefc2f4091e3b2ecb2d Mon Sep 17 00:00:00 2001
From: Mingli Yu <Mingli.Yu@windriver.com>
Date: Tue, 21 May 2019 15:20:34 +0800
Subject: [PATCH] skip the test when gcc not deployed
diff --git a/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch b/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
index eb2d48e3bb9..d5a1f281b0e 100644
--- a/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
+++ b/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
@@ -1,4 +1,4 @@
-From aba735bf19c60ff85731b3bfe79a6c83e17f3436 Mon Sep 17 00:00:00 2001
+From 4af78e885d764bcc4078ccf810c125159ad327f2 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 23 Jun 2020 07:49:35 +0000
Subject: [PATCH] tests/Makefile.am: compile test_nlist with standard CFLAGS
@@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 055fea7..ba25e61 100644
+index bb36d3a..3e98162 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -122,7 +122,7 @@ endif
diff --git a/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch b/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
index cc4c5ab75bb..a93fffc32cd 100644
--- a/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
+++ b/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
@@ -1,4 +1,4 @@
-From 0533b0d67ed99fd2a034e497f0c07ff608ca52e7 Mon Sep 17 00:00:00 2001
+From 23c89703e77a000ebed1a4a32e9d52271d25a070 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 17:13:59 +0800
Subject: [PATCH] Fix elf_cvt_gunhash if dest and src are same.
--git a/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch b/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
index 41e4c738f3a..d14c5257b3f 100644
--- a/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
+++ b/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
@@ -1,4 +1,4 @@
-From 78415c6fc1f464e45222ba588a6cdc0292b4230a Mon Sep 17 00:00:00 2001
+From b1cf6bc617beccc7e15d5ef52749fb7c1d4e163d Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 17:17:20 +0800
Subject: [PATCH] fixheadercheck
diff --git a/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch b/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
index a5d913b2b7e..3e2eaab9ec3 100644
--- a/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
+++ b/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
@@ -1,4 +1,4 @@
-From 0064679018642a9e0e2c9d36eeeedc3a8278356e Mon Sep 17 00:00:00 2001
+From f2a4493c7ab2d8fca4e4bd43dfed6bbb52922a4e Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 23 Aug 2019 10:19:48 +0800
Subject: [PATCH] musl-utils
@@ -74,7 +74,7 @@ index a8ecc80..bf88051 100644
/* Name and version of program. */
diff --git a/src/unstrip.c b/src/unstrip.c
-index 5585b0e..adc39a3 100644
+index 39d5bb6..db79236 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -51,6 +51,15 @@
diff --git a/meta/recipes-devtools/elfutils/files/ptest.patch b/meta/recipes-devtools/elfutils/files/ptest.patch
index b6a9e5bb732..771a6470ac5 100644
--- a/meta/recipes-devtools/elfutils/files/ptest.patch
+++ b/meta/recipes-devtools/elfutils/files/ptest.patch
@@ -1,4 +1,4 @@
-From abe164f6242825e827b6b13141883591d059d6fe Mon Sep 17 00:00:00 2001
+From 614489b65f83540644dc88598315458712598476 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed, 1 May 2019 16:37:48 +0100
Subject: [PATCH] Changes to allow ptest to run standalone on target:
@@ -21,7 +21,7 @@ Upstream-Status: Inappropriate [oe specific]
3 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/configure.ac b/configure.ac
-index b0d1b48..acc29f0 100644
+index d3c0292..76bdda2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,7 +43,7 @@ AC_COPYRIGHT([Copyright (C) 1996-2026 The elfutils developers.])
@@ -34,10 +34,10 @@ index b0d1b48..acc29f0 100644
AM_SILENT_RULES([yes])
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 137e961..055fea7 100644
+index 261649f..bb36d3a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
-@@ -981,3 +981,5 @@ check: check-am coverage
+@@ -998,3 +998,5 @@ check: check-am coverage
coverage:
-$(srcdir)/coverage.sh
endif
diff --git a/meta/recipes-devtools/elfutils/files/srcfiles.patch b/meta/recipes-devtools/elfutils/files/srcfiles.patch
deleted file mode 100644
index abd0226b0fd..00000000000
--- a/meta/recipes-devtools/elfutils/files/srcfiles.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From: Mark Wielaard <mark@klomp.org>
-To: elfutils-devel@sourceware.org
-Cc: ross@burtonini.com, Mark Wielaard <mark@klomp.org>
-Subject: [PATCH] srcfiles: Always process the "zero" file table entry (CU comp_dir/name)
-Date: Tue, 22 Sep 2026 13:46:06 +0200
-Message-ID: <20260922114606.2865660-1-mark@klomp.org>
-X-Mailer: git-send-email 2.55.0
-MIME-Version: 1.0
-Content-Transfer-Encoding: 8bit
-X-Spam-Flag: NO
-X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.0
-X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on gnu.wildebeest.org
-
-If the main CU file doesn't contain any references to the file table
-it wouldn't show up in the src files list (except if --cu-only was
-given). This is because file entry "zero" is special. It cannot be
-referred to by DW_AT file attributes (because zero means, no
-file). But technically it should be equal to (implicitly before
-DWARF5) the DW_AT_name of the main CU DIE (using a zero directory
-entry, equal to DW_AT_comp_dir). collect_sourcefiles skipped this
-implicit zero entry unless --cu-only was given.
-
-Fix this by always handling the zero file table entry. And for
---cu-only to just exit the loop early, so no other entries are handled
-This is also an optimization, before --cu-only would go through all
-indexes, but always added the CU name. Which worked, because
-duplicates were removed, but was somewhat inefficient.
-
- * src/srcfiles.cxx (collect_sourcefiles): Go from index
- zero, exit after zero index for CU_only, always handle
- index zero specially.
-
-https://sourceware.org/bugzilla/show_bug.cgi?id=34666
-
-Signed-off-by: Mark Wielaard <mark@klomp.org>
-
-Upstream-Status: Backport [7b675cbdb0d1f216938b4b33aea30fd35fb1ae0a]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- src/srcfiles.cxx | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/srcfiles.cxx b/src/srcfiles.cxx
-index 9bbb6ef10473..e2fc0f128d71 100644
---- a/src/srcfiles.cxx
-+++ b/src/srcfiles.cxx
-@@ -273,10 +273,14 @@ collect_sourcefiles (Dwfl_Module *dwflmod,
- clog << "skipping cu=" << cuname << " due to empty comp_dir" << endl;
- continue;
- }
-- for (size_t f = 1; f < nfiles; ++f)
-+ for (size_t f = 0; f < nfiles; ++f)
- {
-+ /* For --cu-only we are only interested in the "zero" entry. */
-+ if (CU_only && f != 0)
-+ break;
-+
- const char *hat;
-- if (CU_only)
-+ if (f == 0)
- {
- if (strcmp(cuname, "<unknown>") == 0 || strcmp(cuname, "<artificial>") == 0 )
- continue;
---
-2.55.0
^ permalink raw reply related [flat|nested] 13+ messages in thread* [PATCH v3] elfutils: upgrade 0.196 -> 0.197
2026-10-20 9:29 ` [PATCH 1/7] elfutils: upgrade 0.196 -> 0.197 Jaipaul Cheernam
2026-10-20 14:13 ` [OE-core] " Mathieu Dubois-Briand
2026-10-20 15:31 ` [PATCH v2] " Jaipaul Cheernam
@ 2026-10-20 17:26 ` Jaipaul Cheernam
2 siblings, 0 replies; 13+ messages in thread
From: Jaipaul Cheernam @ 2026-10-20 17:26 UTC (permalink / raw)
To: openembedded-core
Version 0.197 "Anti-Corruption"
THREAD-SAFETY: New document describing the thread safety model for elfutils
libraries when built with --enable-thread-safety. Thread
safety support remains experimental.
backends: Add unwinding support for alpha core files and processes.
libdebuginfod: The progress callback function is now also invoked when
waiting for a server's initial response.
libdw: dwarf_begin_elf_type is now exported from libdw.so. Previously
this function was missing from the exported symbols.
libelf: Improved handling of corrupt ZSTD compression headers.
readelf: Improved handling of corrupt .gdb_index and .debug_cu_index
sections.
translations: New Swedish translation.
unstrip: Improved handling of corrupt symbol tables. When -m is given,
the -d output path is now built from the module basename to avoid
writing the reconstructed module image outside the intended
output directory.
- Drop already upstreamed patches
srcfiles.patch, 0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch
- Drop stackprof systemwide tests from PTEST_XFAILS. Upstream 0.197
added testjob_launch to generate background CPU load so these tests
pass reliably; keeping them as XFAIL now causes XPASS build failures.
- Add run-backtrace-native-core.sh to PTEST_XFAILS:libc-musl.
same family as the already-xfailed run-backtrace-native.sh /
run-backtrace-data.sh.
ptest results (qemux86-64):
- glibc: 263 PASSED, 45 SKIPPED, 0 FAILED (without change: 261 PASSED + 1 XPASS)
- musl: 255 PASSED, 44 SKIPPED, 0 FAILED (stackprof tests PASS; backtrace-native-core now XFAIL)
- clang: 263 PASSED, 45 SKIPPED, 0 FAILED
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
---
Changes Since v2:
- Add run-backtrace-native-core.sh to PTEST_XFAILS:libc-musl.
- Verifed on glibc, musl and clang
Changes Since v1:
- Drop stackprof systemwide tests from PTEST_XFAILS.
.../{elfutils_0.196.bb => elfutils_0.197.bb} | 8 +-
...s-uio.h-instead-of-linux-uio.h-for-s.patch | 74 -------------------
...001-config-eu.am-do-not-force-Werror.patch | 2 +-
...-check-data_list.data.d.d_buf-before.patch | 2 +-
...-skip-the-test-when-gcc-not-deployed.patch | 2 +-
...m-compile-test_nlist-with-standard-C.patch | 4 +-
...cvt_gunhash-if-dest-and-src-are-same.patch | 2 +-
| 2 +-
.../elfutils/files/0003-musl-utils.patch | 4 +-
.../elfutils/files/ptest.patch | 8 +-
.../elfutils/files/srcfiles.patch | 65 ----------------
11 files changed, 15 insertions(+), 158 deletions(-)
rename meta/recipes-devtools/elfutils/{elfutils_0.196.bb => elfutils_0.197.bb} (94%)
delete mode 100644 meta/recipes-devtools/elfutils/files/0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch
delete mode 100644 meta/recipes-devtools/elfutils/files/srcfiles.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.196.bb b/meta/recipes-devtools/elfutils/elfutils_0.197.bb
similarity index 94%
rename from meta/recipes-devtools/elfutils/elfutils_0.196.bb
rename to meta/recipes-devtools/elfutils/elfutils_0.197.bb
index 4541000840b..6e58afb2745 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.196.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.197.bb
@@ -19,13 +19,11 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
file://ptest.patch \
file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \
file://0001-config-eu.am-do-not-force-Werror.patch \
- file://0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch \
- file://srcfiles.patch \
"
SRC_URI:append:libc-musl = " \
file://0003-musl-utils.patch \
"
-SRC_URI[sha256sum] = "fd5cc6b77ad6773cac93cb3f415f9318ac3b3455eecf801f6b4a742c4f6c7209"
+SRC_URI[sha256sum] = "1fdf525f22dcf796d99a99ba3ea00a1f7b1ae5421bc62e8443a708920b99b904"
inherit autotools gettext ptest pkgconfig
@@ -65,9 +63,7 @@ PTEST_PARALLEL_MAKE = ""
PTEST_XFAILS ?= ""
# See - https://sourceware.org/bugzilla/show_bug.cgi?id=32232
PTEST_XFAILS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' run-strip-strmerge.sh run-elflint-self.sh run-backtrace-data.sh run-reverse-sections-self.sh', '', d)}"
-PTEST_XFAILS:append:libc-musl = " run-large-elf-file.sh run-backtrace-data.sh run-backtrace-native.sh run-stack-d-test.sh run-stack-i-test.sh run-stack-demangled-test.sh run-deleted.sh run-compress-test.sh"
-# systemwide stackprof tests need userspace CPU activity, which minimal qemu images lack
-PTEST_XFAILS:append:qemuall = " run-stackprof-system.sh run-stackprof-system-gprof.sh"
+PTEST_XFAILS:append:libc-musl = " run-large-elf-file.sh run-backtrace-data.sh run-backtrace-native.sh run-backtrace-native-core.sh run-stack-d-test.sh run-stack-i-test.sh run-stack-demangled-test.sh run-deleted.sh run-compress-test.sh"
do_install_ptest() {
# copy the files which needed by the cases
diff --git a/meta/recipes-devtools/elfutils/files/0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch b/meta/recipes-devtools/elfutils/files/0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch
deleted file mode 100644
index 0461172fcfd..00000000000
--- a/meta/recipes-devtools/elfutils/files/0001-backends-use-sys-uio.h-instead-of-linux-uio.h-for-s.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 64e89606ff4967a647525524aec00dd33765ba2a Mon Sep 17 00:00:00 2001
-From: Daeho Ro <email@daeho.ro>
-Date: Sun, 16 Aug 2026 16:27:56 +0900
-Subject: [PATCH] backends: use <sys/uio.h> instead of <linux/uio.h> for
- struct iovec
-
-Since commit 0e8b57a3 ("elfcompress: Handle existing output files
-(symlinks)") lib/system.h includes <fcntl.h>. When _GNU_SOURCE is
-defined, glibc's <fcntl.h> pulls in <bits/types/struct_iovec.h> (via
-bits/fcntl-linux.h), which defines struct iovec. The kernel UAPI header
-<linux/uio.h> defines struct iovec unconditionally, so including it
-after "system.h" now breaks the aarch64 backend build:
-
- In file included from aarch64_initreg.c:36:
- /usr/include/linux/uio.h:17:8: error: redefinition of 'struct iovec'
- 17 | struct iovec
- | ^~~~~
- In file included from /usr/include/aarch64-linux-gnu/bits/fcntl-linux.h:38,
- from /usr/include/aarch64-linux-gnu/bits/fcntl.h:61,
- from /usr/include/fcntl.h:35,
- from ../lib/system.h:42,
- from aarch64_initreg.c:33:
- /usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h:26:8: note: originally defined here
-
-Seen building 0.196 on aarch64 with glibc 2.39 and gcc 13.3.0.
-
-Both files only need struct iovec to call ptrace (PTRACE_GETREGSET),
-which glibc provides in <sys/uio.h>; that header guards the definition
-with __iovec_defined, so it composes with the rest of system.h.
-arm_initreg.c does not currently include "system.h" and so still builds,
-but it has the same latent conflict.
-
-* backends/aarch64_initreg.c: Include <sys/uio.h> instead of
- <linux/uio.h>.
-* backends/arm_initreg.c: Likewise.
-
-Signed-off-by: Daeho Ro <email@daeho.ro>
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=patch;h=64e89606ff4967a647525524aec00dd33765ba2a]
-Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
----
- backends/aarch64_initreg.c | 2 +-
- backends/arm_initreg.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/backends/aarch64_initreg.c b/backends/aarch64_initreg.c
-index a6badbb4..539a6366 100644
---- a/backends/aarch64_initreg.c
-+++ b/backends/aarch64_initreg.c
-@@ -33,7 +33,7 @@
- #include "system.h"
- #include <assert.h>
- #if defined(__aarch64__) && defined(__linux__)
--# include <linux/uio.h>
-+# include <sys/uio.h>
- # include <sys/user.h>
- # include <sys/ptrace.h>
- # include <asm/ptrace.h>
-diff --git a/backends/arm_initreg.c b/backends/arm_initreg.c
-index efcabaf6..062bb9e0 100644
---- a/backends/arm_initreg.c
-+++ b/backends/arm_initreg.c
-@@ -38,7 +38,7 @@
- #endif
-
- #ifdef __aarch64__
--# include <linux/uio.h>
-+# include <sys/uio.h>
- # include <sys/user.h>
- # include <sys/ptrace.h>
- /* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
---
-2.43.7
-
diff --git a/meta/recipes-devtools/elfutils/files/0001-config-eu.am-do-not-force-Werror.patch b/meta/recipes-devtools/elfutils/files/0001-config-eu.am-do-not-force-Werror.patch
index d460f2e58b4..d145c9e820a 100644
--- a/meta/recipes-devtools/elfutils/files/0001-config-eu.am-do-not-force-Werror.patch
+++ b/meta/recipes-devtools/elfutils/files/0001-config-eu.am-do-not-force-Werror.patch
@@ -1,4 +1,4 @@
-From 975357f7585076a072f61684db20180ef8dd31b7 Mon Sep 17 00:00:00 2001
+From 645351e3057b76d9a76495c7e021b3449cd5cae5 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Fri, 22 Nov 2024 12:50:48 +0100
Subject: [PATCH] config/eu.am: do not force -Werror
diff --git a/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch b/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
index 621be1b37dc..47f28885a99 100644
--- a/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
+++ b/meta/recipes-devtools/elfutils/files/0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch
@@ -1,4 +1,4 @@
-From bf22ef3c1a559dc0b265a9c7c2fcda4a20519e63 Mon Sep 17 00:00:00 2001
+From 6305e20927bc39367009efd1ecb71ce20a006ed6 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Thu, 16 Aug 2018 09:58:26 +0800
Subject: [PATCH] libelf/elf_end.c: check data_list.data.d.d_buf before free it
diff --git a/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch b/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
index 093d03c736d..330b0565fc8 100644
--- a/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
+++ b/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
@@ -1,4 +1,4 @@
-From db59c8a80a285f9cba3f789b6c2c240481b97db8 Mon Sep 17 00:00:00 2001
+From 1741d5bb8597aaeb6ef6caefc2f4091e3b2ecb2d Mon Sep 17 00:00:00 2001
From: Mingli Yu <Mingli.Yu@windriver.com>
Date: Tue, 21 May 2019 15:20:34 +0800
Subject: [PATCH] skip the test when gcc not deployed
diff --git a/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch b/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
index eb2d48e3bb9..d5a1f281b0e 100644
--- a/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
+++ b/meta/recipes-devtools/elfutils/files/0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch
@@ -1,4 +1,4 @@
-From aba735bf19c60ff85731b3bfe79a6c83e17f3436 Mon Sep 17 00:00:00 2001
+From 4af78e885d764bcc4078ccf810c125159ad327f2 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 23 Jun 2020 07:49:35 +0000
Subject: [PATCH] tests/Makefile.am: compile test_nlist with standard CFLAGS
@@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 055fea7..ba25e61 100644
+index bb36d3a..3e98162 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -122,7 +122,7 @@ endif
diff --git a/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch b/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
index cc4c5ab75bb..a93fffc32cd 100644
--- a/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
+++ b/meta/recipes-devtools/elfutils/files/0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch
@@ -1,4 +1,4 @@
-From 0533b0d67ed99fd2a034e497f0c07ff608ca52e7 Mon Sep 17 00:00:00 2001
+From 23c89703e77a000ebed1a4a32e9d52271d25a070 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 17:13:59 +0800
Subject: [PATCH] Fix elf_cvt_gunhash if dest and src are same.
--git a/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch b/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
index 41e4c738f3a..d14c5257b3f 100644
--- a/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
+++ b/meta/recipes-devtools/elfutils/files/0003-fixheadercheck.patch
@@ -1,4 +1,4 @@
-From 78415c6fc1f464e45222ba588a6cdc0292b4230a Mon Sep 17 00:00:00 2001
+From b1cf6bc617beccc7e15d5ef52749fb7c1d4e163d Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 17:17:20 +0800
Subject: [PATCH] fixheadercheck
diff --git a/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch b/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
index a5d913b2b7e..3e2eaab9ec3 100644
--- a/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
+++ b/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
@@ -1,4 +1,4 @@
-From 0064679018642a9e0e2c9d36eeeedc3a8278356e Mon Sep 17 00:00:00 2001
+From f2a4493c7ab2d8fca4e4bd43dfed6bbb52922a4e Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 23 Aug 2019 10:19:48 +0800
Subject: [PATCH] musl-utils
@@ -74,7 +74,7 @@ index a8ecc80..bf88051 100644
/* Name and version of program. */
diff --git a/src/unstrip.c b/src/unstrip.c
-index 5585b0e..adc39a3 100644
+index 39d5bb6..db79236 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -51,6 +51,15 @@
diff --git a/meta/recipes-devtools/elfutils/files/ptest.patch b/meta/recipes-devtools/elfutils/files/ptest.patch
index b6a9e5bb732..771a6470ac5 100644
--- a/meta/recipes-devtools/elfutils/files/ptest.patch
+++ b/meta/recipes-devtools/elfutils/files/ptest.patch
@@ -1,4 +1,4 @@
-From abe164f6242825e827b6b13141883591d059d6fe Mon Sep 17 00:00:00 2001
+From 614489b65f83540644dc88598315458712598476 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed, 1 May 2019 16:37:48 +0100
Subject: [PATCH] Changes to allow ptest to run standalone on target:
@@ -21,7 +21,7 @@ Upstream-Status: Inappropriate [oe specific]
3 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/configure.ac b/configure.ac
-index b0d1b48..acc29f0 100644
+index d3c0292..76bdda2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,7 +43,7 @@ AC_COPYRIGHT([Copyright (C) 1996-2026 The elfutils developers.])
@@ -34,10 +34,10 @@ index b0d1b48..acc29f0 100644
AM_SILENT_RULES([yes])
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 137e961..055fea7 100644
+index 261649f..bb36d3a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
-@@ -981,3 +981,5 @@ check: check-am coverage
+@@ -998,3 +998,5 @@ check: check-am coverage
coverage:
-$(srcdir)/coverage.sh
endif
diff --git a/meta/recipes-devtools/elfutils/files/srcfiles.patch b/meta/recipes-devtools/elfutils/files/srcfiles.patch
deleted file mode 100644
index abd0226b0fd..00000000000
--- a/meta/recipes-devtools/elfutils/files/srcfiles.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From: Mark Wielaard <mark@klomp.org>
-To: elfutils-devel@sourceware.org
-Cc: ross@burtonini.com, Mark Wielaard <mark@klomp.org>
-Subject: [PATCH] srcfiles: Always process the "zero" file table entry (CU comp_dir/name)
-Date: Tue, 22 Sep 2026 13:46:06 +0200
-Message-ID: <20260922114606.2865660-1-mark@klomp.org>
-X-Mailer: git-send-email 2.55.0
-MIME-Version: 1.0
-Content-Transfer-Encoding: 8bit
-X-Spam-Flag: NO
-X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.0
-X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on gnu.wildebeest.org
-
-If the main CU file doesn't contain any references to the file table
-it wouldn't show up in the src files list (except if --cu-only was
-given). This is because file entry "zero" is special. It cannot be
-referred to by DW_AT file attributes (because zero means, no
-file). But technically it should be equal to (implicitly before
-DWARF5) the DW_AT_name of the main CU DIE (using a zero directory
-entry, equal to DW_AT_comp_dir). collect_sourcefiles skipped this
-implicit zero entry unless --cu-only was given.
-
-Fix this by always handling the zero file table entry. And for
---cu-only to just exit the loop early, so no other entries are handled
-This is also an optimization, before --cu-only would go through all
-indexes, but always added the CU name. Which worked, because
-duplicates were removed, but was somewhat inefficient.
-
- * src/srcfiles.cxx (collect_sourcefiles): Go from index
- zero, exit after zero index for CU_only, always handle
- index zero specially.
-
-https://sourceware.org/bugzilla/show_bug.cgi?id=34666
-
-Signed-off-by: Mark Wielaard <mark@klomp.org>
-
-Upstream-Status: Backport [7b675cbdb0d1f216938b4b33aea30fd35fb1ae0a]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- src/srcfiles.cxx | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/srcfiles.cxx b/src/srcfiles.cxx
-index 9bbb6ef10473..e2fc0f128d71 100644
---- a/src/srcfiles.cxx
-+++ b/src/srcfiles.cxx
-@@ -273,10 +273,14 @@ collect_sourcefiles (Dwfl_Module *dwflmod,
- clog << "skipping cu=" << cuname << " due to empty comp_dir" << endl;
- continue;
- }
-- for (size_t f = 1; f < nfiles; ++f)
-+ for (size_t f = 0; f < nfiles; ++f)
- {
-+ /* For --cu-only we are only interested in the "zero" entry. */
-+ if (CU_only && f != 0)
-+ break;
-+
- const char *hat;
-- if (CU_only)
-+ if (f == 0)
- {
- if (strcmp(cuname, "<unknown>") == 0 || strcmp(cuname, "<artificial>") == 0 )
- continue;
---
-2.55.0
^ permalink raw reply related [flat|nested] 13+ messages in thread