summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PR10506 experiment: use /sbin/insmod for uprobes.ko loadingFrank Ch. Eigler2009-08-101-2/+7
| | | | * runtime/staprun/staprun.c (enable_uprobes): insmod, not insert_module().
* It is not an error or warning if the local database of authorized signingDave Brolley2009-08-101-0/+5
| | | | certificates does not exist. It just means that the signed module is untrusted.
* Use nop instructions without parameters on armEugeniy Meshcheryakov2009-08-081-1/+1
| | | | | Fixes FTBFS, see https://buildd.debian.org/fetch.cgi?pkg=systemtap;ver=0.9.9-1;arch=armel;stamp=1249664825
* Make files executableEugeniy Meshcheryakov2009-08-073-0/+0
|
* Do not use plain [] in help string in configure.acEugeniy Meshcheryakov2009-08-0711-5627/+3388
| | | | This confuses Debian's automake.
* PR10486 Raise default MAXSTRINGLEN.Mark Wielaard2009-08-074-9/+17
| | | | | | | | * translate.cxx (translate_pass): Raise MAXSTRINGLEN to 256 for 32bit arches and to 512 for 64bit arches. * testsuite/systemtap.context/backtrace.tcl: Don't set MAXSTRINGLEN. * testsuite/systemtap.exelib/ustack.tcl: Likewise. * testsuite/systemtap.string/str_replace.exp: Explicitly set MAXSTRINGLEN.
* Fix a couple of sdt_query reorg problems.Stan Cox2009-08-062-6/+10
| | | | | | | * tapsets.cxx (sdt_query::handle_query_module): For uprobe probes: 1) find all same named probes to handle multiple probes per module 2) use new_base for uprobe probes to handle $$name * sdt_misc.exp: Test $$name
* Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-08-061-21/+34
|\
| * Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDavid Smith2009-08-061-0/+1
| |\
| * | Works with or without a ring_buffer_iter.David Smith2009-08-061-21/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/transport/ring_buffer.c (_stp_find_next_event): Works with or without a ring_buffer iterator. (_stp_find_next_event): Ditto. (_stp_data_read_trace): Ifdef'ed out using ring_buffer iterators. (_stp_get_iterator): New function. (_stp_data_write_reserve): Calls _stp_get_iterator().
* | | Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-08-0619-65/+161
|\ \ \ | | |/ | |/|
| * | Fix missing strlen compile error.Stan Cox2009-08-061-0/+1
| |/ | | | | | | StapParser.cxx (#include cstring): New.
| * RH515870 Error message about missing module uprobes when updating.Mark Wielaard2009-08-061-4/+4
| | | | | | | | | | | | Fix 3>&1 typo. * systemtap.spec: Use 2>&1 to redirect error messages.
| * PR10294: support wider range for statement probeWenji Huang2009-08-057-28/+72
| | | | | | | | | | | | | | | | | | * dwflpp.cxx (iterate_over_srcfile_lines): Add pattern parameter. * dwflpp.h (iterate_over_srcfile_lines): Ditto. * testsuite/systemtap.base/bz10294.c: Test case. * testsuite/systemtap.base/bz10294.stp: Ditto. * testsuite/systemtap.base/bz6905.exp: Deleted. * testsuite/systemtap.base/statement.exp: Merge bz10294 with bz6905.
| * PR10491 Don't assign to REG_IP if it isn't an lvalue (s390 and ia64).Mark Wielaard2009-08-062-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To fixup REG_IP to show the correct value after a [ku]probe trap we assigned the address of the actual instruction pointer of the probed instruction. That doesn't work on architectures, s390 and ia64, where REG_IP is not a simple lvalue. Just don't try to fixup the address in those cases. If this isn't enough, the uprobe_stmt_num.exp testcase will point this out. * runtime/regs.h: Define REG_IP_LVALUE for x86_64, i386, powerpc64 and arm. * tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): Only fixup REG_IP when REG_IP_LVALUE is defined. (uprobe_derived_probe_group::emit_module_decls): Likewise. (kprobe_derived_probe_group::emit_module_decls): Likewise.
| * Remove as_root calls from the printf testsuiteJosh Stone2009-08-055-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | Once upon a time, we would use sudo staprun, and so output files from "-o" were owned by root. For a while now we've used a setuid staprun instead, and the output files are created by stapio as the user. Thus, we don't need as_root to remove those files anymore. * testsuite/systemtap.printf/end1b.exp: Clean up without as_root. * testsuite/systemtap.printf/mixed_outb.exp: Ditto. * testsuite/systemtap.printf/out1b.exp: Ditto. * testsuite/systemtap.printf/out2b.exp: Ditto. * testsuite/systemtap.printf/out3b.exp: Ditto.
| * Don't spawn uprobes tests with sudoJosh Stone2009-08-055-14/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Using spawn with sudo doesn't work well, because the password prompt won't go to the correct TTY. The only reason that the uprobes tests needed to do this is so uprobes.ko could be built as root. Now instead, I've added a pre-check that will directly call the uprobes make with sudo (via the as_root proc). * testsuite/lib/systemtap.exp (uprobes_p): Check and build uprobes.ko. * testsuite/systemtap.base/uprobes.exp: Use uprobes_p; don't spawn sudo. * testsuite/systemtap.base/bz6850.exp: Ditto. * testsuite/systemtap.base/bz10078.exp: Ditto. * testsuite/systemtap.base/bz6905.exp: sudo isn't needed for -p2.
* | 2009-08-06 Dave Brolley <brolley@redhat.com>Dave Brolley2009-08-065-143/+118
|/ | | | | | | | | | | | | | | | | | | * modverify.c (staprun.h): #include it. (verify_it): Now accepts module data and signature data as arguments. Don't open and read the signature here. Don't read the module here. (verify_module): Now accepts module data as argument. Read the signature once here. * modverify.h (verify_module): Now accepts module data as argument. * staprun.c (main): Don't call check_permissions here. * staprun.h (check_permissions): Prototype removed. * staprun_funcs.c (check_permissions): Now static. Accepts module data as argument. Pass module data to check_signature. (insert_module): Canonicalize the module path early here. Call check_permissions here, passing it the mapped module data. (check_signature): Now accepts module data as argument. Pass the module data to verify_module. (check_path): Use the already-canonicalized module path.
* Fix compile error when not HAVE_NSS with staprun.Maran2009-08-051-1/+1
| | | | | | | * runtime/staprun/staprun_funcs.c (check_permissions): Declare check_signature_rc outside HAVE_NSS block. Signed-off-by: Mark Wielaard <mjw@redhat.com>
* Merge branch 'release'Josh Stone2009-08-048-33/+31
|\
| * Version bumps for the 0.9.9 releaseJosh Stone2009-08-046-24/+27
| |
| * Fix grapher compilation warnings from rpm buildJosh Stone2009-08-042-10/+3
| | | | | | | | | | | | * grapher/Graph.cxx (Graph::Graph): Initialize in declaration order. * grapher/GraphWidget.cxx (GraphWidget::on_expose_event): Remove several unused local variables.
* | Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-08-046-82/+157
|\|
| * Add many more NEWS entries for recent featuresJosh Stone2009-08-041-2/+31
| |
| * Rename and package the grapherJosh Stone2009-08-043-80/+104
| | | | | | | | | | | | * grapher/Makefile.am: Rename the binary to stapgraph. * grapher/Makefile.in: Regen. * systemtap.spec: Add a -grapher subpackage.
| * Add NEWS on stapgraphTim Moore2009-08-041-0/+5
| |
| * Add NEWS on DW_OP_call_frame_CFA, uprobes/ustack, .probes and statement().Mark Wielaard2009-08-041-0/+16
| |
| * Add #include and casting to allow compilations of grapher on RHEL5.William Cohen2009-08-042-2/+3
| |
* | Add NEWS about unprivileged user supportDave Brolley2009-08-041-0/+38
| |
* | Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-08-0463-1645/+3356
|\| | | | | | | | | | | Conflicts: cache.cxx
| * Add update_visitor::replaceJosh Stone2009-08-038-72/+77
| | | | | | | | | | | | | | | | | | | | | | | | I noticed that most uses of update_visitor::require() were simply writing the value back to the same place, i.e. foo = require(foo). The new replace() method just encapsulates that paradigm, so we don't have the duplication between the LHS and RHS. * staptree.h (update_visitor::replace): New. * elaborate.cxx, staptree.cxx, tapset-mark.cxx, tapset-perfmon.cxx, tapset-procfs.cxx, tapset-utrace.cxx, tapsets.cxx: Update all require calls that are simply updating the value in-place.
| * Strengthen the template types in update_visitorJosh Stone2009-08-032-7/+7
| | | | | | | | | | * staptree.h (update_visitor::require, provide): Make the parameters and return values a T*, to make it explicit that we want pointer types.
| * Merge branch 'array_index'Josh Stone2009-08-0314-249/+311
| |\
| | * PR2049: support arbitrary $target-array indexingJosh Stone2009-08-038-25/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than just numeric literals, we can now support arbitrary expressions for the index value. Note that loc2c won't allow this for noncontiguous arrays, as the access methods need to be statically computed, but for contiguous arrays and pointers-as-arrays it works just fine. * staptree.h (target_symbol::component): Add expression_array_index. * staptree.cxx (target_symbol::visit_components): New helper. (target_symbol::assert_no_components): Recognize new array type. (target_symbol::component::print): Print subexpressions. (traversing_visitor::visit_target_symbol, visit_cast_op): Visit the indexing components too. (varuse_collecting_visitor::visit_target_symbol): Ditto. (update_visitor::visit_target_symbol, visit_cast_op): Ditto. * elaborate.cxx (void_statement_reducer::visit_target_symbol): New. (void_statement_reducer::visit_cast_op): Save indexes too. * parse.cxx (parser::parse_target_symbol_components): Parse expressions. * tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol): Pass expression-indexes as parameters (indexN) to the dwarf function. (dwarf_cast_expanding_visitor::visit_cast_op): Ditto. (tracepoint_var_expanding_visitor::visit_target_symbol_arg): Ditto. (sdt_var_expanding_visitor::visit_target_symbol): Visit the new @cast. * dwflpp.cxx (dwflpp::translate_components): Use THIS->indexN. * translate.cxx (c_unparser::visit_target_symbol): Correct error msg. * testsuite/systemtap.base/pointer_array.stp: Use a simple index.
| | * Unify no-component assertions on target variablesJosh Stone2009-07-317-131/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are several tapsets that can't deal with component dereferences on their target variables, and they all check-and-throw in the same way. This refactors the checks into a target_symbol member. * staptree.cxx (target_symbol::assert_no_components): New. * tapsets.cxx (tracepoint_var_expanding_visitor::visit_target_symbol_arg, tracepoint_var_expanding_visitor::visit_target_symbol_context): Use the new assertion function to check for no components. * tapset-mark.cxx (mark_var_expanding_visitor::visit_target_symbol_arg, mark_var_expanding_visitor::visit_target_symbol_context): Ditto. * tapset-perfmon.cxx (perfmon_var_expanding_visitor::visit_target_symbol): Ditto. * tapset-procfs.cxx (procfs_var_expanding_visitor::visit_target_symbol): Ditto. * tapset-utrace.cxx (utrace_var_expanding_visitor::visit_target_symbol_arg, utrace_var_expanding_visitor::visit_target_symbol_context): Ditto.
| | * Make a real type for target_symbol->componentsJosh Stone2009-07-3110-72/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now the dereferences on target_symbol and cast_op are tracked with a struct instead of just a generic pair. The first immediate benefit is that we can track the token for more exact error reporting. * staptree.h (target_symbol): Add a new component type. * staptree.cxx (target_symbol::component::print): New. (operator<<(ostream&, target_symbol::component&): New. (target_symbol::print): Adapt component printing. (cast_op::print): Ditto. * parse.cxx (parser::parse_target_symbol_components): Adapt to the new component construction. * dwflpp.cxx (dwflpp::find_struct_member): take the component as a parameter for a better token in error messages (dwflpp::translate_components): Adapt to the new component type. * tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol): Don't overwrite the token in target_symbol saved errors. (tracepoint_var_expanding_visitor::visit_target_symbol_arg): Ditto.
| | * Refactor parser for target_symbol->componentsJosh Stone2009-07-312-42/+33
| | | | | | | | | | | | | | | | | | | | | | | | The components were being parsed for both target_symbols and cast_ops, so this change refactors that code into a single function. * parse.cxx (parser::parse_target_symbol_components): New. (parser::parse_symbol): Use the new function.
| | * Drop a couple of unnecessary std:: qualifiersJosh Stone2009-07-311-2/+2
| | | | | | | | | | | | | | | * staptree.cxx (target_symbol::print): Drop std:: from parameter o. (cast_op::print): Ditto.
| * | PR10475: ensure that loc2c can find its array sizeJosh Stone2009-08-032-0/+23
| | | | | | | | | | | | * loc2c.c (array_stride): iterate DIEs past typedef/const/volatile
| * | Make sure we pick up our own sdt.h, not the (maybe not installed) system one.Mark Wielaard2009-08-032-2/+2
| |/ | | | | | | | | * Makefile.am (AM_CPPFLAGS): Add -I$(srcdir)/includes. * Makefile.in: Regenerated.
| * NEWS: note faster pass-2Frank Ch. Eigler2009-07-311-0/+3
| |
| * PR10204: Place userspace markers in systemtap itselfKent Sebastian2009-07-311-0/+267
| | | | | | | | * tapset/stap_staticmarkers.stp: new file (for real this time)
| * Merge branch 'master' of git+ssh://sources.redhat.com/git/systemtapKent Sebastian2009-07-316-2/+170
| |\
| | * Add testcase for PR10458, PR10459 and PR10454.Mark Wielaard2009-07-313-0/+102
| | | | | | | | | | | | | | | | | | | | | | | | Last test currently disabled because PR10454 is still open. * testsuite/systemtap.context/uprobe_stmt_num.exp: New file. * testsuite/systemtap.context/uprobe_stmt_num.stp: Likewise. * testsuite/systemtap.context/uprobe_stmt_num.c: Likewise.
| | * PR10458. User actual breakpoint address for [ku]probe[ret].Mark Wielaard2009-07-313-2/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setup the pt_regs REG_IP to the actual breakpoint address before entering a probe handler for [ku]probe[ret] (and restore it after returning). This helps getting symbol resolution and backtraces more correct and makes it more conform with other probe handlers like the iutrace and profile timers that also provide pt_regs (which untill now exhibited off-by-one errors while unwinding). * tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): Setup REG_IP correctly before calling enter_kprobe_probe and enter_kretprobe_probe, and restore afterwards. (uprobe_derived_probe_group::emit_module_decls): Likewise for enter_uprobe_probe and enter_uretprobe_probe. (kprobe_derived_probe_group::emit_module_decls): Likewise for enter_kprobe2_probe and enter_kretprobe2_probe. * runtime/unwind/i386.h (arch_unw_init_frame_info): Initialize info->call_frame to zero. * runtime/unwind/x86_64.h (arch_unw_init_frame_info): Likewise.
| * | PR10204: Place userspace markers in systemtap itselfKent Sebastian2009-07-318-0/+45
| |/ | | | | | | | | | | | | | | | | | | | | | | * 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
| * Relax the type-matching in the cmd_parse13 testJosh Stone2009-07-301-1/+1
| | | | | | | | | | Dwarf probes are now printing their $target variables in -L, so we need to handle more than just stap types in the regular expression.
| * dtrace.in: Don't interpret -h -o FILE, just use the filename as is.Stan Cox2009-07-301-8/+9
| |
| * PR10459. Disable all warning messages on -w.Mark Wielaard2009-07-304-27/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | * stap.1.in: Document that -w disables all warning messages. * dwflpp.cxx (get_module_dwarf): Only output warning when session suppress_warnings is not set. * translate.cxx (dump_unwindsyms): Likewise. (emit_symbol_data_done): Likewise. * tapsets.cxx (query_module_symtab): Likewise. (read_from_elf_file): Take systemtap_session, check suppress_warnings before emitting warning. (read_from_text_file): Likewise. (get_symtab): Call read_from_elf_file and read_from_text_file with session.
| * Remove unused result_string from ustack.tcl.Mark Wielaard2009-07-301-9/+0
| | | | | | | | * testsuite/systemtap.exelib/ustack.tcl: Remove result_string.