From db3a383b3ba2efb0cea830a2407cdd1a73fc03c5 Mon Sep 17 00:00:00 2001 From: kenistoj Date: Tue, 13 Nov 2007 21:57:21 +0000 Subject: PR 5270 * main.cxx: Restored pre-10-08 version: moved uprobes build to buildrun.cxx. * buildrun.cxx: Reworked uprobes build so that the resulting Module.symvers can be used in building the stap-generated module. If user isn't root, call verify_uprobes_uptodate() rather than trying (and failing) to rebuild uprobes.ko. * buildrun.h: uprobes_enabled() and make_uprobes() are no longer extern. * runtime/uprobes/Makefile: Added uprobes.ko target for use by verify_uprobes_uptodate(). --- main.cxx | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) (limited to 'main.cxx') diff --git a/main.cxx b/main.cxx index 97f089a8..7d4b8133 100644 --- a/main.cxx +++ b/main.cxx @@ -225,7 +225,6 @@ main (int argc, char * const argv []) s.symtab = false; s.use_cache = true; s.tapset_compile_coverage = false; - s.need_uprobes = false; const char* s_p = getenv ("SYSTEMTAP_TAPSET"); if (s_p != NULL) @@ -729,13 +728,12 @@ main (int argc, char * const argv []) // See if we can use cached source/module. if (get_from_cache(s)) { - // If our last pass isn't 5, and we don't need to build - // uprobes, we're done (since passes 3 and 4 just generate - // what we just pulled out of the cache). - if (s.last_pass < 4) goto cleanup; + // If our last pass isn't 5, we're done (since passes 3 and + // 4 just generate what we just pulled out of the cache). + if (s.last_pass < 5) goto cleanup; - // Short-circuit to pass 4.5. - goto pass_4point5; + // Short-circuit to pass 5. + goto pass_5; } } @@ -812,20 +810,8 @@ main (int argc, char * const argv []) } } - if (rc) goto cleanup; + if (rc || s.last_pass == 4) goto cleanup; - // PASS 4.5: BUILD SYSTEMTAP'S VERSION OF UPROBES (IF NECESSARY) -pass_4point5: - if (s.need_uprobes) - { - if (s.last_pass == 5 && uprobes_enabled()) - // Uprobes symbols are currently available in the kernel, - // so staprun won't use what we'd build anyway. - goto pass_5; - - (void) make_uprobes(s); - } - if (s.last_pass == 4) goto cleanup; // PASS 5: RUN pass_5: -- cgit