]> sourceware.org Git - systemtap.git/log
systemtap.git
11 years agostapdyn: Remove the _stp_out copy of stdout
Josh Stone [Tue, 21 May 2013 23:18:56 +0000 (16:18 -0700)]
stapdyn: Remove the _stp_out copy of stdout

With the transport in place, the only remaining use of _stp_out was for
that transport thread to get its out_fd.  This thread runs within
stapdyn, and we know we'll keep our stdout intact, so _stp_out is no
longer necessary.  Just set out_fd to STDOUT_FILENO, and be prepared for
this to be a -o file (PR14791).

11 years agoRemove the vestigial _stp_dyninst_transport_init
Josh Stone [Tue, 21 May 2013 22:14:05 +0000 (15:14 -0700)]
Remove the vestigial _stp_dyninst_transport_init

11 years agostapdyn: remove the clunky stp_dyninst_master
Josh Stone [Tue, 21 May 2013 22:02:22 +0000 (15:02 -0700)]
stapdyn: remove the clunky stp_dyninst_master

This is a holdover from early stapdyn, which ran all module code within
the mutatee, and even tried to run module_exit in the DSO destructor to
catch the mutatee as it was exiting.  We now do these things more
reliably in stapdyn itself.

It was kept around as a bit of a fallback to let new modules keep
working with stapdyn 2.0, but frankly this is bad code and untested
compatibility, that we shouldn't feel nostalgic about.  Modules will now
require at least stapdyn 2.1, detected by having properly initialized
their shared memory before stp_dyninst_session_init is called.

11 years agofixed typo in doc -- replaced /n by \n
Jonathan Lebon [Tue, 21 May 2013 20:58:27 +0000 (16:58 -0400)]
fixed typo in doc -- replaced /n by \n

11 years agoRemoved overly-paranoid comment.
David Smith [Tue, 21 May 2013 20:51:43 +0000 (15:51 -0500)]
Removed overly-paranoid comment.

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

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