]> sourceware.org Git - systemtap.git/log
systemtap.git
11 years agostap-server: also report KALLSYMS config
Frank Ch. Eigler [Tue, 21 May 2013 20:40:30 +0000 (16:40 -0400)]
stap-server: also report KALLSYMS config

11 years agostap-report: also include libdw* in package list
Frank Ch. Eigler [Tue, 21 May 2013 20:32:03 +0000 (16:32 -0400)]
stap-report: also include libdw* in package list

11 years agoFix PR15083 by adding dyninst system() support.
David Smith [Tue, 21 May 2013 20:00:49 +0000 (15:00 -0500)]
Fix PR15083 by adding dyninst system() support.

* runtime/dyninst/transport.c (__stp_d_t_run_command): New function.
(_stp_dyninst_transport_thread_func): Add STP_DYN_SYSTEM support.
(_stp_ctl_send): New function.
* runtime/dyninst/transport.h: Added STP_DYN_SYSTEM and
  STP_DYN_OOB_DATA_MASK.

11 years agoFix PR15486 by handling debug messages properly in dyninst mode.
David Smith [Fri, 17 May 2013 18:18:06 +0000 (13:18 -0500)]
Fix PR15486 by handling debug messages properly in dyninst mode.

* runtime/dyninst/io.c (_stp_vlog): If we're handling a message of type
  DBUG, don't allocate a transport log buffer. Instead use the temporary
  buffer.
* testsuite/systemtap.printf/dbug.exp: New test file.
* testsuite/systemtap.printf/dbug.stp: Ditto.

11 years agoPR15484: have staprun disable kprobes-optimization again
Frank Ch. Eigler [Fri, 17 May 2013 14:45:28 +0000 (10:45 -0400)]
PR15484: have staprun disable kprobes-optimization again

11 years agoPR15481: Only destroy mutexes from stapdyn itself
Josh Stone [Fri, 17 May 2013 01:53:39 +0000 (18:53 -0700)]
PR15481: Only destroy mutexes from stapdyn itself

The primary bug was since commit 8ca891c, _stp_shm_destroy was calling
_stp_runtime_context_free, which calls pthread_mutex_destroy on the
context locks.  But _stp_shm_destroy is only meant to destroy *one*
processes view of shm -- it still needs to leave the contents intact for
other processes!  This was making it so a child process ended and
destroyed the contexts, and thus in stapdyn it couldn't grab a context
to run the end probes.

* runtime/dyninst/shm.c (_stp_shm_destroy): Don't destroy contexts!
* runtime/dyninst/runtime_context.h (_stp_runtime_contexts_free): Remove
  the __-prefixed variant, and explain in comments who should call this.
* tapsets.cxx (common_probe_entryfn_epilogue): Only call put_context if
  we had successfully called get_context before.
* testsuite/systemtap.base/be_loaded.*: Test the simple begin/end case
  with a child command loaded.
* translate.cxx (c_unparser::emit_module_exit): This generated exit
  function is the best place to free the contexts and also shutdown the
  transport, because this is the final call among all processes.
* runtime/dyninst/runtime.h (stp_dyninst_dtor): Don't shutdown the
  transport here, because this is called by every process that has the
  module loaded.

11 years agostapdyn: implement tapset tzinfo.stp
Josh Stone [Fri, 17 May 2013 00:11:44 +0000 (17:11 -0700)]
stapdyn: implement tapset tzinfo.stp

* runtime/dyninst/session_attributes.*: Add tz_gmtoff and tz_name.
* stapdyn/mutator.cxx (mutator::init_session_attributes): Set them.
* tapset/tzinfo.stp: Reduce to just the common tz_ctime().
* tapset/linux/tzinfo.stp: Move the linux tz_gmtoff() and tz_name here.
* tapset/dyninst/tzinfo.stp: Implement dyninst versions of the same.
* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Get docstrings from the
  new linux/tzinfo.stp too.

11 years agoImprove the kernel target_set.stp and add a stapdyn version
Josh Stone [Thu, 16 May 2013 23:12:02 +0000 (16:12 -0700)]
Improve the kernel target_set.stp and add a stapdyn version

* tapset/linux/target_set.stp: Prefer process.begin/end for better
  tracking *process* lifetime. (syscall.exit covers thread exits too!)
* tapset/dyninst/target_set.stp: Implement stapdyn target_set.
* testsuite/systemtap.base/target_set_thread.*: Test that thread exits
  don't cause target_set to lose sight of a process.
* main.cxx (run_sdt_benchmark): Save the timing info for verbose runs.

11 years agostapdyn: implement the tapset is_return()
Josh Stone [Thu, 16 May 2013 20:38:35 +0000 (13:38 -0700)]
stapdyn: implement the tapset is_return()

This also fixes the CONTEXT->probe_type for stapdyn return probes.

11 years agoSet the right probe_type for inode uretprobes
Josh Stone [Thu, 16 May 2013 20:38:00 +0000 (13:38 -0700)]
Set the right probe_type for inode uretprobes

11 years agostapdyn: implement tapset module_name()
Josh Stone [Thu, 16 May 2013 19:36:47 +0000 (12:36 -0700)]
stapdyn: implement tapset module_name()

Note: for parity with the kernel mode, this name is without any path or
filename extension.  We might want to consider adding a module_path()
with the full filename we loaded.

11 years agostapdyn: implement tapset target() and stp_pid()
Josh Stone [Thu, 16 May 2013 19:23:27 +0000 (12:23 -0700)]
stapdyn: implement tapset target() and stp_pid()

Add fields for the target pid and stapdyn's own pid to the new
stp_session_attributes, and expose them in the tapset.

11 years agoSet versions back to 2.3 for the master branch
Josh Stone [Thu, 16 May 2013 17:50:32 +0000 (10:50 -0700)]
Set versions back to 2.3 for the master branch

11 years agoMerge tag 'release-2.2.1'
Josh Stone [Thu, 16 May 2013 17:39:03 +0000 (10:39 -0700)]
Merge tag 'release-2.2.1'

Just merging so the tag is in the history of a branch.

11 years agojava: make sure that rulename-based filter gets into synthetic probe
Frank Ch. Eigler [Thu, 16 May 2013 14:30:37 +0000 (10:30 -0400)]
java: make sure that rulename-based filter gets into synthetic probe

* tapset-method.cxx (java_builder::build): Put the rewritten body
  into the copied synthetic probe, not the original (?!).

11 years agojava: support $STAPBM_VERBOSE to enable byteman verbosity
Frank Ch. Eigler [Thu, 16 May 2013 14:24:59 +0000 (10:24 -0400)]
java: support $STAPBM_VERBOSE to enable byteman verbosity

11 years agoversion miniunbump to v2.2.1 for release
Frank Ch. Eigler [Thu, 16 May 2013 13:19:53 +0000 (09:19 -0400)]
version miniunbump to v2.2.1 for release

11 years agoupdate tapset deprecation from <= "2.2" to < "2.3" to make space for minor update
Frank Ch. Eigler [Thu, 16 May 2013 13:11:34 +0000 (09:11 -0400)]
update tapset deprecation from <= "2.2" to < "2.3" to make space for minor update

11 years agoFix PR15110 by eliminating duplicate warnings for stapdyn.
David Smith [Thu, 16 May 2013 16:51:00 +0000 (11:51 -0500)]
Fix PR15110 by eliminating duplicate warnings for stapdyn.

* runtime/dyninst/transport.c (__stp_d_t_eliminate_duplicate_warnings):
  New function.
  (_stp_dyninst_transport_thread_func): Added warning suppression and
  duplicate warnings elimination.
* translate.cxx (c_unparser::emit_global_init_setters): Emit code to call
  stp_session_attribute_setter().
* stapdyn/mutator.cxx (mutator::init_session_attributes): New function.
  (mutator::run_module_init): Call init_session_attributes().
* stapdyn/mutator.h (mutator): Add init_session_attributes() prototype.
* runtime/dyninst/session_attributes.h: New file.
* runtime/dyninst/session_attributes.c: Ditto.
* runtime/dyninst/runtime.h: Includes session_attributes.c.
* runtime/dyninst/common_session_state.h: Add session attributes structure
  to 'struct stp_runtime_session'.
  (stp_session_attributes): New function.
  (stp_session_init): Add call to stp_session_attributes_init().
* runtime/dyninst/stapdyn.h: Update stp_global_setter comment to note that
  names starting with '@' are internal names.
* stapdyn/dynutil.cxx: Correct spelling of 'stapdyn_suppress_warnings'
  variable name.
* stapdyn/dynutil.h: Ditto.
* stapdyn/stapdyn.cxx (main): Ditto.
* testsuite/systemtap.base/warnings2.exp: Remove dyninst_kfails proc,
  since duplicate warnings are now eliminated in dyninst mode.

11 years agojava: make sure that rulename-based filter gets into synthetic probe release-2.2.1
Frank Ch. Eigler [Thu, 16 May 2013 14:30:37 +0000 (10:30 -0400)]
java: make sure that rulename-based filter gets into synthetic probe

* tapset-method.cxx (java_builder::build): Put the rewritten body
  into the copied synthetic probe, not the original (?!).

11 years agojava: support $STAPBM_VERBOSE to enable byteman verbosity
Frank Ch. Eigler [Thu, 16 May 2013 14:24:59 +0000 (10:24 -0400)]
java: support $STAPBM_VERBOSE to enable byteman verbosity

11 years agoversion miniunbump to v2.2.1 for release
Frank Ch. Eigler [Thu, 16 May 2013 13:19:53 +0000 (09:19 -0400)]
version miniunbump to v2.2.1 for release

11 years agoupdate tapset deprecation from <= "2.2" to < "2.3" to make space for minor update
Frank Ch. Eigler [Thu, 16 May 2013 13:11:34 +0000 (09:11 -0400)]
update tapset deprecation from <= "2.2" to < "2.3" to make space for minor update

11 years agotestsuite: update unprivileged_probes with recently added probe types
Frank Ch. Eigler [Thu, 16 May 2013 02:35:08 +0000 (22:35 -0400)]
testsuite: update unprivileged_probes with recently added probe types

... incl. the java probes. timer.profile.tick, some minor kprobes variants

11 years agojava probes: make these unprivileged
Frank Ch. Eigler [Thu, 16 May 2013 02:34:18 +0000 (22:34 -0400)]
java probes: make these unprivileged

* tapset-method.cxx (register_tapset_java): bind_unprivileged the lot,
  considering that they are simply uprobes.
* tapset/system.stp (system): Mark as /* unprivileged */.

11 years agobenchmark: call them "start" rather than "begin"
Josh Stone [Wed, 15 May 2013 21:24:52 +0000 (14:24 -0700)]
benchmark: call them "start" rather than "begin"

... for consistency with our other SDT names.

11 years agoPR14297: Test that hyphenated SDT normalizes to underscores
Josh Stone [Wed, 15 May 2013 20:04:48 +0000 (13:04 -0700)]
PR14297: Test that hyphenated SDT normalizes to underscores

11 years agoChange "-" to "__" in naming our internal benchmark probes
Josh Stone [Wed, 15 May 2013 20:02:13 +0000 (13:02 -0700)]
Change "-" to "__" in naming our internal benchmark probes

They're supposed to be named like C-identifiers. Plus the process.mark
tapset normalizes "-" in user input to "__" already, making it
impossible to directly match on a literal "benchmark-begin".

11 years agoPR14297: Skip the user's input when scanning for resolved probes
Josh Stone [Wed, 15 May 2013 19:51:33 +0000 (12:51 -0700)]
PR14297: Skip the user's input when scanning for resolved probes

* elaborate.cxx (derived_probe::script_location): Sweep the derivation
  chain from its second-to-last, so we get at least one level of
  resolution from the user's input.
* testsuite/systemtap.base/list.exp: Add a case for kernel init_once,
  which demonstrates listing the @file:line is useful to disambiguate.
  Add a case for 'begin' too, the simplest expansion we have.

11 years agoPR14297: add a test case for stap -l
Frank Ch. Eigler [Wed, 15 May 2013 17:52:17 +0000 (13:52 -0400)]
PR14297: add a test case for stap -l

11 years agoPR15452 Follow DW_AT_signature attributes when trying to find a DW_AT_type.
Mark Wielaard [Wed, 15 May 2013 15:36:08 +0000 (11:36 -0400)]
PR15452 Follow DW_AT_signature attributes when trying to find a DW_AT_type.

When we are trying to find a type DIE we might hit upon a DIE that simply
has a DW_AT_signature pointing to the actual type (possibly in .debug_type).
Extend the debugtypes.exp testcase a bit. Add DW_AT_signature chasing to
dwarf_wrappers.h (dwarf_attr_die) when searching for a DW_AT_type. And
clarify that dwflpp::print_members takes a type DIE not a variable DIE.

11 years agoPR14297 cont'd: find wildcards more carefully for stap -l filtering
Frank Ch. Eigler [Wed, 15 May 2013 15:39:36 +0000 (11:39 -0400)]
PR14297 cont'd: find wildcards more carefully for stap -l filtering

* elaborate.cxx (derived_probe::script_location): Look for other
  glob characters too in to-be-skipped items in the derivation chain.

11 years agoPR14297 cont'd: drop optional flagging from process().plt() derivation
Frank Ch. Eigler [Wed, 15 May 2013 15:29:56 +0000 (11:29 -0400)]
PR14297 cont'd: drop optional flagging from process().plt() derivation

11 years agoPR14297 cont'd: stap -l to list process().plt() without synthetic .statement() suffix
Frank Ch. Eigler [Wed, 15 May 2013 14:49:08 +0000 (10:49 -0400)]
PR14297 cont'd: stap -l to list process().plt()  without synthetic .statement() suffix

Just another layer of synthetic-base-probe indirection.

11 years agoPR14297 cont'd: correct stap -l syscall.* -- i.e., aliases
Frank Ch. Eigler [Wed, 15 May 2013 14:29:32 +0000 (10:29 -0400)]
PR14297 cont'd: correct stap -l syscall.* -- i.e., aliases

What a tangled web.

* elaborate.cxx (alias_derived_probe::sole_location): Define &
  override to provide the alias name itself rather than the
  aliased referent probes.

11 years agoPrint plt addresses in hex
Josh Stone [Wed, 15 May 2013 04:24:05 +0000 (21:24 -0700)]
Print plt addresses in hex

11 years agoPR14297 and .mark($$name) regression
Frank Ch. Eigler [Wed, 15 May 2013 02:06:33 +0000 (22:06 -0400)]
PR14297 and .mark($$name) regression

The machinery for derived-probe chaining hasn't worked quite right,
relying on pretend-aliases and in-place-modified probe-point
components, inconsistencies abounding.  Some of these are improved
in this code.

* elaborate.cxx (collect_derivation_pp_chain): Use sole_location() for
  the starting point as that is the one most likely brought up-to-date
  during the building process, and will be emitted in pass-3.
  (script_location): Drop *basest* type logic fallback logic entirely;
  fall back to top-level sole_location().
* elaborate.h, staptree.h: Drop basest/almost_basest functions.
* staptree.cxx: Ditto.
  (probe::probe derived-copy ctor): Make deep-copy of probe body,
  in case of partial rewriting during derivation steps.
* main.cxx (printscript): Rework listings code to use exactly the
  same routine for -l output as which feeds pn(): namely
  derived_probe::script_location().
* tapsets.cxx (query_one_library, query_one_plt, sdt_query::convert_location):
  Use new derived-probe-copy ctor systematically; nested if necessary to
  track levels of wildcard-expansion and synthetic probe creation.

11 years agoversion bumps, cont'd
Frank Ch. Eigler [Tue, 14 May 2013 20:16:35 +0000 (16:16 -0400)]
version bumps, cont'd

11 years agoversion bump for 2.3 development
Frank Ch. Eigler [Tue, 14 May 2013 20:13:39 +0000 (16:13 -0400)]
version bump for 2.3 development

11 years agoimprove error message for $foo->bar.baz misuse
Frank Ch. Eigler [Tue, 14 May 2013 19:55:34 +0000 (15:55 -0400)]
improve error message for  $foo->bar.baz  misuse

11 years agojava support: snuff gcc warnings on non-HAVE_JAVA builds
Frank Ch. Eigler [Tue, 14 May 2013 17:09:55 +0000 (13:09 -0400)]
java support: snuff gcc warnings on non-HAVE_JAVA builds

11 years agosystemtap java support reorganization release-2.2
Frank Ch. Eigler [Mon, 13 May 2013 21:16:42 +0000 (17:16 -0400)]
systemtap java support reorganization

* systemtap.spec: require byteman > 2.0 for java support
* configure.ac: Make java/stapbm a AC_CONFIG_FILE.

* java/HelperSDT.c: Reorganize sys/sdt.h ABI usage: make the rule-name
  magic string the last argument, don't pass class/method strings.
  Stop mis-using "provider" name.
* java/HelperSDT.h: Regenerated.
* java/Makefile.am: Spell out more dependencies.
* java/stapbm: Thoroughly reorganized to use rulename as run-time unique-id,
  byteman port-number selection to enable concurrency, fewer lockfiles.
* tapset-method.cxx: Use consistent exceptions for error handling.  Switch
  to rulename-based identification.  Rework synthetic probe generation.
  Register java.* probes only if HAVE_JAVA.
* session.cxx, session.h, man/stap.1: Drop -J / -j options.
* testsuite/systemtap.apps/java*: Rely on pn() for class/method names.

Another related hunk extends the derivation chain to plain struct
probe, to avoid having to (mis)use alias-type derived probes.  The
script-location (function tapset::pn) calculation is made based on
a textual analysis of the derivation_pp_chain.

* staptree.h (struct probe): Add a base* field for use by synthetically
  created probes.  Update copy-ish constructor to use this form.  Update
  most callers (former users of probe::create_alias) in tapsets.cxx and
  tapset-method.cxx.  Make collect_derivation_*_chain const functions.
* staptree.cxx (probe::basest, almost_basest, ...): Create/update
  accordingly.
* elaborate.cxx (script_location): Rework a as more faithful heuristic.
  It should make it possible to get rid of the *basest* type calls soon.

11 years agotestsuite: only run java.exp if installtest_p
Frank Ch. Eigler [Mon, 13 May 2013 21:16:20 +0000 (17:16 -0400)]
testsuite: only run java.exp if installtest_p

11 years agoNEWS: weakened some deprecation wording; tweaked java wordage
Frank Ch. Eigler [Mon, 13 May 2013 21:15:04 +0000 (17:15 -0400)]
NEWS: weakened some deprecation wording; tweaked java wordage

11 years agoIf 'javac' doesn't exist, mark systemtap.apps/java.exp as untested.
David Smith [Tue, 14 May 2013 13:46:40 +0000 (08:46 -0500)]
If 'javac' doesn't exist, mark systemtap.apps/java.exp as untested.

11 years agoFixed PR15446 by using the new /proc interface.
David Smith [Tue, 14 May 2013 13:16:43 +0000 (08:16 -0500)]
Fixed PR15446 by using the new /proc interface.

* runtime/procfs.c: Rewritten to use latest /proc interface (for older
  kernels, use compatibility functions defined in proc_fs_compatibility.h).
* runtime/procfs-probes.c (_stp_proc_open_file): Use PDE_DATA() instead of
  accessing the data field of a 'struct proc_dir_entry' directly.
* runtime/proc_fs_compatibility.h: New file.
* tapset-procfs.cxx (emit_kernel_module_exit): Only remove the
  "/proc/systemtap/{module_name}' directory if the transport layer isn't
  using it.
  (procfs_derived_probe_group::emit_module_init): Pass the data parameter
  down to _stp_create_procfs().
* buildrun.cxx (compile_pass): Add 2 "exportconf" tests for new procfs
  features.

11 years agotestsuite: clear build tree paths out of main_quiesce.exp test case names
Frank Ch. Eigler [Tue, 14 May 2013 04:00:50 +0000 (00:00 -0400)]
testsuite: clear build tree paths out of main_quiesce.exp test case names

11 years agostaprun: move empty line after all options
Timo Juhani Lindfors [Mon, 13 May 2013 21:16:47 +0000 (16:16 -0500)]
staprun: move empty line after all options

11 years agobelated NEWS for PR12894
Serguei Makarov [Mon, 13 May 2013 19:39:19 +0000 (15:39 -0400)]
belated NEWS for PR12894

11 years agoAUTHORS bump
Serguei Makarov [Mon, 13 May 2013 19:29:47 +0000 (15:29 -0400)]
AUTHORS bump

11 years agoprobe timer.profile: langref.tex wording oops
Serguei Makarov [Fri, 10 May 2013 21:16:25 +0000 (17:16 -0400)]
probe timer.profile: langref.tex wording oops

11 years agoprobe timer.profile: document new timer.profile.tick, new behavour of timer.profile
Serguei Makarov [Fri, 10 May 2013 20:48:06 +0000 (16:48 -0400)]
probe timer.profile: document new timer.profile.tick, new behavour of timer.profile

11 years agoPR15452 Prevent crash in dwflpp::print_members ().
Mark Wielaard [Fri, 10 May 2013 20:29:15 +0000 (16:29 -0400)]
PR15452 Prevent crash in dwflpp::print_members ().

Don't try to find siblings when a DIE doesn't have any children.

This doesn't solve the actual bug and the debugtypes testcase still fails
because the code doesn't doesn't handle the DW_AT_signature.

11 years agostapdyn.h: make the release markers a bit more visible
Josh Stone [Fri, 10 May 2013 20:10:17 +0000 (13:10 -0700)]
stapdyn.h: make the release markers a bit more visible

11 years agostapdyn: hide internal module functions
Josh Stone [Fri, 10 May 2013 20:09:20 +0000 (13:09 -0700)]
stapdyn: hide internal module functions

The header stapdyn.h is only for functions meant to be called from the
stapdyn binary into the module, so stp_dyninst_session_init_finished
shouldn't be there.  Also, all functions that aren't part of stapdyn.h
should be declared with static visibility.

11 years agoUpdate syscall.rt_sigpending probe alias for kernel 3.10.
David Smith [Fri, 10 May 2013 20:07:30 +0000 (15:07 -0500)]
Update syscall.rt_sigpending probe alias for kernel 3.10.

11 years agoprobe timer.profile: NEWS entry explaining the change
Serguei Makarov [Fri, 10 May 2013 19:41:31 +0000 (15:41 -0400)]
probe timer.profile: NEWS entry explaining the change

11 years agoFixed PR15456 by updating syscall tapsets with compat function changes.
David Smith [Fri, 10 May 2013 19:41:00 +0000 (14:41 -0500)]
Fixed PR15456 by updating syscall tapsets with compat function changes.

* tapset/linux/syscalls.stp (syscall.compat_sys_msgrcv): Updated for newer
  kernel compat function argument names.
  (syscall.compat_sys_msgsnd): Ditto.
* tapset/linux/syscalls2.stp (syscall.compat_sys_semctl): Updated for
  newer kernel compat function argument names.
  (syscall.compat_sys_shmat): Updated for newer kernel compat function
  argument names. Deprecated old "first", "second", "third" variable names
  in favor of variable names that match the non-compat probe alias.
* tapset/linux/nd_syscalls2.stp: Ditto.
* testsuite/buildok/nd_syscalls2-detailed.stp: Updated with new variables
  in the "shmat" probe alias.
* testsuite/buildok/syscalls2-detailed.stp: Ditto.
* NEWS: Mentioned variable deprecations.

11 years agoprobe timer.profile: workaround for the incredible disappearing register_timer_hook()
Serguei Makarov [Fri, 10 May 2013 19:05:54 +0000 (15:05 -0400)]
probe timer.profile: workaround for the incredible disappearing register_timer_hook()

* tapset-timers.cxx: rename timer.profile to timer.profile.tick, explicitly
  check for existence of kernel registration functions.
* tapset/timers.stp: timer.profile aliases to either timer.profile.tick
  or perf.sw.cpu_clock as an alternative.

11 years agoUpdate systemtap.context/context.exp module source for kernel 3.10.
David Smith [Fri, 10 May 2013 16:02:20 +0000 (11:02 -0500)]
Update systemtap.context/context.exp module source for kernel 3.10.

* testsuite/systemtap.context/systemtap_test_module1.c (init_module):
  Adjust test module source to work under kernel 3.10.

11 years agoconfigury: add -lpthread to stap_LDADD
Masanari Iida [Fri, 10 May 2013 14:01:17 +0000 (10:01 -0400)]
configury: add -lpthread to stap_LDADD

Commit 3d0a328dd add some pthreads usage, which needs -lpthreads.

11 years agoPR15408 update. Fix RHEL4 transport (based on procfs).
David Smith [Fri, 10 May 2013 14:07:39 +0000 (09:07 -0500)]
PR15408 update. Fix RHEL4 transport (based on procfs).

* runtime/transport/procfs.c (_stp_register_ctl_channel_fs): Correctly
  handle changed return value for _stp_mkdir_proc_module().

11 years agoAdd cputime_to_usecs() and usecs_to_string()
Josh Stone [Thu, 9 May 2013 22:25:04 +0000 (15:25 -0700)]
Add cputime_to_usecs() and usecs_to_string()

This also corrects for kernels that don't define cputime_to_msecs, but
do have cputime_to_usecs.  It's not always correct to call that jiffies.

11 years agoUpdate testsuite/buildok/seventeen.stp for kernel 3.10.
David Smith [Thu, 9 May 2013 21:26:37 +0000 (16:26 -0500)]
Update testsuite/buildok/seventeen.stp for kernel 3.10.

11 years agoCorrect task_utime_tid's docstring
Josh Stone [Thu, 9 May 2013 20:51:25 +0000 (13:51 -0700)]
Correct task_utime_tid's docstring

11 years agojava/byteman docs oops: document context variables in java probes
Serguei Makarov [Thu, 9 May 2013 18:54:44 +0000 (14:54 -0400)]
java/byteman docs oops: document context variables in java probes

11 years agoNEWS entry for java/byteman
Serguei Makarov [Thu, 9 May 2013 17:49:45 +0000 (13:49 -0400)]
NEWS entry for java/byteman

11 years agojava/byteman configury: only install stapbm with HAVE_JAVA
Serguei Makarov [Thu, 9 May 2013 17:25:06 +0000 (13:25 -0400)]
java/byteman configury: only install stapbm with HAVE_JAVA

This is needed for rpmbuild -D 'with_java 0' to work correctly.

11 years agosystemtap.spec: separate -runtime-java subpackage, correct requires
Serguei Makarov [Thu, 9 May 2013 15:22:34 +0000 (11:22 -0400)]
systemtap.spec: separate -runtime-java subpackage, correct requires

11 years agojava/byteman docs: langref.tex
Serguei Makarov [Wed, 8 May 2013 21:43:05 +0000 (17:43 -0400)]
java/byteman docs: langref.tex

11 years agojava/byteman docs: man stapprobes.3stap oops
Serguei Makarov [Wed, 8 May 2013 20:41:30 +0000 (16:41 -0400)]
java/byteman docs: man stapprobes.3stap oops

11 years agojava/byteman docs: mention cross-user probing limitation in stapprobes.3stap
Serguei Makarov [Wed, 8 May 2013 20:10:07 +0000 (16:10 -0400)]
java/byteman docs: mention cross-user probing limitation in stapprobes.3stap

11 years agojava/byteman: add java/README explaining how to manually set up byteman & libHelperSDT
Serguei Makarov [Wed, 8 May 2013 19:40:03 +0000 (15:40 -0400)]
java/byteman: add java/README explaining how to manually set up byteman & libHelperSDT

11 years agojava/byteman: get rid of remnants of libHelperSDT_getarch kluge
Serguei Makarov [Wed, 8 May 2013 19:09:48 +0000 (15:09 -0400)]
java/byteman: get rid of remnants of libHelperSDT_getarch kluge

11 years agojava/byteman docs: man stap.1 stapprobes.3stap
Serguei Makarov [Wed, 8 May 2013 17:39:33 +0000 (13:39 -0400)]
java/byteman docs: man stap.1 stapprobes.3stap

11 years agoruntime perf.c: consistentify perf_event_create_kernel_counter context* use
Frank Ch. Eigler [Wed, 8 May 2013 15:46:35 +0000 (11:46 -0400)]
runtime perf.c: consistentify perf_event_create_kernel_counter context* use

Two runtime/linux/autoconf tests create a cartesian product of sorts
about the evolution of the $subject kernel API.  In one spot, the
runtime neglected to consider the modern combination, breaking perf.*
probes on recent kernels.

11 years agostapprobes.3stap: mention nd_syscall as a non-dwarf fallback
Frank Ch. Eigler [Wed, 8 May 2013 13:59:25 +0000 (09:59 -0400)]
stapprobes.3stap: mention nd_syscall as a non-dwarf fallback

11 years agosystemtap.spec: install java/byteman arch-specific libHelperSDT; handle multiple...
Serguei Makarov [Tue, 7 May 2013 20:12:40 +0000 (16:12 -0400)]
systemtap.spec: install java/byteman arch-specific libHelperSDT; handle multiple jdks

11 years agoSplit dyninst transport initialization into two parts.
David Smith [Wed, 8 May 2013 15:16:46 +0000 (10:16 -0500)]
Split dyninst transport initialization into two parts.

* runtime/dyninst/transport.c: Split the thread starting code out from
  _stp_dyninst_transport_session_init() into
  _stp_dyninst_transport_session_start().
* runtime/dyninst/transport.h: Add _stp_dyninst_transport_session_start()
  prototype.
* runtime/dyninst/common_session_state.h (stp_session_init): Calls
  _stp_dyninst_transport_sesion_init().
* runtime/dyninst/runtime.h (stp_dyninst_session_init_finished): Calls
  _stp_dyninst_transport_session_start().

11 years agowarning::debuginfo.7stap: note unnecessary-debuginfo cases
Frank Ch. Eigler [Wed, 8 May 2013 13:55:31 +0000 (09:55 -0400)]
warning::debuginfo.7stap: note unnecessary-debuginfo cases

11 years agoregex: fix =~ pretty-printer to generate round-trippable output
Frank Ch. Eigler [Wed, 8 May 2013 12:40:55 +0000 (08:40 -0400)]
regex: fix =~ pretty-printer to generate round-trippable output

11 years agoruntime compatibility: add some needed casts to slay compiler warnings
Frank Ch. Eigler [Wed, 8 May 2013 12:26:57 +0000 (08:26 -0400)]
runtime compatibility: add some needed casts to slay compiler warnings

Some 32-bit diagnostic messages were 64-bitically incorrect.

11 years agodyninst transport: don't send dummy \0 for error/warning messages
Frank Ch. Eigler [Wed, 8 May 2013 12:25:52 +0000 (08:25 -0400)]
dyninst transport: don't send dummy \0 for error/warning messages

The former code caused emission of \0's after each OOB message.  They
are lovely and round, but are worth zero, nilch, nada.

11 years agoruntime/linux: kernel 3.10 compatibility; need explicit #include linux/slab.h
Frank Ch. Eigler [Wed, 8 May 2013 02:49:35 +0000 (22:49 -0400)]
runtime/linux: kernel 3.10 compatibility; need explicit #include linux/slab.h

Quoting from kernel commit 9f3a90e89...:

    Caused by commit 30c05350c39d ("powerpc/pseries: Use stop machine to
    update cpu maps") from the powerpc tree interacting with (probably)
    commit ff794dea52ea ("cpuset: remove include of cgroup.h from cpuset.h")
    from the cgroup tree.  Removing includes from header files is fraught
    with danger ...

11 years agoPR15445: fix kernel panic due to hardware-breakpoint callback abi incompatibility
Frank Ch. Eigler [Wed, 8 May 2013 01:58:07 +0000 (21:58 -0400)]
PR15445: fix kernel panic due to hardware-breakpoint callback abi incompatibility

* tapsets.cxx (hwbkpt_derived_probe_group::emit_module_decls): Add support for
  non-STAPCONF_PERF_HANDLER_NMI kernels.
* testsuite/systemtap.examples/memory/hw_watch*.meta: Use a more likely-to-trigger
  target variable, to make it more likely that this problem doesn't reoccur.

11 years agoFix PR15408. Create top-level procfs directory in init_module, where we're root.
David Smith [Tue, 7 May 2013 21:21:03 +0000 (16:21 -0500)]
Fix PR15408. Create top-level procfs directory in init_module, where we're root.

* translate.cxx (emit_kernel_module_init): New function.
  (emit_kernel_module_exit): Ditto.
  (translate_pass): Call emit_kernel_module_init() and
  emit_kernel_module_exit().
* translate.h: Add prototypes for emit_kernel_module_init() and
  emit_kernel_module_exit().
* runtime/linux/runtime.h (init_module): Calls generated
  systemtap_kernel_module_init().
  (cleanup_module): Calls generated systemtap_kernel_module_exit().
* tapset-procfs.cxx (emit_module_decls): New function.
  (emit_kernel_module_exit): Ditto.
* runtime/procfs.c (_stp_rmdir_proc_module): Improve error messages. No
  longer use _stp_warn(), since transport won't be available.
  (_stp_mkdir_prpoc_module): Improve error messages. Invert return code so
  that 0 is success.
  (_stp_create_procfs): No longer call _stp_mkdir_proc_module(), which now
  gets called from generated systemtap_kernel_module_init().
  (_stp_close_procfs): No longer call _stp_rmdir_proc_module(), which now
  gets called from generated systemtap_kernel_module_exit().
* elaborate.h (struct derived_probe_group): Added
  emit_kernel_module_init() and emit_kernel_module_exit() prototypes.

11 years agojava/byteman configury: rename libHelperSDT.so --> libHelperSDT_{arch}.so for multiar...
Serguei Makarov [Tue, 7 May 2013 18:47:01 +0000 (14:47 -0400)]
java/byteman configury: rename libHelperSDT.so --> libHelperSDT_{arch}.so for multiarch purposes

11 years agojava/byteman configury: fix permissions on libHelperSDT.so
Serguei Makarov [Tue, 7 May 2013 18:35:36 +0000 (14:35 -0400)]
java/byteman configury: fix permissions on libHelperSDT.so

11 years agoMade two buildok tests executable.
David Smith [Mon, 6 May 2013 18:30:28 +0000 (13:30 -0500)]
Made two buildok tests executable.

* testsuite/buildok/fortyseven.stp: Made executable.
* testsuite/buildok/fortyeight.stp: Ditto.

11 years agoconfigury, systemtap.spec: remove amd64/ hardcoding for java
Serguei Makarov [Thu, 2 May 2013 18:00:45 +0000 (14:00 -0400)]
configury, systemtap.spec: remove amd64/ hardcoding for java

11 years agoregenerate java/Makefile.in
Serguei Makarov [Wed, 1 May 2013 18:25:23 +0000 (14:25 -0400)]
regenerate java/Makefile.in

11 years agoRemove $TMPSTAPDIR/java if empty when uninstalling a byteman rule
Lukas Berk [Wed, 1 May 2013 20:49:37 +0000 (16:49 -0400)]
Remove $TMPSTAPDIR/java if empty when uninstalling a byteman rule

*java/stapbm: uninstall the $TMPSTAPDIR/java directory when we're
      done probing

11 years agoAllow wiser Fedora versions to run byteman operations
Lukas Berk [Wed, 1 May 2013 19:21:32 +0000 (15:21 -0400)]
Allow wiser Fedora versions to run byteman operations

*java/stapbm: exec java operations directly

11 years agojava/byteman: fix configury to only check for build-necessary things (jar & javac)
Serguei Makarov [Wed, 1 May 2013 18:11:13 +0000 (14:11 -0400)]
java/byteman: fix configury to only check for build-necessary things (jar & javac)

11 years agoMove stapbm to libexec
Lukas Berk [Wed, 1 May 2013 17:54:48 +0000 (13:54 -0400)]
Move stapbm to libexec

*java/Makefile.am: change where stapbm is installed
*tapset-method.cxx: alter the string specified to call stapbm

11 years agoconfigury: regenerate with f18 autoconf 2.69, automake 2.12.2
Frank Ch. Eigler [Wed, 1 May 2013 15:29:29 +0000 (11:29 -0400)]
configury: regenerate with f18 autoconf 2.69, automake 2.12.2

11 years agoAdd multiple new testcases
Lukas Berk [Tue, 30 Apr 2013 21:44:40 +0000 (17:44 -0400)]
Add multiple new testcases

*java.exp: add new testcases, fix existing
*java.stp: add error,end probe
*multiparams.java: multiparameter java program
*multiparams.stp: multiparameter stap script
*returnstatement.java: return testcase
*returnstatement.stp: return stap sript
*singleparam.java: adjust single parameter java program

11 years agoCorrect argument number off by one error
Lukas Berk [Tue, 30 Apr 2013 21:41:08 +0000 (17:41 -0400)]
Correct argument number off by one error

*tapset-method.cxx: increment method_params_count even if it wasn't 0

11 years agoMerge branch 'java' of git://sourceware.org/git/systemtap into java
Lukas Berk [Tue, 30 Apr 2013 20:48:29 +0000 (16:48 -0400)]
Merge branch 'java' of git://sourceware.org/git/systemtap into java

11 years agoremove spaces in rule names and their files for bmsubmit and bminstall
Lukas Berk [Tue, 30 Apr 2013 20:46:23 +0000 (16:46 -0400)]
remove spaces in rule names and their files for bmsubmit and bminstall

*java/stapbm: surround all variables in quotes to manage spaces
*tapset-method.cxx: add new_no_method (standing for no spaces),
    this will be the rule name which is used to pass
    to bmsubmit and actually name the file

This page took 0.060394 seconds and 5 git commands to generate.