From 840489846051292305b56243feba9807ba06039e Mon Sep 17 00:00:00 2001 From: fche Date: Wed, 21 Mar 2007 01:58:10 +0000 Subject: 2007-03-20 Frank Ch. Eigler 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 PR 4224. * sym.c (_stp_module_relocate): Support kernel relocations. 2007-03-20 Frank Ch. Eigler * symbols.c (_stp_do_symbols): Add cautionary blurb for important setup of _stp_modules[0]->text. --- runtime/transport/symbols.c | 1 + 1 file changed, 1 insertion(+) (limited to 'runtime/transport/symbols.c') 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; -- cgit