]> sourceware.org Git - systemtap.git/log
systemtap.git
14 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.

14 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.

14 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.

14 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.

14 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.

14 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.

14 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.

14 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.

14 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().

14 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.

14 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.

14 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.

14 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.

14 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.

14 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".

14 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.

14 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.

14 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.

14 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.

14 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.

14 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.

14 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

14 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

14 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).

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

14 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.

14 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.

14 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.

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

14 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.

14 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

14 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.

14 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

14 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

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

14 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

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

14 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.

14 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.

14 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.

14 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.

14 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.

14 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.

14 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.

14 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.

14 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.

14 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

14 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.

14 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

14 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.

14 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.

14 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.

14 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 */

14 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.

14 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".

14 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.

14 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.

14 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.

14 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.

14 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.

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

14 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.

14 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

14 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.

14 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

14 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.

14 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.

14 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.

14 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

14 years agoRemove temporaries in netdev.change_mac
Josh Stone [Thu, 17 Sep 2009 21:42:04 +0000 (14:42 -0700)]
Remove temporaries in netdev.change_mac

As reported by dsmith, reusing temporary locals will prevent our
limited optimizer from eliminating code.  I'm getting rid of these
particular locals altogether.

* tapset/networking.stp (netdev.change_mac): Don't write mac
  intermediates into locals; just pass them directly to sprintf.

14 years agoSupport DW_OP_implicit_value.
Roland McGrath [Thu, 17 Sep 2009 21:36:48 +0000 (14:36 -0700)]
Support DW_OP_implicit_value.

* loc2c.c (struct location): Add loc_constant variant,
with constant_block field.
(translate): Handle DW_OP_implicit_value to make loc_constant pieces.
(c_translate_location): Handle loc_constant.
(discontiguify): Likewise.
(location_relative): Likewise.
(declare_noncontig_union): Likewise.
(translate_base_fetch): Likewise.
(c_translate_array): Likewise.
(c_emit_location): Likewise.
(emit_base_store): Refuse loc_constant.
(c_translate_addressof): Likewise.

14 years agoAdd task_backtrace systemtap function.
William Cohen [Thu, 17 Sep 2009 21:33:47 +0000 (17:33 -0400)]
Add task_backtrace systemtap function.

14 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Roland McGrath [Thu, 17 Sep 2009 20:26:09 +0000 (13:26 -0700)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

Conflicts:
loc2c.c

14 years agoMerge DW_OP_stack_value support.
Roland McGrath [Thu, 17 Sep 2009 20:21:12 +0000 (13:21 -0700)]
Merge DW_OP_stack_value support.

* loc2c.c (translate): Fix sense of _ELFUTILS_PREREQ test and clean up stub
for DW_OP_implicit_value case, still not really implemented.

14 years agoDon't invert the _ELFUTILS_PREREQ(0,143) test...
Mark Wielaard [Thu, 17 Sep 2009 20:19:16 +0000 (22:19 +0200)]
Don't invert the _ELFUTILS_PREREQ(0,143) test...

14 years agoUnfinished nits in loc_value code.
Roland McGrath [Thu, 17 Sep 2009 20:13:29 +0000 (13:13 -0700)]
Unfinished nits in loc_value code.

14 years agodwarf_getlocation_implicit_value() was/will be introduced in elfutils 0.143.
Mark Wielaard [Thu, 17 Sep 2009 20:01:04 +0000 (22:01 +0200)]
dwarf_getlocation_implicit_value() was/will be introduced in elfutils 0.143.

* loc2c.c (translate): _ELFUTILS_PREREQ(0,143).
  Clarify attr == NULL DIE message.

14 years agoAdd a testcase for PR10417 support for DW_OP_{stack|implicit}_value.
Mark Wielaard [Thu, 17 Sep 2009 14:59:28 +0000 (16:59 +0200)]
Add a testcase for PR10417 support for DW_OP_{stack|implicit}_value.

Currently XFAILS when gcc-vta detected, otherwise UNTESTED.

* testsuite/systemtap.base/vta-test.exp: New test harness.
* testsuite/systemtap.base/vta-test.c: New test program.
* testsuite/systemtap.base/vta-test.stp: New test script.

14 years agoPR10417 Pass around attributes for supporting DW_OP_{implicit,stack}_value.
Mark Wielaard [Thu, 17 Sep 2009 13:06:57 +0000 (15:06 +0200)]
PR10417 Pass around attributes for supporting DW_OP_{implicit,stack}_value.

Preparation for retrieving the Dwarf_Block that holds the value of an
DW_OP_implicit_value. We need the Dwarf_Attribute that is associated with
the location expression operants. Depends on new elfutils 0.143
functionality. Recognizes, but does not yet handle the new operants
DW_OP_{implicit,stack}_value.

* loc2c.h (c_translate_location): Take an Dwarf_Attribute.
* loc2c.c (c_translate_location): Likewise and pass it on.
  (location_relative): Likewise.
  (location_from_address): Likewise.
  (translate): Likewise and capture Dwarf_Block.
* loc2c-test.c (handle_variable): Pass in Dwarf_Attribute.
* dwflpp.cxx (translate_location): Likewise.
  (literal_stmt_for_return): Pass in NULL to indicate no attribute.

14 years agoRegenerate examples index.
Mark Wielaard [Thu, 17 Sep 2009 13:44:52 +0000 (15:44 +0200)]
Regenerate examples index.

14 years agoMark badname example as needing guru mode in meta file so it doesn't FAIL.
Mark Wielaard [Thu, 17 Sep 2009 13:30:56 +0000 (15:30 +0200)]
Mark badname example as needing guru mode in meta file so it doesn't FAIL.

14 years agoPR10595 Work around uprobe2 causing selinux failures for kernel 2.6.28+.
Mark Wielaard [Thu, 17 Sep 2009 10:20:07 +0000 (12:20 +0200)]
PR10595 Work around uprobe2 causing selinux failures for kernel 2.6.28+.

We allocate a "fake" unlinked shmem file because anonymous
memory might not be granted execute permission when the selinux
security hooks have their way. Only do this for 2.6.28 or higher
since shmem_file_setup() isn't exported before that.

* runtime/uprobes2/uprobes.c (uprobe_setup_ssol_vma): Use shmem_file_setup
  to setup the ssol vma area when using 2.6.28+.

14 years agoDon't print pid in flightrec5.exp test.
Mark Wielaard [Thu, 17 Sep 2009 09:01:24 +0000 (11:01 +0200)]
Don't print pid in flightrec5.exp test.

14 years agoFix compilation error of dwflpp.cxx on gcc 4.1
Wenji Huang [Thu, 17 Sep 2009 06:25:28 +0000 (14:25 +0800)]
Fix compilation error of dwflpp.cxx on gcc 4.1

* dwflpp.cxx(translate_location): Separate setting value from
  declaration and add missing parameter.

14 years agoMerge branch 'function_scopes'
Josh Stone [Thu, 17 Sep 2009 02:57:10 +0000 (19:57 -0700)]
Merge branch 'function_scopes'

14 years agoPR10461: Match C++ scopes for namespaces and classes
Josh Stone [Thu, 17 Sep 2009 02:38:20 +0000 (19:38 -0700)]
PR10461: Match C++ scopes for namespaces and classes

The function spec for dwarf probes now supports scopes, so you can limit
the probes to specific namespaces or classes.  Multiple scopes can be
specified, and they will be matched progressively outward.

    probe process("foo").function("std::vector<*>::*") { ... }
    probe process("foo").function("::global_function") { ... }

* dwflpp.cxx (dwflpp::get_parent_scope): New, finds the containing
  scopes of the specified DIE.
  (dwflpp::function_scope_matches): New, checks that the scopes
  containing the function all match the given scope patterns.
* tapsets.cxx (dwarf_query::parse_function_spec): Rewrite, now handles
  multiple scope separators too.
  (query_dwarf_func): Check that the functions scopes match.

14 years agoPR10650: markup some unprivileged-safe tapset functions
Frank Ch. Eigler [Thu, 17 Sep 2009 02:32:28 +0000 (22:32 -0400)]
PR10650: markup some unprivileged-safe tapset functions

Add /* unprivileged */ to a variety of tapset embedded-c functions,
together with uid-assertion-checking code as needed.  This is only
an initial set, and may need to grow or shrink after further testing.

Prototyped-By: Dave Brolley <brolley@redhat.com>
* runtime/runtime.h (is_myproc, assert_is_myproc): New macros.
* runtime/addr-map.c (lookup_bad_addr): Reject if !is_myproc
  in unprivileged mode.
* runtime/print.c (_stp_print_kernel_info): Add unprivileged
  mode info.
* tapset/DEVGUIDE: Document /* pure */ and /* unprivileged */.
* tapset/*.stp: Add /* unprivileged */ here and there, in
  questionable cases along with an assert_is_myproc().

14 years ago* sdt.h (STAP_SEMAPHORE): New. Add guard to utrace probe points.
Stan Cox [Thu, 17 Sep 2009 01:05:00 +0000 (21:05 -0400)]
* sdt.h (STAP_SEMAPHORE): New.  Add guard to utrace probe points.
* itrace.h (__access_process_vm): Moved from here...
* runtime/access_process_vm.h: New.  ...to here.
* translate.cxx (translate_pass): Include access_process_vm.h
* session.h (sdt_semaphore_addr): New.
* tapsets.cxx (sdt_query::record_semaphore): New.  Record sdt_semaphore_addr.
(uprobe_derived_probe_group::emit_module_decls): Allow for uprobe guard variable to be set and unset.
(uprobe_derived_probe_group::emit_module_decls): Likewise.
(uprobe_derived_probe_group::emit_module_exit): Likewise.
* tapset-utrace.cxx (utrace_derived_probe_group::emit_probe_decl): Likewise.
(utrace_derived_probe_group::emit_module_decls): Likewise.
(utrace_derived_probe_group::emit_module_exit): Likewise.

14 years agoRemove the unused function_name_final_match
Josh Stone [Thu, 17 Sep 2009 00:38:53 +0000 (17:38 -0700)]
Remove the unused function_name_final_match

* dwflpp.cxx (dwflpp::function_name_final_match): Removed.

14 years agoMerge branch 'master' of sourceware.org:/git/systemtap
Josh Stone [Wed, 16 Sep 2009 22:55:19 +0000 (15:55 -0700)]
Merge branch 'master' of sourceware.org:/git/systemtap

14 years agoAdd the badname.stp example
Josh Stone [Wed, 16 Sep 2009 22:52:17 +0000 (15:52 -0700)]
Add the badname.stp example

This is a toy script I wrote a while back to demonstrate how SystemTap
could be used to enforce filesystem naming rules.

14 years agoAdd syscall probe information to Language Reference
Robb Romans [Wed, 16 Sep 2009 21:15:56 +0000 (16:15 -0500)]
Add syscall probe information to Language Reference

Signed-off-by: Robb Romans <robb@linux.vnet.ibm.com>
Signed-off-by: Josh Stone <jistone@redhat.com>
14 years agoAdd tracepoint information to Language Reference
Robb Romans [Wed, 16 Sep 2009 20:46:38 +0000 (15:46 -0500)]
Add tracepoint information to Language Reference

Signed-off-by: Robb Romans <robb@linux.vnet.ibm.com>
Signed-off-by: Josh Stone <jistone@redhat.com>
14 years agoAdd PROCFS information to Language Reference
Robb Romans [Wed, 16 Sep 2009 20:10:04 +0000 (15:10 -0500)]
Add PROCFS information to Language Reference

Signed-off-by: Robb Romans <robb@linux.vnet.ibm.com>
Signed-off-by: Josh Stone <jistone@redhat.com>
14 years agoSpelling fixes in the tapsets
Josh Stone [Wed, 16 Sep 2009 22:23:50 +0000 (15:23 -0700)]
Spelling fixes in the tapsets

14 years ago* loc2c.c: Handle DW_OP_stack_value. Untested and probably unfinished.
Roland McGrath [Wed, 16 Sep 2009 22:22:45 +0000 (15:22 -0700)]
* loc2c.c: Handle DW_OP_stack_value.  Untested and probably unfinished.

14 years agoSpelling fixes in the init script
Josh Stone [Wed, 16 Sep 2009 22:20:05 +0000 (15:20 -0700)]
Spelling fixes in the init script

14 years agoSpelling fixes in the meta of many examples
Josh Stone [Wed, 16 Sep 2009 22:16:47 +0000 (15:16 -0700)]
Spelling fixes in the meta of many examples

14 years agoFix the old networking buildok test
Josh Stone [Wed, 16 Sep 2009 21:19:18 +0000 (14:19 -0700)]
Fix the old networking buildok test

14 years agoA basic test to assure that networking tapset is building ok
Breno Leitao [Wed, 16 Sep 2009 18:37:16 +0000 (14:37 -0400)]
A basic test to assure that networking tapset is building ok

This is a basic script to assure that the network devices tapset
is building (-p4) properly.

This script is basically a copy of another netdev example that is
located on testsuite/systemtap.examples/network/netdev.stp

Signed-off-by: Josh Stone <jistone@redhat.com>
This page took 0.060925 seconds and 5 git commands to generate.