diff options
author | Mark Wielaard <mjw@redhat.com> | 2009-04-26 17:17:04 +0200 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2009-04-26 17:17:04 +0200 |
commit | 9f38e65363878d1e1bc8f51a0ad2cc4fd0316e13 (patch) | |
tree | e5e20cd435b464490f29e08846ed5f997f648df8 | |
parent | 88747011872d35bdb5dac1a01569e88b385d0519 (diff) | |
download | systemtap-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.cxx | 4 |
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;"; |