v0.9.4
Pre-release
Pre-release
[0.9.4] 2020-02-04
Highlights
- New calls:
signal
,override
,strncmp
- Support for attaching to
kprobes
at an offset - Support for struct bitfields
All Changes
Added
- Add support to attach kprobe to offset (e31e398) by Masanori Misono <m.misono760@gmail.com>
- Add
--info
flag (afafbf5) by bas smit <bas@baslab.org> - Mark 'override_return' as unsafe (49cd031) by bas smit <bas@baslab.org>
- Implement bpf_override_return (784c64e) by bas smit <bas@baslab.org>
- arch: Add support for powerpc64 registers (472f5ed) by Sandipan Das <sandipan@linux.ibm.com>
- Add source line information to error messages (46e62c0) by bas smit <bas@baslab.org>
- Support octal and hexadecimal escape sequences in string (873d7ba) by Masanori Misono <m.misono760@gmail.com>
- Implement
signal
(32bb577) by bas smit <bas@baslab.org> - Make
signal
unsafe (be676b5) by bas smit <bas@baslab.org> - Implement strncmp (a1d0263) by Jay Kamat <jaygkamat@gmail.com>
- Add builtin: cpid (cae4dcf) by bas smit <bas@baslab.org>
- Allow uprobe offset on quoted attach points (6432609) by bas smit <bas@baslab.org>
- Allow string literals as signal specifiers (0230f98) by bas smit <bas@baslab.org>
- Implement bitfield support (8822cc2) by Daniel Xu <dxu@dxuuu.xyz>
Changed
- Take first binary match for PATH lookup on uprobe and USDT (ec5c2c3) by Daniel Xu <dxu@dxuuu.xyz>
- Infer
uaddr
pointer type from ELF symbol size (59b0659) by bas smit <bas@baslab.org> - Rename
override_return
tooverride
(96cb4b5) by bas smit <bas@baslab.org> - Runtime feature testing (17f3c82) by bas smit <bas@baslab.org>
- Silenced unsigned/signed comparison warning (75101f9) by Daniel Xu <dxu@dxuuu.xyz>
- error message for verification buffer size (41c0ab8) by Gordon Marler <gmarler@bloomberg.net>
- Reimplement
elapsed
using a hidden map (2613ea6) by bas smit <bas@baslab.org> - Remove dependency on 'command' shell builtin (3f7a94a) by Adam Jensen <acjensen@gmail.com>
- Make parsing fail if lexing fails (d092cb1) by Alastair Robertson <alastair@ajor.co.uk>
- Limit increment/decrement to variables (c126441) by bas smit <bas@baslab.org>
- Only warn about missing BTF info in debug mode (f84ae5c) by Daniel Xu <dxu@dxuuu.xyz>
- Allow uretprobe at an address (f0785b5) by bas smit <bas@baslab.org>
- fix uprobe address on short name (f7ed963) by bas smit <bas@baslab.org>
- Reverse return value of strncmp (384640e) by Jay Kamat <jaygkamat@gmail.com>
- Make strcmp return 0 on match (8d9069c) by bas smit <bas@baslab.org>
- Differentiate between regular structs and typedef'd structs (8d34209) by Alastair Robertson <alastair@ajor.co.uk>
Fixed
- Support "." in attach point function argument (c532159) by Daniel Xu <dxu@dxuuu.xyz>
- clang_parser: workaround for asm_inline in 5.4+ kernel headers (c30e4dd) by Andreas Gerstmayr <agerstmayr@redhat.com>
- Consider signed array (9bb6a8b) by Masanori Misono <m.misono760@gmail.com>
- Support anonymous struct/union in BTF::type_of() (36d9914) by Masanori Misono <m.misono760@gmail.com>
- Allow resolving binary paths in different mount ns (124e569) by Dale Hamel <dale.hamel@shopify.com>
- Avoid useless allocations in strncmp (551664e) by bas smit <bas@baslab.org>
- Avoid comparing past string length (b10dc32) by bas smit <bas@baslab.org>
- Call llvm.lifetime.end after memcpy if the expression is not a variable (8b2d219) by Masanori Misono <m.misono760@gmail.com>
- bug: Strip newlines from log message (361d1fc) by bas smit <bas@baslab.org>
- Fix buggy signed binop warnings (e87897c) by Daniel Xu <dxu@dxuuu.xyz>
- Reuse
cat
andsystem
ID when expanding probes (79aada5) by bas smit <bas@baslab.org> - Remove unneeded
probe_read
s fromstrcmp
(43b4e4c) by bas smit <bas@baslab.org> - Fix func variable in uprobe (d864f18) by Masanori Misono <m.misono760@gmail.com>
- Add space for the error message about kernel.perf_event_max_stack (de2a7a8) by Kenta Tada <Kenta.Tada@sony.com>
- Improve uprobe/usdt visitor error handling and messaging (5005902) by Adam Jensen <acjensen@gmail.com>
- Fix some semantic analyser crashes (b11dc75) by Alastair Robertson <alastair@ajor.co.uk>
- Fix codegen for modulo operation (fe0ed5a) by Daniel Xu <dxu@dxuuu.xyz>
Documentation
- Document
override_return
(b83b51d) by bas smit <bas@baslab.org> - Add documentation on BTF (6623f25) by Masanori Misono <m.misono760@gmail.com>
- docs: limit to 105 chars (91e9dad) by bas smit <bas@baslab.org>
- docs: Remove double shebang (da8b10c) by bas smit <bas@baslab.org>
- docs: improve readability of code snippets (34a394a) by bas smit <bas@baslab.org>
- docs: remove unneeded html elements (06d8662) by bas smit <bas@baslab.org>
- Fix typos (e5ad6b9) by Michael Prokop <michael.prokop@synpro.solutions>
- One-liner tutorial: Use "struct" when casting (7a5624c) by Alastair Robertson <alastair@ajor.co.uk>
- docs: Add centos 7 repo (1b4cb8f) by bas smit <bas@baslab.org>
- docs: Fix typo (b38dbd0) by bas smit <bas@baslab.org>
- Move debug flags closer to each other in help message (df61049) by Daniel Xu <dxu@dxuuu.xyz>
- Add binutils dependency to documentation (c57204c) by Daniel Xu <dxu@dxuuu.xyz>
- Add documentation on release procedure (#981) (528fd6e) by Daniel Xu <dxu@dxuuu.xyz>
- fix: Minor spelling correction (b3a6aee) by Jason Wohlgemuth <jhwohlgemuth@users.noreply.github.com>
- Document
signal
(d5f3c75) by bas smit <bas@baslab.org> - INSTALL.md: Fix TOC link (1ab0a71) by Alastair Robertson <alastair@ajor.co.uk>
- Amend sizes in documentation and provide date (ddd10fe) by Dale Hamel <dale.hamel@shopify.com>
- Docs: add missing TOC entry (8c1d4e9) by bas smit <bas@baslab.org>
- Add the chinese version for one liners tutorial (15a930e) by supersojo <suyanjun218@163.com>
Internal
- Reorganize tests/ directory (193177b) by Daniel Xu <dxu@dxuuu.xyz>
- Fix typing issues in
CreateMapUpdateElem
(e86b9bb) by bas smit <bas@baslab.org> - Fix typing issues in
CreateMapLookup
(14af118) by bas smit <bas@baslab.org> - Fix build: Add namespace to BPF_FUNC_override_return (b6de734) by Alastair Robertson <alastair@ajor.co.uk>
- Unify vmlinux and BTF location list (1d39776) by Masanori Misono <m.misono760@gmail.com>
- Disable probe.kprobe_offset_fail_size runtime test in CI (1497434) by Masanori Misono <m.misono760@gmail.com>
- fmt: update formatting in clang_parser.cpp (aefc424) by Andreas Gerstmayr <agerstmayr@redhat.com>
- Use constexpr (b59c3a7) by Masanori Misono <m.misono760@gmail.com>
- Make use of feature testing (b01f89c) by bas smit <bas@baslab.org>
- Import libbpf (132e1ee) by bas smit <bas@baslab.org>
- Rename BPFTRACE_BTF_TEST to BPFTRACE_BTF (5bbeb31) by Masanori Misono <m.misono760@gmail.com>
- Add test for anonymous struct/union processing using BTF (240f59a) by Masanori Misono <m.misono760@gmail.com>
- Switch tests suite to
bcc_foreach_sym
(a251477) by bas smit <bas@baslab.org> - Make resolve_binary_paths include non-executable shared objects in its return. (c3d1095) by Michał Gregorczyk <michalgr@fb.com>
- Remove full static builds from travis (4fe9064) by Dale Hamel <dale.hamel@srvthe.net>
- Move ast.h definitions into ast.cpp (f0dd0b4) by Daniel Xu <dxu@dxuuu.xyz>
- Use subprocess.Popen text mode (47de78b) by Daniel Xu <dxu@dxuuu.xyz>
- Fix debian libclang only linking (a9a2f0f) by Dale Hamel <dale.hamel@srvthe.net>
- Build static+libc images using github actions (4794aba) by Dale Hamel <dale.hamel@srvthe.net>
- Enable static+glibc builds and embedding LLVM deps (b1ae710) by Dale Hamel <dale.hamel@shopify.com>
- Create StderrSilencer helper class to redirect stderr (b59b97a) by Daniel Xu <dxu@dxuuu.xyz>
- Add missing semicolon (add4117) by Daniel Xu <dxu@dxuuu.xyz>
- ast: codegen: Add abstraction for stack pointer offset (d19614d) by Sandipan Das <sandipan@linux.ibm.com>
- clang-format: avoid breaking indent in irbuilderbpf.h (5b6d236) by bas smit <bas@baslab.org>
- Non-invasive formatting of src/*.h (98328f1) by Alastair Robertson <alastair@ajor.co.uk>
- Clang Format: Update line-break penalties (30d5b8d) by Alastair Robertson <alastair@ajor.co.uk>
- correct for clang-format check (bb30265) by Gordon Marler <gmarler@bloomberg.net>
- Add requested msg prefix (f3327bd) by Gordon Marler <gmarler@bloomberg.net>
- add requested changes. (c9453b5) by Gordon Marler <gmarler@bloomberg.net>
- Show current log size in msg as starting point (7942b9d) by Gordon Marler <gmarler@bloomberg.net>
- Fix CI clang-format (13556f9) by Daniel Xu <dxu@dxuuu.xyz>
- Make ninja work with build system (76bb97a) by Daniel Xu <dxu@dxuuu.xyz>
- Clang Format: switch/case bracketing style fixes (f4e46b2) by Alastair Robertson <alastair@ajor.co.uk>
- Clang Format: Don't wrap braces after namespace (4b26e3f) by Alastair Robertson <alastair@ajor.co.uk>
- Add non-literal strncmp test (1c41333) by bas smit <bas@baslab.org>
- Rename literal test (4295985) by bas smit <bas@baslab.org>
- refactor CreateMapLookupElem (7b7ab95) by bas smit <bas@baslab.org>
- Add a semantic and runtime test to test task_struct field accesses (8519550) by Masanori Misono <m.misono760@gmail.com>
- Use
struct task_struct
instead oftask_struct
(d39db3a) by Masanori Misono <m.misono760@gmail.com> - BTF leftover for full type rename (5088682) by Jiri Olsa <jolsa@kernel.org>
- Create a single is_numeric() function in utils (374ca46) by Alastair Robertson <alastair@ajor.co.uk>
- Warn if cmake is less than 3.13 when building with ASAN (ad3b9f3) by Masanori Misono <m.misono760@gmail.com>
- Remove unnecessary division (81b7c0a) by Daniel Xu <dxu@dxuuu.xyz>
- Add build option, BUILD_ASAN, to turn on address sanitizer (04d015e) by Daniel Xu <dxu@dxuuu.xyz>
- Properly indent cmake config (24a7695) by Daniel Xu <dxu@dxuuu.xyz>
- Use mocks consistently in codegen tests so they don't require root to run (b261833) by Alastair Robertson <alastair@ajor.co.uk>
- Enable -Werror on CI builds (2f0f5db) by Alastair Robertson <alastair@ajor.co.uk>
- CMakeLists cleanups (6b8d7ad) by Alastair Robertson <alastair@ajor.co.uk>
- Disable deprecated ORCv1 warning in llvm (607b8af) by Daniel Xu <dxu@dxuuu.xyz>
- Normalize code (0878020) by Daniel Xu <dxu@dxuuu.xyz>
- Pass location to uprobe+offset probe (8c1a355) by bas smit <bas@baslab.org>
- Use symbolic constants instead of numeric literal (457aab9) by Daniel Xu <dxu@dxuuu.xyz>
- Add clang-format rule to travis CI (3b9e959) by Daniel Xu <dxu@dxuuu.xyz>
- Turn off clang-format for specific long lists (bcbfaa0) by Daniel Xu <dxu@dxuuu.xyz>
- Add .clang-format file (b04e478) by Daniel Xu <dxu@dxuuu.xyz>
- Change reinterpret_cast to static cast and fix formatting (03d2d67) by Alastair Robertson <alastair@ajor.co.uk>
- Add PER_CPU detection helper (594fd34) by bas smit <bas@baslab.org>
- Store the BPF map type in the map object (2e850c5) by bas smit <bas@baslab.org>
- format: align parser (b3680e6) by bas smit <bas@baslab.org>
- Make ASSERTs in helper functions fail the parent testcase (ddaa482) by Alastair Robertson <alastair@ajor.co.uk>
- Add dependency on testprogs and bpftrace to runtime tests (7870091) by Daniel Xu <dxu@dxuuu.xyz>
- Add custom target for testprogs (d799e83) by Daniel Xu <dxu@dxuuu.xyz>
- Move testprogs cmake definition before runtime test definitions (6783448) by Daniel Xu <dxu@dxuuu.xyz>
- Add tests for resolve_binary_path (8fb727a) by Adam Jensen <acjensen@gmail.com>
- Fix tests to run without $PATH (c1c60c2) by Adam Jensen <acjensen@gmail.com>
- Add runtime tests for ambiguous wildcard matches (cca9040) by Adam Jensen <acjensen@gmail.com>
- Add regression tests for modulo operation (0a1cb65) by Daniel Xu <dxu@dxuuu.xyz>
- Don't take reference of a pointer (61ba68a) by Daniel Xu <dxu@dxuuu.xyz>
- Silence test suite (8d1f691) by bas smit <bas@baslab.org>
- Disable builtin.cgroup runtime test in CI (8277876) by Daniel Xu <dxu@dxuuu.xyz>
- Add a RUNTIME_TEST_DISABLE environment to runtime tests (6c984ea) by Daniel Xu <dxu@dxuuu.xyz>
- Add script to compare tool codegen between builds (d95a2d1) by bas smit <bas@baslab.org>
- Minor btf cleanups (a10479b) by Daniel Xu <dxu@dxuuu.xyz>
- Add FieldAnalyser to the clang parser tests (13b06d2) by Jiri Olsa <jolsa@kernel.org>
- Iterate only over detected types in BTF::c_def (409d7ad) by Jiri Olsa <jolsa@kernel.org>
- Add BPFtrace::btf_set_ to replace global BTF type set (06a09ca) by Jiri Olsa <jolsa@kernel.org>
- Add BTF::type_of function (4378e24) by Jiri Olsa <jolsa@kernel.org>
- Adding FieldAnalyser class (ec3c621) by Jiri Olsa <jolsa@kernel.org>
- Move BTF object into BPFtrace class (fdf3940) by Jiri Olsa <jolsa@kernel.org>
- Add runtime test (db81d25) by Daniel Xu <dxu@dxuuu.xyz>
- Add clang_parser test (6cae624) by Daniel Xu <dxu@dxuuu.xyz>
- Use struct instead of class (fbe3bf6) by Daniel Xu <dxu@dxuuu.xyz>
- Make
strncmp
codegen unsigned (af54c9b) by bas smit <bas@baslab.org> - Avoid shift/reduce warnings (3761904) by bas smit <bas@baslab.org>
- Treat stackmode as identifier (e018da5) by bas smit <bas@baslab.org>
- Define all
call
s in the lexer to avoid redefinition (b8ddf25) by bas smit <bas@baslab.org> - Remove
_
suffix from local variables (34d4654) by bas smit <bas@baslab.org> - Add regression test for #957 (253cfd6) by bas smit <bas@baslab.org>
- Fix paths in tests (a8dcb02) by bas smit <bas@baslab.org>
- Allow runtime tests to be ran from any directory (9139bed) by bas smit <bas@baslab.org>
- Link libiberty during static builds (aa8c7ba) by Daniel Xu <dxu@dxuuu.xyz>
- cpid vector -> single (52ff6e3) by bas smit <bas@baslab.org>
- 0.9.3 Changelog (f4ea282) by bas smit <bas@baslab.org>
- Bump to 0.9.3 (3d1e022) by bas smit <bas@baslab.org>
- Add
signal
tests (95cba2b) by bas smit <bas@baslab.org> - Add missing kernel option in INSTALL.md (099d1c9) by Edouard Dausque <git@edouard.dausque.net>
- Make printing the LLVM IR from a debugger easier (d534295) by bas smit <bas@baslab.org>
- Make
uprobes - list probes by pid
test more quiet (b2a570a) by Daniel Xu <dxu@dxuuu.xyz> - vagrant: add binutils-dev dependency (2e73e04) by Matheus Marchini <mmarchini@netflix.com>
- Fix maptype bugs (028c869) by bas smit <bas@baslab.org>
- Disable -Winconsistent-missing-override in mock.h (d3cb095) by Masanori Misono <m.misono760@gmail.com>
- Disable -Wcast-qual for bpf/btf.h (b308a9c) by Masanori Misono <m.misono760@gmail.com>
- Import used headers (979992e) by Masanori Misono <m.misono760@gmail.com>
- Fix modernize-deprecated-headers warnings (b09836b) by Masanori Misono <m.misono760@gmail.com>
- Fix -Wcast-align (ce45470) by Masanori Misono <m.misono760@gmail.com>
- Fix -Wdelete-abstract-non-virtual-dtor (cb78da3) by Masanori Misono <m.misono760@gmail.com>
- Fix -Wstring-plus-int (3e52a3d) by Masanori Misono <m.misono760@gmail.com>
- Fix -Wunreachable-code-loop-increment (f354911) by Masanori Misono <m.misono760@gmail.com>
- Fix -Wbraced-scalar-init (6fc82ed) by Masanori Misono <m.misono760@gmail.com>
- Fix -Wmismatched-tags (e29a4f2) by Masanori Misono <m.misono760@gmail.com>
- Fix -Wformat-security (cc3ef62) by Masanori Misono <m.misono760@gmail.com>
- Fix some compiler warnings (9a85f10) by Daniel Xu <dxu@dxuuu.xyz>