From b3f915c6561bcb2f7952faca3bedf1766f299538 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 20 Oct 2022 16:14:12 +0200 Subject: [PATCH] package/kmemd: new package kmemd let's you inspect a live Linux kernel's memory using GDB. Signed-off-by: Tobias Waldekranz Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 3 +++ package/Config.in | 1 + package/kmemd/Config.in | 20 ++++++++++++++++++++ package/kmemd/kmemd.hash | 3 +++ package/kmemd/kmemd.mk | 20 ++++++++++++++++++++ 5 files changed, 47 insertions(+) create mode 100644 package/kmemd/Config.in create mode 100644 package/kmemd/kmemd.hash create mode 100644 package/kmemd/kmemd.mk diff --git a/DEVELOPERS b/DEVELOPERS index 6e0b765ba1..bc4640685a 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2936,6 +2936,9 @@ F: package/waf/ F: support/testing/tests/package/test_crudini.py F: support/testing/tests/package/test_redis.py +N: Tobias Waldekranz +F: package/kmemd/ + N: Tudor Holton F: package/openjdk/ diff --git a/package/Config.in b/package/Config.in index e3a34d6e97..ebafe11dea 100644 --- a/package/Config.in +++ b/package/Config.in @@ -111,6 +111,7 @@ menu "Debugging, profiling and benchmark" source "package/iozone/Config.in" source "package/kexec/Config.in" source "package/kexec-lite/Config.in" + source "package/kmemd/Config.in" source "package/kvm-unit-tests/Config.in" source "package/kyua/Config.in" source "package/latencytop/Config.in" diff --git a/package/kmemd/Config.in b/package/kmemd/Config.in new file mode 100644 index 0000000000..902e636947 --- /dev/null +++ b/package/kmemd/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_KMEMD + bool "kmemd" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libbpf + depends on BR2_USE_WCHAR # libbpf + depends on !BR2_STATIC_LIBS # libbpf + depends on BR2_TOOLCHAIN_HAS_THREADS # libbpf + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 # libbpf + depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # libbpf + select BR2_PACKAGE_LIBBPF + help + Explore a live Linux kernel's memory using GDB + + https://github.com/wkz/kmemd + +comment "kmemd needs a uClibc or glibc toolchain w/ wchar, dynamic library, threads, headers >= 4.13" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ + || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 \ + || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) diff --git a/package/kmemd/kmemd.hash b/package/kmemd/kmemd.hash new file mode 100644 index 0000000000..aecfea57f8 --- /dev/null +++ b/package/kmemd/kmemd.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 519ac3cdd367acee5090eec3b7e08400724f9b84486b191f3af534bd7cffca70 kmemd-1.0.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/kmemd/kmemd.mk b/package/kmemd/kmemd.mk new file mode 100644 index 0000000000..902941b981 --- /dev/null +++ b/package/kmemd/kmemd.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# kmemd +# +################################################################################ + +KMEMD_VERSION = 1.0.0 +KMEMD_SITE = https://github.com/wkz/kmemd/releases/download/$(KMEMD_VERSION) +KMEMD_LICENSE = GPL-2.0 +KMEMD_LICENSE_FILES = COPYING +KMEMD_DEPENDENCIES = libbpf + +define KMEMD_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BPF_SYSCALL) + $(call KCONFIG_ENABLE_OPT,CONFIG_FTRACE) + $(call KCONFIG_ENABLE_OPT,CONFIG_KPROBES) + $(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS) +endef + +$(eval $(autotools-package))