Commit 3e1e7db3 authored by Anders Darander's avatar Anders Darander Committed by Peter Korsgaard
Browse files

ktap: new package



Add ktap, a script-based dynamic tracing tool.

Signed-off-by: default avatarAnders Darander <anders@chargestorm.se>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 63e1c6b2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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

package/ktap/Config.in

0 → 100644
+26 −0
Original line number Diff line number Diff line
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
+27 −0
Original line number Diff line number Diff line
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
+28 −0
Original line number Diff line number Diff line
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

package/ktap/ktap.mk

0 → 100644
+25 −0
Original line number Diff line number Diff line
################################################################################
#
# 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))