mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-17 04:37:19 +00:00
pstack: add recipe
This recipe provides pstack for C/C++, Go, Rust, and Python. Signed-off-by: Wen Yang <wen.yang@linux.dev> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+28
@@ -0,0 +1,28 @@
|
|||||||
|
From a8c3996d3f8d9b8f3a2888b7062c1139263c5aba Mon Sep 17 00:00:00 2001
|
||||||
|
From: Wen Yang <yellowriver2010@hotmail.com>
|
||||||
|
Date: Mon, 23 Jun 2025 02:06:53 +0800
|
||||||
|
Subject: [PATCH] tests: fix the issue of cross compilation failure
|
||||||
|
|
||||||
|
By replacing objcopy with MAKE_OBJCOPY, pstack could support both
|
||||||
|
native and cross compilation.
|
||||||
|
|
||||||
|
Upstream-Status: Backport [https://github.com/peadar/pstack/pull/38]
|
||||||
|
---
|
||||||
|
tests/CMakeLists.txt | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
|
||||||
|
index 71a62a7..bf11a04 100644
|
||||||
|
--- a/tests/CMakeLists.txt
|
||||||
|
+++ b/tests/CMakeLists.txt
|
||||||
|
@@ -38,7 +38,7 @@ SET_TARGET_PROPERTIES(noreturn PROPERTIES COMPILE_FLAGS "-O2 -g")
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT basic-no-unwind-gen
|
||||||
|
- COMMAND objcopy --strip-debug --remove-section .eh_frame basic basic-no-unwind
|
||||||
|
+ COMMAND ${CMAKE_OBJCOPY} --strip-debug --remove-section .eh_frame basic basic-no-unwind
|
||||||
|
VERBATIM )
|
||||||
|
|
||||||
|
add_custom_target(basic-no-unwind ALL DEPENDS basic basic-no-unwind-gen)
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
SUMMARY = "A utility to print stack traces of running processes"
|
||||||
|
DESCRIPTION = "A from-scratch implementation of pstack using DWARF debugging and unwind information. \
|
||||||
|
Works for C/C++, Go, Rust, and Python. A traditional pstack command can generally print a backtrace \
|
||||||
|
of each thread in a running program, and sometimes from a core file. This version of pstack uses its \
|
||||||
|
own self contained ELF and DWARF parsing library, libdwelf to parse the DWARF debug and unwind \
|
||||||
|
information, to get a stack trace."
|
||||||
|
HOMEPAGE = "https://github.com/peadar/pstack"
|
||||||
|
SECTION = "devel"
|
||||||
|
LICENSE = "BSD-2-Clause"
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=671019a96ba80415b696240ed2ca5e80"
|
||||||
|
|
||||||
|
inherit cmake
|
||||||
|
|
||||||
|
S = "${UNPACKDIR}/${BPN}-${PV}"
|
||||||
|
DEPENDS += "zlib xz libunwind elfutils"
|
||||||
|
|
||||||
|
RDEPENDS:${PN} += "elfutils"
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}${bindir}
|
||||||
|
install -m 0755 ${B}/pstack ${D}${bindir}/pstack
|
||||||
|
|
||||||
|
install -d ${D}${libdir}
|
||||||
|
install -m 0755 ${B}/libprocman.so.${PV} ${D}${libdir}/libprocman.so.${PV}
|
||||||
|
ln -sf libprocman.so.${PV} ${D}${libdir}/libprocman.so
|
||||||
|
install -m 0755 ${B}/libdwelf.so.${PV} ${D}${libdir}/libdwelf.so.${PV}
|
||||||
|
ln -sf libdwelf.so.${PV} ${D}${libdir}/libdwelf.so
|
||||||
|
}
|
||||||
|
|
||||||
|
PACKAGES = "${PN}"
|
||||||
|
FILES:${PN} = "${bindir}/pstack"
|
||||||
|
FILES:${PN} += "${libdir}/libprocman.so.${PV}"
|
||||||
|
FILES:${PN} += "${libdir}/libdwelf.so.${PV}"
|
||||||
|
|
||||||
|
PACKAGES += "${PN}-dbg"
|
||||||
|
FILES:${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug"
|
||||||
|
|
||||||
|
PACKAGES += "${PN}-dev"
|
||||||
|
FILES:${PN}-dev += "${base_libdir}/*.so"
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
SUMMARY = "A from-scratch implementation of pstack using DWARF debugging \
|
||||||
|
and unwind information. Works for C/C++, Go, Rust, and Python."
|
||||||
|
|
||||||
|
HOMEPAGE = "https://github.com/peadar/pstack"
|
||||||
|
SECTION = "devel/pstack"
|
||||||
|
|
||||||
|
LICENSE = "BSD-2-Clause"
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=ea061f8731d5e6a5761dfad951ef5f5f"
|
||||||
|
|
||||||
|
DEPENDS = "tcl virtual/libx11 libxt zip-native"
|
||||||
|
|
||||||
|
SRC_URI = "git://github.com/peadar/pstack;branch=master;tag=v${PV};protocol=https"
|
||||||
|
SRCREV = "a310df637d74917a1d3570c540bf3aef899d7e63"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/${BPN}${PV}"
|
||||||
|
|
||||||
|
PACKAGES =+ "${PN}-lib"
|
||||||
|
|
||||||
|
SOLIBS = ".so"
|
||||||
|
FILES_SOLIBSDEV = ""
|
||||||
|
|
||||||
|
# isn't getting picked up by shlibs code
|
||||||
|
RDEPENDS:${PN} += "tk-lib"
|
||||||
|
RDEPENDS:${PN}:class-native = ""
|
||||||
|
|
||||||
|
BBCLASSEXTEND = "native nativesdk"
|
||||||
|
|
||||||
|
inherit binconfig
|
||||||
|
|
||||||
|
SYSROOT_DIRS += "${bindir_crossscripts}"
|
||||||
|
|
||||||
|
# Fix some paths that might be used by Tcl extensions
|
||||||
|
BINCONFIG_GLOB = "*Config.sh"
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
require pstack.inc
|
||||||
|
|
||||||
|
SRCREV = "1e1734be3adb6d9c81b57c5cc3d0c8fbc43bdee3"
|
||||||
|
PV = "2.11"
|
||||||
|
|
||||||
|
SRC_URI = "git://github.com/peadar/pstack.git;branch=master;protocol=https \
|
||||||
|
file://0001-tests-fix-the-issue-of-cross-compilation-failure.patch \
|
||||||
|
"
|
||||||
Reference in New Issue
Block a user