]> sourceware.org Git - systemtap.git/log
systemtap.git
13 years agoPR12645 (partial): Improved uprobe/uretprobe error message.
David Smith [Wed, 20 Apr 2011 15:53:11 +0000 (10:53 -0500)]
PR12645 (partial): Improved uprobe/uretprobe error message.

* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Improve new
  error messages by including the probe name.

13 years agoImproved error handling in uprobe probes.
David Smith [Tue, 19 Apr 2011 21:41:47 +0000 (16:41 -0500)]
Improved error handling in uprobe probes.

* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Make sure
  we go through the probe epilogue even in an error in the emitted
  enter_uprobe_probe().

13 years agoImproved error handling in uretprobe probes.
David Smith [Tue, 19 Apr 2011 19:24:26 +0000 (14:24 -0500)]
Improved error handling in uretprobe probes.

* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Make sure
  we go through the probe epilogue even in an error.

13 years agomodule shutdown: be verbose upon a hang
Frank Ch. Eigler [Tue, 19 Apr 2011 18:40:05 +0000 (14:40 -0400)]
module shutdown: be verbose upon a hang

In the generated module_exit() function, there exists an infinite loop
that waits for all probe handlers that might still be struggling along
to shut down, before authorizing removal of the probe module.  If
something is stuck though, it will stay stuck without any diagnostics
short of a hung stapio/staprun process that's sitting in the kernel.

This patch causes a message to be printk KERN_ERR'd, in case the
shutdown synchronization takes more than a second.

* translate.cxx (emit_module_exit): Print a message if holdon-spinning
  for more than a second.

13 years agoFixed minor error message bug in utrace_syscall_args.stp.
David Smith [Tue, 19 Apr 2011 15:00:24 +0000 (10:00 -0500)]
Fixed minor error message bug in utrace_syscall_args.stp.

* testsuite/systemtap.base/utrace_syscall_args.stp: Fixed error message
  bug.

13 years agoName the originator of the cpp-vararg-counter idea
Frank Ch. Eigler [Mon, 18 Apr 2011 17:45:04 +0000 (13:45 -0400)]
Name the originator of the cpp-vararg-counter idea

13 years agoEnable module.function.label probes
Josh Stone [Sat, 16 Apr 2011 00:40:12 +0000 (17:40 -0700)]
Enable module.function.label probes

Nothing to it -- its absence seems to be just an oversight.

* tapsets.cxx (dwarf_derived_probe::register_patterns): Add bindings
  for module.function.label probes.
* stapprobes.3stap: Document it.

13 years agoMore testsuite fixes.
David Smith [Fri, 15 Apr 2011 14:24:27 +0000 (09:24 -0500)]
More testsuite fixes.

* testsuite/systemtap.base/buildid.exp: Check for uprobes, not just
  utrace.  If we get an error, go ahead and return, since the following
  stuff won't work since we've already cleaned up.
* testsuite/systemtap.base/target_set.exp: Better cleanup.
* testsuite/systemtap.base/target_set.stp: Now compiles on s390x and
  ppc64 by using @cast().
* testsuite/systemtap.context/backtrace.tcl: If we get an EOF, don't call
  exp_contine (which causes a tcl error).

13 years agoAvoid side-effect-free function warnings on '_ptrace_return_arch_prctl_addr'.
David Smith [Thu, 14 Apr 2011 20:42:48 +0000 (15:42 -0500)]
Avoid side-effect-free function warnings on '_ptrace_return_arch_prctl_addr'.

* tapset/i386/aux_syscalls.stp: To avoid side-effect-free function
  warnings on '_ptrace_return_arch_prctl_addr', just return 0.
* tapset/ia64/aux_syscalls.stp: Ditto.
* tapset/powerpc/aux_syscalls.stp: Ditto.
* tapset/s390/aux_syscalls.stp: Ditto.

13 years agoAdded minor testsuite fixes (found when doing rawhide testing).
David Smith [Thu, 14 Apr 2011 17:49:05 +0000 (12:49 -0500)]
Added minor testsuite fixes (found when doing rawhide testing).

* testsuite/systemtap.base/stmt_rel.c: Avoid an uninitialized variable
  error.
* testsuite/systemtap.base/buildid.exp: Added utrace check.
* testsuite/systemtap.base/unresolved-struct-typedef.exp: Ditto.

13 years agoFix a local variable redefinition
Josh Stone [Thu, 14 Apr 2011 01:09:02 +0000 (18:09 -0700)]
Fix a local variable redefinition

* session.cxx (systemtap_session::register_library_aliases): There are
  nested n variables with different types; rename the inner for clarity.

13 years agoFix a copy-paste goof in cache cleanup
Josh Stone [Thu, 14 Apr 2011 01:03:22 +0000 (18:03 -0700)]
Fix a copy-paste goof in cache cleanup

The impact of this typo is that .c and .log files were not properly
counted when computing cache utilization.  Not a big deal, but easily
fixed anyway.

* cache.cxx (cache_ent_info::cache_ent_info): Remove bad semicolons.

13 years agoAUTHORS bump
Josh Stone [Wed, 13 Apr 2011 01:36:35 +0000 (18:36 -0700)]
AUTHORS bump

13 years agoAdd STAP_PROBEV for variadic probe arguments
Josh Stone [Tue, 12 Apr 2011 22:06:06 +0000 (15:06 -0700)]
Add STAP_PROBEV for variadic probe arguments

For the moment, this is only created when SDT_USE_VARIADIC is defined,
because we want to support arbitrary compiler flags, and -pedantic tends
to object to variadic macros.

* includes/sys/sdt.h (STAP_PROBEV): New.
* testsuite/systemtap.base/sdt_va_args.c: Use STAP_PROBEV.
* testsuite/systemtap.base/sdt_va_args.exp: Test STAP_PROBEV.

13 years agoSimplify V3 sdt argument mode handling.
Stan Cox [Tue, 12 Apr 2011 20:25:15 +0000 (16:25 -0400)]
Simplify V3 sdt argument mode handling.

* tapsets.cxx (sdt_uprobe_var_expanding_visitor::visit_target_symbol_arg):
Treat argument extraction as a 64 bit subexpression and handle its sign if needed.

13 years agoReally fix runtime/procfs.c for 2.6.39-0.rc2.
David Smith [Tue, 12 Apr 2011 19:07:11 +0000 (14:07 -0500)]
Really fix runtime/procfs.c for 2.6.39-0.rc2.

* runtime/procfs.c: kern_path_parent() looks up the parent of a path, not
  the path itself.

13 years agoUpdated tapset/vfs.stp for 2.6.39-0.rc2.
David Smith [Mon, 11 Apr 2011 21:40:31 +0000 (16:40 -0500)]
Updated tapset/vfs.stp for 2.6.39-0.rc2.

* tapset/vfs.stp: Kernel commit 7eaceac removed block_sync_page(), so
  those probes were made optional.  Kernel commit e64a782 renamed
  __remove_from_page_cache() to __delete_from_page_cache(), so add an
  alias.
* testsuite/buildok/vfs-detailed.stp: Updated.

13 years agoFixed runtime/procfs.c for 2.6.39-0.rc2.
David Smith [Mon, 11 Apr 2011 18:45:59 +0000 (13:45 -0500)]
Fixed runtime/procfs.c for 2.6.39-0.rc2.

* runtime/procfs.c (_stp_mkdir_proc_module): Calls kern_path_parent()
  instead of path_lookup().  For older kernels kern_path_parent() is
  defined as path_lookup().
* buildrun.cxx (compile_pass): Added autoconf-kern-path-parent.c test.
* runtime/autoconf-kern-path-parent.c: New test.

13 years agoCorrected "autoconf" variable name in runtime/procfs.c.
David Smith [Mon, 11 Apr 2011 18:41:36 +0000 (13:41 -0500)]
Corrected "autoconf" variable name in runtime/procfs.c.

* runtime/procfs.c: Corrected AUTOCONF_PROCFS_OWNER to
  STAPCONF_PROCFS_OWNER.

13 years agoFix typo in sdt_types.stp
Stan Cox [Mon, 11 Apr 2011 01:13:02 +0000 (21:13 -0400)]
Fix typo in sdt_types.stp

sdt_types.stp: Fix variable name typo.

13 years agoAllow an sdt memory offset to be an expression, albeit a simple one.
Stan Cox [Fri, 8 Apr 2011 18:14:32 +0000 (14:14 -0400)]
Allow an sdt memory offset to be an expression, albeit a simple one.

* tapsets.cxx (sdt_uprobe_var_expanding_visitor::visit_target_symbol_arg)
Allow offset to be +-N+-N+-N.
* sdt_asm.S (memory):  New test.
* sdt_asm.stp: Likewise.

13 years agoPR3823: Added Gettext functionality to nsscommon.c
Lukas Berk [Fri, 8 Apr 2011 14:44:48 +0000 (10:44 -0400)]
PR3823: Added Gettext functionality to nsscommon.c
updated po files accordingly

13 years agoPR3823: Updated the NEWS file regarding I18N
Lukas Berk [Fri, 8 Apr 2011 12:07:05 +0000 (08:07 -0400)]
PR3823: Updated the NEWS file regarding I18N

13 years agoPR3823: Added gettext functionality to dtrace script
Lukas Berk [Wed, 6 Apr 2011 23:12:17 +0000 (19:12 -0400)]
PR3823: Added gettext functionality to dtrace script

Makefile* - were modified to include dtrace as a gettext file
dtrace.in - script was modified to only enable gettext functionality
if ENABLE_NLS is true
po/POTFILES.in - updated to include dtrace in gettextizing
other po* files - updated as needed

13 years agoFixed exelib.exp so that it doesn't hang on s390x systems.
David Smith [Wed, 6 Apr 2011 19:57:51 +0000 (14:57 -0500)]
Fixed exelib.exp so that it doesn't hang on s390x systems.

* testsuite/systemtap.exelib/libmarkunamestack.tcl: Better cleanup when
  tests fail.
* testsuite/systemtap.exelib/ustack.tcl: Ditto.

13 years agoFixed BZ692445 by updating regular expression 'all_pass_string'.
David Smith [Wed, 6 Apr 2011 19:05:33 +0000 (14:05 -0500)]
Fixed BZ692445 by updating regular expression 'all_pass_string'.

* testsuite/lib/stap_run.exp: Make expect happier by removing the '$' at
  the end of 'all_pass_string'.  The '\r\n' should catch the end of lines
  properly.

13 years agoPR3823: Fix a few french translation strings
Lukas Berk [Tue, 5 Apr 2011 20:54:52 +0000 (16:54 -0400)]
PR3823: Fix a few french translation strings

13 years agoPR3823: Worked the stap usage message into blocks as per request.
Lukas Berk [Tue, 5 Apr 2011 19:51:48 +0000 (15:51 -0400)]
PR3823: Worked the stap usage message into blocks as per request.

po/fr.po translation was reformatted to match where available
translations allowed.
other po/* files regenerated

13 years agoMerge branch 'master' of http://sources.redhat.com/git/systemtap
Lukas Berk [Tue, 5 Apr 2011 15:41:27 +0000 (11:41 -0400)]
Merge branch 'master' of http://sources.redhat.com/git/systemtap

13 years agoPR3823: Added gettext functionality to staprun files.
Lukas Berk [Tue, 5 Apr 2011 15:40:01 +0000 (11:40 -0400)]
PR3823: Added gettext functionality to staprun files.

This was tested on a Fedora 14 x86_64 virtual machine with the
$LANG environment variable set to fr_FR.utf8 with a dummy stapio
usage message. Po files have been updated accordingly.

13 years agomake pthread test case work with other tests; skip if !installctest_p
Frank Ch. Eigler [Tue, 5 Apr 2011 14:50:06 +0000 (10:50 -0400)]
make pthread test case work with other tests; skip if !installctest_p

13 years agoFixed BZ692869 by using @defined() instead of checking CONFIG variable.
David Smith [Mon, 4 Apr 2011 21:29:48 +0000 (16:29 -0500)]
Fixed BZ692869 by using @defined() instead of checking CONFIG variable.

* tapset/syscalls2.stp (syscall.nfsservctl): Checks for the existence of
  dwarf variables instead of using CONFIG_NFSD.

13 years agoHandle logfile paths that end in '|', treat it as a command to read data from.
David Smith [Mon, 4 Apr 2011 16:30:26 +0000 (11:30 -0500)]
Handle logfile paths that end in '|', treat it as a command to read data from.

* pcp/src/pmdas/logger/util.c: New file.
* pcp/src/pmdas/logger/util.h: Ditto.
* pcp/src/pmdas/logger/event.c (event_init): Handle opening pipe "paths".
  (event_shutdown): New function that stops piped processes and closes all
  files.
* pcp/src/pmdas/logger/event.h: Added event_shutdown() prototype.
* pcp/src/pmdas/logger/logger.c (read_config): Moved lstrip/rstrip code to
  util.c.
  (main): Calls event_shutdown() after pmdaMain() returns to clean
  everything up.
* pcp/src/pmdas/logger/GNUmakefile.in: Added util.c and util.h.
* pcp/src/pmdas/logger/Install: Support entering pipe "paths".

13 years agoAdd addr() for retrieving REG_IP
Josh Stone [Fri, 1 Apr 2011 20:57:39 +0000 (13:57 -0700)]
Add addr() for retrieving REG_IP

For probes which have CONTEXT->regs, return REG_IP, else return 0.

* tapset/context.stp (addr): New function.
* testsuite/buildok/context-embedded.stp: Test addr() compilation.
* NEWS: Let the town crier make a pronouncement of addr().

13 years agoCorrect use of pid for filtering
William Cohen [Thu, 31 Mar 2011 20:54:09 +0000 (16:54 -0400)]
Correct use of pid for filtering

The blog on http://blog.yufeng.info/archives/1239 mentions that the script
is not properly filtering based on pid. This change corrects the
filtering to use the pid.

13 years agodocument more syntax for shared library probing
Stan Cox [Thu, 31 Mar 2011 19:24:27 +0000 (15:24 -0400)]
document more syntax for shared library probing

* NEWS:  Add process("..").library("..")
* langref.tex:  Likewise.
* stapprobes.3stap:  Likewise.

13 years agotighten up wording for stap-server related changes
Frank Ch. Eigler [Thu, 31 Mar 2011 16:52:46 +0000 (12:52 -0400)]
tighten up wording for stap-server related changes

13 years agoChange the logger PMDA config file lines to be of the form "NAME PATHNAME".
David Smith [Thu, 31 Mar 2011 16:23:27 +0000 (11:23 -0500)]
Change the logger PMDA config file lines to be of the form "NAME PATHNAME".

* pcp/src/pmdas/logger/logger.c (valid_pmns_name): New function.
  (read_config): Read NAME and PATHNAME from each config file line.  Make
  sure NAME is a valid PMNS name.
* pcp/src/pmdas/logger/Install: Ask for logfile names along with paths.
* pcp/src/pmdas/logger/event.h: Swap the order of the logfile name and
  pathname to mirror the new config file.

13 years agoRemove d_tag parm from iterate_over_libraries callback.
Stan Cox [Thu, 31 Mar 2011 14:20:24 +0000 (10:20 -0400)]
Remove d_tag parm from iterate_over_libraries callback.

* dwflpp.h (iterate_over_libraries):  Remove type parm.
* tapsets.cxx (query_library_callback,query_library): Likewise.

13 years agoAdd more library wildcard matching tests.
Stan Cox [Wed, 30 Mar 2011 21:35:28 +0000 (17:35 -0400)]
Add more library wildcard matching tests.

* library.exp: Add more wildcard tests.
* tapsets.cxx (base_query::query_library_callback) Remove type parm.
  (dwarf_query::query_library): Likewise.
* dwflpp.cxx (dwflpp::iterate_over_libraries): Likewise.

13 years agoDecode ptrace.
Jan Kratochvil [Wed, 30 Mar 2011 17:59:44 +0000 (19:59 +0200)]
Decode ptrace.
http://sourceware.org/bugzilla/show_bug.cgi?id=12500

* tapset/aux_syscalls.stp (_ptrace_options_str, _ptrace_argstr)
(_ptrace_return_geteventmsg_data): New functions.
* tapset/i386/aux_syscalls.stp: New file.
* tapset/ia64/aux_syscalls.stp: New file.
* tapset/nd_syscalls2.stp (nd_syscall.ptrace): Set argstr using
_ptrace_argstr.
(nd_syscall.ptrace.return): Set geteventmsg_data and arch_prctl_addr.
* tapset/powerpc/aux_syscalls.stp: New file.
* tapset/s390/aux_syscalls.stp: New file.
* tapset/syscalls2.stp (syscall.ptrace): Set argstr using
_ptrace_argstr.
(syscall.ptrace.return): Set geteventmsg_data and arch_prctl_addr.
* tapset/x86_64/aux_syscalls.stp: New file.
* testsuite/buildok/aux_syscalls-embedded.stp (begin): Call
_ptrace_argstr, _ptrace_return_geteventmsg_data and
_ptrace_return_arch_prctl_addr.

13 years agoTestcase for pthread probes
rho@redhat.com [Wed, 30 Mar 2011 15:47:49 +0000 (11:47 -0400)]
Testcase for pthread probes

13 years agoAdd more syntax for shared library probing.
Stan Cox [Wed, 30 Mar 2011 15:14:43 +0000 (11:14 -0400)]
Add more syntax for shared library probing.

* dwflpp.cxx (iterate_over_libraries): New.  Get library list via
ld-linux.so.
* dwflpp.h (iterate_over_libraries): Likewise.

* tapsets.cxx (base_query): If this is a library then save the
executable path.
(query_module): For a library, call query_library_callback via
iterate_over_libraries.
(query_library_callback): New. Calls query_library.
(query_library): Substitute the library name into the chain then
derive_probes.

library.exp:  Add library("*") test.

13 years agoFixed BZ691693 by updating tests to handle newer probe timing report.
David Smith [Tue, 29 Mar 2011 20:43:50 +0000 (15:43 -0500)]
Fixed BZ691693 by updating tests to handle newer probe timing report.

* testsuite/systemtap.base/bench.exp: Updated test to handle newer probe
  timing report output.
* testsuite/systemtap.base/skipped.exp: Ditto.

13 years agoRemove unneeded initializer
William Cohen [Tue, 29 Mar 2011 17:57:08 +0000 (13:57 -0400)]
Remove unneeded initializer

The variable is already static so will be initialized to 0. Removed the
unneeded initializer and elminate a warning message from the compiling the
code.

13 years agoPR12612: compatibility with old staprun/stapio
Frank Ch. Eigler [Tue, 29 Mar 2011 13:33:53 +0000 (09:33 -0400)]
PR12612: compatibility with old staprun/stapio

commit 3abb860f changed the staprun<->runtime message format for
the STP_RELOCATE message, without regard for backward compatibility
for older/mismatching stapruns.  That leads to kernel errors and
no kernel probes and such nonsense.  Let's change the runtime to
interoperate both with old staprun and with the current one.

* runtime/transport/symbols.c (_stp_do_relocation): Also accept
  systemtap-1.3 level relocation message, if the incoming message
  size suggests.

13 years agoThe logger PMDA supports multiple clients and multiple logfiles.
David Smith [Mon, 28 Mar 2011 21:04:46 +0000 (16:04 -0500)]
The logger PMDA supports multiple clients and multiple logfiles.

* pcp/src/pmdas/logger/logger.c: Changed to support dynamic metrics for
  logfile data, which enables multiple client/multiple logfile support.
* pcp/src/pmdas/logger/event.c: Changes to support multiple clients and
  multiple logfiles.  Abstracted the interface a bit.
* pcp/src/pmdas/logger/event.h: Moved 'struct LogfileData' definition here
  from logger.c.  Removed event_cleanup() declaration.
* pcp/src/pmdas/logger/help: Updated.
* pcp/src/pmdas/logger/pmns: Make 'perfile' the start of the dynamic
  metrics.
* pcp/src/pmdas/logger/GNUmakefile.in: Make logger.o depend on domain.h.

13 years agosdt_v3: avoid misleading warning on complex operands
Frank Ch. Eigler [Sun, 27 Mar 2011 03:59:24 +0000 (23:59 -0400)]
sdt_v3: avoid misleading warning on complex operands

Roland reported seeing the "Downgrading SDT_V2 probe argument to dwarf ..."
warning message on an ambitious SDT_V3 object file.  The message is
not applicable, since there is no dwarf emitted at all for SDT_V3.

* tapsets.cxx (sdt_uprobe_var_expanding_visitor::visit_target_symbol_arg):
  Remove SDT_V2 language for SDT_V3 probe.

13 years agostap.1 man page: elaborate on alternatives to -DMAXMAPENTRIES
Frank Ch. Eigler [Fri, 25 Mar 2011 15:18:56 +0000 (11:18 -0400)]
stap.1 man page: elaborate on alternatives to -DMAXMAPENTRIES

13 years agoRemove the EXPERIMENTAL scares from --remote
Josh Stone [Fri, 25 Mar 2011 02:04:59 +0000 (19:04 -0700)]
Remove the EXPERIMENTAL scares from --remote

13 years agoUpdate vm.write_shared_copy for kernels with copy_cow_page
William Cohen [Thu, 24 Mar 2011 21:41:42 +0000 (17:41 -0400)]
Update vm.write_shared_copy for kernels with copy_cow_page

13 years agotcp_init_cwnd: fix referring url
Frank Ch. Eigler [Thu, 24 Mar 2011 19:11:37 +0000 (15:11 -0400)]
tcp_init_cwnd: fix referring url

13 years agosamples: new tcp_init_cwnd sample script
Frank Ch. Eigler [Thu, 24 Mar 2011 19:09:30 +0000 (15:09 -0400)]
samples: new tcp_init_cwnd sample script

13 years agoFind SDT semaphores even in RWX mappings
Josh Stone [Thu, 24 Mar 2011 18:18:45 +0000 (11:18 -0700)]
Find SDT semaphores even in RWX mappings

Some S390 environments don't have noexec mappings for data sections, so
the .probes section with SDT semaphores is mapped RWX rather than RW-.
Our logic which checks vm flags needs to accommodate this.

* runtime/uprobes-common.c (stap_uprobe_mmap_found): Deal with mappings
  that are both executable and writable, so semaphores can be found.

13 years agorhbz684227: also filter out FUTEX_CLOCK_REALTIME
Frank Ch. Eigler [Thu, 24 Mar 2011 17:31:17 +0000 (13:31 -0400)]
rhbz684227: also filter out FUTEX_CLOCK_REALTIME

13 years agorhbz68427: mask out FUTEX_PRIVATE_FLAG
Kim van der Riet [Thu, 24 Mar 2011 17:03:50 +0000 (13:03 -0400)]
rhbz68427: mask out FUTEX_PRIVATE_FLAG

13 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Dave Brolley [Thu, 24 Mar 2011 15:32:32 +0000 (11:32 -0400)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

Conflicts:
NEWS

13 years agoPR 12101: Document removal of cert database passwords.
Dave Brolley [Thu, 24 Mar 2011 15:30:53 +0000 (11:30 -0400)]
PR 12101: Document removal of cert database passwords.

13 years agoBump up the version to match upstream.
Stan Cox [Wed, 23 Mar 2011 21:30:55 +0000 (17:30 -0400)]
Bump up the version to match upstream.

     * stap-postgres.exp (postgresrelease):  Bump version to 4.4.7

13 years agoadd jiffies & HZ to timestamp tapset
Frank Ch. Eigler [Tue, 22 Mar 2011 23:05:11 +0000 (19:05 -0400)]
add jiffies & HZ to timestamp tapset

13 years agoTell rpm that systemtap-client is obsolete
Josh Stone [Tue, 22 Mar 2011 21:42:08 +0000 (14:42 -0700)]
Tell rpm that systemtap-client is obsolete

13 years agoAdd rpm Requires for programs spawned by stap
Josh Stone [Tue, 22 Mar 2011 20:45:43 +0000 (13:45 -0700)]
Add rpm Requires for programs spawned by stap

13 years agoPR 12101 stap-server should use proper cert passwords
Dave Brolley [Tue, 22 Mar 2011 20:44:31 +0000 (16:44 -0400)]
PR 12101 stap-server should use proper cert passwords

Regenerate the certificate database if it uses the old password file
before attempting to sign the uprobes module.

13 years agoAdd a workaround for old systems without ppoll
Josh Stone [Tue, 22 Mar 2011 03:01:39 +0000 (20:01 -0700)]
Add a workaround for old systems without ppoll

A coarse approximation of ppoll is added using sigprocmask and poll, as
suggested in the ppoll manpage, but it doesn't carry the same atomic
guarantee.  I've forced it to have a non-infinite polling timeout, so we
won't block forever.

NB: This only matters on the client connecting to a remote ssh host.

* configure.ac: Check for the function ppoll.
* configure, config.in: Regenerate.
* remote.cxx (ppoll): Fill in for missing ppoll, with a healthy comment
  explaining why I think this implementation is Good Enough™.

13 years agoremote: Try the legacy ssh code if stapsh isn't found
Josh Stone [Mon, 21 Mar 2011 22:30:32 +0000 (15:30 -0700)]
remote: Try the legacy ssh code if stapsh isn't found

The ssh remote command is restructured so that if stapsh isn't found in
the remote PATH, it will exit 127 immediately.  On the local side, when
we fail to read the stapsh uname response, we can check the exit status
to know stapsh wasn't found.  Then we can try again with the old ssh
code with a ControlMaster.  However, I'm limiting the fallback to only
when there's a single remote, as signals and cleanup aren't really
handled as well.  (That's the point of stapsh...)

* remote.cxx (ssh_remote::create): New static function which tries a
  self-instantiation first, then if that fails to find stapsh, it tries
  again using ssh_legacy_remote instead.
  (ssh_remote::connect): Renamed from remote.  Now using a "type -P"
  trick to silently determine if stapsh is present, by exit code alone.
  (ssh_legacy_remote): Un-#ifdef'ed the old ssh_remote code, to get new
  life as our legacy access.
  (remote::create): Get ssh through ssh_remote::create.

13 years agonsscommon: Heed what fgets returns
Josh Stone [Mon, 21 Mar 2011 22:22:09 +0000 (15:22 -0700)]
nsscommon: Heed what fgets returns

My F14 gcc rightfully warned that a return value of fgets was unused.
It may return NULL on error or EOF, in which case we should free our
memory and return NULL to NSS as well.  I also tweaked the newline stomp
to tolerate missing newline, e.g. with oversized input, although that
case it not likely going to work anyway.

* nsscommon.c (nssPasswordCallback): Check fgets' return for success.

13 years agoPR 12101: stap-server should use proper cert passwords.
Dave Brolley [Mon, 21 Mar 2011 20:25:31 +0000 (16:25 -0400)]
PR 12101: stap-server should use proper cert passwords.

Automatically regenerate certificate databases containing a password file.
Otherwise automatically started servers will fail because they won't know
the password.

13 years agoPR 12101: stap-server should use proper cert passwords
Dave Brolley [Mon, 21 Mar 2011 18:06:06 +0000 (14:06 -0400)]
PR 12101: stap-server should use proper cert passwords

Step 1: The server's certificate database now uses no password by default
        (useful for full automation).
        Preliminary support for password prompting for databases created
        with a password.

13 years agoautoreconf with f14
Josh Stone [Sat, 19 Mar 2011 01:30:01 +0000 (18:30 -0700)]
autoreconf with f14

13 years agoAdd gettext wrappers on new remote strings, update-po
Josh Stone [Sat, 19 Mar 2011 01:27:22 +0000 (18:27 -0700)]
Add gettext wrappers on new remote strings, update-po

13 years agoMerge remote-tracking branch 'origin/master' into stapsh
Josh Stone [Fri, 18 Mar 2011 23:50:55 +0000 (16:50 -0700)]
Merge remote-tracking branch 'origin/master' into stapsh

13 years agoAdd a testcase for stapsh remotes
Josh Stone [Fri, 18 Mar 2011 23:46:42 +0000 (16:46 -0700)]
Add a testcase for stapsh remotes

We can't generally test true remotes in the testsuite without previously
setting up ssh access on a machine.  But we can still check that the
stapsh mechanism works in general.  This runs with --remote=stapsh, and
checks that stapsh exists in the process hierarchy and a signal to stap
only is propagated through stapsh.

* testsuite/systemtap.base/stapsh.*: New.

13 years agostapsh: dbug-print on received signals
Josh Stone [Fri, 18 Mar 2011 23:45:25 +0000 (16:45 -0700)]
stapsh: dbug-print on received signals

* runtime/staprun/stapsh.c (handle_signal): Add dbug.

13 years agoremote: Block signals in direct_stapsh's child
Josh Stone [Fri, 18 Mar 2011 23:43:28 +0000 (16:43 -0700)]
remote: Block signals in direct_stapsh's child

We want direct_stapsh to simulate the ssh_remote signaling as much as
possible, so we must ensure that the manual stapsh child process doesn't
get signals directly.

* remote.cxx (direct_stapsh::direct_stapsh): Block signals while
  spawning the stapsh process.

13 years agoPR12592: Allow -r /path/to/kernel for stap-servers
Josh Stone [Fri, 18 Mar 2011 22:38:29 +0000 (15:38 -0700)]
PR12592: Allow -r /path/to/kernel for stap-servers

Previously, stap-serverd would parse the release string from a kernel
path, but now it also passes that full path on for stap to use.

* stap-serverd (process_r): Keep the full -r path for stap_options.
* stap-server (process_r): Ditto.
* session.cxx (systemtap_session::setup_kernel_release): Skip repeated
  kernel strings, for the case when a server -r /path/to/kernel is
  followed by a client's matching -r kernel.

13 years agoPR3823: Rearrange some ostringstream foo statements
Lukas Berk [Fri, 18 Mar 2011 17:55:00 +0000 (13:55 -0400)]
PR3823: Rearrange some ostringstream foo statements

Due to the use of autosprintf, in some places it is unneeded to
define an ostringstream foo, and then use foo as a temporary string

Further gettext was added to csclient.cxx

13 years agoPR3823: remove gettext from compile time errors
Lukas Berk [Fri, 18 Mar 2011 17:25:51 +0000 (13:25 -0400)]
PR3823: remove gettext from compile time errors
fix grammar in po/README

13 years agoPR3823: How to add basic gettext to systemtap in po/README
Lukas Berk [Fri, 18 Mar 2011 13:58:59 +0000 (09:58 -0400)]
PR3823: How to add basic gettext to systemtap in po/README

13 years agoPR3823: Adding gettext functionality to several base files
Lukas Berk [Fri, 18 Mar 2011 13:14:03 +0000 (09:14 -0400)]
PR3823: Adding gettext functionality to several base files
po/* files updated strings
csclient.cxx - added gettext
dwarf_wrappers.cxx - same
remote.cxx - same
setupdwfl.h - same
staptree.cxx - same
util.cxx - moved macros to util.h
util.h - added gettext

13 years agoCache compile_server_info attached to sessions, not static
Josh Stone [Fri, 18 Mar 2011 02:51:11 +0000 (19:51 -0700)]
Cache compile_server_info attached to sessions, not static

The various vector<compile_server_info> caches in csclient have
information that's specific to the systemtap_session in question, so
they need to be saved with the session rather than kept static.  This
matters for the brave new world of having multiple unique remote targets
within a single stap execution.

* session.h (systemtap_session::server_cache): New, opaque pointer for
  a struct containing csclient's cached data.
* session.cxx (systemtap_session::systemtap_session): NULL it.
* csclient.cxx (struct compile_server_cache): Define a container for all
  the caching vectors that will be stored in the session.
  (cscache): Get the cache from the session, allocate it if needed.
  (get_default_server_info): Use a cache vector instead of a static.
  (get_specific_server_info): Ditto.
  (get_or_keep_trusted_server_info): Ditto.
  (get_or_keep_signing_server_info): Ditto.
  (get_or_keep_online_server_info): Ditto.

13 years agoClear the SSL session cache after using a server
Josh Stone [Fri, 18 Mar 2011 02:45:57 +0000 (19:45 -0700)]
Clear the SSL session cache after using a server

If the cache is not cleared, then the NSS_Shutdown fails, and then
future connections (as with multi-remote) can't be initialized.

* csclient.cxx (compile_server_client::compile_using_server):
  Call SSL_ClearSessionCache before NSS_Shutdown.

13 years agoPR12591: Setup the signal handler earlier
Josh Stone [Thu, 17 Mar 2011 18:25:49 +0000 (11:25 -0700)]
PR12591: Setup the signal handler earlier

We were calling setup_signals() in passes_0_4(), but --use-server
diverts that execution path, so signaled cleanup wasn't working in that
case at all.  It's also possible with multiple --remotes that
passes_0_4() will be called multiple times, though that shouldn't really
hurt signal handling.  This patch moves setup_signals() to main(), so it
is called once early on.

* main.cxx (passes_0_4): Don't call setup_signals() here.
  (main): Call setup_signals() here instead.

13 years agoUpdate .gitignore files to make "git status" accurate
William Cohen [Thu, 17 Mar 2011 15:52:49 +0000 (11:52 -0400)]
Update .gitignore files to make "git status" accurate

13 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
William Cohen [Thu, 17 Mar 2011 14:21:44 +0000 (10:21 -0400)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

13 years agoAdd the rhelchannels.sh
William Cohen [Thu, 17 Mar 2011 14:20:58 +0000 (10:20 -0400)]
Add the rhelchannels.sh

13 years agoRead the list of logfiles from a config file in the logger PMDA.
David Smith [Wed, 16 Mar 2011 17:55:43 +0000 (12:55 -0500)]
Read the list of logfiles from a config file in the logger PMDA.

* pcp/src/pmdas/logger/logger.c (read_config): New function to read the
  config file.
  (main): Remove the '-m' option and accept a config file.
* pcp/src/pmdas/logger/Install: Add the capability to specify a config
  file or create one.

13 years agoPR3823: Re-add po/POTFILES.in
Lukas Berk [Wed, 16 Mar 2011 12:14:03 +0000 (08:14 -0400)]
PR3823: Re-add po/POTFILES.in

13 years agoPR3823: Added gettext functionality to runtime
Lukas Berk [Wed, 16 Mar 2011 02:01:53 +0000 (22:01 -0400)]
PR3823: Added gettext functionality to runtime
also added a few missed strings, regenerated the po/* files

13 years agoForce 64-bit compiles when needed.
David Smith [Tue, 15 Mar 2011 18:53:14 +0000 (13:53 -0500)]
Force 64-bit compiles when needed.

* testsuite/systemtap.base/rep_ret.exp: Make sure we force 64-bit
  compiles.
* testsuite/systemtap.base/vta-test.exp: Ditto.  Also reindent main loop.

13 years agostapsh: Add OK/ERROR replies to file and run commands
Josh Stone [Mon, 14 Mar 2011 22:14:58 +0000 (15:14 -0700)]
stapsh: Add OK/ERROR replies to file and run commands

* runtime/staprun/stapsh.c (reply): Print a reply (and dbug it too).
  (do_hello): Send uname info using reply().
  (do_file, do_run): Add OK reply, or ERROR from former stderr chatter.
  (qpdecode): Convert stderr chatter to dbug.
* remote.cxx (stapsh::get_reply): Read a one-line reply from the remote.
  (stapsh::send_file): Look for an OK reply after sending the file.
  (stapsh::start): Look for an OK reply after telling it to run.
  (stapsh::set_child_fds): Use get_reply to read the uname back.

13 years agostapsh: Add debugging macros
Josh Stone [Mon, 14 Mar 2011 21:15:21 +0000 (14:15 -0700)]
stapsh: Add debugging macros

* runtime/staprun/stapsh.c (dbug, vdbug, die): New debugging macros.
  (usage, parse_args): New, just dealing with -v for now.
  (main): Parse arguments, and start printing debugging information.
* remote.cxx (ssh_remote::init): Set stapsh verbosity according to p5.
  (direct_stapsh::direct_stapsh): Ditto.
  (remote::run): Make sure subsession->verbose is updated for pass-5.

13 years agoUpdated __ip_sock_daddr() for 2.6.38 kernels.
David Smith [Mon, 14 Mar 2011 21:01:46 +0000 (16:01 -0500)]
Updated __ip_sock_daddr() for 2.6.38 kernels.

* tapset/ip.stp (__ip_sock_daddr): Updated for 2.6.38.

13 years agofix comment typo re. %I[] gcc asm-operand syntax for powerpc
Frank Ch. Eigler [Mon, 14 Mar 2011 19:15:58 +0000 (15:15 -0400)]
fix comment typo re. %I[] gcc asm-operand syntax for powerpc

13 years agoPR3823: mention top-level update-po make target
Frank Ch. Eigler [Mon, 14 Mar 2011 02:52:33 +0000 (22:52 -0400)]
PR3823: mention top-level update-po make target

13 years agoPR3823: Added a po/README file for I18N
Lukas Berk [Mon, 14 Mar 2011 01:50:59 +0000 (21:50 -0400)]
PR3823: Added a po/README file for I18N

13 years agoMake user module build id check set_fs aware
Stan Cox [Sat, 12 Mar 2011 04:57:28 +0000 (23:57 -0500)]
Make user module build id check set_fs aware

* sym.c (_stpbuild_id_check): Properly bracket get_user via set_fs.

13 years agostapsh: Remove the signal command, just call it quit
Josh Stone [Fri, 11 Mar 2011 23:54:43 +0000 (15:54 -0800)]
stapsh: Remove the signal command, just call it quit

As Przemysław pointed out, signal numbers are not 100% portable across
different architectures, and we should allow for the possibility of
cross-compilation in --remote execution.  Since the only point of the
signal command was to trigger an exit, let's just replace it with a
"quit" command.

* runtime/staprun/stapsh.c (do_signal -> do_quit): Forget about parsing
  signal numbers -- just call cleanup (which sends SIGHUP anyway).
  (cleanup): Mask signals, so if called from non-signal context, we
  won't get a reentry (especially for SIGCHLD).
* remote.cxx (stapsh::handle_poll): Send a quit instead of signal.

13 years agostapsh: Upload module signatures and uprobes too
Josh Stone [Fri, 11 Mar 2011 02:50:35 +0000 (18:50 -0800)]
stapsh: Upload module signatures and uprobes too

* remote.cxx (stapsh::prepare): Upload any uprobes and signature files
  to the remote, so remote-unprivileged could work too.

13 years agoremote: Split preparation from the actual start
Josh Stone [Fri, 11 Mar 2011 00:43:53 +0000 (16:43 -0800)]
remote: Split preparation from the actual start

* remote.h (remote::prepare): New, get ready to run.
* remote.cxx (stapsh::start, stapsh::prepare): Split the file-upload into
  the prepare step, so we're ready to go sooner.
  (remote::run): Let remotes prepare first, so they can all start as
  close together as possible.

13 years agostapsh: Use quoted-printable args in the run command
Josh Stone [Fri, 11 Mar 2011 00:35:42 +0000 (16:35 -0800)]
stapsh: Use quoted-printable args in the run command

Per Frank's suggestion, discard the separate "arg" command and just add
arguments directly in the run command.  The quoted-printable encoding is
used for whitespace and characters that aren't printable ASCII.

* runtime/staprun/stapsh.c (do_arg): Remove.
  (qpdecode): New, decode quoted-printable.
  (do_run): Read and QP-decode arguments for staprun.
* remote.cxx (stapsh::send_arg): Remove.
  (stapsh::qpencode): New, encode a string with QP escapes.
  (stapsh::start): Build the run command with QP-encoded arguments.

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