| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
* 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().
|
|
|
|
|
| |
* tapset/context.stp: Add cmdline_str, cmdline_arg and cmdline_args.
* testsuite/buildok/context_test.stp: Add tests for new functions.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
stap-client-connect.c: use SSL_BadCertHoook to provide an opportunity for
the user to trust and/or import the server's certificate.
stap-client: Reorganized so that newly trusted certificates can be used.
Also does the actual prompting.
|
| |
|
|
|
|
|
|
| |
-Remove unneeded pagebreak()
-Remove duplicate system() command description
-Clean up the function prototypes
|
| |
|
| |
|
|
|
|
|
|
| |
* tapset/task_time.stp: New functions task_stime_tid(), task_utime_tid()
and task_time_string_tid().
* testsuite/buildok/task_test.stp: Add tests.
|
| |
|
|
|
|
|
|
| |
* tapset/proc_mem.stp: Add proc_mem_size_pid, proc_mem_rss_pid,
proc_mem_shr_pid, proc_mem_txt_pid, proc_mem_data_pid and
proc_mem_string_pid functions to tapset.
|
|
|
|
|
|
|
|
|
|
| |
Ideally make install wouldn't touch the src or build dirs. When the build
dir is mounted so root cannot write to it a make install would fail
because git_version.sh tried to create a temporary file. Fix by creating
temporary git_version.h.new file in temp dir.
* git_version.sh: Create temp dir and git_version.h.new outside src
and build dir. Change all occurances of $outfile.new to $outfilenew.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parse.h (try_block): New class. Update basic visitors.
* staptree.cxx: Implement basic visitors.
* parse.cxx (expect_kw): Fix to actually look for keywords.
(parse_try_block): New function.
(lexer ctor): Designate 'try' and 'catch' as keywords.
* elaborate.cxx (dead_assignment_remover, dead_statmtexpr_remover): Optimize.
(other visitors): Implement.
* translate.cxx (c_unparser): Implement via super-handy __local__ labels.
(emit_probe, emit_function): Make outer out: label also __local__.
* testsuite/buildok/fortyone.stp, semko/fortynine.stp,
systemtap.base/trycatch.exp: Test it.
* NEWS, doc/langref.txt, stap.1.in: Document it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--disable-cache : turn off all caching
--clean-cache : clean up stale entries and then quit
--poison-cache : force regeneration of items that would have hit the cache
These are undocumented for now, until we decide whether they are
generally useful.
* main.cxx (main): Parse the new options.
* session.h (systemtap_session): Add poison_cache; document the others.
* clean.cxx (clean_cache): No longer static.
(get_stapconf_from_cache, get_script_from_cache): Respect poison.
* tapsets.cxx (tracepoint_builder::get_tracequery_module): Ditto.
(dwarf_cast_expanding_visitor::filter_special_modules): Ditto.
|
|
|
|
|
|
|
|
|
|
|
| |
I'm separating the caching and creation logic for stapconf, so it can be
conditionalized on s.use_cache instead of s.use_script_cache.
* session.h (systemtap_session): Store base_hash for better reuse.
* hash.cxx (get_base_hash): Get the base from the session, or build it.
(find_hash): Split into separate script/stapconf versions.
* cache.cxx (add_to_cache, get_from_cache): Ditto.
* main.cxx (main): Adapt caller, and delay stapconf until pass-4.
|
|
|
|
| |
* main.cxx (main): Reorganize the end of pass-2 a bit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are some module options that require us to disable caching for the
script, but before now this had a global effect. There are some cache
objects, like tracepoint and @cast query modules, which we would like to
cache even when the script itself needs to be uncached.
* session.h (systemtap_session): New use_script_cache flag.
* main.cxx (main): -m & -k can just disable the script cache. Failure to
create the cache directories still disables all caching.
* hash.cxx (create_hashdir): Failure disables all caching.
* cache.cxx (add_to_cache): Failure only toggles the script caching. If
the stapconf fails though, we don't need to block the .ko reuse.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* runtime/procfs-probes.c: Removed old kernel 2.6.16 code. Simplified
_spp_lock macros.
(_stp_proc_open_file): If file is busy, use a wait queue to wait on it
being available.
(_stp_proc_release_file): Decrease open count.
* tapset-procfs.cxx (emit_module_init): Updated procfs probe
initialization/shutdown routine names.
(emit_module_exit): Ditto.
|
|
|
|
| |
their installation of kernel devel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* staptree.h (functiondecl): Add a synthetic flag.
* elaborate.cxx (semantic_pass_opt1): Don't warn about synthetic funcs.
* tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol): Mark
the new function as synthetic.
(dwarf_cast_expanding_visitor::visit_cast_op): Ditto.
(tracepoint_var_expanding_visitor::visit_target_symbol_arg): Ditto.
* tapset-perfmon.cxx
(perfmon_var_expanding_visitor::visit_target_symbol): Ditto.
* tapset-procfs.cxx (procfs_var_expanding_visitor::visit_target_symbol):
Ditto.
* testsuite/semok/thirtyeight.stp: New check with -W and @defined.
|
|
|
|
|
| |
* configure (have_librpm): Move to AC_CHECK_LIB
* configure.ac: Regenerate.
|
|
|
|
|
| |
* configure (have_librpm): Define.
* configure.ac: Regenerate.
|
|
|
|
|
|
|
|
| |
* session.h
* NEWS: Discuss it.
* main.cxx: Parse it.
* session.h (num_errors): Provide it.
* semok/fortyeight.stp, semok/thirtyseven.stp: Test it.
|
| |
|
|
|
|
|
|
|
| |
We need to poison the false case of valid "@defined(x)?x:y", so we know
that the @defined is correctly leading to the true case only.
* testsuite/semok/thirtysix.stp: poison false in valid cases.
|