summaryrefslogtreecommitdiffstats
path: root/runtime/transport/symbols.c
diff options
context:
space:
mode:
authorfche <fche>2007-03-21 01:58:10 +0000
committerfche <fche>2007-03-21 01:58:10 +0000
commit840489846051292305b56243feba9807ba06039e (patch)
treedff5fc8d30d0060c8bd734e4ba3d1eb80b207d40 /runtime/transport/symbols.c
parent6fa8d6e2a8378bfaee0e8e1af8cc707b4e14aab3 (diff)
downloadsystemtap-steved-840489846051292305b56243feba9807ba06039e.tar.gz
systemtap-steved-840489846051292305b56243feba9807ba06039e.tar.xz
systemtap-steved-840489846051292305b56243feba9807ba06039e.zip
2007-03-20 Frank Ch. Eigler <fche@elastic.org>
PR 4224. * tapsets.cxx (add_probe_point): Make kernel implicitly relocated relative to the _stext symbol. (dwarf_derived_probe ctor, emit_module_decls): Cooperate. (lookup_symbol_address): New function. (dwarf_builder::build): Call it thrice. (in_kprobes_function): Simplify. * session.h (systemtap_session): Rename cached symbol addresses. * translate.cxx, elaborate.cxx: Corresponding tweaks. 2007-03-20 Frank Ch. Eigler <fche@elastic.org> PR 4224. * sym.c (_stp_module_relocate): Support kernel relocations. 2007-03-20 Frank Ch. Eigler <fche@elastic.org> * symbols.c (_stp_do_symbols): Add cautionary blurb for important setup of _stp_modules[0]->text.
Diffstat (limited to 'runtime/transport/symbols.c')
-rw-r--r--runtime/transport/symbols.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/runtime/transport/symbols.c b/runtime/transport/symbols.c
index 9d5163d0..ee5e967e 100644
--- a/runtime/transport/symbols.c
+++ b/runtime/transport/symbols.c
@@ -203,6 +203,7 @@ static int _stp_do_symbols(const char __user *buf, int count)
for (i = 0; i < _stp_modules[0]->num_symbols; i++)
s[i].symbol += (long)_stp_modules[0]->symbol_data;
_stp_symbol_state = 3;
+ /* NB: this mapping is used by kernel/_stext pseudo-relocations. */
_stp_modules[0]->text = _stp_kallsyms_lookup_name("_stext");
_stp_modules_by_addr[0] = _stp_modules[0];
break;