]> sourceware.org Git - systemtap.git/commit
PR14705: Modify SDT semaphores in stapdyn
authorJosh Stone <jistone@redhat.com>
Wed, 30 Jan 2013 20:20:41 +0000 (12:20 -0800)
committerJosh Stone <jistone@redhat.com>
Thu, 31 Jan 2013 02:55:30 +0000 (18:55 -0800)
commit909ab234518e8d20eb4608ca1b89c252e74c9a6f
treea4b9fc21ce2efa054cdace6349ff4239f2fd533a
parent7d7c27a36c0b1a8632ae15f9713468af135f9f4b
PR14705: Modify SDT semaphores in stapdyn

For SDT probes which are guarded by a semaphore, stapdyn needs to update
the value to show when the probes are active.

* stapdyn/mutatee.h (mutatee::semaphores): New vector of variables in
  this mutatee which represent active semaphores.
* stapdyn/mutatee.cxx (mutatee::update_semaphores): New, used to
  increment or decrement the value of semaphores in this mutatee.
  (mutatee::instrument_dynprobe_target): When a probe has a semaphore,
  create a variable representation of it.
  (mutatee::instrument_object_dynprobes): Increment semaphores in bulk.
  (mutatee::copy_forked_instrumentation): Copy semaphore variables too.
  (mutatee::remove_instrumentation): Decrement semaphores in bulk.
* tapsets.cxx (sdt_query::handle_query_module): Calculate the difference
  in load addresses between .text and .data as semaphore_load_offset.
  (sdt_query::record_semaphore): Subtract the semaphore_load_offset for
  dyninst to get a file-based offset of the semaphore.
stapdyn/mutatee.cxx
stapdyn/mutatee.h
tapsets.cxx
This page took 0.02809 seconds and 5 git commands to generate.