v0.9.1
Pre-release
Pre-release
[0.9.1] 2019-06-25
Highlights
- Introduce compound assignment operators (
+=
and friends) (7f26468) by Matheus Marchini <mat@mmarchini.me> - Add support for arrays and IPv6 for the
ntop
builtin function (c9dd10f) by Matheus Marchini <mat@mmarchini.me> - Add basic support to enums (treat them as constants) (e4cb6ce) by Matheus Marchini <mat@mmarchini.me>
- Add macro definition support (8826470,af67b56,14e892b) by Matheus Marchini <mat@mmarchini.me>, Javier Honduvilla Coto <javierhonduco@gmail.com>
- Add support for arrays and IPv6 for the
ntop
builtin function (c9dd10f) by Matheus Marchini <mat@mmarchini.me> - Allow comparison of two string variables (7c8e8ed) by williangaspar <williangaspar360@gmail.com>
- Add pre and post behavior to ++ and -- operators (f2e1345...9fea147) by Alastair Robertson <alastair@ajor.co.uk>
- [BREAKING CHANGE] Ban kprobes that cause CPU deadlocks (40cf190) by Javier Honduvilla Coto <javierhonduco@gmail.com>
- [BREAKING CHANGE] Add unsafe-mode and make default execution mode safe-mode (981c3cf,4ce68cd) by Daniel Xu <dxu@dxuuu.xyz>
All Changes
Added
- Introduce compound assignment operators (
+=
and friends) (7f26468) by Matheus Marchini <mat@mmarchini.me> - Add KBUILD_MODNAME (a540fba) by Brendan Gregg <bgregg@netflix.com>
- Add flags for include paths and files (
--include
and-I
, respectively) (632652f) by Matheus Marchini <mat@mmarchini.me> - List uprobes with -l (122ef6e) by Matheus Marchini <mat@mmarchini.me>
- Add BPFTRACE_MAX_PROBES environment variable (ddb79df) by Matheus Marchini <mat@mmarchini.me>
- Add option to redirect trace output to file (462a811) by bas smit <bas@baslab.org>
- Add script to check kernel requirements (ac19743) by bas smit <bas@baslab.org>
- Add USDT wildcard matching support (82dbe4e...3725edf,648a65a) by Dale Hamel <dale.hamel@srvthe.net>
- Add support for arrays and IPv6 for the
ntop
builtin function (c9dd10f,24a463f) by Matheus Marchini <mat@mmarchini.me> - Add 'cat' builtin (ae1cfc9,ef9baf8) by Augusto Caringi <acaringi@redhat.com>
- Add array indexing operator [] for one-dimensional, constant arrays (ec664a1) by Dale Hamel <dalehamel@users.noreply.github.com>
- Allow dots to truncate fields in
printf
(0f636c9) by Brendan Gregg <bgregg@netflix.com> - Add
BPFTRACE_MAP_KEYS_MAX
environment variable, and increase default map keys limit to 4096 (fab8bf6) by Brendan Gregg <bgregg@netflix.com> - Add support for delimiters in join() statement (eb40386) by Jason Koch <jkoch@netflix.com>
- Add basic support to enums (treat them as constants) (e4cb6ce) by Matheus Marchini <mat@mmarchini.me>
- Add macro definition support (8826470,af67b56,14e892b) by Matheus Marchini <mat@mmarchini.me>, Javier Honduvilla Coto <javierhonduco@gmail.com>
- Add hardware:branch-misses (9631623) by Jason Koch <jkoch@netflix.com>
- Allow comparison of two string variables (7c8e8ed) by williangaspar <williangaspar360@gmail.com>
Changed
- Add pre and post behavior to ++ and -- operators (f2e1345...9fea147) by Alastair Robertson <alastair@ajor.co.uk>
- Parse negative integer literals correctly (108068f) by Daniel Xu <dxu@dxuuu.xyz>
- Tools improvements (9dbee04,a189c36) by Brendan Gregg <bgregg@netflix.com>
- USAGE message trim (18d63b0) by Brendan Gregg <bgregg@netflix.com>
- Allow
probe
builtin forBEGIN
andEND
probes (3741efe) by bas smit <bas@baslab.org> - Default -d and -dd output to stdout (ecea569) by Jay Kamat <jaygkamat@gmail.com>
- Return with error code if clang finds an error while parsing structs/enums/macros/includes (364849d) by Matheus Marchini <mat@mmarchini.me>
- Restore map key validation (7826ee3) by Alastair Robertson <alastair@ajor.co.uk>
- Add
/usr/include
to default header search path (32dd14b) by Javier Honduvilla Coto <javierhonduco@gmail.com> - More information in error message when failing to open script file (3b06e5f) by Alastair Robertson <alastair@ajor.co.uk>
- [BREAKING CHANGE] Add unsafe-mode and make default execution mode safe-mode (981c3cf,4ce68cd) by Daniel Xu <dxu@dxuuu.xyz>
- Safety measure for LLVM out of memory issue (6b53e4a) by Brendan Gregg <bgregg@netflix.com>
- Allow non-zero lhist min value (51fdb6a) by bas smit <bas@baslab.org>
- Improvements in startup speed (5ed8717,1ffb50f) by Matheus Marchini <mat@mmarchini.me>
- When using -c, spawn the child process only when the tracing is ready (e442e9d) by Jiri Olsa <jolsa@kernel.org>
- Allow more pointers as ints (3abc93e) by Brendan Gregg <bgregg@netflix.com>
- Validate that PID (received via
-p
) is an integer (48206ad) by Javier Honduvilla Coto <javierhonduco@gmail.com> - Promote map keys to 64-bit (e06e39d) by Brendan Gregg <bgregg@netflix.com>
- Add hint when traced PID is not running (9edb3e1) by Javier Honduvilla Coto <javierhonduco@gmail.com>
- Allow pointers in printf, mapkeys, and filters (0202412,280f1c6) by Brendan Gregg <bgregg@netflix.com>
- Allow ksym() lookups on function pointers (2139d46) by Brendan Gregg <bgregg@netflix.com>
- [BREAKING CHANGE] Ban kprobes that cause CPU deadlocks (40cf190) by Javier Honduvilla Coto <javierhonduco@gmail.com>
Fixed
- Workaround for asm goto in Kernel 5+ headers (60263e1) by Matheus Marchini <mat@mmarchini.me>
- Properly handle invalid
args
utilization (13c2e2e) by Augusto Caringi <acaringi@redhat.com> - Fix abort caused by lhist with incorrect number of arguments (41036b9) by bas smit <bas@baslab.org>
- Fix anonymous struct parsing (ea63e8b) by Alastair Robertson <alastair@ajor.co.uk>
- Fix code generation for bitwise and logical not on integer values (f522296) by synth0 <synthkaf@outlook.com>
- Fix typo in type mismatch error message (83924f8) by Jay Kamat <jaygkamat@gmail.com>
- Fix clearing action for some aggregations (dcd657e) by Javier Honduvilla Coto <javierhonduco@gmail.com>
- Fix possible crash if an invalid char is used in search (c4c6894) by Augusto Caringi <acaringi@redhat.com>
- Fix headers includes by using -isystem rather than -I (32daaa2) by Javier Honduvilla Coto <javierhonduco@gmail.com>
- Fix exit() function bypassing END probe processing #228 (f63e1df,e4c418e,5cce746) by Augusto Caringi <acaringi@redhat.com>
- Fix order in which probes fire (a4bf870) by John Gallagher <john.gallagher@delphix.com>
- Stop throwing 'failed to initialize usdt context for path' error message (1fa3d3c) by Augusto Caringi <acaringi@redhat.com>
- Fix stringification of ntop keys in maps (598050e) by Matheus Marchini <mat@mmarchini.me>
- Fix parsing of forward-decl structs inside structs (354c919) by Matheus Marchini <mat@mmarchini.me>
- Fix struct definition from headers (4564d55) by Matheus Marchini <mat@mmarchini.me>
- Avoid crash if incorrect command line option is used (aa24f29) by Augusto Caringi <acaringi@redhat.com>
- Fix clang_parser for LLVM 8+ (80ce138) by Matheus Marchini <mat@mmarchini.me>
- Fix semicolon being required in some cases after if statements (13de974) by Matheus Marchini <mat@mmarchini.me>
- Throw error message if argN or retval is used with incorrect probe type (b40354c) by Augusto Caringi <acaringi@redhat.com>
- Fix USDT listing (
-l
) without a search pattern (af01fac) by Javier Honduvilla Coto <javierhonduco@gmail.com> - Add missing space to error message (e1f5f14) by Alastair Robertson <alastair@ajor.co.uk>
- Fix unroll in some cases (mostly when the generated code was large) (702145c) by Matheus Marchini <mat@mmarchini.me>
Documentation
- Added info on clang environment variables (7676530) by Richard Elling <Richard.Elling@RichardElling.com>
- Fix snap instructions. (3877e46) by George Slavin <george.r.slavin@gmail.com>
- Fix ustack documentation (5eeeb10) by Daniel Xu <dxu@dxuuu.xyz>
- Replace stack with kstack (49e01e0) by Javier Honduvilla Coto <javierhonduco@gmail.com>
- Fix TOC in the reference guide (05eb170) by Alastair Robertson <alastair@ajor.co.uk>
- Fix broken links in docs (c215c61,845f9b6) by Daniel Xu <dxu@dxuuu.xyz>
- Fix inaccurate tutorial on listing (a4aeaa5) by Daniel Xu <dxu@dxuuu.xyz>
- Add documentation for BEGIN/END probes (81de93a) by Daniel Xu <dxu@dxuuu.xyz>
- Update build instructions for Ubuntu (38b9620) by bas smit <bas@baslab.org>
- INSTALL.md: update required dependency for usdt (5fc438e) by Zi Shen Lim <zlim.lnx@gmail.com>
- Fix ++ and -- text on undefined variables (47ab5cd) by Matheus Marchini <mat@mmarchini.me>
- Reference guide small fixes (0d9c1a4) by Augusto Caringi <acaringi@redhat.com>
- Add instructions to install on Gentoo (3c23187) by Patrick McLean <chutzpah@gentoo.org>
- Add install instructions for Ubuntu snap package (0982bb6) by George Slavin <george.r.slavin@gmail.com>
- Fix spelling mistake (a45869f) by George Slavin <george.r.slavin@gmail.com>
- Fix 'one liners tutorial': use 'openat' instead of 'open' in examples (0cce55c) by Augusto Caringi <acaringi@redhat.com>
- Add contributing section to the README (2a08468) by Alastair Robertson <alastair@ajor.co.uk>
- Standardise documentation on the bpftrace name (135a4d3) by Alastair Robertson <alastair@ajor.co.uk>
- Update install instructions (505b50a) by Alastair Robertson <alastair@ajor.co.uk>
Internal
- [tests] add missing tests to codegen.cpp (012ebda) by Matheus Marchini <mat@mmarchini.me>
- tests: add runtime tests for regression bugs (ee57b6f) by Matheus Marchini <mat@mmarchini.me>
- vagrant: add Ubuntu 19.04 box (60e6d0a) by Matheus Marchini <mat@mmarchini.me>
- docker: add Fedora 30 (9ccafa0) by Zi Shen Lim <zlim.lnx@gmail.com>
- Add Vagrantfile for ubuntu (b221f79) by bas smit <bas@baslab.org>
- tests: fix and improve runtime tests (c7b3b2f) by Matheus Marchini <mat@mmarchini.me>
- Clean up includes in clang_parser (374c240) by Daniel Xu <dxu@dxuuu.xyz>
- Remove double
check_nargs
call (c226c10) by bas smit <bas@baslab.org> - Fix call.system runtime test (3b4f578) by Daniel Xu <dxu@dxuuu.xyz>
- Fix call.str runtime test (8afbc22) by Daniel Xu <dxu@dxuuu.xyz>
- Fix k[ret]probe_order runtime tests (27a334c) by Daniel Xu <dxu@dxuuu.xyz>
- Remove old TODO (5be3752) by Alastair Robertson <alastair@ajor.co.uk>
- Add clang_parser::parse_fail test (6fd7aac) by Jiri Olsa <jolsa@kernel.org>
- Fix some bugs with positional parameters (13fb175) by Alastair Robertson <alastair@ajor.co.uk>
- Fix runtime tests (a05ee59) by bas smit <bas@baslab.org>
- Enable multiline matching for runtime test regex (c8763e4) by bas smit <bas@baslab.org>
- Add environment var support to runtime tests (543513e) by bas smit <bas@baslab.org>
- Disable codegen.printf_offsets test for LLVM5 CI build (ea8a7e4) by Alastair Robertson <alastair@ajor.co.uk>
- Fix LLVM 5 tests (938e79b) by Alastair Robertson <alastair@ajor.co.uk>
- Refactor find_wildcard_matches() to allow for proper testing (371c7cf) by Alastair Robertson <alastair@ajor.co.uk>
- tests: Use Python 3 for integration tests + test fix (#651) (4b0e477) by Javier Honduvilla Coto <javierhonduco@gmail.com>
- Add --unsafe to more runtime tests (8b2234a) by Daniel Xu <dxu@dxuuu.xyz>
- Fix 'ignoring return value' build warning (bdc9f16) by Augusto Caringi <acaringi@redhat.com>
- Fix 'signed overflow' related build warning (0ece2a9) by Augusto Caringi <acaringi@redhat.com>
- Fix UnboundLocalError on skipped test (03958cb) by John Gallagher <john.gallagher@delphix.com>
- Use getopt_long instead of getopt (d732298) by Daniel Xu <dxu@dxuuu.xyz>
- Fix docs typo (05bf095) by bas smit <bas@baslab.org>
- check explicitly for systemtap sys/sdt.h and ignore if not present (831633d) by Jason Koch <jkoch@netflix.com>
- Suppress build warning in GCC >=8 caused by #474 (71d1cd5) by Augusto Caringi <acaringi@redhat.com>
- Remove more tabs (e9594dd) by Alastair Robertson <alastair@ajor.co.uk>
- Convert tabs to spaces (585e8b5) by Alastair Robertson <alastair@ajor.co.uk>
- Add existence tests for kstack, kstack() and ustack() (954d93d) by Alastair Robertson <alastair@ajor.co.uk>
- [tests] more runtime tests enhancements (#586) (249c7a1) by Matheus Marchini <mat@mmarchini.me>
- Codegen: Fix assigning non-struct "internal" values to maps (4020a5c) by Alastair Robertson <alastair@ajor.co.uk>
- Fix typo on LLVM_REQUESTED_VERSION macro in CMakeLists.txt (82dbe4e) by Quentin Monnet <quentin.monnet@netronome.com>
- Fix build warning (a77becb) by Alastair Robertson <alastair@ajor.co.uk>
- [tests] allow tests to be skipped if a given condition is not met (59fa32a) by Matheus Marchini <mat@mmarchini.me>
- [tests] make other.if_compare_and_print_string less flaky (840bbb3) by Matheus Marchini <mat@mmarchini.me>
- Fix compile warnings and mark more functions as const (cfb058d) by Alastair Robertson <alastair@ajor.co.uk>
- Misc readability fixes (9581e01) by Fangrui Song <i@maskray.me>
- build: unify dockerfiles under a bionic image (445fb61) by Matheus Marchini <mat@mmarchini.me>
- [tests] fix and enhance runtime tests (ea5deb9) by Matheus Marchini <mat@mmarchini.me>
- [tests] add test script to run tools with -d (4ff113d) by Matheus Marchini <mat@mmarchini.me>
- [clang_parser] decouple kernel cflags from the parser method (ad753d5) by Matheus Marchini <mat@mmarchini.me>
- Address TODO items related to objdump dependency (382b9b7) by Adam Jensen <acjensen@gmail.com>
- Fall back to objdump/grep if bcc is older (fdd02ec) by Adam Jensen <acjensen@gmail.com>
- [clang_parser] pass BPFtrace as arg instead of StructMap (a0af75f) by Matheus Marchini <mat@mmarchini.me>
- [ast] introduce Identifier type to AST (389d55f) by Matheus Marchini <mat@mmarchini.me>
- use CMAKE_SYSTEM_PROCESSOR when selecting whether to include x86_64 or aarch64 sources (0ea7a63) by Michał Gregorczyk <michalgr@fb.com>
- Clearify error message for mismatched llvm. (9b77fee) by George Slavin <george.r.slavin@gmail.com>
- Add more info to LLVM mismatch error message (1e3b1be) by George Slavin <george.r.slavin@gmail.com>
- Allow 0 as kernel version during first attempt to call bcc_prog_load (13499ac) by Michał Gregorczyk <michalgr@fb.com>
- Fix bpftrace_VERSION_MINOR in CMakeLists.txt (8 -> 9) (13321eb) by Matheus Marchini <mat@mmarchini.me>
- Fix version information when not building inside a git repo (#489) (1f33126) by Augusto Caringi <acaringi@redhat.com>
- Do not try to load bpf program with unknown kernel version (2c00b7f) by Michał Gregorczyk <michalgr@fb.com>
- Add better checks for llvm version (4fe081e) by George Slavin <george.r.slavin@gmail.com>
- Fix deprecated stack warning in builtin_stack test (a1aaed8) by George Slavin <george.r.slavin@gmail.com>
- add test for 32-bit tp args (77f7cb7) by Brendan Gregg <bgregg@netflix.com>
- tests: add some basic integration tests (e9805af) by Javier Honduvilla Coto <javierhonduco@gmail.com>
- Fix and simplify lexer.l (57bae63) by Fangrui Song <i@maskray.me>
- Fix 2 clang warnings: -Wmismatched-tags and -Wpessimizing-move (18da040) by Fangrui Song <i@maskray.me>
- Revert "Stop linking against bcc-loader-static" (5b6352c) by Alastair Robertson <alastair@ajor.co.uk>
- fix typo on BPF_FUNC_get_current_cgroup_id missing message (27371c3) by Jason Koch <jkoch@netflix.com>
- propagate HAVE_GET_CURRENT_CGROUP_ID to ast modules (57e30da) by Jason Koch <jkoch@netflix.com>
- Add missing include (5763dc2) by Michał Gregorczyk <michalgr@fb.com>
- No need for
if
when we're not doing anything (a65ad14) by Alastair Robertson <alastair@ajor.co.uk> - Make indirect* related data static (24d9dd2) by Jiri Olsa <jolsa@kernel.org>
- Fix issues, add tests and improve reliability of positional parameters (acec163,f2e1345) by Matheus Marchini <mat@mmarchini.me>