summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2009-04-26 17:17:04 +0200
committerMark Wielaard <mjw@redhat.com>2009-04-26 17:17:04 +0200
commit9f38e65363878d1e1bc8f51a0ad2cc4fd0316e13 (patch)
treee5e20cd435b464490f29e08846ed5f997f648df8
parent88747011872d35bdb5dac1a01569e88b385d0519 (diff)
downloadsystemtap-steved-9f38e65363878d1e1bc8f51a0ad2cc4fd0316e13.tar.gz
systemtap-steved-9f38e65363878d1e1bc8f51a0ad2cc4fd0316e13.tar.xz
systemtap-steved-9f38e65363878d1e1bc8f51a0ad2cc4fd0316e13.zip
Handle kprobe struct field symbol_name as either char * or const char *.
Older (2.6.18) based kernels defined struct kprobes symbol_name as char *, but newer (2.6.27) based kernels defined the same field as const char *. * tapsets.cxx (kprobe_derived_probe_group::emit_module_init): Always cast to char * when assigning to kprobes.symbol_name field.
-rw-r--r--tapsets.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index 4aeff584..bc8df243 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -8560,7 +8560,7 @@ kprobe_derived_probe_group::emit_module_init (systemtap_session& s)
s.op->newline() << "probe_point = sdp->pp;"; // for error messages
s.op->newline() << "if (sdp->return_p) {";
s.op->newline(1) << "kp->u.krp.kp.addr = addr;";
- s.op->newline() << "kp->u.krp.kp.symbol_name = symbol_name;";
+ s.op->newline() << "kp->u.krp.kp.symbol_name = (char *) symbol_name;";
s.op->newline() << "if (sdp->maxactive_p) {";
s.op->newline(1) << "kp->u.krp.maxactive = sdp->maxactive_val;";
s.op->newline(-1) << "} else {";
@@ -8584,7 +8584,7 @@ kprobe_derived_probe_group::emit_module_init (systemtap_session& s)
s.op->newline(-1) << "} else {";
// to ensure safeness of bspcache, always use aggr_kprobe on ia64
s.op->newline(1) << "kp->u.kp.addr = addr;";
- s.op->newline() << "kp->u.kp.symbol_name = symbol_name;";
+ s.op->newline() << "kp->u.kp.symbol_name = (char *) symbol_name;";
s.op->newline() << "kp->u.kp.pre_handler = &enter_kprobe2_probe;";
s.op->newline() << "#ifdef __ia64__";
s.op->newline() << "kp->dummy.pre_handler = NULL;";