| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our existing protection only made sure that the first token in a
substitution wasn't a nested substitution. That's not sufficient when
there could be multiple tokens involved. This patch makes sure that no
nested tokens are ever allowed to be argument substitutions.
This also adds a cursor_suspended_line/column and resets the main
cursor_line/column to the beginning of the substitution, so errors will
point a little closer to the right place.
|
| | |
|
| |
| |
| |
| | |
* loc2c.c (translate): DW_OP_shr is unsigned, DW_OP_shra is signed.
|
| |
| |
| |
| | |
* loc2c.c (translate): Use signed division for DW_OP_div.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our hack for producing nicer listing modes was to write the mark name in
component index 1. That's fine for process.mark, but writes the wrong
position for process.library.mark. It now munges the last probe
component of any number of indexes.
(A better fix is due in PR10831, preserving the derivation chain.)
|
| |
| |
| |
| | |
Remove $(pkglibexec_SCRIPTS) from CLEANFILES.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our literal_addr_to_sym_addr() function was just wrong. To compensate for
raw addresses read from elf (either given by the user or through a mark
transformation) we need to know what the elf_bias is (as returned by
dwfl_module_getelf) before feeding them to any libdwfl functions.
* tapsets.cxx (query_module_dwarf): Always add elf_bias to raw function or
statement addresses before calling query_addr().
(query_addr): Don't call literal_addr_to_sym_addr().
* dwflpp.h (literal_addr_to_sym_addr): Removed.
* dwflpp.cxx (literal_addr_to_sym_addr): Likewise.
|
| | |
|
| |
| |
| |
| | |
* uprobes-common.c (stap_uprobe_change_plus): Relax VM_EXEC check.
|
| |
| |
| |
| |
| |
| | |
reimplementation.
Also add the test cases to the test suite.
|
|\| |
|
| |
| |
| |
| | |
* configure.ac (STAP_PREFIX): Map NONE -> /usr/local.
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
stap-client
|
| | |
|
| | |
|
| |
| |
| |
| | |
* Makefile.am: Don't install it any more.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* main.cxx (main): Always downgrade client-provided -p5 to -p4.
* stap-client (unpack_response): Sanitize stdout due to same.
* stap-server-connect.c: Eliminate a bunch of globals.
(handle_connection): Make things locals instead. Base tmp files
on $TMPDIR.
(spawn_and_wait): New helper function.
(handleRequest): New monster function to inline rest of old
stap-server-request.
|
| |
| |
| |
| | |
* stap-serverd (initialization): Log startup pid.
|
| |
| |
| |
| | |
* modverify.c (verify_module): Print some messages for verbose > 1.
|
| | |
|
| |
| |
| |
| | |
* runtime/stack.c (_stp_stack_print_tsk): Use _stp_symbol_print.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a process exits, it won't necessarily bother to munmap all of its
shared libraries. This patch makes sure that with uprobes in libraries,
we still grab an exit notification and clear everything out.
* runtime/uprobes-common.c (stap_uprobe_process_munmap): New.
* tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Use above
callback so that we can recover our resources on process exit.
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
| |
If a line number is invalid for a source file, that should not be a
fatal error, as it may still be valid for some other matching source
file.
* dwflpp.cxx (dwflpp::iterate_over_srcfile_lines): Don't assert that the
line must be found, just break out quietly.
|
|
|
|
|
| |
* testsuite/systemtap.syscall/net1.c (main): The 'bzero()' function has
been deprecated on rawhide. Replaced with 'memset()'.
|
| |
|
|
|
|
|
| |
* main.cxx (getmemusage): On rawhide systems, 'getpagesize()' has been
deprecated. Substitute 'sysconf(_SC_PAGESIZE)'.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
* access_process_vm (__access_process_vm_noflush): New
* tapsets.cxx (uprobe_derived_probe_group::emit_module_exit): Use it.
* translate.cxx (translate_pass): Declare it.
|
| | |
|
| |
| |
| |
| |
| |
| | |
* tapset/syscalls2.stp (syscall.sigaction32): Added
kernel.function("compat_sys_sigaction").
(syscall.sigaction32.return): Ditto.
|
| |\ |
|
| | | |
|
| |/
|/| |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* tapset/aux_syscalls.stp (_struct_old_sigaction32_u): New function.
* tapset/syscalls2.stp (syscall.sigaction32): Uses new
_struct_old_sigaction32() function to provide a human readable version
of the sigaction argument.
* testsuite/systemtap.syscall/test.tcl (run_one_test): Use additional C
flags when pre-processing test files to better determine which tests are
valid on which platforms.
|
|/
|
|
|
|
|
|
|
| |
* runtime/uprobes2/uprobes.c (uprobe_get_pc_task): new function
(lookup_uretprobe): new helper function
(uprobe_get_pc): use it
* runtime/uprobes2/uprobes.h (uprobe_get_pc_task): declare
* runtime/uprobes/uprobes.c : ditto
* runtime/uprobes/uprobes.h : ditto
|
|
|
|
|
| |
* runtime/task_finder.c (__stp_utrace_attach): No longer prints bogus
error message when utrace_barrier succeeds.
|
|
|
|
|
|
|
|
|
| |
The test was correct, the given construct should fail. But it fails because
it is a parse error, not because it is a semantical error. So move into the
right pass1-4 sub-directory.
* testsuite/semko/conditional.stp: Moved to...
* testsuite/parseko/conditional.stp: ... here.
|
|
|
|
|
|
| |
* buildrun.cxx (output_cpu_khz): New function to check cpu_khz.
(compile_pass): Invoke function output_cpu_khz.
* runtime/time.c : Use STAPCONF_CPU_KHZ.
|
|
|
|
|
|
|
|
| |
* tapset/syscalls2.stp (syscall.readv): Removed old ppc hack.
(syscall.writev): Ditto.
* tapset/nd_syscalls2.stp (nd_syscall.readv): Removed mention of old ppc
hack.
(nd_syscall.writev): Ditto.
|
|
|
|
|
|
|
| |
* sdt_misc.exp (sdt_misc.c): New funcs loop_check, int_handler, alrm_handler.
(sdt_misc.sdt): Add timer.ms
(test attach to a running process): New.
(test attach to a running process with .so markers): New.
|
|
|
|
|
| |
* tapset/syscalls2.stp (syscall.pwrite32): Remove extra 'buf_uaddr'
assignment.
|
|
|
|
| |
* main.cxx (checkOptions): Inline into main(), abeam other option checks.
|
| |
|
|
|
|
|
| |
* parse.cxx (scan_pp): Match '%(' and '%?'.
* testsuite/semko/conditional.stp: New test.
|
| |
|