]> sourceware.org Git - systemtap.git/log
systemtap.git
15 years agoAdd tescase for DW_AT_const_value location descriptions.
Mark Wielaard [Mon, 5 Oct 2009 07:14:49 +0000 (09:14 +0200)]
Add tescase for DW_AT_const_value location descriptions.

* testsuite/systemtap.base/const_value.c: New test.
* testsuite/systemtap.base/const_value.exp: Likewise.
* testsuite/systemtap.base/const_value.stp: Likewise.

15 years agoHandle DW_AT_const_value as alternative to location description.
Mark Wielaard [Mon, 5 Oct 2009 07:11:59 +0000 (09:11 +0200)]
Handle DW_AT_const_value as alternative to location description.

* dwflpp.cxx (translate_location): Call c_translate_constant when
  attribute is DW_AT_const_value.
  (literal_stmt_for_local): Allow  both DW_AT_location and DW_AT_const_value.

15 years agoMake sure loc2c declare_noncontig_union for different locs don't overlap.
Mark Wielaard [Mon, 5 Oct 2009 07:05:29 +0000 (09:05 +0200)]
Make sure loc2c declare_noncontig_union for different locs don't overlap.

* loc2c.c (declare_noncontig_union): Name union u_pieces for
  loc_noncontiguous or u_const for loc_constant.
  (translate_base_store): Use u_pieces for loc_noncontiguous.
  (translate_base_fetch): Likewise or u_const for loc_constant.

15 years agoAUTHORS bump for Kiran
Josh Stone [Fri, 2 Oct 2009 23:50:18 +0000 (16:50 -0700)]
AUTHORS bump for Kiran

15 years agoUpdates samples index for sched_switch
Josh Stone [Fri, 2 Oct 2009 23:42:44 +0000 (16:42 -0700)]
Updates samples index for sched_switch

15 years agoScheduler Tapset based on kernel tracepoints
Kiran Prakesh [Thu, 1 Oct 2009 17:09:32 +0000 (22:39 +0530)]
Scheduler Tapset based on kernel tracepoints

This patch adds kernel tracepoints based probes to the scheduler tapset
along with the testcase, scheduler-test-tracepoints.stp and an example
script, sched_switch.stp.

Signed-off-by: Kiran Prakash <kiran@linux.vnet.ibm.com>
Signed-off-by: Josh Stone <jistone@redhat.com>
15 years agoindent tapset: make O(1) rather than O(n)
Frank Ch. Eigler [Fri, 2 Oct 2009 20:24:00 +0000 (16:24 -0400)]
indent tapset: make O(1) rather than O(n)

* tapset/indent.stp (_generic_indent): Use "%-*s" instead of
  string concatenation loop.

15 years agoFix stap-server bug. --unprivileged not processed if processed as first argument.
Dave Brolley [Fri, 2 Oct 2009 20:20:31 +0000 (16:20 -0400)]
Fix stap-server bug. --unprivileged not processed if processed as first argument.

15 years agoloc2c discontiguify loops for not small enough loc_constant.
Mark Wielaard [Fri, 2 Oct 2009 15:07:10 +0000 (17:07 +0200)]
loc2c discontiguify loops for not small enough loc_constant.

* loc2c.c (loc_constant): Add offset to size after creating piece in
  loc_constant loop.

15 years agoPR10678 vta-gcc: module debuginfo: relocation refers to undefined symbol
Mark Wielaard [Thu, 1 Oct 2009 22:28:46 +0000 (00:28 +0200)]
PR10678 vta-gcc: module debuginfo: relocation refers to undefined symbol

libdwfl tries to resolve all relocations in a module debuginfo file and
if it cannot find a symbol used in a relocation it will fail when
dwfl_module_getdwarf() is called. So we must make sure all possible
dependencies of the module are also in the dwfl. We do this by trying
to find and parse the modules.dep file and insert all dependencies
into the dwfl.

* setupdwfl.cxx (elfutils_kernel_path): Lift from setup_dwfl_kernel and
  make static.
  (is_comma_dash): New function.
  (modname_from_path): Likewise.
  (setup_mod_deps): Likewise.
  (setup_dwfl_report_kernel_p): Call setup_mod_deps().
* testsuite/buildok/pr10678.stp: New test.

15 years agoFixed grapher build.
David Smith [Thu, 1 Oct 2009 18:07:12 +0000 (13:07 -0500)]
Fixed grapher build.
* systemtap.spec: Updated grapher's buildreqs and file list.

15 years agoGrapher support now also needs libglademm24-devel, version 2.6.7 or higher.
Mark Wielaard [Thu, 1 Oct 2009 13:30:20 +0000 (15:30 +0200)]
Grapher support now also needs libglademm24-devel, version 2.6.7 or higher.

* configure.ac: Clarify fail/help string when gtkmm support wasn't found.
* configure: Regenerated.

15 years agoAdd DEBUG_UPROBES for sdt semaphores.
Stan Cox [Thu, 1 Oct 2009 13:18:21 +0000 (09:18 -0400)]
Add DEBUG_UPROBES for sdt semaphores.

* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls):  Add
DEBUG_UPROBES for sdt semaphores
* dtrace.in (main): Add -k option to keep around the temp files.

15 years agoPrint total memory usage in verbose mode after pass 1, 2 and 3.
Mark Wielaard [Thu, 1 Oct 2009 12:22:23 +0000 (14:22 +0200)]
Print total memory usage in verbose mode after pass 1, 2 and 3.

Makes it easier to see which probe queries use lots of memory.

* main.cxx (getmemusage): New function.
  (main): Use new function printing passes in verbose mode.

15 years agoActually indent_thread() is a very useful function, but
Breno Leitao [Thu, 1 Oct 2009 03:09:07 +0000 (00:09 -0300)]
Actually indent_thread() is a very useful function, but
sometimes you're probing something that is not related to
any task, as an interrupt function, and if the application
changes during the interrupt, the indentation gets confused.
For example:

    0 swapper(0): -> neo_copy_data_from_queue_to_uart
    69 a.out(7659):   -> neo_parse_modem
    74 a.out(7659):    -> neo_param
    14 swapper(0): <- neo_copy_data_from_queue_to_uart
    83 a.out(7659):  -> jsm_carrier
    86 a.out(7659):  <- jsm_carrier
     0 swapper(0): -> neo_parse_modem
    94 a.out(7659): <- jsm_tty_set_termios
     8 swapper(0): <- neo_parse_modem

So, I decided to create a simpler function that doesn't
consider the task.

Much of the idea of this implementation came from Frank(Thanks)

15 years agodoc build: support older xmlto without --stringparm option
Frank Ch. Eigler [Wed, 30 Sep 2009 23:07:26 +0000 (19:07 -0400)]
doc build: support older xmlto without --stringparm option

* configure.ac: Check for xmlto --stringparam support.
* doc/Systemtap_Tapset_Reference/Makefile.am: Be sensitive to the result.

15 years agodialog for choosing stap script and providing arguments to stap and the script
Tim Moore [Wed, 30 Sep 2009 17:02:42 +0000 (19:02 +0200)]
dialog for choosing stap script and providing arguments to stap and the script

* grapher/grapher.cxx (GraphicalStapLauncher): New class.
  (GrapherWindow constructor): Bind actions for graphical launcher buttons
  (GrapherWindow::setGraphicalLauncher): new method
  (GrapherWindow::on_menu_script_start): new method
  grapher/stap-start.glade, grapher/stap-start.gladep: new files
  grapher/Makefile.am: install stap-start.glade

15 years agoclasses for launching stap and listening for its death
Tim Moore [Wed, 23 Sep 2009 16:03:00 +0000 (18:03 +0200)]
classes for launching stap and listening for its death

* grapher/grapher.cxx (ChildDeathReader): New class to handle I/O signalling
  death of a child.
  (GrapherWindow): Inherit from ChildDeathReader.
  (StapLauncher): New class for passing arguments to inferior stap process
  and checking for its demise.
  (main): Move launching logic to StapLauncher.

15 years agoPass command line arguments on to stap
Tim Moore [Mon, 21 Sep 2009 20:35:17 +0000 (22:35 +0200)]
Pass command line arguments on to stap

* grapher/grapher.cxx (main): Pass program arguments to stap

15 years agocleanup of graph data dialog
Tim Moore [Wed, 16 Sep 2009 17:15:21 +0000 (19:15 +0200)]
cleanup of graph data dialog

* grapher/GraphWidget.cxx (on_button_release_event, onDataAdd): tweaks
for graph data dialog

15 years agographer: Handle the death of the child stap process
Tim Moore [Wed, 16 Sep 2009 17:06:29 +0000 (19:06 +0200)]
grapher: Handle the death of the child stap process

* grapher/grapher.c (main): Set up signal and i/o handlers to detect death
  of child.
* grapher/StapParser.cxx (errIoCallback): New method

15 years agoCreate lists of graph data to choose
Tim Moore [Wed, 2 Sep 2009 13:16:26 +0000 (15:16 +0200)]
Create lists of graph data to choose

15 years agoAdd graph data chooser window, based on glade
Tim Moore [Wed, 2 Sep 2009 10:39:05 +0000 (12:39 +0200)]
Add graph data chooser window, based on glade

* configure.ac: Test for libglademm
* grapher/GraphWidget.hxx (DataModelColumns): new class
  (onDataDialogCancel, void onDataAdd, onDataRemove, onDataDialogOpen):
  new methods
* grapher/GraphWidget.cxx: ditto; methods for the graph data dialog.
* grapher/graph-dialog.glade: New file.
* grapher/graph-dialog.gladep: New file.
* grapher/Makefile.am (dist_pkgdata_DATA): add graph-dialog.glade to
  installation.
* grapher/GraphWidget.cxx (GraphWidget constructor): Use PKGDATADIR

15 years agomore multiple graph fixes
Tim Moore [Tue, 4 Aug 2009 21:46:02 +0000 (23:46 +0200)]
more multiple graph fixes

* grapher/Graph.cxx (Graph constructor): set _drawX, _drawY
* grapher/GraphWidget.cxx (addGraph): Fix graph layout
(on_button_press_event): Fix test of play button in multiple graphs

15 years agoDraw multiple graphs
Tim Moore [Wed, 29 Jul 2009 11:11:10 +0000 (13:11 +0200)]
Draw multiple graphs

* grapher/Graph.cxx (Graph constructor): Initialize graph dimensions.
(draw): Don't clear the drawing area.
* grapher/GraphWidget.hxx (GraphWidget): Add dimensions and
on_size_request() method.
* grapher/GraphWidget.cxx (GraphWidget constructor): Initialize
dimensions.
(addGraph): New method.
(on_size_request): New method to pass widget's size to parent widgets
* grapher/grapher.cxx (GrapherWindow constructor): add "add graph"
action.
(addGraph): New method.

15 years agoPR10678 module reloc refers to symbol in dwarf refer to kernel symbols.
Mark Wielaard [Wed, 30 Sep 2009 14:51:29 +0000 (16:51 +0200)]
PR10678 module reloc refers to symbol in dwarf refer to kernel symbols.

First part of a fix for PR10678. Always include the kernel in the dwfl.
This doesn't seem to impact performance noticable, so for now enable
always.

* setupdwfl.cxx (setup_dwfl_done): New variable, used to clean up logic
  in setup_dwfl_report_kernel_p().
  (setup_all_deps): New static bool to indicate we want all deps (just
  the kernel for now, other modules coming).
  (setup_dwfl_report_kernel_p): Use new variables, shortcut kernel
  inclusion.
  (setup_dwfl_kernel): Setup setup_dwfl_done (false).

15 years agobuild fix: use boost shared_ptr if libstdc++ to old to have <tr1/memory>
Frank Ch. Eigler [Tue, 29 Sep 2009 21:09:20 +0000 (17:09 -0400)]
build fix: use boost shared_ptr if libstdc++ to old to have <tr1/memory>

* configure.ac: Look for tr1/memory and boost/shared_ptr.hpp
* setupdwfl.h (shared_ptr): Define conditionally based on above.
* systemtap.spec (with_boost): New parameter, default-off.

15 years agoDelete trailing whitespace
Robb Romans [Tue, 29 Sep 2009 20:51:23 +0000 (15:51 -0500)]
Delete trailing whitespace

15 years agoAdd information about userspace probing
Robb Romans [Tue, 29 Sep 2009 20:49:51 +0000 (15:49 -0500)]
Add information about userspace probing

Add information from the manual pages and from Prerna Saxena about
userspace probing to the Language Reference Guide.

15 years agoAdd -Werror to tracequery build
Josh Stone [Tue, 29 Sep 2009 18:35:18 +0000 (11:35 -0700)]
Add -Werror to tracequery build

The final module build uses -Werror, so tracequery should as well to
catch problems as early as possible.  Some ext4 errors have crept in
again (PR10703).

* buildrun.cxx (make_tracequery): Add -Werror to EXTRA_CFLAGS.

15 years agotapset docs cleanup
Frank Ch. Eigler [Tue, 29 Sep 2009 18:09:32 +0000 (14:09 -0400)]
tapset docs cleanup

Several problems: some invalid <command> etc. directives
in the tapset embedded docs; some analysis about the
non-generation of the pdf; some cleanup of the generated
man pages.

* configure.ac (BUILD_PDFREFDOCS): Correct condition typo, but still
  leave disabled.
* doc/SystemTap_Tapset_Reference/Makefile.am (XMLTOMANPARMS): Add,
  to disable noise "AUTHORS" / "COPYRIGHT" sections.
* tapset/*.stp: Removed several docbook-y markup that is not valid
  in kerneldoc.

15 years agoAdded timeouts to test 15 & 16.
David Smith [Tue, 29 Sep 2009 16:00:26 +0000 (11:00 -0500)]
Added timeouts to test 15 & 16.

15 years agoCache Dwfl's for reuse between pass 2 and pass 3.
Mark Wielaard [Tue, 29 Sep 2009 14:45:37 +0000 (16:45 +0200)]
Cache Dwfl's for reuse between pass 2 and pass 3.

* setupdwfl.h: Introduce DwflPtr.
* setupdwfl.cxx: Cache kernel_dwfl and user_dwfl. Keep track of last used
  module strings. Return cached versions if same query used.
* dwflpp.h: Use DwflPtr instead of Dwfl*.
* dwflpp.cxx: Use DwflPtr and don't dwfl_end().
* translate.cxx: Likewise. Run through dwfl_getmodules() with returned
  ptr offset.

15 years agoHandle non-regex full path kernel module dwfl setup earlier.
Mark Wielaard [Tue, 29 Sep 2009 09:22:30 +0000 (11:22 +0200)]
Handle non-regex full path kernel module dwfl setup earlier.

* setupdwfl.cxx (setup_dwfl_kernel(unsigned*,systemtap_session&)):
  Don't switch around offline_search_modname and offline_search_names here.
  (setup_dwfl_kernel(string&,unsigned*,systemtap_session&): But here.

15 years agoMake sys32_pipe probe available only before 2.6.32
Wenji Huang [Tue, 29 Sep 2009 05:05:54 +0000 (13:05 +0800)]
Make sys32_pipe probe available only before 2.6.32

* tapset/x86_64/nd_syscalls.stp: Switch by kernel version.
* tapset/x86_64/syscalls.stp: Ditto.

15 years ago* tapsets.cxx (sdt_query::record_semaphore): Adjust addr relative to
Stan Cox [Tue, 29 Sep 2009 02:40:33 +0000 (22:40 -0400)]
* tapsets.cxx (sdt_query::record_semaphore): Adjust addr relative to
relocation base.

15 years agoRemove cached signature files along with modules
Josh Stone [Tue, 29 Sep 2009 02:04:00 +0000 (19:04 -0700)]
Remove cached signature files along with modules

* cache.cxx (cache_ent_info::cache_ent_info): Count the sgn in the size
  (cache_ent_info::unlink): Remove the sgn too.

15 years agoSimplify copy_file calls
Josh Stone [Tue, 29 Sep 2009 01:49:51 +0000 (18:49 -0700)]
Simplify copy_file calls

Every single copy_file call we had was converting strings to char*,
printing the same error message, and optionally printing the same
verbose string.  Let's canonicalize that.

* util.cxx (copy_file): Take string filenames, add a verbose flag, and
  consolidate the message printing.
* cache.cxx (add_to_cache): Pass strings and remove message printing.
  (get_from_cache): Ditto.
* main.cxx (main): Ditto.
* tapsets.cxx (tracepoint_builder::get_tracequery_module): Ditto.
  (dwarf_cast_expanding_visitor::filter_special_modules): Ditto.

15 years agoTry to build tracequery for all headers at once
Josh Stone [Tue, 29 Sep 2009 00:36:04 +0000 (17:36 -0700)]
Try to build tracequery for all headers at once

To mitigate PR10424, we switched to building a separate tracequery
module for each tracepoint header, so a bad header wouldn't break all of
the others.  However, with recent kernels that leads to ~18 make
commands, which adds up quickly in time.  It's cached, so that's not too
bad, but as a developer who rebuilds stap frequently, it gets annoying.

If we're going to call 18 makes, it's worth it to start with one bigger
make that covers all the headers at once (like we used to).  If that one
fails, we can still fall back to compiling individually.

FWIW, the failing ext4.h header was only created in 2.6.31, and was
fixed before 2.6.32, so the specific failure in PR10424 has a fairly
small window.

* buildrun.cxx (make_tracequery): Just take a single vector of headers.
* hash.cxx (find_tracequery_hash): Deal with multiple headers.
* tapsets.cxx (tracepoint_builder::get_tracequery_module): Ditto.
  (tracepoint_builder::init_dw): Attempt all system headers together,
  and if that fails, try again individually.

15 years agoFactor out duplicated code to setup user/module Dwfl from dwflpp/translate.
Mark Wielaard [Mon, 28 Sep 2009 22:12:26 +0000 (00:12 +0200)]
Factor out duplicated code to setup user/module Dwfl from dwflpp/translate.

* setupdwfl.h: Add setup_dwfl_user() and is_user_module().
* setupdwfl.cxx: Likewise.
* dwflpp.cxx (setup_user): Use setup_dwfl_user().
* translate.cxx (emit_symbol_data): Likewise and is_user_module().
* tapsets.cxx (dwarf_cast_expanding_visitor::visit_cast_op):
  Use is_user_module().

15 years agoHandle full path .ko modules in setup_dwfl_kernel.
Mark Wielaard [Mon, 28 Sep 2009 21:30:49 +0000 (23:30 +0200)]
Handle full path .ko modules in setup_dwfl_kernel.

* setupdwfl.cxx (setup_dwfl_kernel): First report all full path modules.

15 years agoBetter cleanup.
David Smith [Mon, 28 Sep 2009 20:18:58 +0000 (15:18 -0500)]
Better cleanup.
* testsuite/systemtap.base/cmd_parse.exp: Remove temporary module.

15 years agocleanup: tweak "read-only <variable>" message
Frank Ch. Eigler [Mon, 28 Sep 2009 20:01:29 +0000 (16:01 -0400)]
cleanup: tweak "read-only <variable>" message

* elaborate.cxx (semantic_pass_opt2): Use "never-assigned" instead
  of "read-only".
  (dead_stmtexpr_remover::visit_expr_statement): Ditto.

15 years agoUse dwlpp::setup_kernel for tracepoint modules.
Mark Wielaard [Mon, 28 Sep 2009 15:12:04 +0000 (17:12 +0200)]
Use dwlpp::setup_kernel for tracepoint modules.

Tracepoint modules ended up going through dwflpp::setup_user() because
there was no setup_kernel that takes a list of module names.

* dwflpp.h: Add kernel_p bool to constructor that takes a module list.
  Add setup_kernel() variant that takes a module list.
* dwflpp.cxx: Likewise.
* tapsets.cxx (tracepoint_builder::init_dw): Call dwflpp constructor
  indicating we expect kernel modules.

15 years agoFactor out duplicated code to setup kernel/module Dwfl from dwflpp/translate.
Mark Wielaard [Mon, 28 Sep 2009 13:36:33 +0000 (15:36 +0200)]
Factor out duplicated code to setup kernel/module Dwfl from dwflpp/translate.

* setupdwfl.h: New header file.
* setupdwfl.cxx: New source file containing shared setup_dwfl_kernel() code.
* dwflpp.cxx (dwfl_report_offline_predicate): Removed.
  (setup_kernel): Call setup_dwfl_kernel().
* translate.cxx (dwfl_report_offline_predicate2): Remove.
  (emit_symbol_data): Call setup_dwfl_kernel().
* Makefile.am (stap_SOURCES): Add setupdwfl.cxx.
* Makefile.in: Regenerated.

15 years agoPR10700 Add newline after log() message.
Mark Wielaard [Mon, 28 Sep 2009 13:34:56 +0000 (15:34 +0200)]
PR10700 Add newline after log() message.

* tapset/logging.stp (log): Use _stp_printf "%s\n".

15 years agoRemoving support for InMcastPkts, OutMcastPkts, InBcastPkts and
David J. Wilder [Fri, 25 Sep 2009 22:24:58 +0000 (15:24 -0700)]
Removing support for InMcastPkts, OutMcastPkts, InBcastPkts and
OutBcastPkts.  As they are not needed for tcpipstat and tend to break
easily with kernel changes.

15 years agoNo longer need buffer iterators.
David Smith [Fri, 25 Sep 2009 20:12:10 +0000 (15:12 -0500)]
No longer need buffer iterators.
* runtime/tranport/ring_buffer.c: Removed 'USE_ITERS' definition.

15 years agoPurge warnings from buildok testsuite.
Mark Wielaard [Fri, 25 Sep 2009 13:38:41 +0000 (15:38 +0200)]
Purge warnings from buildok testsuite.

* testsuite/buildok/fortysix.stp: Add -w.
* testsuite/buildok/fortytwo.stp: Likewise.
* testsuite/buildok/four.stp: Avoid empty begin.
* testsuite/buildok/memory-all-probes.stp: Add -w.
* testsuite/buildok/nfsd-all-probes.stp: Likewise.
* testsuite/buildok/nine.stp: Likewise.
* testsuite/buildok/one.stp: Use q.
* testsuite/buildok/printf.stp: Remove unused foo(), printf x.
* testsuite/buildok/process-all-probes.stp: Add -w.
* testsuite/buildok/scheduler-all-probes.stp: Likewise.
* testsuite/buildok/scsi-all-probes.stp: Likewise.
* testsuite/buildok/signal-all-probes.stp: Likewise.
* testsuite/buildok/sixteen.stp: log in foo().
* testsuite/buildok/socket-all-probes.stp: Add -w.
* testsuite/buildok/stat_insert.stp: Declare x, y global.
* testsuite/buildok/syscall.stp: Add -w.
* testsuite/buildok/tcp-all-probes.stp: Likewise.
* testsuite/buildok/thirtyone.stp: Likewise.
* testsuite/buildok/twentyeight.stp: log absolute.
* testsuite/buildok/twentyfour.stp: Add -w.
* testsuite/buildok/udp-all-probes.stp: Likewise.
* testsuite/buildok/vfs-all-probes.stp: Likewise.

15 years agoAUTHORS update
Josh Stone [Thu, 24 Sep 2009 23:29:39 +0000 (16:29 -0700)]
AUTHORS update

* .mailmap: Normalize David (J.) Wilder.
* AUTHORS: Rebuild, also adding Charley Wang & Roland Grunberg.

15 years agoSupport DW_AT_const_value cases in loc2c and loc2c-test.
Roland McGrath [Thu, 24 Sep 2009 20:05:41 +0000 (13:05 -0700)]
Support DW_AT_const_value cases in loc2c and loc2c-test.

* loc2c.c (c_translate_constant): New function.
* loc2c.h: Declare it.
* loc2c-test.c (main): Use it for DW_AT_const_value cases.

15 years agoAdded a basic ring_buffer transport test.
David Smith [Thu, 24 Sep 2009 18:32:22 +0000 (13:32 -0500)]
Added a basic ring_buffer transport test.
* testsuite/systemtap.printf/ring_buffer.exp: New test.

15 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
David Smith [Thu, 24 Sep 2009 13:11:09 +0000 (08:11 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

15 years agoFixed grapher build problem caused by configure update.
David Smith [Thu, 24 Sep 2009 13:10:16 +0000 (08:10 -0500)]
Fixed grapher build problem caused by configure update.
* grapher/Makefile.am: Updated gtkmm CFLAGS/LIBS variable name.
* grapher/Makefile.in: Regenerated.
* Makefile.in: Ditto.
* doc/Makefile.in
* doc/SystemTap_Tapset_Reference/Makefile.in

15 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Frank Ch. Eigler [Thu, 24 Sep 2009 02:37:19 +0000 (22:37 -0400)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

* 'master' of ssh://sources.redhat.com/git/systemtap:
  Better grapher option handling.
  Fix configure on systems without 'gcc -fgnu89-inline' support (rhel4).

15 years agoPR10632: make randint() unprivileged
Frank Ch. Eigler [Thu, 24 Sep 2009 02:36:48 +0000 (22:36 -0400)]
PR10632: make randint() unprivileged

15 years agoBetter grapher option handling.
David Smith [Wed, 23 Sep 2009 21:14:46 +0000 (16:14 -0500)]
Better grapher option handling.
* configure.ac: Don't check for gtkmm if '--disable-grapher' was used.
  Also, error if '--enable-grapher' was used but gtkmm isn't installed.
* configure: Regenerated.

15 years agoPR10632: simplify randint() implementation
Frank Ch. Eigler [Wed, 23 Sep 2009 20:41:40 +0000 (16:41 -0400)]
PR10632: simplify randint() implementation

* tapset/random.stp (randint): Make it 1-arity (imply min=0).
  Document with kerneldoc.
* doc/Systemtap_Tapset_Reference/tapsets.tmpl: Extract the docs.
* runtime/arith.c (_stp_random_pm_u): Rename without _pm.
  (_stp_random_pm): Rewrite in terms of ..._u.
* testsuite/random.stp: Adapt & simplify.

15 years agoFix configure on systems without 'gcc -fgnu89-inline' support (rhel4).
David Smith [Wed, 23 Sep 2009 20:37:37 +0000 (15:37 -0500)]
Fix configure on systems without 'gcc -fgnu89-inline' support (rhel4).
* configure.ac: Only compile elfutils with '-fgnu89-inline' if the
  compiler actually supports it.
* configure: Regenerated.

15 years agoPR10632: tapset: randint() function + tests
Roland Grunberg [Wed, 23 Sep 2009 17:46:05 +0000 (13:46 -0400)]
PR10632: tapset: randint() function + tests

15 years agoPR1062: runtime function
Charley Wang [Wed, 23 Sep 2009 18:00:33 +0000 (14:00 -0400)]
PR1062: runtime function

* arith.c (_stp_random_pm_u): New function.

15 years agoForward-ported staplog.c crash support (PR 10644).
David Smith [Wed, 23 Sep 2009 16:11:07 +0000 (11:11 -0500)]
Forward-ported staplog.c crash support (PR 10644).
* staplog.c (get_rchan): Separated original relayfs code and current
  relayfs code.
  (get_rchan_buf): Ditto.
  (output_cpu_logs): Ditto.
  (get_rchan_addr): Handles original relayfs code detection.
  (setup_global_data): Looks for '_stp_relay_data' structure instead of
  '_stp_utt' structure.
  (open_output_file): Improved error message.
* runtime/transport/relay_v2.c: Rearranged struct _stp_relay_data_type to
  make things a bit easier for staplog.c.
* runtime/transport/relayfs.c: Ditto

15 years agoPR10390: ftrace() tapset function
Frank Ch. Eigler [Wed, 23 Sep 2009 11:41:47 +0000 (07:41 -0400)]
PR10390: ftrace() tapset function

* tapset/logging.stp (ftrace): New function.
  (*): Add kerneldoc to other functions.
* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Process logging.stp.
* stapfuncs.3stap.in: Remove "LOGGING" section, now redundant.
* runtime/autoconf-trace-printk.c: New autoconf test.
* buildrun.cxx (compile_pass): Build it.
* NEWS: Mention it.
* testsuite/buildok/logging.stp: Test it.

15 years agoVersion bumps for the 1.0 release release-1.0
Josh Stone [Wed, 23 Sep 2009 01:57:19 +0000 (18:57 -0700)]
Version bumps for the 1.0 release

15 years agoAdd NEWS for the sdt semaphores
Josh Stone [Wed, 23 Sep 2009 01:44:21 +0000 (18:44 -0700)]
Add NEWS for the sdt semaphores

15 years agoAdd NEWS for C++ scopes
Josh Stone [Wed, 23 Sep 2009 01:13:54 +0000 (18:13 -0700)]
Add NEWS for C++ scopes

15 years agoMove cross-compile NEWS before the mention of server support
Josh Stone [Wed, 23 Sep 2009 01:11:52 +0000 (18:11 -0700)]
Move cross-compile NEWS before the mention of server support

15 years agoMinor NEWS formatting tweaks
Josh Stone [Wed, 23 Sep 2009 01:10:37 +0000 (18:10 -0700)]
Minor NEWS formatting tweaks

15 years agooptimization: reduce generated C code size
Frank Ch. Eigler [Tue, 22 Sep 2009 21:35:54 +0000 (17:35 -0400)]
optimization: reduce generated C code size

* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Don't
  emit unnecessary 0 initializers for .tfi and .sdt_semaphore_addr.

15 years agoPR10574: remove comdat/duplicate functions with entrypc=0
Frank Ch. Eigler [Tue, 22 Sep 2009 21:35:31 +0000 (17:35 -0400)]
PR10574: remove comdat/duplicate functions with entrypc=0

* dwflpp.c (die_entrypc): Reject entrypc=0 functions.

15 years agoAllow errors from avahi-tools to go to stderr.
Dave Brolley [Mon, 21 Sep 2009 17:03:09 +0000 (13:03 -0400)]
Allow errors from avahi-tools to go to stderr.

15 years agoUpdate NEWS with firewall requirements for systemtap client/server.
Dave Brolley [Mon, 21 Sep 2009 16:24:28 +0000 (12:24 -0400)]
Update NEWS with firewall requirements for systemtap client/server.

15 years agoTest all context related functions in one test.
Mark Wielaard [Sat, 19 Sep 2009 19:20:34 +0000 (21:20 +0200)]
Test all context related functions in one test.

Saves a couple of seconds per individual test by doing them all in one.

* testsuite/buildok/context_test.stp: Incorporate:
  modname.stp, probefunc.stp, probemod.stp, symdata.stp, symname.stp,
  uaddr.stp, ustack.stp, usymdata.stp, usymname.stp.
  Delete individual tests.

15 years agoUse less idle time in testsuite.
Mark Wielaard [Sat, 19 Sep 2009 17:14:33 +0000 (19:14 +0200)]
Use less idle time in testsuite.

A lot of tests wait, sleep or use a timer for multiple seconds when that
is not necessary. Reduce the time waited so save test time.

* testsuite/systemtap.base/backtrace.stp: Exit after 100ms.
* testsuite/systemtap.base/badkprobe.exp: Likewise.
* testsuite/systemtap.base/global_end.stp: Likewise.
* testsuite/systemtap.base/itrace.exp: Wait 1 sec instead of 5 for each test.
* testsuite/systemtap.base/maxactive.exp: Likewise.
* testsuite/systemtap.base/onoffprobe.exp: Match and use modname, so
  build script can be cached.
* testsuite/systemtap.base/onoffprobe.stp: Wait miliseconds instead of
  seconds in each alias. Output module_name.
* testsuite/systemtap.base/poll_map.stp: Start after 100ms.

15 years agoFix uninitialized line numbers in the function spec
Josh Stone [Sat, 19 Sep 2009 02:59:43 +0000 (19:59 -0700)]
Fix uninitialized line numbers in the function spec

The rewrite of parse_function_spec left the line numbers uninitialized
when not used, but elsewhere was depending on that.  Fix the uninit, and
also don't depend on it.

* tapsets.cxx (dwarf_query::parse_function_spec): Init line stuff.
  (query_cu): Branch on the spec_type, not the line contents.

15 years agoPR10655 part 1: uprobes: track sdt semaphores properly
Frank Ch. Eigler [Sat, 19 Sep 2009 01:31:06 +0000 (21:31 -0400)]
PR10655 part 1: uprobes: track sdt semaphores properly

commit 6846cfc8 introduced an unintended side-effect where semaphore tracking
was identified with stap_uprobe_specs[] elements, which are normally static/const.
This kernel patch <http://article.gmane.org/gmane.linux.kernel/854187> catches
and panics on this.  The cure is to move the variable over to the stap_uprobes[]
array.

* tapsets.cxx (uprobe emit_module_decls): Add sdt_sem_address to stap_uprobe{} struct,
  to contain per-process relocated semaphore address.
  (emit_module_decls,_init): Remove tsk field, restore constness of appropriate
  locals.  Activate uprobe semaphore right around uprobe activation time.  Remove
  semaphore clearing upon process exit, since by then it's gone.
  (emit_module_exit): Use remembered relocated semaphore address to clean up.
  Fix "-uprobe" DEBUG_UPROBES message.
* runtime.h: #include <linux/sched.h>.
* dtrace.in (*_semaphore): Make it an unsigned short - intended 16 bits on all
  common architectures/multilibs.

15 years agoUpdate entries for unprivileged users and for cross compiling client/server.
Dave Brolley [Fri, 18 Sep 2009 22:53:56 +0000 (18:53 -0400)]
Update entries for unprivileged users and for cross compiling client/server.

15 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Dave Brolley [Fri, 18 Sep 2009 22:21:30 +0000 (18:21 -0400)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

15 years agostap-start-server(->stap-serverd) now accept -r -R -I -B and -a options for cross...
Dave Brolley [Fri, 18 Sep 2009 22:17:15 +0000 (18:17 -0400)]
stap-start-server(->stap-serverd) now accept -r -R -I -B and -a options for cross compilation.
Server correctly advertises itself wrt -r and -a.
Fix bug in stap-server: fatal function was potentially recursive.

15 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
David Smith [Fri, 18 Sep 2009 20:12:01 +0000 (15:12 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

15 years agoFixed relay_old.c by providing ppoll().
David Smith [Fri, 18 Sep 2009 20:11:12 +0000 (15:11 -0500)]
Fixed relay_old.c by providing ppoll().
* runtime/staprun/staprun.h: Put ppoll() declaration here (so that
  relay_old.c can use it).
* runtime/staprun/relay.c (ppoll): Made ppoll() non-static so that
  relay_old.c can use it.

15 years agobuildok netdev.stp file shouldn't be using /usr/bin/env, but stap directly.
Mark Wielaard [Fri, 18 Sep 2009 20:10:04 +0000 (22:10 +0200)]
buildok netdev.stp file shouldn't be using /usr/bin/env, but stap directly.

15 years ago* vta-test.c: Include sdt.h under test, not system installed sys/sdt.h.
Mark Wielaard [Fri, 18 Sep 2009 19:38:35 +0000 (21:38 +0200)]
* vta-test.c: Include sdt.h under test, not system installed sys/sdt.h.

15 years agoDon't mark print_ustack() as pure, it has side effects (printing the stack).
Mark Wielaard [Fri, 18 Sep 2009 17:40:23 +0000 (19:40 +0200)]
Don't mark print_ustack() as pure, it has side effects (printing the stack).

* tapset/ucontext-symbols.stp (print_ustack): Remove /* pure */

15 years agoUprobes not currently supported on ia64.
William Cohen [Fri, 18 Sep 2009 14:36:37 +0000 (10:36 -0400)]
Uprobes not currently supported on ia64.

15 years agoAlways mark .probes section as writable.
Mark Wielaard [Fri, 18 Sep 2009 14:13:24 +0000 (16:13 +0200)]
Always mark .probes section as writable.

Allocated section needs to be writable when creating pic shared objects
because we store relocatable addresses in them.  We used to make this
read only for non-pic executables, but the new semaphore support relies
on having a writable .probes section to put the enabled variables in.

* includes/sys/sdt.h (ALLOCSEC): Define unconditionally as "aw".

15 years agoClarify and reformat some NEWS entries.
Mark Wielaard [Fri, 18 Sep 2009 12:12:41 +0000 (14:12 +0200)]
Clarify and reformat some NEWS entries.

15 years agoPR10417 Enable vta-test.exp testcase and add to NEWS.
Mark Wielaard [Fri, 18 Sep 2009 06:23:02 +0000 (08:23 +0200)]
PR10417 Enable vta-test.exp testcase and add to NEWS.

* NEW: Mention DW_OP_{implicit,stack}_value support.
* testsuite/systemtap.base/vta-test.exp: Don't XFAIL. Use staprun2.
* testsuite/systemtap.base/vta-test.stp: Enable all probes.

15 years agoPR10417 Fix declare_noncontig_union struct emitting.
Mark Wielaard [Fri, 18 Sep 2009 06:17:29 +0000 (08:17 +0200)]
PR10417 Fix declare_noncontig_union struct emitting.

* loc2c.c (declare_noncontig_union): Only open struct when loc_noncontiguous.

15 years agoFix build error with elfutils < 0.142.
Roland McGrath [Fri, 18 Sep 2009 03:55:10 +0000 (20:55 -0700)]
Fix build error with elfutils < 0.142.

* loc2c.c [!_ELFUTILS_PREREQ (0,142)]
(DW_OP_stack_value, DW_OP_implicit_value): Define as macros.

15 years agoFix build error with elfutils < 0.142.
Roland McGrath [Fri, 18 Sep 2009 03:52:15 +0000 (20:52 -0700)]
Fix build error with elfutils < 0.142.

* dwflpp.cxx (translate_location) [!_ELFUTILS_PREREQ (0,142)]:
Pass new argument to c_translate_location.

15 years agoWhitespace cleanups in sdt.h
Josh Stone [Fri, 18 Sep 2009 02:36:29 +0000 (19:36 -0700)]
Whitespace cleanups in sdt.h

15 years agoEnsure that STAP_PROBE behaves like a single statement
Josh Stone [Fri, 18 Sep 2009 02:06:39 +0000 (19:06 -0700)]
Ensure that STAP_PROBE behaves like a single statement

It's important for macros like this to appear as a single statement, so
they won't break the control flow of the caller.  The new STAP_SEMAPHORE
macro was breaking this masquerade, but now I've moved it inside of the
do-while block.

* includes/sys/sdt.h (STAP_SEMAPHORE): Define the disabled case empty.
  (STAP_PROBE[1-10]_): Move the semaphore inside the do-while block.

15 years agoMerge branch 'master' of sourceware.org:/git/systemtap
Josh Stone [Fri, 18 Sep 2009 01:43:14 +0000 (18:43 -0700)]
Merge branch 'master' of sourceware.org:/git/systemtap

15 years agoSimplify the sdt semaphore decrement in utrace
Josh Stone [Fri, 18 Sep 2009 01:35:12 +0000 (18:35 -0700)]
Simplify the sdt semaphore decrement in utrace

The decrement can happen at the same time that the utrace detach is
called.  However, I'm concerned that this code isn't correctly handling
the case where multiple tasks may register the same probe, so for now
I've noted those places.  I think task finder may have to help in fixing
this...

* tapset-utrace.cxx (utrace_derived_probe_group::emit_module_init): As
  noted in uprobes-land, there's no need to tear down anything.
  (utrace_derived_probe_group::emit_module_exit): Unify the detach and
  semaphore decrement, and note a concern about multiple tasks.
  (utrace_derived_probe_group::emit_module_decls): Note same concern.
* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Ditto.
  (uprobe_derived_probe_group::emit_module_exit): Ditto.

15 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Dave Brolley [Fri, 18 Sep 2009 00:36:24 +0000 (20:36 -0400)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

15 years agoCheck for unprivileged options conflicts on the server side.
Dave Brolley [Fri, 18 Sep 2009 00:35:41 +0000 (20:35 -0400)]
Check for unprivileged options conflicts on the server side.
Gneral work on options in the client and server.

15 years agoSimplify sdt's record_semaphore
Josh Stone [Thu, 17 Sep 2009 23:51:40 +0000 (16:51 -0700)]
Simplify sdt's record_semaphore

* tapsets.cxx (sdt_query::record_semaphore): Use lookup_symbol_address.

15 years agoMap std semaphores from probe->addr
Josh Stone [Thu, 17 Sep 2009 23:37:36 +0000 (16:37 -0700)]
Map std semaphores from probe->addr

Each probe needs to know the associated semaphore address, rather than
the other way around.

* session.h (sdt_semaphore_addr): Reverse the key-value types.
* tapsets.cxx (record_semaphore): Take an index to only record the
  semaphore for newly added results.
  (sdt_query::handle_query_module): Adjust accordingly.
  (uprobe_derived_probe_group::emit_module_decls): Now it's a simple map
  lookup for sdt_sem_address.
* tapset-utrace.cxx (utrace_derived_probe_group::emit_probe_decl): Ditto.

15 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
William Cohen [Thu, 17 Sep 2009 22:17:57 +0000 (18:17 -0400)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

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