ktap: new package

Add ktap, a script-based dynamic tracing tool.

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Anders Darander 2013-12-10 12:59:41 +01:00 committed by Peter Korsgaard
parent 63e1c6b207
commit 3e1e7db3cc
5 changed files with 107 additions and 0 deletions

View File

@ -50,6 +50,7 @@ source "package/duma/Config.in"
source "package/gdb/Config.in"
source "package/iozone/Config.in"
source "package/kexec/Config.in"
source "package/ktap/Config.in"
source "package/latencytop/Config.in"
source "package/lmbench/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS

26
package/ktap/Config.in Normal file
View File

@ -0,0 +1,26 @@
config BR2_PACKAGE_KTAP
bool "ktap"
depends on BR2_LINUX_KERNEL
depends on BR2_TOOLCHAIN_HAS_THREADS
help
ktap is a script-based dynamic tracing tool for Linux
It uses a scripting language and lets users trace the Linux kernel
dynamically. ktap is designed to give operational insights with
interoperability that allows users to tune, troubleshoot and extend
kernel and application. It's similar to Linux Systemtap and
Solaris Dtrace.
ktap doesn't support kernels older than 3.1.
Your kernel must have CONFIG_EVENT_TRACING,
CONFIG_PERF_EVENTS, and CONFIG_DEBUG_FS enabled to compile.
http://www.ktap.org
comment "ktap requires a linux kernel to be built"
depends on !BR2_LINUX_KERNEL
comment "ktap needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -0,0 +1,27 @@
From 343cb5a8b11a1dfdf4262fce326113e889f13496 Mon Sep 17 00:00:00 2001
From: Anders Darander <anders@chargestorm.se>
Date: Sat, 9 Nov 2013 23:05:05 +0100
Subject: [PATCH] interpreter/vm.c: include uaccess.h
otherwise functions, such as copy_from_user, is implicitly defined.
Signed-off-by: Anders Darander <anders@chargestorm.se>
---
interpreter/vm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/interpreter/vm.c b/interpreter/vm.c
index bc7b951..f7cb794 100644
--- a/interpreter/vm.c
+++ b/interpreter/vm.c
@@ -28,6 +28,7 @@
#include <linux/signal.h>
#include <linux/sched.h>
#include "../include/ktap.h"
+#include <linux/uaccess.h>
#define KTAP_MINSTACK 20
--
1.8.4.2

View File

@ -0,0 +1,28 @@
From 90a8dd877b7766b1ba722c19569cffb68625288b Mon Sep 17 00:00:00 2001
From: Anders Darander <anders@chargestorm.se>
Date: Mon, 11 Nov 2013 13:04:36 +0100
Subject: Set PWD in Makefile
When cross-compiling using e.g. buildroot, PWD was not reset in the Makefile.
That caused PWD to have an incorrect value, and thus building the module failed.
Signed-off-by: Anders Darander <anders@chargestorm.se>
---
Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile b/Makefile
index 372b41a..939d25e 100644
--- a/Makefile
+++ b/Makefile
@@ -25,6 +25,7 @@ ktapvm-y := $(INTP_OBJS)
KVERSION ?= $(shell uname -r)
KERNEL_SRC ?= /lib/modules/$(KVERSION)/build
+PWD := $(shell pwd)
mod:
$(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules
--
1.8.4.2

25
package/ktap/ktap.mk Normal file
View File

@ -0,0 +1,25 @@
################################################################################
#
# ktap, script-based dynamic tracing tool
#
################################################################################
KTAP_VERSION = v0.3
KTAP_SITE = $(call github,ktap,ktap,$(KTAP_VERSION))
KTAP_SOURCE = v$(KTAP_VERSION).tar.gz
KTAP_LICENSE = GPLv2
KTAP_LICENSE_FILES = LICENSE-GPL
KTAP_DEPENDENCIES = linux
define KTAP_BUILD_CMDS
$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) ktap
$(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) KERNEL_SRC=$(LINUX_DIR) KVERSION=$(LINUX_VERSION_PROBED) mod
endef
define KTAP_INSTALL_TARGET_CMDS
$(INSTALL) -D -m755 $(@D)/ktap $(TARGET_DIR)/usr/bin/ktap
$(MAKE) -C $(@D) $(LINUX_MAKE_FLAGS) KERNEL_SRC=$(LINUX_DIR) KVERSION=$(LINUX_VERSION_PROBED) modules_install
endef
$(eval $(generic-package))