Commit Graph

101 Commits

Author SHA1 Message Date
Bruce Ashfield
7c4802d3a8 systemtap: fix on target build for 4.4 and 5.10+
The following systemtap commit:

    commit 7615cae790c899bc8a82841c75c8ea9c6fa54df3
    Author: Frank Ch. Eigler <fche@redhat.com>
    Date:   Mon Nov 9 19:18:19 2020 -0500

        PR26665: relayfs-on-procfs megapatch

Changes the way that capabilities are checked when compiling
a systemtap probe.

In our cross-build -> on target workflow, this results in a
mismatch between the systemtap configuration capabilities and
the kernel configuration.

The result is a compilation failure since the security
components are protected by two different #ifdef's, and they
can be out of sync. By protecting the include and callsite with
the same #ifdef, we ensure they are in sync and fix our
on target problem.

While this fix is oe-specific, a variant will be proposed
upstream once a deeper analsysis of other options has been
completed.

(From OE-Core rev: 25fa864270efe3ff5699a1bf9ebdf599e96362a5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-24 08:21:23 +00:00
zangrc
7af854bc9d systemtap: upgrade 4.3 -> 4.4
The test log of oe-selftest is as follows:
2020-11-23 15:48:49,144 - oe-selftest - INFO - test_crosstap_helloworld (runtime_test.SystemTap)
2020-11-23 17:06:55,949 - oe-selftest - INFO -  ... ok
2020-11-23 17:06:55,951 - oe-selftest - INFO - test_crosstap_pstree (runtime_test.SystemTap)
2020-11-23 17:08:07,921 - oe-selftest - INFO -  ... ok
2020-11-23 17:08:07,922 - oe-selftest - INFO - test_crosstap_syscalls_by_pid (runtime_test.SystemTap)
2020-11-23 17:09:20,084 - oe-selftest - INFO -  ... ok
2020-11-23 17:09:20,085 - oe-selftest - INFO - test_crosstap_syscalls_by_proc (runtime_test.SystemTap)
2020-11-23 17:10:31,349 - oe-selftest - INFO -  ... ok
2020-11-23 17:12:58,052 - oe-selftest - INFO - ----------------------------------------------------------------------
2020-11-23 17:12:58,054 - oe-selftest - INFO - Ran 4 tests in 5051.537s
2020-11-23 17:12:58,054 - oe-selftest - INFO - OK
2020-11-23 17:13:08,416 - oe-selftest - INFO - RESULTS:
2020-11-23 17:13:08,417 - oe-selftest - INFO - RESULTS - runtime_test.SystemTap.test_crosstap_helloworld: PASSED (4686.81s)
2020-11-23 17:13:08,418 - oe-selftest - INFO - RESULTS - runtime_test.SystemTap.test_crosstap_pstree: PASSED (71.97s)
2020-11-23 17:13:08,418 - oe-selftest - INFO - RESULTS - runtime_test.SystemTap.test_crosstap_syscalls_by_pid: PASSED (72.16s)
2020-11-23 17:13:08,418 - oe-selftest - INFO - RESULTS - runtime_test.SystemTap.test_crosstap_syscalls_by_proc: PASSED (71.26s)
2020-11-23 17:13:08,432 - oe-selftest - INFO - SUMMARY:
2020-11-23 17:13:08,432 - oe-selftest - INFO - oe-selftest () - Ran 4 tests in 5051.540s
2020-11-23 17:13:08,432 - oe-selftest - INFO - oe-selftest - OK - All required tests passed (successes=4, skipped=0, failures=0, errors=0)

(From OE-Core rev: 5f635423f00e7469e89f6729d973ca447a3ff11b)

Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-24 08:21:23 +00:00
Yann Dirson
bfaa03527a systemtap: avoid RDEPENDS on python3-core when not using python3
distutils3-base.bbclass unconditionally adds python3-core to RDEPENDS_${PN},
yuck.

(From OE-Core rev: 323b9728b31f785d64722ab3b03fae8d687f7cf4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24 10:27:44 +00:00
Yann Dirson
9c06fbbbee systemtap: split runtime material in its own package
Note the _class-target qualifier, here to prevent a funky dependency of
systemtap-native on systemtap-native-runtime-native.  This possibly hints
to something deeper ?

(From OE-Core rev: 440dc8bacf6e6307ae8617194b75504702011b16)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-13 14:32:00 +00:00
Yann Dirson
c606515ab5 systemtap: fix install when python3-probes is disabled in PACKAGECONFIG
(From OE-Core rev: 75bca65ccdfe05da434a5c2b561e13f623499d53)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-13 14:32:00 +00:00
Yann Dirson
fc556f5e52 systemtap: clarify the relation between exporter and python3-probes feature
(From OE-Core rev: 70e3c46a4df90fc6f59698d5e347087522ca85dd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-13 14:32:00 +00:00
Yann Dirson
7412e2f2b2 systemtap: remove extra dependencies
Most of the RDEPENDS part of PACKAGECONFIG[translator] appears to be related to
examples only.

(From OE-Core rev: 01372c667371a3749c485459d35033a29d150988)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-13 14:32:00 +00:00
Yann Dirson
abad536ddf systemtap: split examples and python scripts out of main package
(From OE-Core rev: ddc82d153f19c6738ec2fa57fc2fe0c787a893f1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-13 14:32:00 +00:00
Bruce Ashfield
939690c9e4 systemtap: update to 4.3 latest
Updating systemtap to the latest of the 4.3 release branch. Without
this update we cannot pass on-target sanity tests with a 5.8
kernel.

Changelog is as follows:

    82b8e1a07 (HEAD -> master, origin/master, origin/HEAD) Make dtrace generated code work with LTO (take 2)
    03a6c471a Fix --enable-http build errors by always using MHD_Result
    87344e948 PR26307: rhel6 porting tweak redux
    24810e5ac PR26307: rhel6 porting tweak
    327956981 java/HelperSDT.c: correct 32-bit pointer cast warnings
    2f3580f40 PR26307: adapt to kernel module_sect_attr changes in 5.8+
    84bc64ff1 systemtap.spec: let -testsuite subrpm require elfutils-debuginfod
    27b087e7f PR26249: "%p" -> "0x%lx" pointer formatting in *conversions.stp error messages
    5e1ef9d7f PR25568 / RHBZ1857749: sdt_buildid.exp test case
    e90530877 PR25568 / RHBZ1857749: buildid/uprobes/inode rework, task_finder etc. side
    40dbe72af PR26234: stapbpf should warn about other unsupported derived_probe types
    82f358beb testsuite: shrink output
    a9a0131eb rhbz1857749: uprobes-inode regression in sdt semaphore setting
    ce0fa621e configury: make systemtap buildable with gcc -flto
    e5a63d9c0 Make dtrace generated code work with LTO
    e8070f260 Revert "Make dtrace generated code work with LTO"
    b26a86bfb systemtap.spec: comment syntax tweak
    8212024da Make dtrace generated code work with LTO
    601778117 PR26234: stapbpf should warn about unsupported utrace_derived_probes
    c7d4f550e testsuite: block listing_mode_sanity large tests on small machine
    046fa017d RHBZ1847676 cont'd: one more uprobes-inode/onthefly concurrency control
    a8351c3dc runtime: startup dmesg %p decloaking
    65d6fbd21 run-stap.in: forget about bundled elfutils build mode
    57c76ab3f PR25549: format tweak
    143974310 PR25549: statement probe visibility for openmp / lto binaries
    c6831f14e testuite: More @cast() fallout
    a4d7b3797 README: modernize
    f1a9bb064 Tapset and testsuite updates against @cast() change 00ee19ff03
    4ccdfe453 RHBZ1847676 cont'd: more uprobes-inode/onthefly concurrency controls
    487d6b6e8 tapset: *user_string* formatting directive tweaks
    b266d0bf8 PR26142: Adapt to linux/vermagic.h file hiding ... but with proper include order
    79000b42e PR26142: Adapt to linux/vermagic.h file hiding ... but not on rhel6
    37066e2c3 PR26142: adapt to linux mmap_sem api transition
    6af5df835 PR26142: Adapt to linux/vermagic.h file hiding
    403e92779 PR26181: Use explicit @cast() within get_ip_from_client()
    4bb36e7fb Exclude some __NR_compat_* defines for newer aarch64 kernels
    a948c291c Use explicit @cast() operators pointing to kernel for tapsets
    469d20e8b PR26131: garbled data might appear in staprun data channel output
    36430614d Use kernel.trace("sched:sched_process_fork") for kprocess.create when possible
    b2d18cb3a Use explicit @cast() operators for semop-watch.stp example.
    3d922919d Use explicit @cast() operators for periodic.stp
    9a2cd427a PR24758: increase stack size for BPF userspace interpreter
    3040d4e8d Use explicit @cast() operators for stapgames/pingpong.stp tapset.
    9eb37102d Use explicit @cast() operators for pfiles.stp and ioctl_handler.stp
    7a28529f6 Remove the unneeded test_support check the lwtools meta info
    717b7dddd Use explicit @cast() operators to fslatency-nd.stp and fsslower-nd.stp
    2b2b6a622 Fix sizeof.stp to explicitly use kernel debuginfo if one not specified
    db91f0291 bpf.exp: tentative fix for bigmap1.stp hang on RHEL8
    11c39a737 RHBZ1847676: uprobes-inode tweaks redux
    0a281a96d Make sizeof.stp runnable with the bpf backend.
    5b8f6c174 remove comment
    fb59e8c75 PR26123: fixed memory leaks in vma map for kernels without CONFIG_UTRACE.
    cc7b62017 Add overcommit.stp to examples that can run in bpf.
    ac8f2b7c9 configury: post-release version bump
    7a7016a12 Avoid exceeding space constraints for the BPF environment in mmfilepage.stp
    c488859d6 Avoid exceeding space constraints for BPF environment in mmwriteback.stp

(From OE-Core rev: 06f0e54c06a9e07dabb612a907bbf2542b5ac52e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-06 15:12:39 +01:00
Alexander Kanavin
f9826447b1 systemtap: upgrade 4.2 -> 4.3
(From OE-Core rev: adcdc3281062c62e89d7a7f67381a548b1e543de)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-28 08:36:00 +01:00
Alexander Kanavin
843c76478d systemtap: remove the unneeded patch
As the problem is now fixed with a backported patch to
gettext itself, the patch is no longer needed.

(From OE-Core rev: f1dc63a9129c8f5deafa188065933cf3b220a673)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-10 21:18:21 +00:00
Alexander Kanavin
93ef2e68f3 systemtap: fix builds with newer gettext
(From OE-Core rev: 44d01006eda42cdad9ed05978fc78e4f79bbdef9)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-18 10:18:06 +00:00
Alexander Kanavin
2377924a15 systemtap: update to 4.2
(From OE-Core rev: 8ba5ecb17a08b29bbb314b6a498b17ac88f7f17c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-25 17:57:22 +00:00
Alessio Igor Bogani
02951c25c9 systemtap: support usrmerge
(From OE-Core rev: a732bd776717f14a7b47c0e0ba096b8921dff16d)

Signed-off-by: Alessio Igor Bogani <alessio.bogani@elettra.eu>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-31 16:09:34 +00:00
Richard Purdie
4aa7e00724 systemtap: Drop patches merged upstream
Several of our patches were merged upstream just beyond our current version.
Update to that version and drop them.

(From OE-Core rev: 815a956f7bf4de031b7764f27f3eac005a15b5ce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-06 12:45:47 +01:00
Richard Purdie
646c754b53 systemtap: Use latest and greatest git version for 5.2 kernel support
Systemtap has issues with the 5.2 kernel which are fixed in master, we helped
debug and submitted some of the patches. Update to a git version which includes
all the fixes.

(From OE-Core rev: 7054ec111c7a011adb8a39b3a70292b29470e2aa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-06 08:24:41 +01:00
Alexander Kanavin
d8a760df4d systemtap: upgrade 4.0 -> 4.1
(From OE-Core rev: 3c87e898695bb53aa595a380fdac881c24bfd6b9)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 07:24:52 +01:00
Bruce Ashfield
4de6ad9f76 systemtap: update to enable 5.0 kernel capabilities
Updating the systemtap 4.0 SRCREV to pick up changes that have been
made to support newer kernels (and in particular 5.0).

   root@qemux86-64:~# stap --disable-cache -DSTP_NO_VERREL_CHECK ./hello.stp
   [  246.303263] stap_4843: loading out-of-tree module taints kernel.
   hello world
   root@qemux86-64:~#

The following commits are included in this update:

   90ff34ac0 If available, use kernel's save_stack_trace_regs() for fallback stack unwind
   a9b0aa4db testsuite/systemtap.bpf :: tests should return, not exit 0
   83f229abb cachestat.stp: workaround the current limitations of trace_printk
   f912d520f Newer kernels tapsets may use the kprobe.function("*") adjust alias_tapset.exp.
   fe569f964 Handle name change of do_brk to do_brk_flags in the newer kernels
   71dbdc9f9 Newer kernels tapsets may use the kprobe.function("*") adjust pp.exp check.
   20d23f97a Correct at_register.stp test arch name for arm64.
   e0bcc2f92 cachestat.stp: new example based on a bpftrace script by David Valin
   18d1baceb session.cxx diagnostics: don't dump kernel_functions below verbose=6
   25b181ae4 Add __NR_chmod for missing defines on aarch64
   2276b109e Add more __NR_* for missing defines on aarch64 (and ppc64)
   e34d66dee PR24239: avoid symbol/type resolution of unused globals/functions
   49d74d4fa Correct the at_register.exp test
   c77884dcd Turn on guru mode for at_deref1.stp use of @kderef
   a9a15a3f8 RHBZ1689180: correct group name typos in staprun.8
   e7146dbfe Regenerate syscall_num.stp grouped by syscall name.
   6bcf09813 Group initialization using the same string literal together in syscall_num.stp
   3752574dc Regenerate the syscall mapping information to add aarch32 to aarch64 syscalls
   af74da7b7 Update dump-syscalls.sh to generate 32-bit syscalls for aarch64
   60144c0fa Match arm64 non-dwarf syscall probe points
   d36f6fee8 PR24199: don't use exceptions to signal type-resolution failures
   5e50524ff PR24199: at pass-2 verbosity > 3, trace $var error-chaining events
   40f855fd5 PR24199: loc2stap: propagate dwarf DIE() source locations better
   af9ef3369 Adjust noptrace.stp to avoid modifying ptrace syscall arguments
   ca3946e62 Update pfiles.stp to work with Linux 4.17 and newer
   9d3a1cd66 PR24217: stap -p2 speedup, condition-expression processing
   ba7b83ec1 Conditionally define __NR_bdflush in systemtap runtime.
   cdf77a210 testsuite/systemtap.bpf :: couple of bpf_tests clarifications
   d6b529c43 fix embedded-c tag memoization thinko
   d81a001ad pass-2 optimization: embedded-c code pragma searching
   1832b8f51 Set up a BPF related testcase blacklist for regression testsing purposes.
   4e7686951 linux api update: compat_time* structs
   1ac5a4499 linux api update: FAN_ALL_CLASS_BITS
   17c2d352a unwinder: increase MAX_CFI to 8192 after a census of CFI sizes on Fedora 29
   2e373d294 runtime: adapt to uapi/linux/mount.h changes
   6b0430b6b dummy commit to force buildbot rebuilds
   d3964067f buildrun.cxx: older g++ compatibility: no std::string.back()
   6b2838df5 Handle installation without stapusr group
   f90ca3096 Simplify creation of groups during installation
   38184abcd Fix get_user_pages() autoconf test for 4.4.y kernel
   e2e13220f lkm-runtime time.c: prefer 4.15+ ktime_get_real_fast_ns
   eb8c8de94 linux 5.0-rc3 adaptations
   de5061899 parser: allow larger arrays
   0fc1a5019 stap man page: document histogram per-bucket access/iteration
   905865da1 PR16406 fixup :: correct comparison in _stp_module_check
   c8084763b PR10280 initial fix: force vermagic for guru-mode scripts
   3a29a2eef Make testcase at_var.exp work with stap-4.1+ and kernel-4.17+
   53ff2b5df stap-prep: switch typo ($NEEDED => $package)
   68bd23fd0 PR16596: add support for DW_OP_GNU_entry_value in location expressions
   aacee6563 Make sysc_bdflush.stp compatible with 4.17+ kernels.
   891810c24 configury: tolerate dyninst10's need for -lboost_system
   ec3b46eb9 RHBZ1655631: systemtap.spec: use Recommends: for kernel-*-devel
   eef17e743 runtime/unwind: Allow to increase MAX_CFI
   47ce37a14 systemtap.spec: merge unbotch - missing %changelog
   f082df49d systemtap.spec: importing fedora rawhide changes
   c9a393275 staprun/mainloop.c :: fix for loop initial decls
   266c72bd0 PR23866 part: expose raw syscall tracepoint to bpf
   ab368ac2a PR23891: Make sure stap and staprun respond to SIGTERM when stderr/stdout are blocked
   0a0595509 Fix segfaults in dwarf array pointer subscripting when -vvv is specified
   4a8652800 Make opeartor @var() no longer assume @entry() in return probes.
   f5c19712c Add the ucalls.stp to the systemtap examples.
   7d82f1bdc Adjust tcp_trace.stp example to work with newer Linux kernel's timers
   f6d683666 Adjust the vfs_open to provide cred variable with 4.18 kernels
   008a0cbfd Userspace_probing.xml: change '-ldd' to '--ldd' command line option.
   e6227e5df bpf-translate.cxx: don't clobber any earlier value of c
   cbf3b6e6a bpf-translate.cxx: quiet a compiler warning
   824e9ab80 PR23890 bonus: show nicer messages upon a buildid mismatch
   fba365b4d PR23890: tolerate f29+ style ELF files
   6c94b6d42 PR23747: tolerate symbols with odd section#s
   d60dac71a systemtap.bpf/asm_tests :: fix documentation / expected result
   0eaf4f196 PR23875 bpf_unparser::visit_foreach_loop(): temporarily disable string key iteration
   8c1452d10 PR23875: another testcase that loops indefinitely
   584d61dc0 PR23875 bpf.exp: fail testcase on 'stack smashing'
   0128e1daf PR23860 bpf_interpret() :: NEG should not fall through to DIV
   75640f70d Adjust the periodic.stp example to work with newer Linux kernels
   ca225a1cc stap -vv: also print kernel build-tree path name
   28cf23f8e testcase for PR23875
   3733caeba PR23860: reduce stack pressure from format strings
   7a5716bb8 PR23860: additional ugly stack/clobber protection for strings
   021f906e5 PR23860: additional stack protection for strings
   02861e63c PR23860 bugfix: incorrect comparison direction in string_copy()
   e428db474 PR23507: add new command-line option to disable automatic unread global variable display
   b2ba3af9a pr23860 verifier workaround :: be sure to delete all mov rN,rN
   08861a20f PR23507: add underscores to global @this variables
   4ee1ae49a PR23761: generalized @entry
   cc6e13e62 standardize ktime_get_ns() across lkm, bpf runtimes
   fbee58bda bpf behind-the-scenes :: useful DEBUG_CODEGEN diagnostic
   7209427d4 Always use nssInit for http and nss server.
   72ef87bba PR23860 partial fix: fix BPF_NEG opcode generation.
   8fb0cb4a7 PR23829 :: fallback defines __BPF_FUNC_MAPPER and BPF_J{LT,LE,SLT,SLE} for older kernels
   686ba2980 tapset/bpf/task.stp :: rudiment of task tapset
   0e6a26ff4 PR23849 -- temporarily disable stapbpf script caching
   c0002c5ad prometheus-exporter samples: change reported metric name
   1b50200ff stap-exporter: drop initial demo scripts under .examples; not used
   3582845f5 powerpc64: add missing system call defines
   57550d39d aarch64: add missing system call defines
   856ddcedb tapset/bpf/context.stp :: add execname(), triage other functions
   61b00f37d tapset/bpf/conversions.stp bugfix :: helper name in kernel_string(addr, err_msg)
   a47bc40eb bpf-asm.exp bugfix :: bad_output does occur
   14e5ff4e6 bpf-translate.cxx :: fix segfault with malformed register
   b530b0193 Fix miscellaneous errors/typos in syscall tapset
   ae51c4d99 On aarch64 Linux system calls related SystemTap scripts compilation fail with "__NR_compat_[exit|read|write] redefined" errors after following two commits:
   3d9e0d2a5 Adjust the BPF translate error report formatting to work on 32-bit architectures
   0a4d384a8 session.cxx :: enable caching for bpf backend
   5ada58a9f bpf-translate.cxx :: plug an exception gap in is_numeric()
   c009fe88d Merge branch 'serhei/bpf_asm' -- kernel_string() tapset and experimental bpf assembler
   0b3a813f5 testsuite/systemtap.bpf :: diagnose a bug in print_format("%s%s", ...)
   110f739b3 stapbpf assembler WIP #8 :: bpf-asm.exp driver and more testcases
   4d68a526b stapbpf assembler WIP #7 :: fixed kernel_string() tapset and testcase
   da6c4aef4 stapbpf assembler WIP #6 :: other call functions ({s}printf and tapset)
   e534cf2a7 PR21080: support added for new pkey_* syscalls
   0e0f0e386 stap-exporter examples: use symlinks rather than copies
   fddf715d1 Use NSS_InitContext instead of NSS_Init.
   6a3a804e4 prometheus tapset: add dump_array_*_unquoted variants
   4e81610ae nfsd tapset: adapt nfsd.proc4.commit probe to different kernel versions
   4cd50f30a PR23799 - sprint_ustack() always returns empty string values
   8bc640345 nfsd tapset: adapt nfsd.proc4.read probe to different kernel versions
   7b76b6b60 step-prep: on debian/ubuntu machines, attempt "apt-get -y install"
   10b3f049e Use cast to make c->cycles_sum aways match the %lld format.
   d95f81630 Add more quantitative data to error message when probes exceed threshold
   f4d49b79b Avoid using target variable in target_set.stp for syscall.* probes.
   5aafdc55e Avoid using target variables for syscall.write in print_user_buffer.stp.
   bb93c70a1 Avoid using target variables in signal.stp for syscall.* based probe points.
   784d4fc04 Add buildok/syscall_any.stp to list of tests dyninst will not run.
   910395ba0 kprocess.exec_complete should avoid using $return from syscall.execve.return
   d4550e6c0 stapbpf assembler WIP #5 :: basic kernel_string() implementation
   9ae578690 stapbpf assembler WIP #4 :: alloc and (helper) call operations
   f12e7d8eb stapbpf assembler WIP #3 :: additional assembly test cases
   f3fdcc936 Fix searching of kernel_source_tree for kernel built with O option
   dd57c7387 postrelease version bump for future version 4.1
   2881d9d95 stapbpf assembler WIP #2 :: testcases (no driver so far)
   db79925e5 stapbpf assembler WIP #1 :: basic parser and control flow

(From OE-Core rev: 18e1f2859ad213febb3438618e7d7ee57f401ff4)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-07 12:27:34 +00:00
Victor Kamensky
3e5c6cbf34 systemtap: move systemtap-exporter into separate package
stap-exporter runs a set of systemtap scripts and relays
their procfs outputs to remote HTTP clients on demand.

systemtap-exporter is not supposed to run in untrusted
environment. It starts HTTP server on some port. It does
not look safe enough to be included by default along with
the rest of systemtap.

Move systemtap-exporter, its systemd unit, configuration
files and examples scripts into separate package. So if one
needs it and understand its implication, he/she can include
it explicitely.

(From OE-Core rev: 03e01c26a297642dbe4b0e1c7cf2cbe3c225140e)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-28 08:31:57 +00:00
Martin Jansa
c82410c5cc systemtap: fix QA issue
ERROR: systemtap-4.0-r0 do_package: QA Issue: systemtap:
Files/directories were installed but not shipped in any package:
  /lib
  /lib/systemd
  /lib/systemd/system
  /lib/systemd/system/stap-exporter.service
Please set FILES such that these items are packaged. Alternatively if
they are unneeded, avoid installing them or delete them within
do_install.
systemtap: 4 installed and not shipped files. [installed-vs-shipped]

(From OE-Core rev: d31212bcfe9232e7f6ac9efb4fad0be175a9ca00)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 10:56:55 +01:00
Richard Purdie
7e8056d96e systemtap: Fix typo in chown command
(From OE-Core rev: 02646be9d38fac14d9820d02d398b731b9c1bf9c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-17 13:41:12 +01:00
Richard Purdie
3b77e7b785 systemtap: Fix issues from 4.0 upgrade
4.0 adds systemd support but installs the unit files in the wrong location.
Fix this in do_install and inherit systemd to package them correctly.

Also fix ownership of files manually copied in to root:root to avoid QA warnings.

(From OE-Core rev: 74833a612cc383679bb5516e98c7508da47b0767)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-16 20:35:43 +01:00
Victor Kamensky via Openembedded-core
5a0e22ebc9 systemtap: 3.3 -> 4.0
Upgrade systemtap from 3.3 to 4.0: Removed backported patch.

Very short summary of major changes from SystemTap 4.0
announcement by Frank Ch. Eigler <fche@redhat.com>:

> prometheus exporter network service; ebpf support extensions including
> strings and implementation of traditional log(), sprintf() functions;
> rebuilt rich tapset coverage for 4.17+ syscalls and for
> tracepoint-based syscalls; script language tweaks for supporting
> machine-generated scripts

Fixes [YOCTO #12950]

(From OE-Core rev: d7f828223f3fabdadcff974c1ed6f8f74e438405)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-16 20:35:43 +01:00
Victor Kamensky via Openembedded-core
e40faa1dca systemtap: fix unintialized memory accesses in dwflpp::function_entrypc
Observed failure in SystemTap v3.3 unit testing, It was tracked down
to unintialized memory access in dwflpp::function_entrypc method.

Upstream-Status: Backport
(From OE-Core rev: 7e465c75e317718ed81a76a6c3e487668e7db1ab)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-26 13:16:41 +01:00
Victor Kamensky via Openembedded-core
941da957f9 systemtap: 3.2 -> 3.3
Upgrade systemtap from 3.2 to 3.3: Removed all backported patches.
Removed "remove quotes around -I include" pending patch since 3.3
got similar fix already. Resolved merge conflict in and
regenerated monitor-option.patch patch.

(From OE-Core rev: d8a60b324c340bf88e2e8650f4771030490709c5)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-26 13:16:41 +01:00
Hongxu Jia
077ad46934 systemtap: improve reproducibility
- Fix build path issue of .pyc files:
  Supply "--root" directory to the "install" command.

- Fix build path issue of c++ object files:
  Use relative dir to include header string_ref.

- Fix build path issue of c library generated by distutils:
  Add OE's CFLAGS which contains `-fdebug-prefix-map' options
  to setup.py

[YOCTO #12528]

(From OE-Core rev: 806a8626c3fb5020666152b295f12541f5f61ffd)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-26 13:16:40 +01:00
Ross Burton
b076e652e7 systemtap: don't build under musl
systemtap uses obstack.h and FTW_SKIP_SUBTREE, both of which are GNU extensions
in glibc.

(From OE-Core rev: 80286cb2e979097800a51801c92e015421482daa)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-18 18:57:06 +01:00
Victor Kamensky
77f69397e0 systemtap: support --sysroot option in variety of situations in cross build
For details on issues fixed please look at commit message of individual
patches.

Upstream-Status: Backport [systemtap@sourceware.org]
(From OE-Core rev: 5aa93de3a79c8691e74e982d3d4b0099b04f5555)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07 11:44:50 +01:00
Victor Kamensky
7ca5822635 systemtap: create translator packageconfig
For cases when systemap module compilation happens on host in
cross-compilation mode, and it is desirable to minimize systemtap
presense on target we need to have just smallest possible set of
utilties that are required to run compiled modules.

Introduce new "translator" PACKAGECONFIG, if it is not set
it would mean that just minimal set of run-time utilities will
be included in the package.

For run-time only systemtap build variant use
PACKAGECONFIG_pn-systemtap = "" or
PACKAGECONFIG_pn-systemtap = "monitor"

Suggested-by: Taras Kondratiuk <takondra@cisco.com>
(From OE-Core rev: a22b8140c6924eb3b3cd7b5bea66a4d3ed413807)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07 11:44:50 +01:00
Victor Kamensky
f08ef6e1b5 Revert "systemtap: Cross compilation fix"
This reverts commit 787bed708676fc04aee2850825e803273152f657.

(From OE-Core rev: 08ab022471eff48e6f43ec8cd47e695d575ee2e3)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-07 11:44:50 +01:00
Khem Raj
4f7e90a0af systemtap: Backport a fix for build with gcc8
(From OE-Core rev: b751e865375b325df4083d85af191da4dc3a27ee)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-03 23:53:20 +01:00
Victor Kamensky
42716486fa systemtap: bring in PR22551 fix that addresses build against 4.15 kernel issue
With 4.15 kernel systemtap needs update to address systemtap module
compilation issues. It is fixed in later version of systemtap by
PR22551.

Upstream-Status: Backport
(From OE-Core rev: 7425d03729507ac5aff3c75ba20e749beaf3a3d5)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-28 12:09:51 +01:00
Victor Kamensky
402c551bec systemtap: supports mips starting with version 3.1
(From OE-Core rev: 3e098ef3424e1126aa4b0ecc29e1941efba687b7)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-28 12:09:51 +01:00
Huang Qiyu
37f97886f0 systemtap: 3.1 -> 3.2
Upgrade systemtap from 3.1 to 3.2.

(From OE-Core rev: 4f2db007a760498421c7f0c27870cabea108ee23)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-19 12:37:13 +00:00
Bhargava Sreekantappa Gayathri
d2fce1fde0 systemtap_git.inc: Add microblazeel as a supported architecture
This patch adds microblazeel as a supported architecture for systemtap.

(From OE-Core rev: 6a9746d95e87cce4a3c72cc10842727ecaa7c60f)

Signed-off-by: Bhargava Sreekantappa Gayathri <bhargava.sreekantappa-gayathri@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-02 17:24:39 +00:00
Saul Wold
9177ad0f2d systemtap: Bump SRCREV for 4.12 Linux kernel support
This SRCREV bump brings in support for the 4.12 Linux Kernel, this kernel
also has some newer CONFIG settings. The newer DEBUG_INFO and DEBUG_INFO_DWARF4
settings can be used with systemtap to get the full information.  We do not
normally enabled these for a 'production' (standard) kernel, but can be
enabled via menuconfig.

When installing staprun and stapbpf on the target and native ensure we
don't try to create a new group and chown it.  There is no need since we
will be running as root, so we add a patch to comment that code out.

(From OE-Core rev: 026403cc7f995ecc32a99f269399a08abc221c77)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11 17:30:29 +01:00
Fan Xin
917a00e094 systemtap: Add HOMEPAGE info into recipe file.
(From OE-Core rev: 492f43f1aa402a60902fafb2d524ae67007f59bd)

Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-05 15:01:01 +01:00
Richard Purdie
35e3cb3012 rm_work: Improve handling for addto_recipe_sysroot
Rather than requiring each user to handle this individually, handle
addto_recipe_sysroot in the core class. As well as preserving the
sysroot directory, this also ensures the stamp is preserved rather
than rerunning the task every time as currently happens.

(From OE-Core rev: bf8b9858d9ccce27173d13938a83d249294cc473)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-31 15:13:31 +01:00
Saul Wold
373ea52b89 systemtap: ensure systemtap-native is available
Since we are adding the addto_sysroot that that is specific to the
native recipe, we must split this into a seperate -native .bb recipe.

When systemtap-native is built, the intention is that it's usable
from the native sysroot when done, ensure it's there with a forced
addto_recipe_sysroot task, we also don't want to clean the sysroot
when RM_WORK is enabled otherwise we loose the binaries.

[YOCTO #11403]

(From OE-Core rev: 98fba18e93abe8efce0a5b40d51e178c9de4d1e5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
(cherry picked from commit 2fdb59741b4fdeaa4aee10812c4a409cdc11a02d)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-30 08:46:19 +01:00
Saul Wold
3f0037ce3c systemtap: Add patch to remove quotes
This fixes the -I include lines that are getting passed to the
kernel macros

[YOCTO #10990]

(From OE-Core rev: b4d2f41a474c111e5fc64cae635d851386d860ba)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-08 11:52:56 +00:00
Alexander Kanavin
89c1220c40 systemtap: update to 3.1
Removed patches are in upstream.

Rebase monitor-option.patch and no-msgfmt-check.patch

Add support for python 3 probes
(this necessitates the 0001-Do-not-let-configure-write-a-python-location-into-th.patch
and the Add 0001-Install-python-modules-to-correct-library-dir.patch to
install python modules to correct destination).

Add perl to RDEPENDS to fix a QA warning about one of the installed files.

(From OE-Core rev: e3bccfba499565ea13f154a11dadcab48ef5e0ab)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-01 23:27:09 +00:00
Ross Burton
f970936204 systemtap: fix native linking on recent Ubuntu
The latest Ubuntu uses yet more aggressive hardening options, which causes the
unconventional build order used by systemtap to fail.

[ YOCTO #10521 ]

(From OE-Core rev: 5ca6ac8739ea4a273df7b8e5c5f7d481619923d8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-15 15:19:54 +00:00
Ross Burton
ebabbfd430 systemtap: remove explicit msgfmt check
Passing --disable-nls should be enough to disable the requirement for a full
gettext to be present, but the upstream configure explicitly checks for msgfmt
even if it isn't going to be used.  To avoid having to depend on gettext-native,
patch this check out.

(From OE-Core rev: 2f8d2a74f73490c1ae35131d3eb3592f7ee0a1e4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-15 15:19:54 +00:00
Ross Burton
16882885f6 systemtap: rationalise dependencies
Boost is an optional dependency but avoid build non-determinism by adding it as
DEPENDS.  It is only for the shared pointer types so can be disabled explicitly
if required.

Turn sqlite into a PACKAGECONFIG.

Add a patch for the "monitor" feature to control the optional dependencies on
ncurses and json-c. Previously this was enabled for target only but enable it
everwhere now that json-c is available for native/nativesdk.

Of course all of this was predicated about systemtap needing systemtap-native to
be built, but it turns out that this dependency is due to oe-core 507bd2 which
adds systemtap-native as DEPENDS for convenience.  Remove this dependency, if
the user wants systemtap-native then they can build it explicitly.

(From OE-Core rev: fb9dc1cf7a2d6d5e22beb68f17b4c9c8d1136e37)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-05 10:10:10 +01:00
Stefan Müller-Klieser
b8b1edbe6c systemtap: remove EXTRA_OEMAKE workaround
The default of EXTRA_OEMAKE is already empty since commit:

OE-Core rev: aeb653861a0ec39ea7a014c0622980edcbf653fa
bitbake.conf: Remove unhelpful default value for EXTRA_OEMAKE

(From OE-Core rev: 4c1d679a0fd601ba37ab37b11f660cc41d8507ff)

Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03 09:58:40 +01:00
Ross Burton
9199a25e01 systemtap: add build dependency on ncurses
systemtap has a floating dependency on ncurses but as bash is a RDEPENDS the
build-rdeps sanity test doesn't fire due to a limitation of the test.

Add an explicit dependency on ncurses to ensure the build is deterministic.

[ YOCTO #9709 ]

(From OE-Core rev: 2fdd2c1434e7c741b8048145bd460c68bea7ee53)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-12 23:47:19 +01:00
Alexander Kanavin
d2d5bf5c68 systemtap: update to 3.0
Remove docproc-build-fix.patch, as the build problem it's fixing
now happens only if building html docs is explicitly enabled
(which we do not do).

(From OE-Core rev: 1310a71a81e0b19919fc622f676fa6106be6cf9d)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-04 14:13:35 +01:00
Alexander Kanavin
cc95c79341 systemtap: move to Python 3
(From OE-Core rev: fa707f700c0d2317cc5c0289e3e1fc1eb859ef40)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-03 13:13:28 +01:00
Hongxu Jia
c1273d4402 systemtap_git.inc: do not immediate expand SELECTED_OPTIMIZATION
We need to expand SELECTED_OPTIMIZATION later, so
do not immediate expansion, and do the work in
anonymous python function.

It is reasonable to give an error for -O0.

[YOCTO #7058]

(From OE-Core rev: 3d2455c1959283b956cb7536cd866717fefc10e8)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-31 13:29:48 +00:00
Alexander Kanavin
9c39a4f9cd systemtap: update to 2.9
(From OE-Core rev: 9083d25fa797272137737577228a3f7a5d95b27f)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16 12:12:17 +00:00