]> sourceware.org Git - systemtap.git/log
systemtap.git
10 years agoFix PR15913 by getting s390x arg 6 from the stack.
David Smith [Thu, 17 Oct 2013 18:49:23 +0000 (13:49 -0500)]
Fix PR15913 by getting s390x arg 6 from the stack.

* tapset/s390/registers.stp (_stp_get_kernel_stack_param): New function.
  (_stp_arg): Uses _stp_get_kernel_stack_param() to get stack parameters.

10 years agoFix PR16058 by updating the syscall.mmap2/nd_syscall.mmap2 probe aliases.
David Smith [Thu, 17 Oct 2013 16:23:32 +0000 (11:23 -0500)]
Fix PR16058 by updating the syscall.mmap2/nd_syscall.mmap2 probe aliases.

* tapset/linux/syscalls.stp: Convert '$pgoff', which is a number of pages,
  into a number of bytes.
* tapset/linux/nd_syscalls.stp: Ditto.
* testsuite/systemtap.syscall/mmap.c: Add testing for a non-zero offset
  argument to mmap().

10 years agoman/stap.1: improve .SAMPLE macro
Jonathan Lebon [Thu, 17 Oct 2013 15:37:01 +0000 (11:37 -0400)]
man/stap.1: improve .SAMPLE macro

The .RE macro, used in the .ESAMPLE macro, restores the indentation
level to the default, not to what it was before the preceding .RS macro.
This meant that in already-indented regions (e.g. the .TP section of
--suppress-handler-errors or MAXMAPENTRIES), the text following .ESAMPLE
would be unindented one level too much.

The .SAMPLE macro now saves the current indentation level in a register
and the .ESAMPLE macro restores it. The macros were also modified so
that samples now have an empty line above and below to improve
legibility.

Old uses of .RS/.RE for samples were replaced by .SAMPLE/.ESAMPLE and
the printf examples section was unindented since the macro already
indents it once.

- man/stap.1: improve .SAMPLE macro, clean up usage
- man/stapvirt.1: improve .SAMPLE macro, use .PP instead of blank space
- man/stap-merge.1: improve .SAMPLE macro
- man/stap-prep.1: ditto
- man/stap-report.1: ditto

10 years agoPR16057: Fix task_dentry_path crossing mount points
Josh Stone [Thu, 17 Oct 2013 00:15:31 +0000 (17:15 -0700)]
PR16057: Fix task_dentry_path crossing mount points

There were a couple ways that task_dentry_path failed on kernels which
have struct mount, i.e. >= kernel-3.3.

* tapset/linux/dentry.stp (real_mount): The (vfsmnt > offset) test fails
  for most (all?) kernel pointers, as having the MSB set looks negative
  in signed long comparisons.  Explicitly allow "negative" pointers now.
  (task_dentry_path): The @cast(mnt, "mount")->mnt_parent got us to
  another struct mount, but we wanted the struct vfsmount.  This is
  available one step further in ->mnt_parent->mnt.

10 years agostapvirt.1: add tutorial section
Jonathan Lebon [Wed, 16 Oct 2013 18:09:52 +0000 (14:09 -0400)]
stapvirt.1: add tutorial section

A part of the tutorial that was created for PR13078 was added to the man
page for stapvirt.

- NEWS: remove mention of PR13078
- man/stapvirt.1: add tutorial section

10 years agotestsuite: handle some more cases of kill -PGRP -> -- -PRGRP
Frank Ch. Eigler [Wed, 16 Oct 2013 15:58:36 +0000 (11:58 -0400)]
testsuite: handle some more cases of kill -PGRP -> -- -PRGRP

10 years ago/bin/kill -INT -[exp_pid] not supported on Ubuntu which is having procps-ng
Naresh Kamboju [Wed, 16 Oct 2013 15:56:16 +0000 (11:56 -0400)]
/bin/kill -INT -[exp_pid] not supported on Ubuntu which is having procps-ng
3.3.3

 /bin/kill -INT -22504
 /bin/kill: invalid option -- '2'

Due to this reason test scripts modified to
 /bin/kill -INT -- -[exp_pid]

reference:
http://pastebin.com/81SVEGka
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=689278
https://bugs.launchpad.net/ubuntu/+source/procps/+bug/1077796

Signed-off-by: Naresh Kamboju <naresh.kamboju@linaro.org>
10 years agoNEWS: add blurb about cross-vm
Jonathan Lebon [Wed, 16 Oct 2013 15:35:52 +0000 (11:35 -0400)]
NEWS: add blurb about cross-vm

10 years agoautoreconf
Jonathan Lebon [Wed, 16 Oct 2013 14:30:20 +0000 (10:30 -0400)]
autoreconf

10 years agoMerge branch 'cross-vm'
Jonathan Lebon [Wed, 16 Oct 2013 14:29:51 +0000 (10:29 -0400)]
Merge branch 'cross-vm'

10 years agosystemtap.spec: add virthost and virtguest pkgs
Jonathan Lebon [Tue, 15 Oct 2013 20:53:25 +0000 (16:53 -0400)]
systemtap.spec: add virthost and virtguest pkgs

Supported host systems are: F19, RHEL7.
Supported guest systems are: the above + F18, RHEL5, RHEL6.

10 years agosystemtap.spec: use macro for init.d directory
Jonathan Lebon [Tue, 15 Oct 2013 20:52:01 +0000 (16:52 -0400)]
systemtap.spec: use macro for init.d directory

As described in <http://fedoraproject.org/wiki/Packaging:SysVInitScript#
Initscripts_on_the_filesystem>.

10 years agoadd guest support files for libvirt/unix schemes
Jonathan Lebon [Tue, 3 Sep 2013 16:29:47 +0000 (12:29 -0400)]
add guest support files for libvirt/unix schemes

For systemd systems, the following files are used:
   - stapsh@.service.in: template file for a service which automatically
     respawns stapsh on a given virtio-serial port
   - 99-stapsh.rules: udev rules file that instantiates (or terminates)
     the stapsh service upon plugging in/out of virtio-serial ports

For SYSV systems, the following files are used:
   - stapsh-daemon.in: libexec script file that automatically respawns
     stapsh on a given virtio-serial port
   - stapshd.in: init script to control stapsh-daemon instances
   - 99-stapsh-init.rules: udev rules file that forces a configuration
     reload upon plugging in/out of virtio-serial ports
   - virtio_console.modules: ensures that the virtio_console module is
     loaded at boot time if virtio-serial ports are detected. This is a
     workaround for RHEL5, in which the module is not auto-loaded, but
     does no harm in other systems such as RHEL6.

10 years agostap.1: add libvirt:// and unix:// to --remote option
Jonathan Lebon [Mon, 23 Sep 2013 17:54:53 +0000 (13:54 -0400)]
stap.1: add libvirt:// and unix:// to --remote option

10 years agostap: add HAVE_LIBVIRT and HAVE_LIBXML2 in feature list
Jonathan Lebon [Thu, 26 Sep 2013 18:39:42 +0000 (14:39 -0400)]
stap: add HAVE_LIBVIRT and HAVE_LIBXML2 in feature list

- configure.ac: make HAVE_LIBVIRT and HAVE_LIBXML2 conditional on
  PKG_CHECK_MODULES
- session.cxx: add HAVE_LIBVIRT and HAVE_LIBXML2 in feature list

10 years agoconfigure.ac: pass XML2/VIRT bits to config.h via AC_DEFINE
Frank Ch. Eigler [Thu, 26 Sep 2013 18:35:22 +0000 (14:35 -0400)]
configure.ac: pass XML2/VIRT bits to config.h via AC_DEFINE

10 years agoremote.cxx: add libvirt:// scheme
Jonathan Lebon [Tue, 17 Sep 2013 15:59:09 +0000 (11:59 -0400)]
remote.cxx: add libvirt:// scheme

This new scheme is handled by the new class libvirt_stapsh, which simply
calls stapvirt connect.

10 years agostapvirt: initial release
Jonathan Lebon [Fri, 16 Aug 2013 19:25:07 +0000 (15:25 -0400)]
stapvirt: initial release

The stapvirt binary is a tool for both users and stap. Users use it to
manage systemtap ports on their libvirt-managed domains. It allows them
to add, list, and remove ports. stap uses it to connect to a
libvirt-managed domain with a free systemtap port.

The stapvirt binary is only compiled if the libvirt-devel >= 1.0.2 and
the libxml-2.0 packages are installed.

- Makefile.am: build stapvirt if we HAVE_LIBVIRT and HAVE_LIBXML2
- configure.ac: PKG_CHECK_MODULES for libvirt and libxml2 and define
  HAVE_LIBVIRT and HAVE_LIBXML2 conditionals
- man/Makefile.am: include stapvirt man page if we HAVE_LIBVIRT and
  HAVE_LIBXML2
- man/stapvirt.1: created stapvirt man page
- stapvirt.c: created stapvirt source

10 years agostapsh: use SIGIO to monitor port status
Jonathan Lebon [Wed, 28 Aug 2013 16:13:50 +0000 (12:13 -0400)]
stapsh: use SIGIO to monitor port status

If the kernel supports it, a handler for SIGIO is installed. Upon any
event (e.g. host connection up/down), the handler updates a global
variable. This variable is used by host_connected() if possible, rather
than calling poll() everytime.

10 years agostapsh: tweak error msgs
Jonathan Lebon [Mon, 26 Aug 2013 16:20:24 +0000 (12:20 -0400)]
stapsh: tweak error msgs

Make error messages more consistent with the rest of SystemTap (i.e.
capitalize the first word). Also, make die() respect host_connected()
and print out strerror().

10 years agoremote.cxx: use data option for unix
Jonathan Lebon [Mon, 26 Aug 2013 16:01:19 +0000 (12:01 -0400)]
remote.cxx: use data option for unix

This commit actually enables the use of the new "data" option added in
commit 145fb2f. This is done by using a mini state machine. For now,
only the unix scheme uses this option. However, the upcoming libvirt
scheme will also make use of it.

The prefixing logic has also been revised. Now, cout is always flushed
so that e.g. printf("hello1\nhello2") will not only print out "hello1"
until ^C is done on stap. (This was most likely due to line-buffering).

Additionally, prefixing is now only done when necessary rather than
everytime (e.g. 'timer.s(1) { printf("hello") }' would add a prefix
before every 'hello').

Finally, prefixing now also accounts for multiple remotes, i.e. a new
line is automatically added and prefixed if data from a different remote
from the last was received.

- remote.cxx: add support for data commands and improve prefixing
- util.cxx: new split_lines() function
- util.h: split_lines() defn and new vector_has function

10 years agostapsh: add listening mode
Jonathan Lebon [Tue, 15 Oct 2013 18:04:32 +0000 (14:04 -0400)]
stapsh: add listening mode

Add new -l parameter to stapsh to make it read its commands from a
serial port rather than from its stdin.

10 years agostapsh: add data option
Jonathan Lebon [Mon, 26 Aug 2013 15:50:09 +0000 (11:50 -0400)]
stapsh: add data option

The data option causes stapsh to first send a "data" line before every
output from staprun. This has the key benefit of allowing us to
distinguish between stdout and stderr for schemes where the two are
mixed, such as unix and libvirt (upcoming in a future commit).

10 years agostapsh: add option command
Jonathan Lebon [Mon, 26 Aug 2013 15:39:21 +0000 (11:39 -0400)]
stapsh: add option command

The new option command allows stap to change the behaviour of stapsh
depending on the scheme used. For now, only "verbose" is a valid option.
This is especially useful for the unix scheme, where we connect to an
already running instance of stapsh.  Options are sent to stapsh right
after a successful handshake.

- remote.cxx: send options after successful handshake
- staprun/stapsh.c: add option command and verbose option

10 years agoremote.cxx: improve error messages
Jonathan Lebon [Tue, 15 Oct 2013 17:49:55 +0000 (13:49 -0400)]
remote.cxx: improve error messages

1. Add received reply from a bad handshake
2. In unix_stapsh: include URI socket path on bad connect()

10 years agostapsh-unix.exp: give time for socat to get set up
Jonathan Lebon [Fri, 16 Aug 2013 17:58:54 +0000 (13:58 -0400)]
stapsh-unix.exp: give time for socat to get set up

I've observed a few failures of this test in which stap gives the "No
such file or directory" error on connect() even though socat was started
properly. This happens the first time the test is run, but not
subsequent times. My theory is that socat takes some time to be loaded
and set up on the first run.

Looking at past testsuite results seem to indicate that this test failed
frequently, so this may have been a long-standing issue. Either way,
this small wait seems to do the trick.

10 years agoman/stap.1: small correction
Jonathan Lebon [Tue, 30 Jul 2013 14:08:48 +0000 (10:08 -0400)]
man/stap.1: small correction

This correction might be useful for those who want to parse the output.
Also add a small comment in stapsh.c to clarify the STAPSH_MAX_ARGS
comparison.

10 years agoAdd a top-level examples symlink into the testsuite
Josh Stone [Tue, 15 Oct 2013 22:37:40 +0000 (15:37 -0700)]
Add a top-level examples symlink into the testsuite

10 years agoi18n: update-po
Frank Ch. Eigler [Sun, 13 Oct 2013 11:04:20 +0000 (07:04 -0400)]
i18n: update-po

10 years agoeventcount sample: add -G lines=NNN option
Frank Ch. Eigler [Sun, 13 Oct 2013 01:06:35 +0000 (21:06 -0400)]
eventcount sample: add -G lines=NNN option

So now 'stap eventcount.stp -G lines=15 -G sort=count PROBEPOINT'
is a nice enjoyable report. without excessive screen scrollage.

10 years agoRHBZ1012133: tweak periodic.stp demo to operate without kernel-debuginfo
Frank Ch. Eigler [Sun, 13 Oct 2013 00:57:24 +0000 (20:57 -0400)]
RHBZ1012133: tweak periodic.stp demo to operate without kernel-debuginfo

10 years agoPR9822: reduce timer load
Frank Ch. Eigler [Sat, 12 Oct 2013 20:16:34 +0000 (16:16 -0400)]
PR9822: reduce timer load

Until this very moment, runtime/time.c's tsc-polling timer (the one
related to __stp_time_timer_callback) was being invoked every jiffy,
ie. something like 1000Hz, just to tune our per-cpu estimates of
tsc/real-time.  This is excessive.  Instead, use a much longer
interval (10Hz), and an even larger yet if cpufreq-change-notification
is in effect (0.1Hz).

* runtime/time.c (STP_TIME_SYNC_INTERVAL): New overrideable macro.
  (__stp_init_time, __stp_time_timer_callback): Use it.
  (__stp_time_cpufreq_callback): Refresh base_ns/base_cycles.

10 years agostap-report: also include $HOME/.systemtap/rc
Frank Ch. Eigler [Fri, 11 Oct 2013 11:30:32 +0000 (07:30 -0400)]
stap-report: also include $HOME/.systemtap/rc

10 years agonothing ever changes
Frank Ch. Eigler [Fri, 11 Oct 2013 11:22:13 +0000 (07:22 -0400)]
nothing ever changes

10 years agoFix minor errors found by clang analyzer
Josh Stone [Sat, 5 Oct 2013 00:12:04 +0000 (17:12 -0700)]
Fix minor errors found by clang analyzer

* dwflpp.cxx (dwflpp::iterate_over_plt): A bad plt_shdr pointer could be
  dereferenced later in the function.
* mdfour.c (m): This static global pointer was retaining stack memory.
  It's not needed at all - just pass an additional parameter as needed.
* stapregex-tree.cxx (range_union): In a twisted situation where old_b
  is NULL, and old_a is valid but empty, then old_b was dereferenced.
  This logic now stops trying to shortcut the empty case.  Also, the
  segment merging now uses std::merge, instead of doing it manually.
* staprun/stap_merge.c (main): Initialize num[];
* tapset-been.cxx (be_builder::build): Simplify 'priority' init;
* tapsets.cxx (dwarf_builder::build): Assert dw is always set.
* util.cxx (stap_spawn): Don't leave an unused 'cmd' local when SDT is
  not enabled.

10 years agoRevert tapset/s390/registers.stp commit.
David Smith [Mon, 30 Sep 2013 17:30:48 +0000 (12:30 -0500)]
Revert tapset/s390/registers.stp commit.

* tapset/s390/registers.stp: Revert inadvertent commit d063c0e.

10 years agoAdd a NEWS item about the PR15982 fix.
David Smith [Mon, 30 Sep 2013 16:27:16 +0000 (11:27 -0500)]
Add a NEWS item about the PR15982 fix.

10 years agoFix PR15982 by making 'process.end' probes work reliably.
David Smith [Mon, 30 Sep 2013 15:12:47 +0000 (10:12 -0500)]
Fix PR15982 by making 'process.end' probes work reliably.

* runtime/linux/task_finder.c: Swith from using UTRACE_DEATH events to
  using UTRACE_EXIT events, to avoid missing 'process.end' probes.
* tapset-utrace.cxx (utrace_derived_probe_group::emit_linux_probe_decl):
  For CONFIG_UTRACE, use UTRACE_EXIT events instead of UTRACE_DEATH
  events.
* testsuite/systemtap.base/proc_exec.exp: Tweak expected output.

10 years agoPR15123: when PR15123_ASSUME_MFENTRY is set, don't check for -mfentry flag
Vincent Bernat [Sat, 28 Sep 2013 16:50:26 +0000 (18:50 +0200)]
PR15123: when PR15123_ASSUME_MFENTRY is set, don't check for -mfentry flag

-mfentry flag is recorded in `DW_AT_producer` only if
`CFLAGS=-grecord-gcc-switches` was used at compilation-time. We
provide PR15123_ASSUME_MFENTRY as an environment variable to override
this detection. The user is expected to set this variable only if it
is confident that that CFLAGS=-mfentry was used.

10 years agostap-report: add kernel compiler version
Frank Ch. Eigler [Fri, 27 Sep 2013 22:55:14 +0000 (18:55 -0400)]
stap-report: add kernel compiler version

10 years agoBasic SystemTap support for aarch64
William Cohen [Fri, 27 Sep 2013 18:49:44 +0000 (14:49 -0400)]
Basic SystemTap support for aarch64

The SystemTap runtime libraries needs a number of machine specific
details for each architecture to be specified.  This is an attempt to
provide the minimal set of them so that a "hello, world" SystemTap
script will compile.

10 years agoMake systemtap.examples/io/deviceseeks.stp work on older kernels.
David Smith [Thu, 26 Sep 2013 21:48:31 +0000 (16:48 -0500)]
Make systemtap.examples/io/deviceseeks.stp work on older kernels.

* testsuite/systemtap.examples/io/deviceseeks.stp: Handle older kernel's
  names for the sector size field.

10 years agotestsuite: New sdt_casm for STAP_PROBE_ASM
Josh Stone [Thu, 26 Sep 2013 21:35:00 +0000 (14:35 -0700)]
testsuite: New sdt_casm for STAP_PROBE_ASM

An attempted fix for PR13974 had broken STAP_PROBE_ASM, because in that
case there's some ambiguity whether %note and %progbits should be
%%-escaped.  We can't determine that in general, because it depends on
whether the user's asm() has operands.  That fix was thus reverted, and
we're testing to make sure STAP_PROBE_ASM doesn't regress again.

10 years agotestsuite: make sdt_asm.exp actually clean up
Josh Stone [Thu, 26 Sep 2013 21:34:29 +0000 (14:34 -0700)]
testsuite: make sdt_asm.exp actually clean up

10 years agoRevert "SDT: Use %foo for section types rather than "foo""
Josh Stone [Thu, 26 Sep 2013 19:45:45 +0000 (12:45 -0700)]
Revert "SDT: Use %foo for section types rather than "foo""

This reverts commit a31190f59188830b78dce26f0fbc42084f27c3c1.

We broke glibc's build on rawhide due to the way they use SDT_PROBE_ASM.
There's really no way to correctly use %note in that scenario, where we
can't know if there's operand parsing or not.

10 years agoPR15908: pass STAP_SUPPRESS_HANDLER_ERRORS to runtime
Frank Ch. Eigler [Thu, 26 Sep 2013 14:25:27 +0000 (10:25 -0400)]
PR15908: pass STAP_SUPPRESS_HANDLER_ERRORS to runtime

* session.cxx (parse_cmdline): Handle --suppress-handle-errors more.
* runtime/linux/uprobes-common.c: Respect new macro in MAXSKIPPED
  processing.

10 years agoAdd am64 support
William Cohen [Thu, 1 Jan 1970 00:19:29 +0000 (00:00 -0019)]
Add am64 support

The "uname -m" reports arm64 as aarch64. Some translation is needed to
convert the name to the proper arch name so the appropriate Makefile
can be found.  Also need to report the arch as a 64-bit architecture.

10 years agostap-report: 'ls' the contents of each database directory before analysing.
Dave Brolley [Wed, 25 Sep 2013 16:54:11 +0000 (12:54 -0400)]
stap-report: 'ls' the contents of each database directory before analysing.

10 years agotapset memory.stp: correct VM_FAULT_MINOR conditional handling
Paddie O'Brien [Wed, 25 Sep 2013 15:46:35 +0000 (11:46 -0400)]
tapset memory.stp: correct VM_FAULT_MINOR conditional handling

This impacts the pfaults.stp sample.

Reported-By: Thomas Knauth <thomas.knauth@gmx.de>
10 years agoOpen and close NSS certificate databases using an explicit "dbm:" prefix.
Dave Brolley [Wed, 25 Sep 2013 15:02:10 +0000 (11:02 -0400)]
Open and close NSS certificate databases using an explicit "dbm:" prefix.

Only if the NSS version is >= 3.12.

10 years agoAdd SEC_ERROR_LEGACY_DATABASE to the NSS errors known by systemtap.
Dave Brolley [Wed, 25 Sep 2013 15:00:55 +0000 (11:00 -0400)]
Add SEC_ERROR_LEGACY_DATABASE to the NSS errors known by systemtap.

10 years agostap-report: Report on the status of NSS certificate databases.
Dave Brolley [Wed, 25 Sep 2013 15:00:07 +0000 (11:00 -0400)]
stap-report: Report on the status of NSS certificate databases.

10 years agoDefine vzalloc() and vzalloc_node() for systems without them.
David Smith [Tue, 24 Sep 2013 16:20:22 +0000 (11:20 -0500)]
Define vzalloc() and vzalloc_node() for systems without them.

* buildrun.cxx (compile_pass): Add 'exportconf' tests for vzalloc() and
  vzalloc_node().
* runtime/linux/alloc.c: Use STAPCONF_VZALLOC and STAPCONF_VZALLOC_NODE to
  know if we need private versions of vzalloc() and vzalloc_node().

10 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
David Smith [Tue, 24 Sep 2013 16:05:04 +0000 (11:05 -0500)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

10 years agoDefine KERN_CONT for old kernels in runtime/transport/symbols.c.
David Smith [Tue, 24 Sep 2013 16:04:12 +0000 (11:04 -0500)]
Define KERN_CONT for old kernels in runtime/transport/symbols.c.

10 years agostap-report: also collect NSS* env vars
Frank Ch. Eigler [Mon, 23 Sep 2013 18:32:00 +0000 (14:32 -0400)]
stap-report: also collect NSS* env vars

10 years agostap-report: add stap-server-related data
Frank Ch. Eigler [Sat, 21 Sep 2013 01:18:36 +0000 (21:18 -0400)]
stap-report: add stap-server-related data

... like the stap-server logs and DNS/hostname data

10 years agoFixes for CC=clang CXX=clang++
Josh Stone [Fri, 20 Sep 2013 23:57:27 +0000 (16:57 -0700)]
Fixes for CC=clang CXX=clang++

We can compile almost everything with clang now, except:
- loc2c.c due to nested functions.
- stapdyn/ because dyninst pulls in __gnu_cxx::hash_map for GNUC < 4.3,
  which triggers -Wdeprecated in libstdc++-4.8.1.
  (clang #defines itself as GNUC 4.2.1.)

* loc2c-test.c (fail): Indicate that this is itself a formatted
  function, so it doesn't complain about non-const 'fmt' passed to
  vfprintf.  (The callers are in fact passing const strings.)
* session.cxx (systemtap_session::parse_cmdline): Added braces so
  that the if-for-if-else doesn't have a dangling else.
* stapregex-dfa.h: translator_output is a class.
* stapregex.h: translator_output is a class; dfa is a struct.
* tapset-method.cxx (java_builder): Remove unused cache_initialized.

10 years agotestsuite: split std_asm out of std_misc.exp
Josh Stone [Fri, 20 Sep 2013 23:08:28 +0000 (16:08 -0700)]
testsuite: split std_asm out of std_misc.exp

The asm part of sdt_misc.exp was not really dependent on any other part
of that testcase, so we can let it stand alone for direct testing.  Its
reported name in test results is left as "sdt_misc", so it can still be
easily compared to previous test runs.

10 years agoSDT: Use %foo for section types rather than "foo"
Josh Stone [Fri, 20 Sep 2013 23:00:44 +0000 (16:00 -0700)]
SDT: Use %foo for section types rather than "foo"

GAS can take section types as "foo", @foo, or %foo.  We had the quoted
form, but this is not documented, and llvm-mc doesn't support it.  Using
@foo starts a comment on ARM, so we're left with %foo.

For note, we have to escape it to %%note for the asm()'s operand
expansion, but leave it as %note for pure assembly.  For progbits, there
are no operands, so it's %progbits either way.

Thanks to Martin C. Martin for first reporting this to LLVM[1], and then
returning to systemtap with a suggested compatibility fix.
 [1] http://llvm.org/bugs/show_bug.cgi?id=17270

10 years agoFix up testsuite/Makefile.am RUNTEST variable
William Cohen [Thu, 19 Sep 2013 20:56:00 +0000 (16:56 -0400)]
Fix up testsuite/Makefile.am RUNTEST variable

The '"'s in the definition of RUNTEST in testsuite/Makefile.am was
making causing the test for DEJAGNU to fail.  There didn't seem to be
a reason to keep the quotes around, so they were removed and "make
installcheck" works again.

10 years agoNew test: compile server recovers from avahi-daemon restart.
Dave Brolley [Thu, 19 Sep 2013 20:20:05 +0000 (16:20 -0400)]
New test: compile server recovers from avahi-daemon restart.

10 years agoFix incorrect determination of the compile server's address.
Dave Brolley [Thu, 19 Sep 2013 20:08:47 +0000 (16:08 -0400)]
Fix incorrect determination of the compile server's address.

The message in the server log which was used for this had
changed.

10 years agoCorrect systemtap.spec to match support currently available on aarch64
William Cohen [Wed, 18 Sep 2013 17:25:29 +0000 (13:25 -0400)]
Correct systemtap.spec to match support currently available on aarch64

The aarch64 does not have dyninst, crash, or publican available.  Thus,
the systmetap.spec file needs to turn those off those features
to allow systemtap to build  on aarch64.

10 years agoUpdate gettext related material
William Cohen [Thu, 19 Sep 2013 18:25:20 +0000 (14:25 -0400)]
Update gettext related material

The autoreconf command did not update the po/Makefile.in file.  Needed
to update files files with a "gettext -f" so there is no complaint
about version mismatch for gettext.

10 years agoUpdate autoconf related files to support aarch64
William Cohen [Thu, 19 Sep 2013 15:39:17 +0000 (11:39 -0400)]
Update autoconf related files to support aarch64

The config.sub and config.guess were generated with an older version
of autoconf that did not know about aarch64 (64-bit ARM).  Updated the
various files to support the aarch64 by running the following command:

autoreconf -v -f -i

10 years agoRHBZ 874205 [FJ6.2 Bug] Handle avahi-deamon restart gracefully in stap-serverd.
Dave Brolley [Wed, 18 Sep 2013 15:17:05 +0000 (11:17 -0400)]
RHBZ 874205 [FJ6.2 Bug] Handle avahi-deamon restart gracefully in stap-serverd.

stap-serverd was crashing when the avahi-daemon was restarted. There was
some inproper use of the avahi-client API which casued this.
avahi_threaded_poll_stop() was being called from within the client callback
function.

Some reading of the API docs revelaed that, in this situation, the old
client should be freed and a new one created in order to transition
to the new daemon if/when it is started.

Also noticed a potential double free of objects associated with the client
when freeing the client. Freeing the client also frees the associated objects,
so it is not necessary, and potentially wrong, to free them ourselves before
freeing the client.

10 years agoIn the compile-server client, save the returned module before printing its name.
Dave Brolley [Tue, 17 Sep 2013 20:05:17 +0000 (16:05 -0400)]
In the compile-server client, save the returned module before printing its name.

10 years agoAvoid module compilation problems by unsetting the environment variable 'ARCH'.
David Smith [Wed, 18 Sep 2013 14:44:13 +0000 (09:44 -0500)]
Avoid module compilation problems by unsetting the environment variable 'ARCH'.

* testsuite/lib/systemtap.exp (setup_systemtap_environment): Make sure the
  environment variable 'ARCH' isn't set. If it is, it can cause custom
  module building to fail.

10 years agosystemtap.spec: %changelog tweaks
Frank Ch. Eigler [Mon, 16 Sep 2013 22:11:33 +0000 (18:11 -0400)]
systemtap.spec: %changelog tweaks

- Add belated 2.3 entry.
- Add reminder to include a wiki link to full release notes.

10 years agoPR15731 update: Fix 'syscall.{execve,compat_execve}' for older kernels.
David Smith [Mon, 16 Sep 2013 20:39:23 +0000 (15:39 -0500)]
PR15731 update: Fix 'syscall.{execve,compat_execve}' for older kernels.

* tapset/linux/syscalls.stp (syscall.execve): On kernels < 3.7, go back to
  using 'do_execve', since sys_execve was in arch-specific code and had
  varying arguments.
  (syscall.compat_execve): Ditto.
* tapset/linux/nd_syscalls.stp: Ditto.

10 years agoPR14960 etc., buildrun.cxx: weaken from 256 to -Wframe-larger-than=512
Frank Ch. Eigler [Mon, 16 Sep 2013 15:58:07 +0000 (11:58 -0400)]
PR14960 etc., buildrun.cxx: weaken from 256 to -Wframe-larger-than=512

Several tests have popped up where gcc goes just a little over 256.

"512 should be enough for anybody".  It was always 512.  We have
always been at war with 256.

10 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Lukas Berk [Fri, 13 Sep 2013 19:33:26 +0000 (15:33 -0400)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

10 years agoProperly check and use minidebuginfo
Lukas Berk [Fri, 13 Sep 2013 19:27:45 +0000 (15:27 -0400)]
Properly check and use minidebuginfo

dwflpp.cxx: add bool has_gnu_debuginfo() to check if section exists
dwflpp.h: declare bool has_gnu_debuginfo()
tapsets.cxx: check for .gnu_debuginfo as condition to query_module_symtab
     and listing functions in a process
minidebuginfo.stp: correct the binary to probe

10 years agoAdded test for the caller() function.
David Smith [Fri, 13 Sep 2013 17:30:54 +0000 (12:30 -0500)]
Added test for the caller() function.

* testsuite/systemtap.base/caller.exp: New test of the "caller" function.

10 years agoRemove temporary cpp file also when generating header file. Debian #722649
Mark Wielaard [Fri, 13 Sep 2013 10:22:05 +0000 (12:22 +0200)]
Remove temporary cpp file also when generating header file. Debian #722649

10 years agoBump python source releases.
Stan Cox [Thu, 12 Sep 2013 19:44:19 +0000 (15:44 -0400)]
Bump python source releases.

* testsuite/systemtap.apps/python.exp:  Bump python2release and python3release.
* testsuite/systemtap.apps/python2.stp:  Check dict value before trying to
  cast it.

10 years agoclient.exp: Make sure spawned stap finishes.
Dave Brolley [Thu, 12 Sep 2013 17:30:25 +0000 (13:30 -0400)]
client.exp: Make sure spawned stap finishes.

Test cases should ensure that all spawned processes are
sufficiently complete before the expect {} block for that
test exits. This prevents any subsequent 'close' statement
from generating a SIGHUP and possibly interrupting the spawned
process.

10 years agoFix BZ996065 by updating systemtap.base/bz10078.stp
David Smith [Thu, 12 Sep 2013 15:07:15 +0000 (10:07 -0500)]
Fix BZ996065 by updating systemtap.base/bz10078.stp

* testsuite/systemtap.base/bz10078.stp: Change probefunc() to ppfunc(),
  since probefunc()'s semantics have changed.

10 years agoParse additional SDT ARM arguments variations
William Cohen [Wed, 11 Sep 2013 21:18:29 +0000 (17:18 -0400)]
Parse additional SDT ARM arguments variations

When running qemu_count.stp example on arm a there were a number of
cases where systemtap could not parse the location of the marker
arguments for the qemu-system-arm.stp tapset.  There were two cases
that were not handled in the code:

- Use of r10 in the argument location information
- Locations with zero offsets that omit the ", #0"

10 years agoNote that inode-uprobes gained return probes in 3.10
Josh Stone [Wed, 11 Sep 2013 16:56:59 +0000 (09:56 -0700)]
Note that inode-uprobes gained return probes in 3.10

10 years agoBZ915180: fix _stp_is_comat_task typo in s390 test case
Frank Ch. Eigler [Wed, 11 Sep 2013 10:12:52 +0000 (06:12 -0400)]
BZ915180: fix _stp_is_comat_task typo in s390 test case

10 years agoFix i[36]86 target matching in systemtap.base/sdt_misc.exp.
David Smith [Tue, 10 Sep 2013 20:16:42 +0000 (15:16 -0500)]
Fix i[36]86 target matching in systemtap.base/sdt_misc.exp.

10 years agoMake user_string_n_quoted.exp more robust.
David Smith [Mon, 9 Sep 2013 20:03:31 +0000 (15:03 -0500)]
Make user_string_n_quoted.exp more robust.

* testsuite/systemtap.string/user_string_n_quoted.exp: Several small
  changes. If we're not doing install testing, mark the test as
  untested. Increase the timeout value, in case we're operating with a
  cold cache. If we timeout, try to kill stap. Properly call "close" and
  "wait" after "spawn" call.
* testsuite/systemtap.string/user_string_n_quoted.stp: Change
  'nd_syscall.write' to 'syscall.write', since the 'syscall' variant has
  more support.

10 years agoFix minidebuginfo.exp testcase
Lukas Berk [Fri, 6 Sep 2013 17:41:39 +0000 (13:41 -0400)]
Fix minidebuginfo.exp testcase

The minidebuginfo testcase was based off of an incomplete documenation.  We need
to properly fix the creation of the executable to test in a standalone instance.

create-minidebug.sh - properly create standalone testcase, this includes
      removing all symbol, relocation and .debug_* sections.
      Tweak naming of files with binary. prefix for easier
      tracking

minidebuginfo.exp - updated file names to target and cleanup

10 years agominidebuginfo: tighten up create-minidebug.sh
Frank Ch. Eigler [Thu, 5 Sep 2013 19:16:41 +0000 (15:16 -0400)]
minidebuginfo: tighten up create-minidebug.sh

... so we remove .debug_* and .sym* stuff, leaving only the
new .gnu_debugdata.

10 years agoAdded s390x kfails when reading certain addresses that should error, but don't.
David Smith [Thu, 5 Sep 2013 16:53:40 +0000 (11:53 -0500)]
Added s390x kfails when reading certain addresses that should error, but don't.

* testsuite/systemtap.base/net-sanity.exp: Add s390x kfails.
* testsuite/systemtap.base/atomic.exp: Ditto.

10 years agoAdded a testcase for BZ1003976.
David Smith [Thu, 5 Sep 2013 16:49:08 +0000 (11:49 -0500)]
Added a testcase for BZ1003976.

* testsuite/systemtap.base/cmdline.exp: New file.
* testsuite/systemtap.base/cmdline.stp: Ditto.

10 years agoBZ1003976: fix function::cmdline_arg processing
Frank Ch. Eigler [Thu, 5 Sep 2013 15:48:39 +0000 (11:48 -0400)]
BZ1003976: fix function::cmdline_arg processing

* tapset/linux/context.stp (cmdline_arg): Simplify, correct.

10 years agoMinor fixes for java/Makefile
Josh Stone [Wed, 4 Sep 2013 22:52:52 +0000 (15:52 -0700)]
Minor fixes for java/Makefile

- Use the full path to refer to HelperSDT.class, so that make can
  actually tell when it needs to be rebuilt.

- libselinux and git_version.h are not used by this component.

10 years agoFixed PR15928 by making memory1.exp read kernel memory instead of user memory.
David Smith [Wed, 4 Sep 2013 18:25:05 +0000 (13:25 -0500)]
Fixed PR15928 by making memory1.exp read kernel memory instead of user memory.

* testsuite/systemtap.printf/memory1.exp: Build a custom kernel module to
  probe.
* testsuite/systemtap.printf/memory1.stp: Instead of probing
  'syscall.open', probe the custom kernel module instead.
* testsuite/systemtap.printf/memory1_module.Makefile: New file.
* testsuite/systemtap.printf/memory1_module.c: Ditto.

10 years agoDo better testing to determine whether the hw_watch-*.stp will work
William Cohen [Tue, 3 Sep 2013 21:26:00 +0000 (17:26 -0400)]
Do better testing to determine whether the hw_watch-*.stp will work

If perf doesn't support the hardware watchpoints, then systemtap hardware
watchpoints are not going to work either.

10 years agoSkip debugtypes.exp if we don't have uprobes.
David Smith [Tue, 3 Sep 2013 19:39:51 +0000 (14:39 -0500)]
Skip debugtypes.exp if we don't have uprobes.

10 years agoRemove PR15913 fix, since the problem isn't just with nd_syscall.execve.
David Smith [Tue, 3 Sep 2013 19:38:29 +0000 (14:38 -0500)]
Remove PR15913 fix, since the problem isn't just with nd_syscall.execve.

* tapset/linux/nd_syscalls.stp: Revert s390x using register r2 for the
  first argument.

10 years agoUpdate s390's syscall.getresgid16 and syscall.getresuid16 probe aliases.
David Smith [Tue, 3 Sep 2013 16:12:55 +0000 (11:12 -0500)]
Update s390's syscall.getresgid16 and syscall.getresuid16 probe aliases.

* tapset/linux/s390/syscalls.stp: Update syscall.getresgid16 and
  syscall.getresuid16 probe aliases to handle upstream renaming of
  arguments.

10 years agoFix PR15913 by handling nd_syscall.execve's 'filename' argument on s390x.
David Smith [Fri, 30 Aug 2013 20:52:52 +0000 (15:52 -0500)]
Fix PR15913 by handling nd_syscall.execve's 'filename' argument on s390x.

* tapset/linux/nd_syscalls.stp: On s390x, use register r2 for the filename
  argument.

10 years agoImprove the 'num_args' subtest of systemtap.context/context.exp.
David Smith [Fri, 30 Aug 2013 18:51:42 +0000 (13:51 -0500)]
Improve the 'num_args' subtest of systemtap.context/context.exp.

* testsuite/systemtap.context/num_args.stp: Improve s390 support by
  looking in r2 for the first argument.
* testsuite/systemtap.context/num_args.tcl: Fail if we don't get the
  proper string function arguments (instead of silently ignoring the
  error).

10 years agoSkip the 'utf' tests if we don't have uprobes.
David Smith [Fri, 30 Aug 2013 16:12:34 +0000 (11:12 -0500)]
Skip the 'utf' tests if we don't have uprobes.

* testsuite/systemtap.base/utf_pretty.exp: Don't run test if we're not
  doing install testing or if we don't have uprobes.
* testsuite/systemtap.base/utf_user.exp: Ditto.
* testsuite/systemtap.base/utf_user_trunc.exp: Ditto.

10 years agoProperly read user memory in target_set.stp.
David Smith [Fri, 30 Aug 2013 16:03:14 +0000 (11:03 -0500)]
Properly read user memory in target_set.stp.

* testsuite/systemtap.base/target_set.stp: Be sure to read user memory
  with user_long().

10 years agoDon't run target_set_thread.exp if we don't have uprobes.
David Smith [Fri, 30 Aug 2013 15:59:16 +0000 (10:59 -0500)]
Don't run target_set_thread.exp if we don't have uprobes.

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