| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
As mjw's aborted commit 5ab0b1b6 attempted, we can use a @cast to get
the filesystem root for the current task instead of embedded-C. I've
left it using the kernel debuginfo instead of headers for now, because
all of the neighboring @casts are doing the same.
* tapset/dentry.stp (d_path): Use @cast to get the root.
(__dentry_get_current_root): Remove, no longer needed.
* testsuite/buildok/dentry.stp: Test that dentry's functions all build.
|
| |
|
|
|
|
| |
This reverts commit da3dfc346ff926f0f1bdd2872fe4f5f8e920953a.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewed the language reference manual and made editing changes:
-Reorderd sections for better grouping
-Added description of the @defined operation
-Corrected limits for MAXSTRENLEN and number of indices in associate array
-Adjusted language in aggregates section
-Corrected @hist example writeup.
-Make output for @hist avoid page breaks
-Updated information about manpages in "For Futher References" section
|
| |
|
|
|
|
|
| |
Inspired by the Python equivalents, these new utility functions just
make it a little cleaner to match at the beginning or end of a string.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We didn't really have good semantics for what is meant by MAXTRYLOCK=0,
so when skipped.exp tried it, we ended up locking the variable and then
reporting a skip without ever unlocking it.
This is now cleaning up the semantics such that MAXTRYLOCK defines how
many times we should loop if the lock is busy. Thus MAXTRYLOCK=0 means
we try only once and fail immediately.
The testcase was accidentally creating contention due to the broken
unlock behavior. We now have to try a bit harder to create real
contention, so some lengthy delays are inserted to hoard the lock.
* runtime/probe_lock.h (stp_probe_lock): Fix the skip behavior.
* testsuite/systemtap.base/skipped.exp: Add a big udelay.
|
|
|
|
|
| |
* tapset/proc_mem.stp: Move header file so that it will compile on RHEL5
systems.
|
|
|
|
|
|
|
|
| |
It's writing into a system-wide resource, so it shouldn't be permitted
to just anyone. Also remove the printk fallback that isn't actually
functional.
* tapset/logging.stp (ftrace): Remove unprivileged and printk.
|
|
|
|
|
| |
* tapset/proc_mem.stp(_stp_get_mm_counter_file_rss,
_stp_get_mm_counter_anon_rss): Use embedded function.
|
|
|
|
|
|
|
|
|
|
| |
Sometimes you need multiple headers to fully describe a type, so we now
permit them to be listed together, e.g. "kernel<foo.h><bar.h>".
* buildrun.cxx (make_typequery): Split the input string into a vector.
(make_typequery_kmod, make_typequery_umod): Use the vector of headers.
* testsuite/semok/cast.stp: Add a multi-header case.
* stap.1.in, NEWS: Document it.
|
|
|
|
|
| |
This reverts commit 5ab0b1b6c4d3a7f1ea156835a32000669e378886.
Wrongly pushed commit.
|
|
|
|
|
|
| |
(RH572260).
* sdt.h (GNUC_VERSION): Check against gcc 4.5.0
|
|
|
|
|
|
| |
make on RHEL-5 and earlier cannot deal with the :: in the man page names.
This work around uses the install-data-local rule to install the
manpages to avoid confusing the older versions of make.
|
|
|
|
|
|
|
| |
* testsuite/buildok/scheduler-test-tracepoints.stp: Removed unneeded '-u'
option.
* testsuite/buildok/vm.tracepoints.kmalloc.stp: Ditto.
* testsuite/buildok/vm.tracepoints.stp: Ditto.
|
| |
|
|
|
|
|
|
|
|
|
| |
Even in unoptimized mode we want constant folding to work to make sure
non-existing $variable expressions (detected through @defined) aren't
included.
* elaborate.cxx (semantic_pass_optimize1): Call semantic_pass_const_fold()
unconditionally.
|
|
|
|
|
| |
* tapset/dentry.stp: Removed embedded-c include and function
__dentry_get_current_root(). Use task_current and @cast in d_path().
|
| |
|
|
|
|
|
| |
* runtime/stack.c(print_stack_ops): Use print_context_stack and
adjust version code.
|
| |
|
|
|
|
|
| |
Complete the renaming scheme with prefix of "tapset::" for the man
pages related to over all description of groups of probes.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The constant-folding is now enabled for s.listing_mode_vars, despite all
other optimizations being disabled. This is needed so we can prune any
invalid branches that are gated by @defined.
* elaborate.cxx (semantic_pass): Leave the optimization decision to the
optimization passes themselves.
(semantic_pass_optimize1): Predicate most optimizations, but enable the
constant-folding for listing_mode_vars too.
(semantic_pass_optimize2): Predicate all (1) optimizations.
* testsuite/semok/defined_list_vars.stp: New test.
|
|
|
|
| |
sdt.h (GNUC_VERSION) Include __GNUC_RH_RELEASE__. Check for at least gcc 4.4.4
|
|
|
|
|
|
| |
* tapset/task.stp: Used '@defined()' to remove kernel version checks.
* tapset/dentry.stp: Ditto.
* tapset/scsi.stp: Ditto.
|
|
|
|
|
|
|
| |
* testsuite/systemtap.context/uprobe_stmt_num.exp: Change utrace test to
uprobes test.
* testsuite/systemtap.context/uprobe_uaddr.exp: Ditto.
* testsuite/systemtap.base/bz5274.exp: Ditto.
|
|
|
|
| |
* sdt.h (GNUC_VERSION): New.
|
|
|
|
|
|
|
|
| |
* initscript/logrotate.stap-server: Add logrotate config file to make sure
stap-server logfile doesn't grow too large.
* systemtap.spec: Install logrotate config file. Also follow
<https://fedoraproject.org/wiki/PackagingDrafts/Logfiles> to correctly
create the logfile.
|
|
|
|
|
| |
* systemtap.spec: Fixed directory and file permissions on
/usr/share/systemtap/runtime/uprobes and /var/log/stap-server.
|
|
|
|
|
|
|
| |
The various man pages for each systemtap probe and function
are prepended with "probe::" and "function::" respectively to avoid
collisions with other man3 pages with the same name. For example
systemtap's strlen function was colliding with glibc's strlen function.
|
|
|
|
|
| |
sdt.h (VOLATILE_ARG): gcc 4.4.3 support for inline asm
argument debug info means volatile is not needed.
|
|
|
|
|
|
| |
* configure.ac: With AC_CHECK_LIB()'s four-parameter variant,
the default AC_DEFINE etc. is removed, so restore the key
parts by hand.
|
| |
|
|
|
|
|
|
|
|
| |
- Use assigned gid/uid of 155/155 for stap-server.
- Create stap-server group in main systemtap rpm.
- Make uprobes runtime directory read/write/search by members
of stap-server group in main systemtap rpm.
- Keep stap-server log in %{_localstatedir}/log/stap-server/log
|
|
|
|
|
|
|
|
|
|
| |
* tapset/tty.stp: Used '@defined()' to remove kernel version checks.
* tapset/scheduler.stp: Ditto.
* tapset/vfs.stp: Used '@defined()' to remove kernel version checks. Also
made several probe points optional instead of using kernel version
checks to know when to include them.
* testsuite/buildok/vfs_testcase.stp: Removed stap '-u' (unoptimized mode)
switch, since '@defined()' doesn't work in unoptimized mode.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The *ko tests are for things that SHOULD fail, but semko/nineteen is a
test that should pass but often doesn't (due to inline var trouble). It
should be in semok to set the expectation properly.
It does pass on F12 now, but if we want to silence the error for older
gcc, setup_kfail is the right approach.
|
|
|
|
|
|
|
| |
* tapsets.cxx (sdt_query::convert_probe): Fix a few missing tokens.
(sdt_var_expanding_visitor::visit_target_symbol): Ditto.
* translate.cxx (c_unparser::record_actions): Add a defensive check,
which perhaps someday can be an assertion instead.
|
|
|
|
|
|
|
|
|
|
|
| |
* translate.cxx (c_unparser::record_actions): Take a token to fill in
last_stmt for MAXACTION errors.
(c_unparser::*): Pass a token to record_actions.
(c_unparser::visit_try_block): The try/catch blocks are also basic
blocks, so they should flush record_actions when done.
(c_unparser_assignment::c_assignop): Set last_stmt for /= and %=.
(c_unparser::visit_foreach_loop): Set last_stmt for agg. overflow.
(c_unparser::visit_print_format): Set last_stmt for %m errors.
|
|
|
|
| |
* elaborate.cxx (add_global_var_display): Assign a few token*s.
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
| |
* tapset/context.stp: Improved casting to 'mm_struct' on RHEL5 by changing
the header file referenced from '<linux/mm_types.h>' to
'<linux/sched.h>' (since mm_types.h doesn't exist on RHEL5). On newer
kernels, sched.h includes mm_types.h.
* tapset/proc_mem.stp: Ditto.
|
|
|
|
|
|
|
|
|
|
| |
* tapset/syscalls.stp: Used '@defined()' to remove kernel version checks.
* tapset/syscalls2.stp: Ditto.
* tapset/x86_64/syscalls.stp: Ditto.
* tapset/nd_syscalls.stp: Updated to match tapset/syscalls.stp.
* tapset/nd_syscalls2.stp: Updated to match tapset/syscalls2.stp.
* tapset/x86_64/nd_syscalls.stp: Updated to match
tapset/x86_64/syscalls.stp.
|
| |
|
|
|
|
|
| |
* tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol): Don't
squash target_symbol errors in the operand of @defined().
|