]> sourceware.org Git - systemtap.git/log
systemtap.git
11 years agoPR6580: implement callers(), ucallers().
Serguei Makarov [Tue, 14 Aug 2012 14:32:22 +0000 (10:32 -0400)]
PR6580: implement callers(), ucallers().

11 years agoPR14396: Fix a kernel typo in utf_user_trunc.stp
Josh Stone [Tue, 14 Aug 2012 01:50:24 +0000 (18:50 -0700)]
PR14396: Fix a kernel typo in utf_user_trunc.stp

* testsuite/systemtap.base/utf_user_trunc.stp: s/kernel/user/

11 years agoPR14396: Truncate UTF strings silently
Josh Stone [Tue, 14 Aug 2012 01:32:40 +0000 (18:32 -0700)]
PR14396: Truncate UTF strings silently

The UTF-16 and UTF-32 conversion functions were correctly refusing to
write a partial UTF-8 sequence into the buffer, but they were treating
that case as an error.  It should just silently stop processing, so the
result is truncated just as any other string concatenation does.

* tapset/linux/conversions.stp (kernel_string_utf32): Treat only rc<0
  from _stp_convert_utf32 as an error; rc==0 is truncation.
  (kernel_string_utf16): Ditto.
* tapset/linux/uconversions.stp (user_string_utf32): Ditto.
  (user_string_utf16): Ditto.
* testsuite/systemtap.base/utf_kernel_trunc.*: Test a broad range of
  truncation points within kernel UTF strings.
* testsuite/systemtap.base/utf_user_trunc.*: Same test for userspace.
  (The duplication is unfortunate, but it's not too crazy.)

11 years agostap: Include DYNINST in the enabled feature list
Josh Stone [Mon, 13 Aug 2012 23:00:43 +0000 (16:00 -0700)]
stap: Include DYNINST in the enabled feature list

11 years agoDon't report non-git if we have an extra-version
Josh Stone [Mon, 13 Aug 2012 22:45:23 +0000 (15:45 -0700)]
Don't report non-git if we have an extra-version

When we're not building from git, but we do have --with-extra-version,
just let that suffice in our version strings.  But when we do have a git
repo, still print the fullest information possible.

* version.h: Define STAP_EXTENDED_VERSION with this scheme.
* session.cxx, stapdyn/stapdyn.cxx, staprun/common.c: Use it.

11 years agoPR6580: implement naive stack(), ustack()
Serguei Makarov [Mon, 13 Aug 2012 20:48:15 +0000 (16:48 -0400)]
PR6580: implement naive stack(), ustack()

11 years agoPR14460 ipaddr.exp: all hail bash /dev/tcp
Frank Ch. Eigler [Mon, 13 Aug 2012 00:10:22 +0000 (20:10 -0400)]
PR14460 ipaddr.exp: all hail bash /dev/tcp

Use bash's /dev/tcp/127.0.0.1/8079 and /dev/tcp/::1/8079, which work.

11 years agoPR14460 try 1
Frank Ch. Eigler [Mon, 13 Aug 2012 00:05:46 +0000 (20:05 -0400)]
PR14460 try 1

Switch to tcl's [socket HOST PORT] facilities as a netcat client
substitute.  Except tcl 8.5* doesn't speak ipv6 jive.  Also, switch to
port 8079 for tests, expecting to conflict less with normal ongoings
than good old 8080.

11 years agoPR14396: Add pretty-printing support for UTF
Josh Stone [Sat, 11 Aug 2012 00:46:13 +0000 (17:46 -0700)]
PR14396: Add pretty-printing support for UTF

* dwarf_wrappers.h: Define DW_ATE_UTF if elfutils < 0.155.
* tapsets.cxx (dwarf_pretty_print::recurse_base): Print UTF with %#c
  too. This will generally only work with the ASCII subset for now...
  (dwarf_pretty_print::print_chars): Match strings by char/UTF encoding
  types, rather than by type name, and use the byte_size to select the
  correct string dereferencing function.
* testsuite/systemtap.base/utf_pretty.*: Test it!

11 years agoPR14396: Add UTF-16/32 conversion functions
Josh Stone [Fri, 10 Aug 2012 22:15:29 +0000 (15:15 -0700)]
PR14396: Add UTF-16/32 conversion functions

* runtime/stp_string.c (_stp_convert_utf32): New, write the given
  UTF-32 code point as UTF-8 in the given buffer.
* tapset/linux/conversions.stp (kernel_string_utf32): New, read and
  convert a UTF-32 string from kernel memory.
  (kernel_string_utf16): Same for UTF-16, handling surrogate pairs.
  (kernel_string2_utf32, kernel_string2_utf16): Same w/ custom error.
* tapset/linux/uconversions.stp: All of the above for user memory.
* testsuite/buildok/conversions*.stp: Add build tests.
* testsuite/systemtap.base/utf_*: New runtime tests.

11 years agoloc2c-runtime.h: Add uread() and uwrite()
Josh Stone [Fri, 10 Aug 2012 21:50:41 +0000 (14:50 -0700)]
loc2c-runtime.h: Add uread() and uwrite()

These are the userspace equivalents to kread() and kwrite().

For the (unused) STAPCONF_PROBE_KERNEL case, just define them as direct
equivalents.  Also add in missing kderef and store_kderef the same way.

For the architecture-implemented case, they are nearly identical to
kread and kwrite, just s/kderef/uderef/.  So to avoid duplication, I've
added in a layer of macro indirection to pass in the appropriate deref
function.  (Nevermind that the [ku]derefs are often identical -- oh,
what a tangled web we weave...)

11 years agoexamples: regenerate indexes
Frank Ch. Eigler [Fri, 10 Aug 2012 23:18:32 +0000 (19:18 -0400)]
examples: regenerate indexes

11 years agoPR14164 (netfilter.stp): fix documentation oops.
Serguei Makarov [Fri, 10 Aug 2012 20:40:19 +0000 (16:40 -0400)]
PR14164 (netfilter.stp): fix documentation oops.

11 years agoPR14453: add some forward decls for rhel6.3 rpc tracepoints
Frank Ch. Eigler [Fri, 10 Aug 2012 19:46:06 +0000 (15:46 -0400)]
PR14453: add some forward decls for rhel6.3 rpc tracepoints

* tapsets.cxx (tracepoint_extra_decls): Forward-declare rpc_clnt and rpc_wait_queue.

11 years agoPR14164 (netfilter.stp): fix requirements for Ethernet-IP case for ARP.
Serguei Makarov [Fri, 10 Aug 2012 18:29:24 +0000 (14:29 -0400)]
PR14164 (netfilter.stp): fix requirements for Ethernet-IP case for ARP.

11 years agoPR14452: drop 1ULL literal from sys/sdt.h
Frank Ch. Eigler [Fri, 10 Aug 2012 17:56:36 +0000 (13:56 -0400)]
PR14452: drop 1ULL literal from sys/sdt.h

Use (unsigned long long) 1 instead, which is for some reason kosherer.

11 years agoPR14449: systemtap-server should work without systemtap-runtime preinstalled
Frank Ch. Eigler [Fri, 10 Aug 2012 15:05:23 +0000 (11:05 -0400)]
PR14449: systemtap-server should work without systemtap-runtime preinstalled

Adding a %triggerin to -client to respond to -server being installed.

11 years agoPR14164 (netfilter.stp): decode ARP packet contents on Ethernet.
Serguei Makarov [Fri, 10 Aug 2012 15:09:15 +0000 (11:09 -0400)]
PR14164 (netfilter.stp): decode ARP packet contents on Ethernet.

11 years agoconfigury: need libdwarf-devel for stapdyn
Frank Ch. Eigler [Wed, 8 Aug 2012 15:28:58 +0000 (11:28 -0400)]
configury: need libdwarf-devel for stapdyn

Or else, perhaps stapdyn doesn't need a manual -ldwarf in dyninst_LIBS.

11 years agoImprove task_finder/task_finder2 error handling.
David Smith [Fri, 10 Aug 2012 13:39:51 +0000 (08:39 -0500)]
Improve task_finder/task_finder2 error handling.

* runtime/linux/task_finder.c (stap_start_task_finder): When we ignore
  EPERM or ENOENT errors, be sure to not accidently return the ignored
  error.
* runtime/linux/task_finder2.c (stap_start_task_finder): Ditto.

11 years agoPR14164: fix missing endianness conversion in ARP header extractor.
Serguei Makarov [Thu, 9 Aug 2012 19:20:54 +0000 (15:20 -0400)]
PR14164: fix missing endianness conversion in ARP header extractor.

11 years agoUse macros (PR11207) in netfilter.stp (PR13667).
Serguei Makarov [Thu, 9 Aug 2012 13:54:59 +0000 (09:54 -0400)]
Use macros (PR11207) in netfilter.stp (PR13667).

11 years agoPR11207 cleanup: rename session.macros to session.c_macros to clarify distinction...
Serguei Makarov [Thu, 9 Aug 2012 13:47:09 +0000 (09:47 -0400)]
PR11207 cleanup: rename session.macros to session.c_macros to clarify distinction from SystemTap macroprocessor macros.

11 years agoIn task_work worker functions, make sure the task isn't exiting.
David Smith [Wed, 8 Aug 2012 15:31:11 +0000 (10:31 -0500)]
In task_work worker functions, make sure the task isn't exiting.

* runtime/linux/task_finder2.c (__stp_tf_quiesce_worker): If the
  task is exiting, quit early.
  (__stp_tf_mmap_worker): Ditto.
* runtime/stp_utrace.c (utrace_resume): Ditto.

11 years agoFix problems with varargs macros in dyninst/io.c.
David Smith [Tue, 7 Aug 2012 22:32:01 +0000 (17:32 -0500)]
Fix problems with varargs macros in dyninst/io.c.

* runtime/dyninst/io.c: Convert _stp_warn(), _stp_error(),
  _stp_softerror(), and _stp_dbug() from varargs macros into varargs
  functions so that calling _stp_warn() (for example) with just a format
  argument works correctly.

11 years agostapdyn: Add a bit of documentation to stap.1
Josh Stone [Tue, 7 Aug 2012 20:12:28 +0000 (13:12 -0700)]
stapdyn: Add a bit of documentation to stap.1

11 years agoAUTHORS bump
Josh Stone [Tue, 7 Aug 2012 19:43:49 +0000 (12:43 -0700)]
AUTHORS bump

11 years agouse file based requires
Dennis Gilmore [Fri, 13 Jul 2012 13:41:29 +0000 (08:41 -0500)]
use file based requires

11 years agoFix ifarch statement
Peter Robinson [Fri, 13 Jul 2012 13:29:37 +0000 (14:29 +0100)]
Fix ifarch statement

11 years agoparse: Fix a -Werror=delete-non-virtual-dtor
Josh Stone [Tue, 7 Aug 2012 19:24:18 +0000 (12:24 -0700)]
parse: Fix a -Werror=delete-non-virtual-dtor

  CXX    stap-parse.o
../parse.cxx: In destructor ‘parser::pp1_activation::~pp1_activation()’:
../parse.cxx:421:16: error: deleting object of polymorphic class type
‘parser::pp_macrodecl’ which has non-virtual destructor might cause
undefined behaviour [-Werror=delete-non-virtual-dtor]
cc1plus: all warnings being treated as errors

We need virtual ~macrodecl to destroy the inherited pp_macrodecl.

11 years agospec: Configure the rpm verrel into the build
Josh Stone [Tue, 7 Aug 2012 19:10:59 +0000 (12:10 -0700)]
spec: Configure the rpm verrel into the build

11 years agoPR11207: minimal explanatory documentation for macroprocessor for 2.0pre.
Serguei Makarov [Tue, 7 Aug 2012 18:59:43 +0000 (14:59 -0400)]
PR11207: minimal explanatory documentation for macroprocessor for 2.0pre.

11 years agostapdyn: fix NEWS for loss of systemtap-stapdyn subpackage
Frank Ch. Eigler [Tue, 7 Aug 2012 18:42:00 +0000 (14:42 -0400)]
stapdyn: fix NEWS for loss of systemtap-stapdyn subpackage

11 years agoPR11207: good NEWS, everyone!
Serguei Makarov [Tue, 7 Aug 2012 15:48:47 +0000 (11:48 -0400)]
PR11207: good NEWS, everyone!

11 years agoPR11207: initial version of simplified tapset-macro loading from .stpm files.
Serguei Makarov [Tue, 7 Aug 2012 15:37:05 +0000 (11:37 -0400)]
PR11207: initial version of simplified tapset-macro loading from .stpm files.

11 years agostapdyn: don't put it into a separate subrpm; leave it in -runtime
Frank Ch. Eigler [Tue, 7 Aug 2012 13:57:04 +0000 (09:57 -0400)]
stapdyn: don't put it into a separate subrpm; leave it in -runtime

11 years agoAUTHORS bump
Josh Stone [Tue, 7 Aug 2012 01:52:48 +0000 (18:52 -0700)]
AUTHORS bump

11 years agostapdyn: Don't ship dynsdt
Josh Stone [Tue, 7 Aug 2012 01:44:31 +0000 (18:44 -0700)]
stapdyn: Don't ship dynsdt

This is more of a test/demo program at this point, so it doesn't really
warrant installation or rpm packaging.  Demoting...

11 years agostapdyn: Add a NEWS blurb
Josh Stone [Tue, 7 Aug 2012 01:26:37 +0000 (18:26 -0700)]
stapdyn: Add a NEWS blurb

(partly borrowed from Fedora's Systemtap2 feature page)

11 years agostapdyn: Enable map and stat types
Josh Stone [Tue, 7 Aug 2012 00:46:38 +0000 (17:46 -0700)]
stapdyn: Enable map and stat types

There are a lot of kernel-isms in the map code especially, and rather
than try to rewrite all that, I've simply copied the necessary bits from
the kernel.  The new pieces are mostly list and hash related.

* runtime/dyninst/alloc.c (_stp_alloc_percpu): Needs to be zeroed.
* runtime/dyninst/runtime.h: Add BITS_PER_LONG and stap_hash_seed.
  Also extract various bits copied from the kernel into new files.
* runtime/dyninst/linux_types.h: Reused Linux type definitions.
* runtime/dyninst/linux_defs.h: Other various reused Linux code.
* runtime/dyninst/linux_hash.h: Direct copy of hashing from Linux.
* runtime/dyninst/ilog2.h: Linux's ilog2(), but just for constants.
* runtime/dyninst/probe_lock.h: Typedef rwlock_t on pthreads.
* runtime/map.c: Don't need sym.c, and emulate ALIGN().
* runtime/map.h: Locate ilog2, and fix NEED_MAP_LOCKS check.

11 years agoPR14434 Filter out partial structs/classes.
Mark Wielaard [Mon, 6 Aug 2012 18:31:20 +0000 (20:31 +0200)]
PR14434 Filter out partial structs/classes.

GCC might generate a struct/class without DW_AT_declaration,
but that only contains members which have DW_AT_declaration
set.  We aren't interested in those.  PR14434 (GCC bug #54181).
Filter them out with a new function has_only_decl_members in dwflpp.cxx.
Add new testcase testsuite/systemtap.base/partial-class-type.exp.

11 years agospec: Don't use %dir for paths that are fully included
Josh Stone [Mon, 6 Aug 2012 20:14:00 +0000 (13:14 -0700)]
spec: Don't use %dir for paths that are fully included

We were getting these messages from rpmbuild:
  warning: File listed twice: /usr/share/systemtap/runtime
  warning: File listed twice: /usr/share/systemtap/tapset

Those two paths included entirely in systemtap-devel, so the %dir
directive is redundant.  However, it should claim %{_datadir}/%{name}
which those two are under.

11 years agoAdd dyninst to systemtap.spec, for Fedora 18+ only
Josh Stone [Mon, 6 Aug 2012 18:03:19 +0000 (11:03 -0700)]
Add dyninst to systemtap.spec, for Fedora 18+ only

11 years agodocs: improve .return probe $context var documentation
Frank Ch. Eigler [Mon, 6 Aug 2012 13:44:58 +0000 (09:44 -0400)]
docs: improve .return probe $context var documentation

11 years agoDon't print usage text on stap option errors
Josh Stone [Sat, 4 Aug 2012 21:12:33 +0000 (14:12 -0700)]
Don't print usage text on stap option errors

The help text is so long that it tends to push the actual error message
off the screen.  Instead, just print a suggestion to consult --help.

11 years agoPR14432: Convert stap exit() calls to exceptions
Josh Stone [Sat, 4 Aug 2012 20:40:27 +0000 (13:40 -0700)]
PR14432: Convert stap exit() calls to exceptions

We need the opportunity to clean up after ourselves, for example
removing any temporary directories created.  Calling exit() bypasses our
usual exception/RAII-based cleanups, so don't do that.

* session.h (exit_exception): New, an exception with a custom exit code.
* main.cxx (main): We can simply return here. Also catch exit_exception.
* session.cxx (systemtap_session::usage): Throw an exit_exception.
  (systemtap_session::parse_cmdline): Ditto.
* util.cxx (assert_regexp_match): A runtime_error makes more sense here.

11 years agoDRY: get NLS definitions in session.h from util.h
Josh Stone [Sat, 4 Aug 2012 20:37:48 +0000 (13:37 -0700)]
DRY: get NLS definitions in session.h from util.h

11 years agoImprove BZ812857 by helping current.exp to pass on s390x.
David Smith [Fri, 3 Aug 2012 16:24:16 +0000 (11:24 -0500)]
Improve BZ812857 by helping current.exp to pass on s390x.

* testsuite/systemtap.stress/current.stp: Make '__switch_to' probe points
  optional, since they can't be probed on the s390x.

11 years agostapdyn: TODO updates
Josh Stone [Fri, 3 Aug 2012 01:56:54 +0000 (18:56 -0700)]
stapdyn: TODO updates

- Build integration is in good shape, removing
- Runtime is largely done, but some cleanup left (PR14179)
- Breaking up the tapsets is pretty much done (PR14180)
- New: really need a deref() mechanism
- New: need to rework stapdu_target

11 years agoTweak relative git_version.h rules
Josh Stone [Thu, 2 Aug 2012 20:15:47 +0000 (13:15 -0700)]
Tweak relative git_version.h rules

11 years agoMerge branch 'master' of git://sourceware.org/git/systemtap
Josh Stone [Thu, 2 Aug 2012 19:57:23 +0000 (12:57 -0700)]
Merge branch 'master' of git://sourceware.org/git/systemtap

11 years agoPR14180: Fix tapset documentation for non-root tapsets
Josh Stone [Thu, 2 Aug 2012 19:38:27 +0000 (12:38 -0700)]
PR14180: Fix tapset documentation for non-root tapsets

* doc/SystemTap_Tapset_Reference/manpager: Use basenames so we can deal
  with tapsets that are from a subdirectory, like tapset/linux/.
* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Update !I paths for the
  many tapsets that moved in commit d3110553.
* tapset/linux/context.stp: Defer <tapsetdescription> to tapset/context.stp

11 years agomanpager: indent loops
Josh Stone [Thu, 2 Aug 2012 18:58:33 +0000 (11:58 -0700)]
manpager: indent loops

11 years agoAdd tests for missing build id sections (for PR14407).
David Smith [Thu, 2 Aug 2012 18:35:48 +0000 (13:35 -0500)]
Add tests for missing build id sections (for PR14407).

* testsuite/systemtap.base/buildid.exp: Test removing the build id section
  from a target executable and shared library.

11 years agoPR11207: search tapset folders for .stpm files.
Serguei Makarov [Thu, 2 Aug 2012 18:04:40 +0000 (14:04 -0400)]
PR11207: search tapset folders for .stpm files.

Gathers a list of .stpm (library) files on the tapset search
path. In this patch, an index of the paths is gathered in
session.library_macro_paths, but the list is not made use of by the
preprocessor.

11 years agostapdyn & staprun: Use the top-level git_version.h
Josh Stone [Thu, 2 Aug 2012 17:55:57 +0000 (10:55 -0700)]
stapdyn & staprun: Use the top-level git_version.h

Yo dawg, I herd you like Makefile recursion, so I put some recursion in
your recursion so you can version while you version.

Less duplication + more recursion == win?  Another option is to flatten
stapdyn and staprun Makefiles altogether into the root Makefile, but for
now, this is less invasive.

Changing the includes to ../git_version.h is not strictly necessary,
since we also have "-I..", but this way developers won't get burned by
old git_version.h files sitting in staprun/ or stapdyn/.

11 years agoPR11207: install .stpm files into tapset folders.
Serguei Makarov [Thu, 2 Aug 2012 17:39:40 +0000 (13:39 -0400)]
PR11207: install .stpm files into tapset folders.

11 years agoPR14378: Better @entry squashing in kprobe.function
Josh Stone [Thu, 2 Aug 2012 17:24:42 +0000 (10:24 -0700)]
PR14378: Better @entry squashing in kprobe.function

@entry is only valid in .return, but kprobe_var_expanding_visitor was
expanding it blindly.  Then kprobe_derived_probe was failing its
assertion that add_call_probe only happens with has_return.  So the test
semko/entry04.stp was failing as it should, but rather ungracefully with
an "Assertion `has_return' failed" abort.

* tapsets.cxx (kprobe_var_expanding_visitor): Add a has_return member so
  we know our current context.
  (kprobe_var_expanding_visitor::visit_entry_op): Guard @entry expansion
  on has_return, the same way dwarf_var_expanding_visitor does.

11 years agostapdyn: Add -V option for version/copyright info
Josh Stone [Thu, 2 Aug 2012 16:36:33 +0000 (09:36 -0700)]
stapdyn: Add -V option for version/copyright info

* stapdyn/Makefile.am: Add git_version.h.
* stapdyn/Makefile.in: Regenerate.
* stapdyn/stapdyn.cxx (main): Hey buddy, here's your version.

11 years agoFixed PR14409 by delaying inode-uprobes registration until after buildid checks.
David Smith [Thu, 2 Aug 2012 15:46:14 +0000 (10:46 -0500)]
Fixed PR14409 by delaying inode-uprobes registration until after buildid checks.

* runtime/linux/uprobes-inode.c: Rework code to do the buildid check
  before registering uprobes the first time we see a target process.

11 years agoFixed PR14427 by handling old and new task_work interface.
David Smith [Thu, 2 Aug 2012 15:01:23 +0000 (10:01 -0500)]
Fixed PR14427 by handling old and new task_work interface.

* runtime/linux/autoconf-utrace-via-tracepoints.c: Just includes
  task_work.h to determine existence of task_work feature.
* runtime/linux/autoconf-task_work-struct.c: New file.
* buildrun.cxx (compile_pass): Add autoconf-task_work-struct test.
* runtime/linux/task_work_compatibility.h: New header that mask
  differences between old task_work interface and new one.
* runtime/linux/task_finder2.c: Handle removal of 'data' parameter from
  task_work struct by embedding stap_task_finder_target in
  __stp_tf_task_work structure.
* runtime/stp_task_work.c: Include task_work_compatibility.h instead of
  task_work.h.
* runtime/stp_utrace.c (utrace_task_alloc): Update init_task_work()
  function call to compatibility function call.

11 years agoPR14429: only grumble quietly about preexisting gid/uid conflicts in .spec
Frank Ch. Eigler [Thu, 2 Aug 2012 14:24:18 +0000 (10:24 -0400)]
PR14429: only grumble quietly about preexisting gid/uid conflicts in .spec

11 years agoconfigury: add --with-extra-version=STRING option
Frank Ch. Eigler [Thu, 2 Aug 2012 14:12:50 +0000 (10:12 -0400)]
configury: add --with-extra-version=STRING option

This is to allow prerelease or other special builds to tag
stap -V / staprun -V outputs with an extra version string.

* configure.ac (with_extra_version): Add option.
* session.cxx (session::version), staprun (parse_args): Print them.
  Hey buddy, what about stapdyn?
* configure, config.in: Regenerated.

11 years agoPR14180: Doing the tapset shuffle!
Josh Stone [Thu, 2 Aug 2012 02:26:01 +0000 (19:26 -0700)]
PR14180: Doing the tapset shuffle!

Many tapsets are kernel-specific, with no applicability at all
from userspace.  These have all been moved to tapset/linux/.

Some tapsets could be widely applicable, but are implemented with
kernel-specific APIs.  These have been moved to tapset/linux/, and
reimplemented in tapset/dyninst/ too.

Some tapsets are generic utility functions, that don't care at
all where they're run from.  These have been left in place.

11 years agoansi.stp: fix a couple sfunction names
Josh Stone [Wed, 1 Aug 2012 22:33:43 +0000 (15:33 -0700)]
ansi.stp: fix a couple sfunction names

11 years agostap-report: include buildtime/buildhost in the rpm listing
Frank Ch. Eigler [Wed, 1 Aug 2012 20:15:15 +0000 (16:15 -0400)]
stap-report: include buildtime/buildhost in the rpm listing

11 years agoAdd explicit build-id grep from vmlinux and debuginfo to stap-report.
Mark Wielaard [Wed, 1 Aug 2012 19:48:16 +0000 (21:48 +0200)]
Add explicit build-id grep from vmlinux and debuginfo to stap-report.

11 years agoPR11207 groundwork: fix major oops in commit e7c60c35d
Serguei Makarov [Wed, 1 Aug 2012 15:45:31 +0000 (11:45 -0400)]
PR11207 groundwork: fix major oops in commit e7c60c35d

11 years agoMake the buildid.exp testcase more robust with better error checking.
David Smith [Wed, 1 Aug 2012 14:42:47 +0000 (09:42 -0500)]
Make the buildid.exp testcase more robust with better error checking.

11 years agoPR14425: restore dummy stapfuncs.3stap man page
Frank Ch. Eigler [Wed, 1 Aug 2012 14:35:31 +0000 (10:35 -0400)]
PR14425: restore dummy stapfuncs.3stap man page

* stapfuncs.3stap: It's back, mostly blank.
* stap.1: Mention function::* etc.
* stapex.3stap: Refer to the web site examples too.

11 years agoPR11207 groundwork: swap pass 1a and 1b as groundwork for .stpm library macro loading.
Serguei Makarov [Tue, 31 Jul 2012 19:00:47 +0000 (15:00 -0400)]
PR11207 groundwork: swap pass 1a and 1b as groundwork for .stpm library macro loading.

11 years agoNote possibility of error recovery for preprocessor %( %) constructs.
Serguei Makarov [Tue, 31 Jul 2012 15:33:04 +0000 (11:33 -0400)]
Note possibility of error recovery for preprocessor %( %) constructs.

11 years agoPR11207: vary macro error string depending on def'n signature.
Serguei Makarov [Tue, 31 Jul 2012 13:29:07 +0000 (09:29 -0400)]
PR11207: vary macro error string depending on def'n signature.

Prints either "expected '%('" or "expected '%(' or '('" as makes sense.

11 years agoRange-check _fildes_index_u and test it
Josh Stone [Tue, 31 Jul 2012 02:56:18 +0000 (19:56 -0700)]
Range-check _fildes_index_u and test it

* tapset/linux/aux_syscalls.stp: Make sure the index is 0 or 1.
* testsuite/buildok/aux_syscalls-embedded.stp: Test _fildes_index_u()
  rather than the old, removed _fildes_u().

11 years agoPR14180: Move all syscall tapsets to linux/
Josh Stone [Tue, 31 Jul 2012 02:34:43 +0000 (19:34 -0700)]
PR14180: Move all syscall tapsets to linux/

Moving basically all *syscall*.stp into tapset/linux/. These are all
implemented from a kernel assumption, using either kernel.function or
kprobe.function, and the supporting functions also assume that they're
being called from a kernel environment.

11 years agoPR14180: Search for tapset in additional backend-specific paths
Josh Stone [Tue, 31 Jul 2012 00:34:02 +0000 (17:34 -0700)]
PR14180: Search for tapset in additional backend-specific paths

We already search paths in many combinations of kernel version and arch.
For each of these, search also in runtime-specific prefixes, "linux/..."
for kernel mode, and "dyninst/..." for dyninst mode.  (And while we're
at it, only do kernel versioning for kernel mode.)

11 years agoPR11207: Add a space to a macro error string
Josh Stone [Mon, 30 Jul 2012 18:43:00 +0000 (11:43 -0700)]
PR11207: Add a space to a macro error string

11 years agoPR11207: fix segfault in macro invocation parser.
Serguei Makarov [Mon, 30 Jul 2012 18:38:27 +0000 (14:38 -0400)]
PR11207: fix segfault in macro invocation parser.

11 years agoRevert "PR11207: testsuite for oneline macros feature."
Serguei Makarov [Mon, 30 Jul 2012 18:36:26 +0000 (14:36 -0400)]
Revert "PR11207: testsuite for oneline macros feature."

This reverts commit 05b137ec05922db854429770f96ce6a4a1501347.

11 years agoRevert "PR11207: support for one-line @define in macroprocessor."
Serguei Makarov [Mon, 30 Jul 2012 18:36:15 +0000 (14:36 -0400)]
Revert "PR11207: support for one-line @define in macroprocessor."

This reverts commit 2a82bed6eced5bd3634acd82eb440d46ab8206f4.

11 years agoPR11207: support for one-line @define in macroprocessor.
Serguei Makarov [Mon, 30 Jul 2012 15:18:16 +0000 (11:18 -0400)]
PR11207: support for one-line @define in macroprocessor.

Current logic for determining whether to grab a one-line or
a multi-line macro is a bit hairy but well-tested. May go through
it later with a fresh eye to streamline at least the explanatory
comments.

11 years agoPR11207: testsuite for oneline macros feature.
Serguei Makarov [Mon, 30 Jul 2012 15:16:38 +0000 (11:16 -0400)]
PR11207: testsuite for oneline macros feature.

11 years agostap-report: set $PATH, tolerate failures better
Frank Ch. Eigler [Mon, 30 Jul 2012 14:01:45 +0000 (10:01 -0400)]
stap-report: set $PATH, tolerate failures better

11 years agoparse: Separate "empty or missing" file errors
Josh Stone [Sat, 28 Jul 2012 16:55:10 +0000 (09:55 -0700)]
parse: Separate "empty or missing" file errors

... especially since there's a third state too: unreadable.

* parse.cxx (parser::parser): Consolidate to a single ctor.
  (parse<istream>): Synthesize the name "<input>" to the parser from here.
  (parse<filename>): Open the file first, check its status, and if good
  only then pass the name and ifstream to the parser.
  (parser::parse): Now here the file is never missing, just empty.

11 years agostapdyn: Try to autodetect DYNINSTAPI_RT_LIB
Josh Stone [Fri, 27 Jul 2012 21:30:31 +0000 (14:30 -0700)]
stapdyn: Try to autodetect DYNINSTAPI_RT_LIB

* stapdyn/dynutil.cxx (check_dyninst_rt): New file; Check that env
  DYNINSTAPI_RT_LIB is well set, else guess a good value for it.
* stapdyn/stapdyn.cxx (main): Call check_dyninst_rt().
* stapdyn/dynsdt.cxx (main): Ditto.
* stapdyn/Makefile.am: Build dynutil.cxx and ../util.cxx.
* stapdyn/Makefile.in: Regenerate.

11 years agostapdyn: Build dyninst targets in their own subdirectory
Josh Stone [Fri, 27 Jul 2012 19:40:04 +0000 (12:40 -0700)]
stapdyn: Build dyninst targets in their own subdirectory

* Makefile.am: Remove dyninst targets; add stapdyn/ to SUBDIRS.
* stapdyn/Makefile.am: Add dyninst targets. (base copied from staprun.)
* configure.ac: Process stapdyn/Makefile.
* run-stap.in: Adapt to stapdyn's new location.

* stapdyn/Makefile.in: Generate.
* Makefile.in, configure: Regenerate.

11 years agostapdyn: Use PRIx64 when printing GElf_Addr (uint64_t)
Josh Stone [Fri, 27 Jul 2012 19:18:25 +0000 (12:18 -0700)]
stapdyn: Use PRIx64 when printing GElf_Addr (uint64_t)

11 years agoPR11207: correctly initialize lexer::saw_tokens.
Serguei Makarov [Fri, 27 Jul 2012 19:10:38 +0000 (15:10 -0400)]
PR11207: correctly initialize lexer::saw_tokens.

11 years agoDyninst compile fixes for 32-bit systems.
David Smith [Fri, 27 Jul 2012 17:54:54 +0000 (12:54 -0500)]
Dyninst compile fixes for 32-bit systems.

* stapdyn/dynsdt.cxx (find_sdt): Fix printf types for 64-bit longs.
  (instrument_sdt): Ditto.
* stapdyn/stapdyn.cxx (instrument_uprobes): Change type from 'uint64' to
  'int64', since there are only signed 64-bit long BPatch_constExpr
  constructors.

11 years agostapdyn: Use an explicit BINDIR path to stapdyn
Josh Stone [Fri, 27 Jul 2012 17:45:36 +0000 (10:45 -0700)]
stapdyn: Use an explicit BINDIR path to stapdyn

11 years agoAdded include path to be able to compile for ARM.
Torsten Polle [Thu, 26 Jul 2012 18:40:12 +0000 (20:40 +0200)]
Added include path to be able to compile for ARM.

Compiling a script against a 3.4 ARM kerne with uprobes support results in a
compile error because struct linux_binprm is not defined. Including
linux/binfmts.h fixes the issue.

Signed-off-by: Torsten Polle <Torsten.Polle@gmx.de>
11 years agoPR14360: support old behaviour with --compatible.
Serguei Makarov [Thu, 26 Jul 2012 19:01:01 +0000 (15:01 -0400)]
PR14360: support old behaviour with --compatible.

11 years agoPR14360: document string literal concatenation in language reference.
Serguei Makarov [Thu, 26 Jul 2012 18:00:30 +0000 (14:00 -0400)]
PR14360: document string literal concatenation in language reference.

11 years agoPR11210: NEWS entry for alias suffixes feature.
Serguei Makarov [Thu, 26 Jul 2012 16:14:34 +0000 (12:14 -0400)]
PR11210: NEWS entry for alias suffixes feature.

11 years agoPR12210: couple additional recursive-expansion tests for semko.
Serguei Makarov [Thu, 26 Jul 2012 15:57:46 +0000 (11:57 -0400)]
PR12210: couple additional recursive-expansion tests for semko.

11 years agoFix permissions for testsuite/parseko/at_operators.stp.
Serguei Makarov [Thu, 26 Jul 2012 15:56:05 +0000 (11:56 -0400)]
Fix permissions for testsuite/parseko/at_operators.stp.

11 years agoStarting to populate NEWS -- describe string gluing change due to PR14360.
Serguei Makarov [Thu, 26 Jul 2012 15:54:05 +0000 (11:54 -0400)]
Starting to populate NEWS -- describe string gluing change due to PR14360.

11 years agoPR11207: initial implementation of macros (definitions visible in same file).
Serguei Makarov [Thu, 26 Jul 2012 15:02:42 +0000 (11:02 -0400)]
PR11207: initial implementation of macros (definitions visible in same file).

This patch augments systemtap's preprocessor with a simple macro facility,
as follows:

@define add(a,b) %( ((@a)+(@b)) %)
x = add(2,2)

Further details are available in the comments on the preprocessor code,
or in the proposal posted earlier on the mailing list.

11 years agoPR11207: initial testsuite for macro feature.
Serguei Makarov [Thu, 26 Jul 2012 15:00:01 +0000 (11:00 -0400)]
PR11207: initial testsuite for macro feature.

11 years agostapdyn: Don't check groups for --runtime=dyninst
Josh Stone [Tue, 24 Jul 2012 22:02:13 +0000 (15:02 -0700)]
stapdyn: Don't check groups for --runtime=dyninst

We don't need to assert stapdev/stapusr group membership for the dyninst
mode, as users are simply allowed to probe anything ptrace-able.  The
groups only apply to our kernel runtime.

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