systemtap:serhei/rt-fixes-2

Last commit made on 2019-05-29
Get this branch:
git clone -b serhei/rt-fixes-2 https://git.launchpad.net/systemtap

Branch merges

Branch information

Name:
serhei/rt-fixes-2
Repository:
lp:systemtap

Recent commits

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

8b5b71a... by Stan Cox <email address hidden>

Add aarch64 stapdyn support.

* 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.

e720e08... by William Cohen

Add a couple more examples that now work with the bpf code generation:

  apps/libguestfs_log.stp
  network/sk_stream_wait_memory.stp

fb7a859... by William Cohen

Provide gettimeofday_* functions for bpf backend

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.

c826ad7... by Frank Ch. Eigler

RHBZ1613157: support powerpc64 sdt.h rN,rM operand syntax

This syntax appears in some ppc64le binaries, including of stap
itself. It means the same thing as "0(rN,rM)" on other architectures.

3ff3af9... by Frank Ch. Eigler

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.

Reported-By: <email address hidden>

c4356da... by William Cohen

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.