Viktor Malík
Viktor Malík
Currently, semantic analyser does 10 passes to make sure that map types for maps defined after their first usage are correctly propagated. This has several problems: - semantic analyser needs...
This implements a new syntax, `delete(@map[*, 10])` which allows partial deletes from maps, all within BPF. It uses `bpf_for_each_map_elem` helper with custom callback function. It currently supports only integer values...
It is currently not possible to have a loop with more than 1000 iterations: ``` # bpftrace -e 'BEGIN { $i = 0; while ($i < 10000) { @++; $i++...
#2477 added support for working with entire `args` as a record containing all probe arguments for kfuncs and uprobes. Extend this to tracepoints. Tracepoints have several specifics: - The passed...
When printing multiple values (e.g. maps) in JSON format, we get a JSON doc with multiple top-level objects which is not a valid JSON according to the standards. ### What...
Running unit tests under root fails the `utils.file_exists_and_ownedby_root` test: ``` # tests/bpftrace_test --gtest_filter="utils.file_exists_and_ownedby_root" Note: Google Test filter = utils.file_exists_and_ownedby_root [==========] Running 1 test from 1 test suite. [----------] Global test...
The previous probe expansion approach tried to minimize the amount of LLVM functions generated by emitting a single function for all probe matches in most cases. While this was efficient,...
Fix two issues with watchpoint probes/tests introduced by recent PRs: - #2997 forgot to update the `EXPECT` clauses for watchpoint runtime tests, - #3153 broke the name of the LLVM...
We now have two commands for creating snapshots that use Clang to build the analysed project: `build` and `build-kernel`. Each of these uses a different approach to run LLVM passes:...
A large portion of test runtime is spent on building kernel sources into LLVM IR. This doesn't add much value to the tests b/c the building has very few different...