This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][bugfix] kprobes: fix module compilation error with CONFIG_KPROBES=n


Andrew Morton wrote:
> On Mon, 05 Jan 2009 17:23:05 -0500 Masami Hiramatsu <mhiramat@redhat.com> wrote:
> 
>> Define kprobes related data structures even if CONFIG_KPROBES is not set.
>> This fixes compilation errors which occur if CONFIG_KPROBES is not set, in
>> kprobe using modules.
>>
>> Reviewed-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
>> Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
>> ---
>>  include/linux/kprobes.h |   45 +++++++++++++++++++++++----------------------
>>  1 file changed, 23 insertions(+), 22 deletions(-)
>>
>> Index: 2.6.28/include/linux/kprobes.h
>> ===================================================================
>> --- 2.6.28.orig/include/linux/kprobes.h
>> +++ 2.6.28/include/linux/kprobes.h
>> @@ -37,9 +37,9 @@
>>  #include <linux/spinlock.h>
>>  #include <linux/rcupdate.h>
>>  #include <linux/mutex.h>
>> +#include <asm/kprobes.h>
>>
>>  #ifdef CONFIG_KPROBES
>> -#include <asm/kprobes.h>
>>
> 
> The above change breaks alpha, and any other architecture which has no
> asm/kprobes.h.

Oops, indeed. Thank you for finding it!

> I undid that change, but maybe that rebroke things?

Yes, some structures should be defined in asm/kprobes.h, so
here is an additional fix patch.

------------------------------------------------------
From: Masami Hiramatsu <mhiramat@redhat.com>

Add dummy definitions of kprobe_opcode_t and arch_specific_insn
when CONFIG_KPROBES=n.

Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
---
 include/linux/kprobes.h |    4 ++++
 1 file changed, 4 insertions(+)

Index: 2.6-mm/include/linux/kprobes.h
===================================================================
--- 2.6-mm.orig/include/linux/kprobes.h
+++ 2.6-mm/include/linux/kprobes.h
@@ -50,6 +50,10 @@
 /* Attach to insert probes on any functions which should be ignored*/
 #define __kprobes	__attribute__((__section__(".kprobes.text"))) notrace
 #else /* CONFIG_KPROBES */
+typedef int kprobe_opcode_t;
+struct arch_specific_insn {
+	int dummy;
+};
 #define __kprobes	notrace
 #endif /* CONFIG_KPROBES */


-- 
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]