| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
* session.h (kernel_config[]): New session field.
* main.cxx (parse_kernel_config): Populate it.
* parse.cxx (eval_comparison): Use it.
* testsuite/buildok/utrace.stp, testsuite/parseok/kconfig.stp: New tests.
* NEWS, stap.1.in, doc/langref.tex: Mention it.
|
|
|
|
|
|
|
| |
Makes it easier to see which probe queries use lots of memory.
* main.cxx (getmemusage): New function.
(main): Use new function printing passes in verbose mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Gneral work on options in the client and server.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* modsign.cxx (init_cert_db_path): Use 'system' call.
(sign_module): Renamed to 'main'. This is now an independant program.
Check for arguments. Return 1 on error.
* buildrun.cxx (modsign.h): Don't #include it.
(compile_pass): Don't sign the module.
* main.cxx (main): Don't copy the module signature.
* cache.cxx (add_to_cache): Don't cache the module signature.
* Makefile.am (bin_PROGRAMS): Add stap-sign-module.
(stap_SOURCES): Remove modsign.cxx and nsscommon.c.
(stap_sign_module_SOURCES): New variable.
(stap_sign_module_CPPFLAGS): New variable.
(stap_sign_module_LDFLAGS): New variable.
(stap_sign_module_LDADD): New variable.
* stap-server (initialization): Initialize unprivileged.
(parse_options): Handle --unprivileged.
(create_response): Call stap-sign-module if --unprivileged was
specified.
* systemtap.spec: Add stap-sign-module to stap-server.
* Makefile.in: Regenerated.
* doc/Makefile.in: Regenerated.
* doc/SystemTap_Tapset_Reference/Makefile.in: Regenerated.
* grapher/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* testsuite/aclocal.m4: Likewise.
* configure: Likewise.
* testsuite/configure: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We always use lex_cast either to string or from string, so I made that
explicit, and got rid of some string copies in the process. There was
also stringify(), which was redundant to lex_cast<string>.
We also always used lex_cast_hex to string, so that's now hard-coded and
again eliminated a string copy.
For lex_cast_qstring<string>, there's no need to write the streamify the
input, so a specialization now operates directly on the input.
Hopefully this is a bit cleaner, and I do measure it to be a little
faster on scripts with many probes.
|
|
|
|
|
|
|
|
|
|
|
| |
* hash.cxx (find_script_hash): Removed unused merge option.
* main.cxx (checkOptions): Removed merge option checks.
(main): Removed merge option.
* session.h: Ditto.
* initscript/README.initscript: Removed reference to '-M' option.
* initscript/systemtap.in (stap_getopt): Ditto.
* testsuite/parseko/cmdline01.stp: Removed merge option test.
* testsuite/parseko/cmdline05.stp: Ditto.
|
|
|
|
|
|
|
|
| |
* main.cxx (main): Perform equivalent sed by hand on uname()->machine.
* stap.1.in: Clarify -a ARCH slightly.
* tapsets.cxx (validate_module_elf): Accept "arm*"for EM_ARM.
* tapset/**, testsuite/**: Removed/collapsed "i386"/"i686" branches,
renamed "ppc64"->"powerpc" and "s390x"->"s390".
|
|
|
|
|
| |
* main.cxx (main): Initialize s.architecture to value as if
from `uname -i`. Specifically, squash i?86 -> i386.
|
|
|
|
|
|
|
|
|
|
|
| |
* main.cxx (main): Add 'a:' and 'B:' options.
* session.h (kbuildflags): New place to store -B args.
* testsuite/systemtap.base/cmd_parse.exp: Test them lightly.
* buildrun.cxx (run_make_cmd): Use "--no-print-directory"
rather than ">/dev/null" in kbuild invocations. Pass
'-a' and '-B' flags along.
* hash.cxx (find_script_hash): Add them.
* NEWS, stap.1.in: Mention this.
|
|
|
|
|
|
| |
... otherwise the new stuff can get cleaned before use.
* cache.cxx (add_to_cache): Do clean_cache() first, not last.
|
|
|
|
|
|
|
| |
* util.cxx (stap_system): Take extra verbosity value. Standardize
error handling / tracing.
* util.h: Corresponding changes.
* buildrun.cxx, main.cxx, modsign.cxx: Update callers.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* main.cxx (main): For "-d /path" arguments, enable task finder.
* runtime/sym.h (_stp_module): Add *vmcb member.
* task_finder{.cxx,.h} (emit_vma_callback_probe_decl): Zap.
* tapset-itrace.cxx, tapset-utrace.cxx: Use unwindsyms_modules
instead.
* tapsets.cxx (uprobe::emit_module_decls): Ditto.
* translate.cxx (emit_module_init): Emit task finder registrations
for vmcb's associated with _stp_modules.
(dump_unwindsyms): Associate vmcbs with user-space unwindsyms entries.
|
|\
| |
| |
| |
| |
| | |
Conflicts:
cache.cxx
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* cache.cxx (add_to_cache,clean_cache): add static markers
* main.cxx (main): likewise
* runtime/staprun/common.c (send_request): likewise
* runtime/staprun/mainloop.c (stp_main_loop): likewise
* runtime/staprun/staprun.c (remove_module): likewise
* runtime/staprun/staprun.h: include sdt.h
* runtime/staprun/staprun_funcs.c (insert_module): likewise
* util.cxx (stap_system): likewise
* tapset/stap_staticmarkers.stp: new file
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rather than relying on 'unoptimized' to tell us that the listing mode
should print the variables too, this adds an explicit listing_mode_vars.
* session.h (systemtap_session): Add listing_mode_vars
* main.cxx (main): Set s.listing_mode_vars appropriately.
(printscript): Use the new flag for deciding whether to print locals
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
main.cxx
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We cannot guarantee that (un)optimized code compiles and/or generates
fully functional code, so don't tempt the user to try it out.
* session.h (struct systemtap_session): Remove gcc_flags string field.
* hash.cxx (find_script_hash): Don't add gcc_flags.
* main.cxx (usage): Remove -O[0123s] documentation.
(main): Don't use gcc_flags.
* buildrun.cxx (compile_pass): Don't add gcc_flags to EXTRA_CFLAGS.
* stap1.in: Remove -O[0123s] documentation.
* testsuite/systemtap.base/cache.exp: Remove tests for -O[0123s].
|
| |
| |
| |
| |
| |
| |
| | |
* main.cxx (main): Default gcc_flags to kernel opt-level (empty).
* buildrun.cxx (compile_pass): Add -freorder-blocks back, document choices.
* stap.1.in: Document new default opt-level.
* testsuite/systemtap.base/cache.exp: Adjust for new caching results.
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
main.cxx
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* session.h (struct systemtap_session): Add gcc_flags string field.
* main.cxx (usage): Document -O[0123s].
(main): Default gcc_flags to -O0. Add O:: to getopt_long. Handle case
'O' to set gcc_flags.
* buildrun.cxx (compile_pass): Add gcc_flags to EXTRA_CFLAGS.
* stap1.in: Add -O[0123s] documentation.
* testsuite/systemtap.base/cache.exp: Add tests for -O[0123s].
|
| | |
|
| | |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The patch makes use of the RPM libraries to determine which rpm supplied
the executable and from that information suggest a command to install the
appropriate debuginfo rpm.
This is enabled using the "--with-rpm" option for configure. Can be
explicitly disabled with "--without-rpm".
|
|\| |
|
| |
| |
| |
| | |
Fix: Enhance -x option checking to only accept valid pid
|
| |
| |
| |
| | |
Fix: Enhance -s option checking to only accept valid size number
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
modsign.cxx
runtime/staprun/modverify.c
runtime/staprun/staprun_funcs.c
stap-authorize-server-cert
stap-authorize-signing-cert
stap-serverd
systemtap.spec
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* modsign.cxx (unistd.h,sts/stat.h,systypes.h,pwd.h): #include them.
(check_cert_file_permissions, check_db_file_permissions)
(check_cert_db_permissions): New functions.
(check_cert_db_path): Don't check for keyFiles.
* main.cxx (usage): Remove --signing-cert option.
(main): Likewise.
* cache.cxx (cassert): #include it.
(add_to_cache): Assume the module is signed.
* buildrun.cxx (compile_pass): Always sign the module.
* stap-server.8.in: Update documentation.
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
configure
testsuite/configure
|
| | |
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
Makefile.in
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Makefile.am: Add -fno-builtin-strftime to stapio_CFLAGS.
* Makefile.in: Ditto.
* runtime/staprun/common.c (stap_strfloctime): Use strftime(3).
(parse_args): Remove strftime format limitation message.
* main.cxx (usage): Ditto.
* stap.1.in: Ditto.
* staprun.8.in: Ditto.
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
aclocal.m4
configure
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* main.cxx (main): Turn of guru_mode if --unprivileged is specified and
vice-versa.
* elaborate.h (unprivileged_whitelist): New member of match_node.
* elaborate.cxx (match_node::match_node): Initialize unprivileged_whitelist.
(match_node::find_and_build): In --unprivileged mode, throw a
semantic_error for probe components which are not in
uinprivileged_whitelist.
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
configure
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We hereby no longer try to manipulate process groups in any way. We
don't set a private process group, and we never kill() our entire group
either. Instead of using system(), we now have a stap_system() which
saves the child PID, so when we get a terminating signal we can pass it
along to the child.
Signals sent through the TTY have always worked, since the TTY sends it
to the entire pgrp. However, if we're running as part of a wrapper
script or GUI, which may not have a separate process group for stap, we
still would like to allow "kill -TERM $STAPPID" to terminate stap
nicely.
There's still a short window of failure in the time that staprun is
active, because we can't kill a setuid process from a user process.
Once staprun drops privileges and execs to stapio though, everything
should work fine.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* stap-serverd (initialization): Create client certificate database if it
does not exist.
* stap-server (call_stap): Don't pass --sign-module to stap.
* session.h (unprivileged): New member of systemtap_session.
* modsign.cxx (init_cert_db_path, check_cert_db_path): New functions.
(sign_module): Call check_cert_db_path.
* main.cxx (usage): Document --signing-cert and --unprivileged.
(runner): Set default signing certificate path. Initialize s.unprivileged.
(LONG_OPT_SIGN_MODULE): Renamed to LONG_OPT_SIGNING_CERT.
(LONG_OPT_UNPRIVILEGED): #define it.
(long_options): Add --signing-cert and --unprivileged.
(runner): Allow multiple --signing-cert options. Use the last specified.
Don't reset unless the new setting is valid. Handle LONG_OPT_UNPRIVILEGED.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
* main.cxx (runner): New main function.
(waiter_handler): Signal handler for waiter process.
(waiter): Waiter process waitpid function.
(main): Fork and run wait and runner in their own processes.
|
| |
| |
| |
| | |
* main.cxx (main): Make sure we run in our own process group.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
aclocal.m4
configure
testsuite/aclocal.m4
Also:
2009-03-30 Dave Brolley <brolley@redhat.com>
* nsscommon.c (nssError): Handle SEC_ERROR_BAD_SIGNATURE.
2009-03-30 Dave Brolley <brolley@redhat.com>
* modverify.c (verify_it): Print a message if the module may have been
tampered with.
|
| |
| |
| |
| | |
the future
|
|\| |
|
| |
| |
| |
| |
| | |
Add strftime subset format support for output file name to systemtap.
This format will be evaluated when opening a new output file.
|