Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/1] ktap: new package
@ 2013-12-09 12:57 Anders Darander
  2013-12-09 17:54 ` Thomas Petazzoni
  0 siblings, 1 reply; 5+ messages in thread
From: Anders Darander @ 2013-12-09 12:57 UTC (permalink / raw)
  To: buildroot

Add ktap, a script-based dynamic tracing tool.

Signed-off-by: Anders Darander <anders@chargestorm.se>
---

Changes v1 -> v2:
	- Change {} to () around e.g. LINUX_VERSION_PROBED
	- Use TARGET_CONFIGURE_OPTS instead of setting CC
	- Explicitly install to file instead of directory
	- Add depends on BR2_TOOLCHAIN_HAS_THREADS

I don't think this version has any more depends than this. 

 package/Config.in                                  |  1 +
 .../0001-interpreter-vm.c-include-uaccess.h.patch  | 27 +++++++++++++++++++++
 package/ktap/0002-Set-PWD-in-Makefile.patch        | 28 ++++++++++++++++++++++
 package/ktap/Config.in                             | 26 ++++++++++++++++++++
 package/ktap/ktap.mk                               | 25 +++++++++++++++++++
 5 files changed, 107 insertions(+)
 create mode 100644 package/ktap/0001-interpreter-vm.c-include-uaccess.h.patch
 create mode 100644 package/ktap/0002-Set-PWD-in-Makefile.patch
 create mode 100644 package/ktap/Config.in
 create mode 100644 package/ktap/ktap.mk

diff --git a/package/Config.in b/package/Config.in
index aa928ec..40c9e31 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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
diff --git a/package/ktap/0001-interpreter-vm.c-include-uaccess.h.patch b/package/ktap/0001-interpreter-vm.c-include-uaccess.h.patch
new file mode 100644
index 0000000..c7c6bbe
--- /dev/null
+++ b/package/ktap/0001-interpreter-vm.c-include-uaccess.h.patch
@@ -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
+
diff --git a/package/ktap/0002-Set-PWD-in-Makefile.patch b/package/ktap/0002-Set-PWD-in-Makefile.patch
new file mode 100644
index 0000000..e62d4f1
--- /dev/null
+++ b/package/ktap/0002-Set-PWD-in-Makefile.patch
@@ -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
+
diff --git a/package/ktap/Config.in b/package/ktap/Config.in
new file mode 100644
index 0000000..d50a6ac
--- /dev/null
+++ b/package/ktap/Config.in
@@ -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 with Linux Systemtap and
+	  Solaris Dtrace.
+
+	  ktap don'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
+
diff --git a/package/ktap/ktap.mk b/package/ktap/ktap.mk
new file mode 100644
index 0000000..ac0b744
--- /dev/null
+++ b/package/ktap/ktap.mk
@@ -0,0 +1,25 @@
+################################################################################
+#
+# ktap, script-based dynamic tracing tool
+#
+################################################################################
+
+KTAP_VERSION = 0.3
+KTAP_SITE    = https://github.com/ktap/ktap/archive
+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_OPT) 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))
-- 
1.8.5.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v2 1/1] ktap: new package
  2013-12-09 12:57 Anders Darander
@ 2013-12-09 17:54 ` Thomas Petazzoni
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2013-12-09 17:54 UTC (permalink / raw)
  To: buildroot

Dear Anders Darander,

On Mon, 9 Dec 2013 13:57:09 +0100, Anders Darander wrote:

> +define KTAP_BUILD_CMDS
> +	$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPT) ktap

Are you sure this works? The variable name is TARGET_CONFIGURE_OPTS.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v2 1/1] ktap: new package
@ 2013-12-09 18:38 Anders Darander
  2013-12-09 18:41 ` Baruch Siach
  0 siblings, 1 reply; 5+ messages in thread
From: Anders Darander @ 2013-12-09 18:38 UTC (permalink / raw)
  To: buildroot


On 9 Dec 2013 18:54, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote:
> On Mon, 9 Dec 2013 13:57:09 +0100, Anders Darander wrote:
>
> > +define KTAP_BUILD_CMDS
> > +     $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPT) ktap
>
> Are you sure this works? The variable name is TARGET_CONFIGURE_OPTS.

Hm, yes that sounds strange. I'm parotid that it built correctly, though I guess I'll need to double check that it wasn't before that typo got in.

I guess I'll be back with a v3 tomorrow...

Cheers,
Anders

> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131209/f96e9cfc/attachment.html>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v2 1/1] ktap: new package
  2013-12-09 18:38 [Buildroot] [PATCH v2 1/1] ktap: new package Anders Darander
@ 2013-12-09 18:41 ` Baruch Siach
  0 siblings, 0 replies; 5+ messages in thread
From: Baruch Siach @ 2013-12-09 18:41 UTC (permalink / raw)
  To: buildroot

Hi Andres,

On Mon, Dec 09, 2013 at 07:38:25PM +0100, Anders Darander wrote:
> I guess I'll be back with a v3 tomorrow...

Please bump ktap to version 0.4 while you are at it.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v2 1/1] ktap: new package
@ 2013-12-09 19:16 Anders Darander
  0 siblings, 0 replies; 5+ messages in thread
From: Anders Darander @ 2013-12-09 19:16 UTC (permalink / raw)
  To: buildroot

Hi,

On 9 Dec 2013 19:47, Baruch Siach <baruch@tkos.co.il> wrote:
> On Mon, Dec 09, 2013 at 07:38:25PM +0100, Anders Darander wrote:
> > I guess I'll be back with a v3 tomorrow...
>
> Please bump ktap to version 0.4 while you are at it.

My plan is to get the 0.3 version in, as that's the version I've done rather extensive verification of.

Then I plan to update to v0.4, though it may take a little while as the time is limited. There's some more configuration options / dependences har needs to be added for v0.4, thus I feel a need for some more verification time.

Cheers,
Anders

> baruch
>
> --
>      http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
>    - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131209/f0b8f4de/attachment.html>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-12-09 19:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-09 18:38 [Buildroot] [PATCH v2 1/1] ktap: new package Anders Darander
2013-12-09 18:41 ` Baruch Siach
  -- strict thread matches above, loose matches on Subject: below --
2013-12-09 19:16 Anders Darander
2013-12-09 12:57 Anders Darander
2013-12-09 17:54 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox