| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://github.com/bpftrace/bpftrace/pull/2935 changed the test scripts,
then the runtime ptest got the following errors:
| KeyError: 'BPFTRACE_AOT_RUNTIME_TEST_EXECUTABLE'
| Output: /bin/sh: line 1: /usr/bin/: Is a directory\n
The changes in run-ptest is to solve these problems.
After fixing the previously mentioned problems,
we got the the following errors while running the runtime ptest:
| error: <unknown>:0:0: in function BEGIN i64 (ptr): 0x56056cec80f0: i64 = GlobalAddress<ptr @__atomic_compare_exchange> 0 too many arguments
The new patch in the bb file is to solve this problem.
Signed-off-by: Wentao Zhang <wentao.zhang@windriver.com>
|
|
|
|
|
|
| |
clang dependency is already added in meta-qt6 recipe.
Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current LUAJIT actually not works, below is snip of src/lua/CMakeLists.txt
[snip]
find_package(LuaJIT)
find_program(LUAJIT luajit)
if (LUAJIT_LIBRARIES AND LUAJIT)
FILE(GLOB_RECURSE SRC_LUA
${CMAKE_CURRENT_SOURCE_DIR}/bcc/*.lua
${CMAKE_CURRENT_SOURCE_DIR}/bcc/vendor/*.lua
${CMAKE_CURRENT_SOURCE_DIR}/bpf/*.lua)
ADD_CUSTOM_COMMAND(
OUTPUT bcc.lua
COMMAND ${LUAJIT} ${CMAKE_CURRENT_SOURCE_DIR}/src/squish.lua ${CMAKE_CURRENT_SOURCE_DIR}
DEPENDS ${SRC_LUA} ${CMAKE_CURRENT_SOURCE_DIR}/squishy
)
ADD_CUSTOM_COMMAND(
OUTPUT bcc.o
COMMAND ${LUAJIT} -bg bcc.lua bcc.o
DEPENDS bcc.lua
)
[snip]
LUAJIT will be set when luajit is found. For oe, maybe we need to
DEPENDS on luajit-native. But there are still 2 problems after I change
DEPENDS from luajit to luajit-native and export
LUA_PATH="${RECIPE_SYSROOT_NATIVE}/usr/share/luajit-2.1/?.lua"
1. luajit seems not support cross compile, if our target arch is
different with build host, from above snip, luajit will compile out
bcc.o with host arch, int this way, compile will failed with below
error: "error adding symbols: file in wrong format".
Refer [1], seems like option "-a" can used to generate other arch
object. But luajit-native don't have this option:
cortexa57-wrs-linux/bcc/0.29.1/recipe-sysroot-native/usr/bin/luajit [options]... [script [args]...].
Available options are:
-e chunk Execute string 'chunk'.
-l name Require library 'name'.
-b ... Save or list bytecode.
-j cmd Perform LuaJIT control command.
-O[opt] Control LuaJIT optimizations.
-i Enter interactive mode after executing 'script'.
-v Show version information.
-E Ignore environment variables.
– Stop handling options.
2. if target arch is the same as build host(my test env is x86-64),
bcc-lua is built out, but still have 2 problems, first, "bcc-lua
/usr/share/bcc/examples/lua/bashreadline.lua" has a runtime error [2].
second, bcc-lua may try to find modules on host path:
root@qemux86-64:/usr/share/bcc/examples/lua# bcc-lua ./kprobe-latency.lua
bcc-lua: bcc.lua:3052: module 'syscall' not found:
no field package.preload['syscall']
no file './syscall.lua'
no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/share/luaj'
no file '/usr/local/share/lua/5.1/syscall.lua'
no file '/usr/local/share/lua/5.1/syscall/init.lua'
no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/share/lua/'
no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/share/lua/'
no file './syscall.so'
no file '/usr/local/lib/lua/5.1/syscall.so'
no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/lib/lua/5.'
no file '/usr/local/lib/lua/5.1/loadall.so'
so remove LUAJIT setting and related examples first
[1] https://luajit.org/running.html
[2] https://github.com/iovisor/bcc/issues/1621
Signed-off-by: Changqing Li <changqing.li@windriver.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
bcc's build system can detect it correctly these days from sysroot cmake
files provided by llvm.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Provides libLLVM when using clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
| |
distutils package no longer exists after python 3.12 upgrade.
I haven't run ptest for this, but at least it will parse well now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"runtime:regression" in ptest gets the following FAILED:
| nm: ./testprogs/uprobe_test: no symbols
Keep the debug info of uprobe_test to pass this ptest item.
the steps to repruduce:
$export BPFTRACE_RUNTIME_TEST_EXECUTABLE=/usr/bin
$cd /usr/lib/bpftrace/ptest/tests
$python3 runtime/engine/main.py --filter="regression.*"
***
| [ FAILED ] regression.address_probe_invalid_expansion
| Command: /usr/bin/bpftrace -e "uprobe:./testprogs/uprobe_test:0x$
| (nm ./testprogs/uprobe_test | awk '$3 == "function1"
| {print $1}') { @[probe] = count(); exit() }"
| Unclean exit code: 1
| Output: nm: ./testprogs/uprobe_test: no symbols\nNo probes to attach\n
***
Signed-off-by: Wentao Zhang <wentao.zhang@windriver.com>
|
|
|
|
|
|
|
|
| |
"runtime:call" in ptest gets the following FAILED:
| python: No such file or directory
Replace python with python3 in this ptest item.
Signed-off-by: Wentao Zhang <wentao.zhang@windriver.com>
|
|
|
|
|
|
| |
The issue has been fixed upstream
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
git submodules
* bitbake fetcher will correctly handle safe.directory issues and
blazesym or libbpf submodules are managed by gitsm:// fetcher
we don't want to call git from CMake in do_configure
* prevents many safe.directory entries in users .gitconfig when
bcc was built in many different TMPDIRs
added in https://github.com/iovisor/bcc/pull/4186
causing:
[safe]
directory = /OE/build/oe-core/tmp-glibc/work/cortexa57-oe-linux/bcc/0.28.0+git/git
directory = /OE/build/oe-core/tmp-glibc/work/cortexa57-oe-linux/bcc/0.28.0+git/git/libbpf-tools/blazesym
to be added for every TMPDIR where it was built
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* it depends not only on meta-oe, but on meta-python as well
and because meta-python depends on meta-oe, we can enable this
when ever meta-python is included
* fixes:
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'python3-pyroute2' (but /OE/build/oe-core/meta-clang/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc_0.28.0.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'python3-pyroute2' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python3-pyroute2']
ERROR: Nothing RPROVIDES 'python3-netaddr' (but /OE/build/oe-core/meta-clang/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc_0.28.0.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'python3-netaddr' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python3-netaddr']
ERROR: Nothing RPROVIDES 'bcc-dev' (but /OE/build/oe-core/meta-clang/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc_0.28.0.bb RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'bcc-dev'
NOTE: Runtime target 'bcc-dev' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['bcc-dev']
ERROR: Nothing RPROVIDES 'bcc' (but /OE/build/oe-core/meta-clang/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc_0.28.0.bb RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'bcc'
NOTE: Runtime target 'bcc' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['bcc']
|
|
|
|
|
|
| |
Building bpftrace tests after upgrade requires pahole and llvm-objcopy.
Signed-off-by: Michal Wojcik <michal.wojcik@linaro.org>
|
|
|
|
|
|
|
|
|
| |
examples/tracing/nflatency.py has already upgraded the shebang to python3 on upstream,
so when we apply the do_install:append function, the shebang of nflatency.py become
/usr/bin/env python33
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Allow clang/llvm 17 to build it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
| |
Add python3-setuptools-native to depends
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
See [1]
[1] https://codereview.qt-project.org/c/yocto/meta-qt6/+/476890
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
| |
the upstream changed the shebang of python scripts in tools folder[1],
this would cause do_install:append cannot conver all scripts.
[1] https://github.com/iovisor/bcc/commit/3f5e402bcadf44ce0250864db52673bf7317797b
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
This ensures bundled gn is built propertly using gnu rumtime for build
host
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
The recipe has been patched to remove the clang dependency and moved to meta-openembedded at
https://github.com/openembedded/meta-openembedded/tree/master/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
|
|
| |
Use system provided bpf and bcc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
| |
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
|
|
|
|
| |
The fastboot makefile is creating the directory $(OUT_DIR)/usr/bin, so removing
fastboot from TOOLS_TO_BUILD in a bbappend resulted in a build failure
because of the missing directory $(OUT_DIR)/usr/bin.
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
devtool modify android-tools was failing with an error:
- regenerate patches in the git format working with devtool
- add debian patches to yocto instead of applying them manually with do_unpack_and_patch_debian,
to make it work with devtool
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building android-tools, this chain of dependency pulls the openssl library libcrypto.so.3 in recipe-sysroot:
clang-native -> cmake-native -> curl-native -> openssl-native
The issue is that libcrypto_utils attempt to link against the libcrypto.so produced by boringssl (debian/out/usr/lib/android/libcrypto.so),
but the -L flags added by yocto to CPPFLAGS appear before the -L flag provided in the patch, and therefore the wrong library is used.
Link explicitly against libcrypto.so.0 in order to ignore the openssl library and use boringssl instead.
Note: to debug this add -Wl,--verbose to LDFLAGS
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Those 2 warnings (caused by the combination of -nostdlib and the options added by meta-clang) were treated as errors:
"""
clang-14: warning: argument unused during compilation: '-rtlib=libgcc' [-Wunused-command-line-argument]
clang-14: warning: argument unused during compilation: '--unwindlib=libgcc' [-Wunused-command-line-argument]
"""
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
| |
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
android-tools inherits the native class, and RDEPENDS on android-tools-conf.
This line causes an error when trying to build android-tools-native:
"""
ERROR: Required build target 'android-tools-native' has no buildable providers.
Missing or unbuildable dependency chain was: ['android-tools-native', 'clang-native-x86_64']
"""
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
|
|
|
| |
This avoids an error about the file already existing when debugging the recipe
and starting incremental builds.
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
|
|
|
|
|
|
|
| |
- The code was producing the error "tool: command not found" and the
else branch was always executed, even for libbacktrace.
- There is no variable "deb_host_arch" defined in rules.yocto, so it's not
clear what the first line of the patch with DEB_HOST_ARCH=${deb_host_arch}
was supposed to do. "${deb_host_arch}" is always undefined in this context.
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
|
|
|
| |
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Michal Wojcik <michal.wojcik@linaro.org>
|
|
|
|
|
|
|
| |
Clang crashes compiling some tests so until its fixed in riscv64 backend
we have to disable it for atleast rv64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
| |
Use bcc cc and python test suites and parse their results in ptest form.
Running whole suite on qemu may take up to 25 minutes, so running it
with "ptest-runner -t 1800 bcc" is recommended.
Signed-off-by: Michal Wojcik <michal.wojcik@linaro.org>
|
|
|
|
|
|
|
|
|
| |
Use existing bpftrace unit and runtime tests and parse their results in
ptest form.
Running whole suite may take up to 40 minutes, so running it with
"ptest-runner -t 2400 bpftrace" is recommended.
Signed-off-by: Michal Wojcik <michal.wojcik@linaro.org>
|
|
|
|
|
|
| |
Include segfault workaround for LLVM 15 OpaquePointers (a277ec4).
Signed-off-by: Michal Wojcik <michal.wojcik@linaro.org>
|
|
|
|
|
|
| |
Upgrade package to include segmentation fault fix added in bb2b5d8.
Signed-off-by: Michal Wojcik <michal.wojcik@linaro.org>
|
|
|
|
|
|
| |
The patch is already applied upstream so drop it.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
| |
Changes are here [1]
[1] https://github.com/iovisor/bcc/releases/tag/v0.25.0
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently bcc builds against a vendored copy of libbpf. This causes
problems for bpftrace which is built against bcc and the system libbpf.
The resulting version skew between the vendored and system versions of
libbpf resulting in a SEGV whenever bpftrace is used.
Although --help and -l (list probe points) work OK that is because they do
not actually use BPF! Anything that does use BPF will crash immediately,
including bpftrace --info and simple one-liners such as:
~# bpftrace -e 't:raw_syscalls:sys_exit { printf("%s", comm); }'
Attaching 1 probe...
Segmentation fault
Note that this issue is very closely related to similar problems
compiling bpftrace against mixed headers from the two libbpf versions.
Fixes: https://github.com/iovisor/bpftrace/issues/2173
Fixes: bb3e56b06f9d ("bpftrace: Fix build with new libbpf")
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
De-vendoring libbpf resolves a SEGV everytime we run bpftrace.
Unfortunately it is not currently possible to de-vendor libbpf because
bcc does not build.
Fix this with brute force and ignorance... and in a seperate patch so
this can be treated as an explanation of the problem and ripped out in
favour of the right fix.
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
|