From 038c38c6119e29189be83c3a214c635c0d02ee58 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Tue, 6 Oct 2009 20:01:13 -0700 Subject: Remove the global derived_probe->semaphore map Instead just make the semaphore address a member of derived_probe. * session.h (systemtap_session): Remove the map sdt_semaphore_addr. * elaborate.h (derived_probe): Add sdt_semaphore_addr directly. * tapsets.cxx (sdt_query::record_semaphore): Write the addr directly. (uprobe_derived_probe_group::emit_module_decls): Read it directly. * tapset-utrace.cxx (utrace_derived_probe_group::emit_probe_decl): Ditto --- elaborate.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'elaborate.h') diff --git a/elaborate.h b/elaborate.h index cd60b8bb..28294aa9 100644 --- a/elaborate.h +++ b/elaborate.h @@ -18,6 +18,10 @@ #include #include +extern "C" { +#include +} + // ------------------------------------------------------------------------ struct derived_probe; @@ -153,6 +157,9 @@ public: virtual bool needs_global_locks () { return true; } // by default, probes need locks around global variables + + // Location of semaphores to activate sdt probes + Dwarf_Addr sdt_semaphore_addr; }; // ------------------------------------------------------------------------ -- cgit