From 6d13c6dacd158883777b11b97a8c08da399d970a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 16 Jun 2025 07:07:58 +0000 Subject: [PATCH] dev-libs/elfutils: Sync with Gentoo It's from Gentoo commit 3f171f5cdba3205beb661623a1fb0322c2624967. --- .../dev-libs/elfutils/elfutils-0.193.ebuild | 1 + .../elfutils/files/elfutils-0.193-perf.patch | 53 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.193-perf.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193.ebuild index cdd63bff7f..1ad8bec40d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193.ebuild @@ -65,6 +65,7 @@ BDEPEND+=" PATCHES=( "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch "${FILESDIR}"/${PN}-0.191-musl-macros.patch + "${FILESDIR}"/${P}-perf.patch ) src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.193-perf.patch b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.193-perf.patch new file mode 100644 index 0000000000..d256d25865 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.193-perf.patch @@ -0,0 +1,53 @@ +https://sourceware.org/git/?p=elfutils.git;a=commit;h=d05241ce690018548857199bd34d7734c7164679 +https://bugs.gentoo.org/955065 + +From d05241ce690018548857199bd34d7734c7164679 Mon Sep 17 00:00:00 2001 +From: Serhei Makarov +Date: Mon, 5 May 2025 12:08:55 -0400 +Subject: [PATCH] PR32930 backends/: guard asm/perf_regs.h include + +asm/perf_regs.h is an arch-specific linux include, not present on +architectures like hppa and m68k that lack perf_events support. + +Only one place we need to fix; others already guard the include by +architecture, or use architecture-independent headers (e.g. +linux/perf_events.h). + +* backends/libebl_PERF_FLAGS.h: Only include asm/perf_regs.h on + architectures where we use it. + +Signed-off-by: Serhei Makarov +--- + backends/libebl_PERF_FLAGS.h | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/backends/libebl_PERF_FLAGS.h b/backends/libebl_PERF_FLAGS.h +index 2ed45f0f..51c20ea6 100644 +--- a/backends/libebl_PERF_FLAGS.h ++++ b/backends/libebl_PERF_FLAGS.h +@@ -32,8 +32,12 @@ + #define _LIBEBL_PERF_FLAGS_H 1 + + #if defined(__linux__) ++/* XXX Need to exclude __linux__ arches without perf_regs.h. */ ++#if defined(__x86_64__) || defined(__i386__) ++/* || defined(other_architecture)... */ + # include + #endif ++#endif + + #if defined(_ASM_X86_PERF_REGS_H) + /* See the code in x86_initreg_sample.c for list of required regs and +@@ -49,8 +53,8 @@ + see the code in tools/perf/util/intel-pt.c intel_pt_add_gp_regs() + and note how regs are added in the same order as the perf_regs.h enum. */ + #else +-/* Since asm/perf_regs.h gives the register layout for a different arch, +- we can't unwind x86_64 frames. */ ++/* Since asm/perf_regs.h is absent, or gives the register layout for a ++ different arch, we can't unwind i386 and x86_64 frames. */ + #define PERF_FRAME_REGISTERS_I386 0 + #define PERF_FRAME_REGISTERS_X86_64 0 + #endif +-- +2.43.5