77ffbe8...
by
Serhei Makarov <email address hidden>
rt-fixes (0) experimental :: add stp_rwlock_t which can be raw_spinlock on RT
There is no raw_rwlock_t type on most kernels, so use a regular spinlock instead.
(Using rwlock_t in the wrong context can prevent probes from locking data entirely,
and causes kernel freeze in the conversions_profile.stp stress test.)
changes made throughout translator and runtime
- add stp_rwlock_t either rwlock_t or raw_spinlock_t
- ensure DEFINE_RWLOCK -> DEFINE_STP_RWLOCK
- ensure {read,write}_{,un,try}lock -> stp_{read,write}_{,un,try}lock
* runtime/dyninst/regs.c (_stp_print_regs): New for aarch64
* runtime/dyninst/stapdyn.h (struct pt_regs): New for aarch64 since
asm/ptrace.h does not define it.
* runtime/dyninst/uprobes-regs.c (enter_dyninst_uprobe_regs): Add aarch64.
* stapdyn/mutatee.cxx (get_dwarf_registers): Add aarch64.
BPF has a helper function ktime_get_ns() that provides a nanosecond
time from the time that the machine was booted. When working across
machines really want to have a timestamp based on gettimeofday. This
new BPF backend tapset computes an offset and scaling to convert the
ktime_get_ns() values into gettimeofday_*(). This will allow easier
comparison of timestamped traces between machines.
configury: make python*-config work on rhel6 again
commit 5dabffcf0e77d7479ad stopped searching for all hypothetical
variants of "python{2,}-config". RHEL6 sports python2 binaries
but only a python-config, which was missed by that change. Let's
return to searching for all these aliases.
Mark helloworld as another test that can run as bpf.
e48c4d2...
by
Serhei Makarov <email address hidden>
testsuite/systemtap.examples :: merge cachestat and cachestat_bpf
8d46a95...
by
Serhei Makarov <email address hidden>
testsuite/systemtap.examples :: add test_{,install}check_bpf tag to check.exp
bd16453...
by
Serhei Makarov <email address hidden>
stapbpf/bpfinterp.cxx (map_get_next_key) :: try to pass all warnings
turns out RHEL7 gcc did not understand __attribute__ ((nonstring)).
This code has extra paranoia in adding a NUL beyond the area
overwritten by strncpy. Switch from strncpy to memcpy since bpf
syscall is treating everything as opaque memory.