Re: [PATCH 2/2] Kprobes: Build kretprobe samples only if arch supports kretprobes - updated

Ananth N Mavinakayanahalli
2007-12-10T13:42:34Z

On Mon, Dec 10, 2007 at 01:00:26PM +0100, Sam Ravnborg wrote:
> On Mon, Dec 10, 2007 at 03:23:50PM +0530, Ananth N Mavinakayanahalli wrote:
> > From: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
> >
> > This patch builds samples/kprobes/kretprobe_example.c only on archs that
> > support kretprobes.
> >
> >
> > Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
> > ---
> > samples/kprobes/Makefile | 7 +++++--
> > 1 files changed, 5 insertions(+), 2 deletions(-)
> >
> > Index: linux-2.6.24-rc4/samples/kprobes/Makefile
> > ===================================================================
> > --- linux-2.6.24-rc4.orig/samples/kprobes/Makefile
> > +++ linux-2.6.24-rc4/samples/kprobes/Makefile
> > @@ -1,5 +1,8 @@
> > # builds the kprobes example kernel modules;
> > # then to use one (as root): insmod <module_name.ko>
> >
> > -obj-$(CONFIG_SAMPLE_KPROBES) += kprobe_example.o jprobe_example.o \
> > - kretprobe_example.o
> > +obj-$(CONFIG_SAMPLE_KPROBES) += kprobe_example.o jprobe_example.o
> > +
> > +ifeq ($(CONFIG_HAVE_KRETPROBES),y)
> > +obj-$(CONFIG_SAMPLE_KPROBES) += kretprobe_example.o
> > +endif
>
> It would be nice to push this configuration dependency to Kconfig.
> Something like:
>
> config SAMPLE_KRETPROBES
> default y
> depends on SAMPLE_KPROBES
>
> And then in the Makefile have:
> obj-$(CONFIG_SAMPLE_KRETPROBES) += kretprobe_example.o

Done. Updated patch below...

From: Ananth N Mavinakayanahalli <ananth@in.ibm.com>

This patch builds samples/kprobes/kretprobe_example.c only on archs that
support kretprobes. Thanks to Sam Ravnborg for Kconfig suggestions.

Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
---
samples/Kconfig | 5 +++++
samples/kprobes/Makefile | 4 ++--
2 files changed, 7 insertions(+), 2 deletions(-)

Index: linux-2.6.24-rc4/samples/kprobes/Makefile
===================================================================
--- linux-2.6.24-rc4.orig/samples/kprobes/Makefile
+++ linux-2.6.24-rc4/samples/kprobes/Makefile
@@ -1,5 +1,5 @@
# builds the kprobes example kernel modules;
# then to use one (as root): insmod <module_name.ko>

-obj-$(CONFIG_SAMPLE_KPROBES) += kprobe_example.o jprobe_example.o \
- kretprobe_example.o
+obj-$(CONFIG_SAMPLE_KPROBES) += kprobe_example.o jprobe_example.o
+obj-$(CONFIG_SAMPLE_KRETPROBES) += kretprobe_example.o
Index: linux-2.6.24-rc4/samples/Kconfig
===================================================================
--- linux-2.6.24-rc4.orig/samples/Kconfig
+++ linux-2.6.24-rc4/samples/Kconfig
@@ -28,5 +28,10 @@ config SAMPLE_KPROBES
help
This build several kprobes example modules.

+config SAMPLE_KRETPROBES
+ tristate "Build kretprobes example -- loadable modules only"
+ default m
+ depends on SAMPLE_KPROBES && HAVE_KRETPROBES
+
endif # SAMPLES