]> sourceware.org Git - systemtap.git/log
systemtap.git
14 years agoPR10601: unfork deref()
Frank Ch. Eigler [Sun, 20 Dec 2009 21:54:27 +0000 (16:54 -0500)]
PR10601: unfork deref()

* runtime/loc2c-runtime.h: Remove k_ vs u_[store_]deref; share instead.
* tapsets.cxx: Remove k_ vs u_ redirection for *deref().

14 years agodocumentation: remove docs for nonexistentn perfctr probes
Frank Ch. Eigler [Sun, 20 Dec 2009 21:51:47 +0000 (16:51 -0500)]
documentation: remove docs for nonexistentn perfctr probes

14 years agoruntime: rhel4 build fix for uretprobe-wannabe stack tracebacks
Frank Ch. Eigler [Sun, 20 Dec 2009 20:43:53 +0000 (15:43 -0500)]
runtime: rhel4 build fix for uretprobe-wannabe stack tracebacks

* runtime/stack.c (_stp_stack_print): Comment out *retprobe logic if !CONFIG_UTRACE.

14 years agoRHBZ543529: Make implicit -BCONFIG_MODULE_SIG=n
Frank Ch. Eigler [Sun, 20 Dec 2009 20:34:09 +0000 (15:34 -0500)]
RHBZ543529: Make implicit -BCONFIG_MODULE_SIG=n

* buildrun.cxx (compile_pass): Disable module signing goo.

14 years agodwarf probes: skip inlined instances with null (buggy) entrypc
Frank Ch. Eigler [Sun, 20 Dec 2009 19:34:31 +0000 (14:34 -0500)]
dwarf probes: skip inlined instances with null (buggy) entrypc

* dwflpp.cxx (resolve_prologue_endings): Skip entrypc=0.

14 years agoruntime backtracing: port commit #2e7f8442 to uprobes1
Frank Ch. Eigler [Sun, 20 Dec 2009 18:34:16 +0000 (13:34 -0500)]
runtime backtracing: port commit #2e7f8442 to uprobes1

    * runtime/uprobes/uprobes.c (uprobe_get_pc): new function

14 years agoPR10601 cont'd, RHEL5 backward compatibility with more runtime/autoconf*
Frank Ch. Eigler [Sun, 20 Dec 2009 17:16:33 +0000 (12:16 -0500)]
PR10601 cont'd, RHEL5 backward compatibility with more runtime/autoconf*

14 years agoPR10601 part 1: i386 and x86-64 regset for dwarf fetch/store_register()s
Frank Ch. Eigler [Fri, 18 Dec 2009 17:20:52 +0000 (12:20 -0500)]
PR10601 part 1: i386 and x86-64 regset for dwarf fetch/store_register()s

* runtime/loc2c-runtime.h (fetch_register, store_register):
  forked into k_ (kernel) and u_ (user) varieties.  Implement
  i386 and x86_64 in terms of regset.h; fall back to k_* for
  other architectures.
* tapsets.cxx: (*::visit_target_symbol): Emit macros to map
  loc2c's fetch/store_register to loc2c-runtime's k_ or u_ as
  appopriate.

14 years agoPR10601: comment on loc2c's use of [u]intptr_t for temp values
Frank Ch. Eigler [Tue, 24 Nov 2009 20:46:41 +0000 (15:46 -0500)]
PR10601: comment on loc2c's use of [u]intptr_t for temp values

14 years agoRecalculate sem address when tid changes.
Stan Cox [Sat, 19 Dec 2009 17:18:00 +0000 (12:18 -0500)]
Recalculate sem address when tid changes.

* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Emit
sdt_sem_tid.  Use it to recalculate sem address when task changes.

14 years agoRemove externalvar.exp .exe and .so after test done.
Mark Wielaard [Sat, 19 Dec 2009 11:36:48 +0000 (12:36 +0100)]
Remove externalvar.exp .exe and .so after test done.

14 years agoMerge commit 'origin/master'
Tim Moore [Fri, 18 Dec 2009 18:14:25 +0000 (19:14 +0100)]
Merge commit 'origin/master'

14 years agoRemove uprobes.h declaration from runtime.h
Tim Moore [Fri, 18 Dec 2009 16:56:24 +0000 (17:56 +0100)]
Remove uprobes.h declaration from runtime.h

Turns out that it breaks on kernels that don't have utrace.

* runtime/runtime.h : Don't include uprobes.h
* runtime/stack.c: Include uprobes.h
* runtime/stack-i386.c: Check if uprobes is included at all.
* runtime/stack-x86_64.c: ditto
* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): put
  uprobes.h include back in.

14 years agoPR 10641: Do not allow -m when --unprivileged in the server.
Dave Brolley [Fri, 18 Dec 2009 17:16:33 +0000 (12:16 -0500)]
PR 10641: Do not allow -m when --unprivileged in the server.

14 years agoFix typos in NEWS
Wenji Huang [Fri, 18 Dec 2009 08:50:03 +0000 (16:50 +0800)]
Fix typos in NEWS

14 years agoRemove blank line in ucontext-unwind.stp for SystemTap Tapset Reference Manual
William Cohen [Thu, 17 Dec 2009 22:51:16 +0000 (17:51 -0500)]
Remove blank line in ucontext-unwind.stp for SystemTap Tapset Reference Manual

The automatic documentation extraction doesn't allow blank lines between the
the comment and the actual code. Removed the problem blank line to allow
the information to be extracted for the SystemTap Tapset Reference Manual.

14 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
William Cohen [Thu, 17 Dec 2009 22:39:30 +0000 (17:39 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

14 years agoAdd PROD2 to allow beginner's guide to be built again.
William Cohen [Thu, 17 Dec 2009 22:24:52 +0000 (17:24 -0500)]
Add PROD2 to allow beginner's guide to be built again.

14 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Dave Brolley [Thu, 17 Dec 2009 22:15:47 +0000 (17:15 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

14 years agoAdd function to generate saner html file names for langref.
William Cohen [Thu, 17 Dec 2009 22:15:02 +0000 (17:15 -0500)]
Add function to generate saner html file names for langref.

14 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Dave Brolley [Thu, 17 Dec 2009 21:59:26 +0000 (16:59 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

14 years agoCorrect path to trusted signer's database.
Dave Brolley [Thu, 17 Dec 2009 21:58:33 +0000 (16:58 -0500)]
Correct path to trusted signer's database.

14 years agoPR 10889: Reorganize client/server man pages. Document --unprivileged.
Dave Brolley [Thu, 17 Dec 2009 21:30:02 +0000 (16:30 -0500)]
PR 10889: Reorganize client/server man pages. Document --unprivileged.

14 years agoMerge commit 'origin/master'
Tim Moore [Thu, 17 Dec 2009 16:38:24 +0000 (17:38 +0100)]
Merge commit 'origin/master'

14 years agosupport for a brief backtrace format
Tim Moore [Thu, 17 Dec 2009 15:18:34 +0000 (16:18 +0100)]
support for a brief backtrace format

This only prints symbol+offset, or an address if the symbol isn't
known.

* runtime/runtime.h (SYM_VERBOSE_NO, SYM_VERBOSE_FULL,
  SYM_VERBOSE_BRIEF): new constants
* runtime/stack.c (_stp_stack_print): support brief format
* runtime/sym.c (_stp_func_print): ditto
* tapset/ucontext-unwind.stp (print_ubacktrace_brief): new function
* testsuite/systemtap.context/fib.c: new test program
* testsuite/systemtap.context/fib.stp: new test
* testsuite/systemtap.context/fib.exp: new test

14 years agobacktrace through uprobes trampoline.
Tim Moore [Wed, 16 Dec 2009 17:04:34 +0000 (18:04 +0100)]
backtrace through uprobes trampoline.

Only works in uretprobes for the moment.

* runtime/stack-x86_64.c (__stp_stack_print): Rewrite trampoline PC
  addresses if necessary.
* runtime/stack-i386.c (__stp_stack_print): ditto
* runtime/stack-arm.c (__stp_stack_print): Add extra argument
* runtime/stack-ppc.c (__stp_stack_print): ditto
* runtime/stack-s390.c (__stp_stack_print): ditto
* runtime/stack.c (_stap_stack_print): call __stp_stack_print with
  uretprobe_instance.
* testsuite/systemtap.context/uprobe_backtrace.stp: new test

14 years agoPR 11097 fixed by correcting MAXNESTING test.
David Smith [Wed, 16 Dec 2009 18:05:55 +0000 (12:05 -0600)]
PR 11097 fixed by correcting MAXNESTING test.

* translate.cxx (emit_function): Fixed MAXNESTING test to not allow too
  deep recursion.

14 years agofunction to translate from the uretprobe trampoline back to the original
Tim Moore [Wed, 16 Dec 2009 17:00:34 +0000 (18:00 +0100)]
function to translate from the uretprobe trampoline back to the original
return address

* runtime/uprobes2/uprobes.c (uprobe_get_pc): new function

14 years agoset the IP in return probes to the returned-to instruction
Tim Moore [Wed, 16 Dec 2009 11:00:55 +0000 (12:00 +0100)]
set the IP in return probes to the returned-to instruction

It's easily available in kretprobes and uretprobes and is consistent
with the rest of the program state.

* translate.cxx (emit_common_header) : add uretprobe_instance to context.
* tapsets.cxx (common_probe_entryfn_prologue): Initialize ri in
  context to 0.
  (dwarf_derived_probe_group::emit_module_decls): Change IP to return
  address in kretprobes.
  (uprobe_derived_probe_group::emit_module_decls): enter_uretprobe_probe:
  set ri (uretprobe_instance) in context. Change IP to return
  address in uretprobes. Don't emit uprobe include and #define
* runtime/runtime.h : Add includes and #define for uprobes.
* runtime/stack.c (_stp_stack_print, _stp_stack_snprint): Add extra
  argument for uretprobe_instance.
* tapset/context-unwind.stp (print_backtrace, backtrace): Pass NULL
  for uretprobe_instance to _stp_stack_print.
* tapset/ucontext-unwind.stp (print_ubacktrace, ubacktrace): pass
  uretprobe_instance to _stp_stack_print
* testsuite/systemtap.context/uprobe_uaddr.exp : new test for uaddr in
  function probes
* testsuite/systemtap.context/uprobe_uaddr.stp : new file

14 years agoFix handling of multiple sdt uprobes with the same name.
Stan Cox [Wed, 16 Dec 2009 03:10:13 +0000 (22:10 -0500)]
Fix handling of multiple sdt uprobes with the same name.

tapsets.cxx (sdt_query::handle_query_module): Improve trace handling.
 (sdt_query::convert_location): Create new component instead of reusing old.

14 years agoRemove unused variable.
Dave Brolley [Tue, 15 Dec 2009 20:13:13 +0000 (15:13 -0500)]
Remove unused variable.

14 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Dave Brolley [Tue, 15 Dec 2009 19:34:13 +0000 (14:34 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

14 years agoFixed DEBUG_MEM debug memory tracking.
David Smith [Tue, 15 Dec 2009 19:33:15 +0000 (13:33 -0600)]
Fixed DEBUG_MEM debug memory tracking.

* runtime/alloc.c (_stp_kmalloc): Fixed compilation when DEBUG_MEM is
  defined.  Improved allocated memory tracking.
  (_stp_kzalloc): Ditto.
  (_stp_vmalloc): Ditto.
  (_stp_alloc_percpu): Ditto.
  (_stp_kmalloc_node): Ditto.

14 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Dave Brolley [Tue, 15 Dec 2009 16:13:57 +0000 (11:13 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

14 years agoDon't automatically authorize new root certificates as trusted signers.
Dave Brolley [Tue, 15 Dec 2009 16:13:13 +0000 (11:13 -0500)]
Don't automatically authorize new root certificates as trusted signers.

14 years agoDon't save build-id if it is located before _stext
Eugeniy Meshcheryakov [Tue, 15 Dec 2009 13:17:51 +0000 (14:17 +0100)]
Don't save build-id if it is located before _stext

This probably means that build-id will not be loaded at all and
happens for example with ARM kernel.

See also: http://sources.redhat.com/ml/systemtap/2009-q4/msg00574.html

14 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Dave Brolley [Mon, 14 Dec 2009 21:39:01 +0000 (16:39 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

14 years agoSuppress output from stap-gen-cert when installing the systemtap-server package.
Dave Brolley [Mon, 14 Dec 2009 21:37:53 +0000 (16:37 -0500)]
Suppress output from stap-gen-cert when installing the systemtap-server package.

14 years agoPR 10905: Initscript improvements: Automatically authorize the initscript servers...
Dave Brolley [Mon, 14 Dec 2009 21:12:56 +0000 (16:12 -0500)]
PR 10905: Initscript improvements: Automatically authorize the initscript servers as trusted servers and signers.

14 years agoClean up NSS after errors occur during verification.
Dave Brolley [Mon, 14 Dec 2009 20:40:10 +0000 (15:40 -0500)]
Clean up NSS after errors occur during verification.

14 years agoPR 10905: stap-server initscript improvements
Dave Brolley [Mon, 14 Dec 2009 18:08:45 +0000 (13:08 -0500)]
PR 10905: stap-server initscript improvements

o Handle, -B, -I, -R options
o Allow specification of servers by pid
o Allow specification of servers by nickname.
o Advertise options used using avahi.

14 years agoDo not use condition_codes() on arm
Eugeniy Meshcheryakov [Fri, 11 Dec 2009 23:56:36 +0000 (00:56 +0100)]
Do not use condition_codes() on arm

It does not exist in recent kernels.

Use regs->ARM_cpsr instead, this should work with all versions
of linux found in git repo (versions >=2.6.12-rc2). Difference
between condition_codes() and regs->ARM_cpsr should not matter
for systemtap.

14 years agoUse env(SYSTEMTAP_TESTAPPS) for all systemtap.apps
Stan Cox [Fri, 11 Dec 2009 21:59:55 +0000 (16:59 -0500)]
Use env(SYSTEMTAP_TESTAPPS) for all systemtap.apps

mysql.exp: Use env(SYSTEMTAP_TESTAPPS).
 (mysqlrelease): Update and check for download failure.
postgres.exp: Use env(SYSTEMTAP_TESTAPPS).
stap-tcl.stp: Use .library("library").mark("mark").
tcl.exp: Likewise.

14 years agoruntime build: fix alloc.c buildability on old gcc 3.4
Frank Ch. Eigler [Fri, 11 Dec 2009 17:18:31 +0000 (12:18 -0500)]
runtime build: fix alloc.c buildability on old gcc 3.4

* runtime/alloc.c (_stp_kmalloc): Move var decl back to top.

14 years agographer: implement restarting a stap process
Tim Moore [Fri, 11 Dec 2009 13:03:47 +0000 (14:03 +0100)]
grapher: implement restarting a stap process

* grapher/StapParser.cxx (StapParser::disconnect): new function
* grapher/StapParser.hxx (StapProcess::StapProcess): initialize argv to 0
* grapher/grapher.cxx (StapLauncher::setArgs): Set argv to 0
  (StapLauncher launch, launchUsingParser): Refactor launch(),
  extracting function a that (re)launches a stap process using an
  existing parser.
  (StapLauncher::onChildDied): call disconnect() on dead parser.
  (GrapherWindow::_graphicalLauncher, setGraphicalLauncher): delete
  member, replacing with...
  (graphicalLauncher): new variable
  (ProcModelColumns): Store parser object in the list model instead of
  just a StapProcess object.
  (ProcWindow::onRestart): new function
  (ProcWindow::refresh): Preserve the list selection when the process
  list is refreshed.
  (ProcWindow::onSelectionChanged): Manage the restart button's state.

14 years agoruntime: undefine DEBUG_MEM, retain alloc counting
Frank Ch. Eigler [Thu, 10 Dec 2009 22:52:56 +0000 (17:52 -0500)]
runtime: undefine DEBUG_MEM, retain alloc counting

DEBUG_MEM can & does evoke locking timeouts.

* runtime/alloc.c (*): Track __stp_allocated_memory regardless
  of DEBUG_MEM.

14 years agoruntime: print stp_alloc statistics in startup printk
Frank Ch. Eigler [Thu, 10 Dec 2009 22:01:10 +0000 (17:01 -0500)]
runtime: print stp_alloc statistics in startup printk

* runtime/alloc.c: Define DEBUG_MEM.
* runtime/print.c (_stp_print_kernel_info): Reformat/rescale mem values.

14 years agoMerge commit 'origin/master'
Tim Moore [Thu, 10 Dec 2009 20:36:43 +0000 (21:36 +0100)]
Merge commit 'origin/master'

14 years agographer: integrate graph events from stdin with the stap process framework.
Tim Moore [Thu, 10 Dec 2009 20:34:27 +0000 (21:34 +0100)]
grapher: integrate graph events from stdin with the stap process framework.

This was the original way to do graphing and had bitrotted some.

* grapher/StapParser.cxx (initIO): new catchHUP argument
  (ioCallback): Only disconnect signals, etc. on IN_HUP if catchHUP is
  true.
  (errIoCallback): Write error messages to stderr, not stdout.
* grapher/grapher.cxx (StapLauncher::launch): Don't catchHUP on our
  stap process children.
  (ProcWindow::refresh): Display something reasonable for the stap
  "process" that is feeding stdin.
  (main): Use StapParser::initIO to initialize parser reading from
  stdin.

14 years agographer: more implementation stap process window
Tim Moore [Thu, 10 Dec 2009 14:11:08 +0000 (15:11 +0100)]
grapher: more implementation stap process window

The process arguments are displayed, and the "kill" button is
insensitive when  a process is dead or nothing is selected.

* grapher/grapher.cxx (ProcWindow _killButton, _restartButton,
  _stapArgsLabel, _scriptArgsLabel): new members
  (ProcWindow::ProcWindow): hook 'em up
  (ProcWindow::onSelectionChanged): Enable / disable kill button and
  display process arguments.
* grapher/processwindow.glade: Replace bizzare handle window with a
  horizontal pane. Tweak various widget sizes.

14 years agographer: change SIGCHLD handling and exit cleanup
Tim Moore [Thu, 10 Dec 2009 12:13:30 +0000 (13:13 +0100)]
grapher: change SIGCHLD handling and exit cleanup

The signal handler now calls waitpid() and writes the pid and status
to its pipe.

* grapher.cxx (ChildInfo): new class
  (handleChild): wait for zombies and write their status down the
  pipe.
  (ChildDeathReader::ioCallback): Read dead child's pid from signal
  handler pipe and emit signal.
  (ChildDeathReader::reap): delete
  (ChildDeathReader::Callback): delete
  (StapLauncher::StapLauncher): Connect to childDied signal.
  (StapLauncher setWinParams, reap, cleanUp): delete
  (onChildDied): new function that updates the parsers list when a
  child dies.
  (GrapherWindow): Remove ChildDeathReader::Callback base class
  (GrapherWindow::onParserListChanged): New function; exits if program
  is quitting and no parsers are left.
  (on_menu_file_quit): Kill all children; don't hide (and exit) unless
  there are no parsers.
  (main): Don't do any cleanup after Gtk loop exits.

14 years agoBegin to parameterize loc2c for proper DWARF target address size.
Roland McGrath [Thu, 10 Dec 2009 01:30:52 +0000 (17:30 -0800)]
Begin to parameterize loc2c for proper DWARF target address size.

* loc2c.c (stack_slot_type): New function.
(translate): Use it in place of STACK_TYPE and UTYPE macros.
(emit_loc_address, emit_loc_value, c_emit_location): Likewise.

14 years agoFix regression in statistic operations
Anton Vorontsov [Fri, 4 Dec 2009 04:37:56 +0000 (07:37 +0300)]
Fix regression in statistic operations

In commit 98c783852039061db8c1611742660aaded0eab77 ("Use proper types
for do_div") I imprudently changed some variables to an unsigned type
while in some places the code actually relies on a sign.

So, let's be a bit smarter now and use temporary variables.

Reported-by: Wenji Huang <wenji.huang@oracle.com>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
14 years agoshow the status of stap processes in the process window
Tim Moore [Wed, 9 Dec 2009 21:09:39 +0000 (22:09 +0100)]
show the status of stap processes in the process window

Also, the "kill" button now works.

* grapher/StapParser.hxx (_ioConnection, _errIoConnection): new
  members for sigc connections.
  (initIo): New function
  (parsers, parserListChangedSignal): new variables
* grapher/StapParser.cxx (ioCallback): disconnect signals when child
  dies
  (initIo): new function
* grapher/grapher.cxx (StapLauncher): eliminate death callback in
  favor of childDied signal. Use global parsers list
  (ProcWindow::_listSelection): new member
  (ProcWindow::show, hide, onParserListChanged, onSelectionChanged,
  onKill): new functions
  (ProcWindow::ProcWindow): Set up cell renderer for status icon
* grapher/processwindow.glade: labels for display script and stap arguments

14 years agoPR 10848 partial fix by using systemtap memory functions everywhere.
David Smith [Wed, 9 Dec 2009 16:38:15 +0000 (10:38 -0600)]
PR 10848 partial fix by using systemtap memory functions everywhere.

* runtime/addr-map.c (add_bad_addr_entry): Uses systemtap memory
  allocation/deallocation wrappers.
* runtime/itrace.c (create_itrace_info): Ditto.
  (remove_usr_itrace_info): Ditto.

14 years agoHandle .probes section big endian 32 bit case.
Stan Cox [Wed, 9 Dec 2009 15:57:36 +0000 (10:57 -0500)]
Handle .probes section big endian 32 bit case.

sdt.h (STAP_PROBE_ADDR): Add 32 bit big endian case.
 (STAP_PROBE_DATA_): Use .balign
tapsets.cxx (sdt_query::get_next_probe): Stop if there is no probe name.

14 years agoMerge commit 'origin/master'
Tim Moore [Tue, 8 Dec 2009 22:34:25 +0000 (23:34 +0100)]
Merge commit 'origin/master'

14 years agographer: start of a dialog for displaying active stap processes
Tim Moore [Tue, 8 Dec 2009 22:17:47 +0000 (23:17 +0100)]
grapher: start of a dialog for displaying active stap processes

The names of active scripts are displayed in a list; mock buttons
suggest being able to stop and restart them.

* grapher/processwindow.glade: new file
* grapher/Makefile.am: add processwindow.glade to installed files
* grapher/StapParser.hxx (StapProcess): new class
  (StapParser): factor out members that are now in StapProcess
  (ioCallback): Use the new childDied signal instead of aborting the
   whole grapher when a child dies.
* grapher/grapher.cxx (ProcModelColumns, ProcWindow): classes for
  displaying stap process window.
  (GrapherWindow::on_menu_proc_window): new function

14 years agorefactor list of data sets out of GraphWidget into a global data structure.
Tim Moore [Tue, 8 Dec 2009 11:44:03 +0000 (12:44 +0100)]
refactor list of data sets out of GraphWidget into a global data structure.

Also, add a sigc signal for broadcasting data set changes.

* grapher/GraphData.hxx (GraphDataList) new typedef
  (getGraphData, graphDataSignal): new functions
* grapher/Graph.hxx (DatasetList): remove typedef in favor of
  systemtap::GraphDataList
* grapher/GraphWidget.cxx (GraphWidget, onGraphDataChanged): Use
  graphDataSignal to notice new data sets that need to be added. Use
  the global data set list instead of one embedded in GraphWidget.
* grapher/StapParser.hxx: delete the _widget member; use signals to
  broadcast that there are new data sets instead of calling into the widget.

14 years agoAdd .library("lib").mark("mark") and use it for .mark semaphores.
Stan Cox [Tue, 8 Dec 2009 16:57:00 +0000 (11:57 -0500)]
Add .library("lib").mark("mark") and use it for .mark semaphores.

tapset-utrace.cxx (TOK_LIBRARY): New.
 (utrace_derived_probe::utrace_derived_probe): Add library and has_library.
 (utrace_builder::build): Handle library.
 (utrace_derived_probe_group::emit_probe_decl): Add sdt_sem_offset to
  emitted stap_utrace_probes.  Add stap_task_finder_target
  mmap_callback for handling shared library.  Handle sdt_sem_offset in
  emitted_stp_utrace_probe_cb.  Add stap_utrace_mmap_found.
 (register_tapset_utrace): Handle .library
tapset-utrace.cxx (TOK_LIBRARY): New.
 (base_query::base_query):  Add path and has_library.
 (dwarf_derived_probe::dwarf_derived_probe) Likewise.
 (dwarf_derived_probe::register_patterns):  Handle .library
 (sdt_query::convert_location): Likewise.
 (dwarf_builder::build):  Likewise.
 (uprobe_derived_probe_group::emit_module_decls): Emit
  sdt_sem_address.  Add sdt_sem_offset to emitted stap_uprobe_spec.
  Add offset and vm_flags to signature of stap_uprobe_change_plus, and
  handle sdt_sem_offset.  Allow writeable segments in emitted
  stap_uprobe_mmap_found.
sdt_misc.exp:  Test .library
util.cxx (find_executable):  Add env_path to sig and use it in getenv.
util.h (find_executable): Likewise.  Make "PATH" the default.
dtrace.in (provider): Turn on semaphores.
sdt.h: Likewise.

14 years agoPR 10905 Ground Work: Save server status as PID files with the server config as contents.
Dave Brolley [Tue, 8 Dec 2009 16:51:45 +0000 (11:51 -0500)]
PR 10905 Ground Work: Save server status as PID files with the server config as contents.

14 years agoRevert "PR 10641 fixed by checking module name in unprivileged mode."
David Smith [Tue, 8 Dec 2009 16:40:27 +0000 (10:40 -0600)]
Revert "PR 10641 fixed by checking module name in unprivileged mode."

This reverts commit b2ea60606801aa9bf243f22318ac4bd8a25094fe.
* main.cxx (checkOptions): Remove unprivileged mode module name check.
* testsuite/parseko/cmdline05.stp: Delete unneeded testcase.
* testsuite/parseok/cmdline03.stp: Ditto.

14 years agoAdd dtrace -I support.
Mark Wielaard [Tue, 8 Dec 2009 02:23:20 +0000 (03:23 +0100)]
Add dtrace -I support.

dtrace -I is used to pass through include paths to cpp when run.
Thanks to David Malcolm <dmalcolm@redhat.com> for python coding and testing.

* dtrace.in: Add -I support.
* testsuite/systemtap.base/dtrace.exp: Add testcases for -C -I and -G -I.

14 years agotiny refactoring of signal and pipe code
Tim Moore [Tue, 8 Dec 2009 10:06:04 +0000 (11:06 +0100)]
tiny refactoring of signal and pipe code

14 years agoPR 10641 fixed by checking module name in unprivileged mode.
David Smith [Mon, 7 Dec 2009 21:17:58 +0000 (15:17 -0600)]
PR 10641 fixed by checking module name in unprivileged mode.

* main.cxx (checkOptions): If in unprivileged mode, make sure module name
  starts with 'stap_'.
* testsuite/parseko/cmdline05.stp: New testcase.
* testsuite/parseok/cmdline03.stp: New testcase.

14 years agoSmall compile server shutdown fix.
David Smith [Mon, 7 Dec 2009 21:12:46 +0000 (15:12 -0600)]
Small compile server shutdown fix.

* testsuite/lib/systemtap.exp (shutdown_server): Only remove the temporary
  stap script if it exists.

14 years agoadd copyright and license to grapher files
Tim Moore [Mon, 7 Dec 2009 18:19:45 +0000 (19:19 +0100)]
add copyright and license to grapher files

14 years agomake the list items in the data set list unselectable
Tim Moore [Mon, 7 Dec 2009 17:51:55 +0000 (18:51 +0100)]
make the list items in the data set list unselectable

The checkbox selects the list, so it is just sloppy to allow the item
to be selected.

* grapher/GraphWidget.hxx (no_select_fun): New function; just returns
  false.
* grapher/GraphWidget.cxx (GraphWidget): Connect list store selection
  to function that prevents selection.

14 years agoChange data set list display to use a check box for inclusion in a graph
Tim Moore [Mon, 7 Dec 2009 15:50:44 +0000 (16:50 +0100)]
Change data set list display to use a check box for inclusion in a graph

Incidently, this supports removing a data set from a graph.

Also, remove the Add, Remove, and Cancel buttons from the data set dialog.

* grapher/GraphWidget.hxx (DataModelColumns::_dataEnabled): new member
  _listConnection: new member
* grapher/GraphWidget.cxx (GraphWidget): Delete connections for
  removed buttons. Connect to dialog show and hide signals instead of
  map. Add "Enabled" column to dialog list.
  (onDataAdd, onDataRemove): delete
  (onDataDialogOpen): Initialize list store with all data sets and
  hook up row_changed signal
  (onDataDialogClose, onRowChanged): new functions
* grapher/graph-dialog.glade: Remove obsolete buttons (Add, Remove, Cancel).

14 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Tim Moore [Mon, 7 Dec 2009 11:47:32 +0000 (12:47 +0100)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

14 years agooption to display graph times relative to the start time
Tim Moore [Mon, 7 Dec 2009 11:43:56 +0000 (12:43 +0100)]
option to display graph times relative to the start time

This avoids having humongous numbers displayed on the graphs' x
axis. Also, the dialog for adding a data set to a graph was cleaned
up.

* grapher/graph-dialog.glade: Add check box for display of relative
  time and a label for the data set list. Force the list of data sets
  to be larger.
* grapher/Graph.hxx (_timeBase): new member
* grapher/Graph.cxx (draw): Subtract _timeBase from displayed time
  value.
* grapher/GraphWidget.hxx (DataModelColumns): Add a column for a data
  set's title, which is optional at the moment.
* grapher/GraphWidget.hxx (_globalTimeBase, _timeBaseInitialized,
  _relativeTimesButton, _displayRelativeTimes): new members
* grapher/GraphWidget.hxx (GraphWidget): Hook up check button for
  displaying relative time.
  (on_expose_event): Determine base time if needed; set base time in
  graphs.
  (onDataDialogOpen): Insert graph data set's name (key) and title
  into the list of data sets.

14 years agoAdd a missing cairo context restore()
Tim Moore [Mon, 7 Dec 2009 11:23:27 +0000 (12:23 +0100)]
Add a missing cairo context restore()

It's not clear if this was causing any ill effects, but it is
certainly bad form.

* grapher/GraphWidget.cxx (on_expose_event): add missing cr->restore().

14 years agoFix regression introduced by commit 379c585
Wenji Huang [Mon, 7 Dec 2009 08:47:32 +0000 (16:47 +0800)]
Fix regression introduced by commit 379c585

14 years agoAdd new graph output to the last graph
Tim Moore [Fri, 4 Dec 2009 18:30:08 +0000 (19:30 +0100)]
Add new graph output to the last graph

14 years agorestore event square color
Tim Moore [Fri, 4 Dec 2009 16:31:55 +0000 (17:31 +0100)]
restore event square color

* grapher/GraphStyle.cxx (GraphStyleEvent::draw): set event color in
  inner loop.

14 years agohover text on the additional graphs
Tim Moore [Fri, 4 Dec 2009 16:12:06 +0000 (17:12 +0100)]
hover text on the additional graphs

* grapher/Graph.cxx (window2GraphCoords): Take the entire graph's
  position into account too.
* grapher/GraphWidget.cxx (GraphWidget): Hook up the data dialog's OK
  button.
  (onDataDialogOpen): If a data set doesn't have a title, use it's
  name (key) instead.

14 years agotweak multiline hover text to have proper interline spacing
Tim Moore [Fri, 4 Dec 2009 13:11:25 +0000 (14:11 +0100)]
tweak multiline hover text to have proper interline spacing

* grapher/CairoWidget.cxx (CairoTextBox::draw): Use font information
  to caculate legible spacing. Also change the font to something more
  readable.
* testsuite/systemtap.examples/general/grapher.stp: Put carriage
  returns in the right spots.

14 years agosupport multiline data output from scripts run under the grapher
Tim Moore [Fri, 4 Dec 2009 12:08:01 +0000 (13:08 +0100)]
support multiline data output from scripts run under the grapher

This is accompanied by support for multiline output in hover text.

* grapher/StapParser.cxx (ioCallback): Read data 'til the end of line
  character, not just '\n'. Be careful to use I/O functions that don't
  treat '\n' specially.
* grapher/StapParser.hxx: ditto
* grapher/CairoWidget.cxx (CairoTextBox::draw): Perform line breaks
  for hover text.
* testsuite/systemtap.examples/general/grapher.stp: Do multiline
  output of keyboard events. Also, fix longstanding breaking in the
  pty probe.

14 years agoMerge commit 'origin/master'
Tim Moore [Thu, 3 Dec 2009 22:48:34 +0000 (23:48 +0100)]
Merge commit 'origin/master'

14 years agoError check in hover text code for empty graphs
Tim Moore [Thu, 3 Dec 2009 22:45:51 +0000 (23:45 +0100)]
Error check in hover text code for empty graphs

* grapher/GraphStyle.cxx(GraphStyleEvent::dataIndexAtPoint,
  GraphStyleBar::dataIndexAtPoint): check for empty graph data

14 years agoPR11020: Check switch_file global flag inside inner loop for busy scripts
Masami Hiramatsu [Thu, 3 Dec 2009 20:35:34 +0000 (15:35 -0500)]
PR11020: Check switch_file global flag inside inner loop for busy scripts

* runtime/staprun/relay.c (reader_thread): Check switch_file thread flags
  inside inner read-write loop. And clear the flags after switching file.

14 years agoHover text for event-style graphs
Tim Moore [Thu, 3 Dec 2009 18:31:08 +0000 (19:31 +0100)]
Hover text for event-style graphs

Don't draw the data value for an event; only display it in hover text.

* grapher/Graph.hxx (window2GraphCoords): new function
* grapher/Graph.cxx (window2GraphCoords): ditto
* grapher/GraphStyle.cxx (GraphStyleEvent::dataIndexAtPoint): new
  function implementation.

14 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Dave Brolley [Wed, 2 Dec 2009 21:41:11 +0000 (16:41 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

14 years agoNo need to pass -c option to the server.
Dave Brolley [Wed, 2 Dec 2009 21:40:13 +0000 (16:40 -0500)]
No need to pass -c option to the server.

14 years agoFix PR 11034 by directly allocating per-cpu context data.
David Smith [Wed, 2 Dec 2009 21:16:10 +0000 (15:16 -0600)]
Fix PR 11034 by directly allocating per-cpu context data.
* translate.cxx (emit_common_header): Change type of 'contexts' to an
  array of struct context pointers.
  (emit_module_init): Allocate a context structure for each possible cpu.
  Free each if an error occurs.
  (emit_module_exit): Update contexts reference.  Free each possible cpu's
  context structure.
* tapsets.cxx (common_probe_entryfn_prologue): Use array instead of percpu
  data for context structure.

14 years agoMake the hover text conform to data displayed.
Tim Moore [Wed, 2 Dec 2009 18:27:07 +0000 (19:27 +0100)]
Make the hover text conform to data displayed.

Start of code to be more selective about the association between the
hover text and the underling graph. Also, show the data set name in hover text.

* grapher/GraphStyle.hxx (dataIndexAtPoint): New virtual function.
* grapher/GraphStyle.cxx (dataIndexAtPoint): Implementation for bar graphs
* grapher/GraphWidget.cxx (onHoverTimeout): Use dataIndexAtPoint.

14 years agoRefactor drawing of different styles of graph into classes
Tim Moore [Tue, 1 Dec 2009 18:05:09 +0000 (19:05 +0100)]
Refactor drawing of different styles of graph into classes

* grapher/GraphStyle.cxx: New file
* grapher/GraphStyle.hxx: New file
* grapher/Graph(draw): Move much drawing code to GraphStyle::draw

14 years agoAccount for zoom factor when choosing hover text
Tim Moore [Tue, 1 Dec 2009 12:34:12 +0000 (13:34 +0100)]
Account for zoom factor when choosing hover text

* grapher/Graph.cxx (getTimeAtPoint): Divide by _zoomFactor too.

14 years agoMake tapset and tests compatible with old kernel
Wenji Huang [Wed, 2 Dec 2009 09:45:20 +0000 (17:45 +0800)]
Make tapset and tests compatible with old kernel

* tapset/ioscheduler.stp : Make probe optional.
* tapset/irq.stp : Ditto.
* tapset/scheduler.stp : Ditto.
* tapset/tcpmib.stp : Ditto.
* tapset/linuxmib.stp : Switch variable by version.
* tapset/tty.stp : Ditto.
* testsuite/buildok/irq.stp : Make probe test optional.
* testsuite/buildok/tty.stp : Ditto.
* testsuite/systemtap.examples/network/netdev.stp : Ditto.
* testsuite/buildok/tcpmib-all-probes.stp : Add embedded functions.

14 years agominor correction
Don Domingo [Wed, 2 Dec 2009 03:47:15 +0000 (13:47 +1000)]
minor correction

14 years agocorrecting license, forgot to change back yesterday while testing default Publican...
Don Domingo [Wed, 2 Dec 2009 00:48:48 +0000 (10:48 +1000)]
correcting license, forgot to change back yesterday while testing default Publican 1 license

14 years agoRegenerate autotools files using autoreconf to pick up latest Makefile.am changes.
Dave Brolley [Tue, 1 Dec 2009 21:43:53 +0000 (16:43 -0500)]
Regenerate autotools files using autoreconf to pick up latest Makefile.am changes.

14 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Dave Brolley [Tue, 1 Dec 2009 20:14:02 +0000 (15:14 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

14 years agoMake sure system types are defined.
Dave Brolley [Tue, 1 Dec 2009 20:10:06 +0000 (15:10 -0500)]
Make sure system types are defined.

14 years agouprobes ppc64: UPROBES_DEBUG build fix
Frank Ch. Eigler [Mon, 30 Nov 2009 21:29:29 +0000 (16:29 -0500)]
uprobes ppc64: UPROBES_DEBUG build fix

* runtime/uprobes/uprobes_ppc.c (calc_offset): Fix printk types.

14 years agoUse proper types for do_div
Anton Vorontsov [Fri, 27 Nov 2009 22:33:47 +0000 (01:33 +0300)]
Use proper types for do_div

do_div accepts unsigned 64-bit integer type for dividend, signed types
would cause do_div's typecheck fail:

stat-common.c: In function 'needed_space':
stat-common.c:50: error: comparison of distinct pointer types lacks a cast
...same errors in time.c and tapset-timers.cxx's generated code...

A fix for time.c is special, on ppc32 cycles_t is 32-bit, so technically
we don't need do_div, but since the whole _stp_gettimeofday_ns() operates
on 64-bit types we'd better be safe and use uint64_t for the math.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
14 years agoChange KERNEL_RELOC_SYMBOL to "_stext" on ppc32
Anton Vorontsov [Fri, 27 Nov 2009 22:33:51 +0000 (01:33 +0300)]
Change KERNEL_RELOC_SYMBOL to "_stext" on ppc32

Currently staprun fails at send_relocation_kernel(), this is because
ppc32 doesn't have ".__start" symbol. I think we should use _stext,
just as other arches.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
14 years agoImplement _div64 and _mod64 for ppc32
Anton Vorontsov [Fri, 27 Nov 2009 22:33:49 +0000 (01:33 +0300)]
Implement _div64 and _mod64 for ppc32

_div64 and _mod64 arch-specific details were taken from gcc/longlong.h,
just as it was done for i386.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
14 years agoShare ppc64 and ppc32 code where possible
Anton Vorontsov [Fri, 27 Nov 2009 22:33:45 +0000 (01:33 +0300)]
Share ppc64 and ppc32 code where possible

* runtime/copy.c: Can use ppc64's code.
* runtime/regs.h: Ditto.
* runtime/string.h: Ditto.
* tapset/context.stp: Ditto.
* tapset/errno.stp: Ditto.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
14 years agoImplement ppc32 variant of __is_user_regs
Anton Vorontsov [Fri, 27 Nov 2009 22:33:44 +0000 (01:33 +0300)]
Implement ppc32 variant of __is_user_regs

* tapset/nd_syscalls.stp: Implement ppc32 variant of __is_user_regs.
* tapset/syscalls.stp: Ditto.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
This page took 0.067519 seconds and 5 git commands to generate.