Commit
8e807dc23c4455728a77a810e48f116770b349f6
by yonghong-songfix compilation issues with latest llvm12 trunk
With latest llvm12 trunk, we got two compilation bugs.
Bug #1: /home/yhs/work/bcc/src/cc/frontends/clang/b_frontend_action.cc: In member function ‘void ebpf::BFrontendAction::DoMiscWorkAround()’: /home/yhs/work/bcc/src/cc/frontends/clang/b_frontend_action.cc:1706:31: error: ‘class clang::SourceManage’ has no member named ‘getBuffer’; did you mean ‘getBufferData’? rewriter_->getSourceMgr().getBuffer(rewriter_->getSourceMgr().getMainFileID())->getBufferSize(), ^~~~~~~~~ getBufferData
This is due to upstream change https://reviews.llvm.org/D89394. To fix, follow upstream examples in https://reviews.llvm.org/D89394.
Bug #2: /home/yhs/work/bcc/src/cc/bpf_module.cc: In member function ‘int ebpf::BPFModule::finalize()’: /home/yhs/work/bcc/src/cc/bpf_module.cc:470:11: error: ‘class llvm::EngineBuilder’ has no member named ‘setUseOrcMCJITReplacement’ builder.setUseOrcMCJITReplacement(false); ^~~~~~~~~~~~~~~~~~~~~~~~~
This is due to upstream https://github.com/llvm/llvm-project/commit/6154c4115cd4b78d0171892aac21e340e72e32bd
It seems builder.setUseOrcMCJITReplacement() is not needed any more. So just remove it from bcc.
Signed-off-by: Yonghong Song <yhs@fb.com>
|
| src/cc/bpf_module.cc (diff) |
| src/cc/bpf_module_rw_engine.cc (diff) |
| src/cc/frontends/clang/b_frontend_action.cc (diff) |
Commit
57975a1e80fb61d317309984221f78a529c84092
by yonghong-songtools/offcputime: Fix python3 string output
When using non-folded output, some of the strings would be printed as raw byte arrays on python3, like this:
b'finish_task_switch' b'__schedule' b'schedule' b'worker_thread' b'kthread' b'ret_from_fork' - kworker/u16:1 (22022) 2267942
This commit updates the code to treat these as utf8 strings, consistent with all the other strings printed from this tool.
|
| tools/offcputime.py (diff) |
Commit
6ef5ce27f4bbbe13848d909ef5e4e6c739f7a818
by yonghong-songadd a C++ kfunc/kretfunc example
This patch added a kfunc/kretfunc C++ example to show how the new trampoline based kprobe/kretprobe can be used in C++ based applications.
Signed-off-by: Yonghong Song <yhs@fb.com>
|
| examples/cpp/KFuncExample.cc |
| examples/cpp/CMakeLists.txt (diff) |
|
| src/cc/export/helpers.h (diff) |
|
| src/cc/export/helpers.h (diff) |
|
| .github/workflows/publish.yml (diff) |
|
| Dockerfile.ubuntu (diff) |
|
| docs/kernel-versions.md (diff) |
|
| docs/kernel-versions.md (diff) |
Commit
b2d363271681e3f6bf78eb43636b921d54d737c7
by yonghong-songtools/biolatpcts: Support measuring overall latencies between two events
* Interpret negative interval as infinite and output once as soon as init is complete to indicate readiness.
* Output on SIGUSR1.
* When exit is requested through SIGINT, TERM or HUP, output the latency distribution one more time before exiting.
Combined, this allows using biolatpcts to measure the overall latency distribution between two events.
|
| tools/biolatpcts.py (diff) |
Commit
783c0ea89ca856dcf1e4a2e452434bca650c9325
by yonghong-songtools/biolatpcts: Add accumulative reporting on SIGUSR2
SIGUSR1's behavior is the same - print and start a new interval. SIGUSR2 triggers output without starting a new interval and can be used to monitor progress without affecting the accumulation of data points.
|
| tools/biolatpcts.py (diff) |
|
| INSTALL.md (diff) |
|
| docs/reference_guide.md (diff) |
|
| docs/tutorial.md (diff) |
|
| docs/kernel-versions.md (diff) |
|
| docs/kernel-versions.md (diff) |
Commit
ee2e88d46f7344c904cca1ac482908f97014a1df
by yonghong-songlibbpf-tools: syscall_helpers: fix a warning
Fix the following warning when building libbpf-tools:
syscall_helpers.c: In function ‘init_syscall_names’: syscall_helpers.c:63:2: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result [-Wunused-result] 63 | fgets(buf, sizeof(buf), f); | ^~~~~~~~~~~~~~~~~~~~~~~~~~
We're not interested in the return value of the first call to fgets, because we want to skip the first line and in the case of error it will be caught by the following call to fgets. A funny note is that we can't say just "(void) f()" to suppress the warning, so I wrote it as "(void) !!f()", which works.
Signed-off-by: Anton Protopopov <a.s.protopopov@gmail.com>
|
| libbpf-tools/syscall_helpers.c (diff) |
|
| libbpf-tools/README.md (diff) |
|
| libbpf-tools/execsnoop.bpf.c (diff) |
|
| tools/opensnoop.py (diff) |
Commit
297512a31ecc9ceebf79bda169350dace0f36757
by yonghong-songThe README file in this repo has some bad links - [404:NotFound]
The markup version of the readme that is displayed for the main page in this repo contains the following bad links:
Status code [404:NotFound] - Link: https://github.com/iovisor/bcc/blob/master/tools/swapin_example.txt Status code [404:NotFound] - Link: https://github.com/iovisor/bcc/blob/master/tools/vfscount.c Status code [404:NotFound] - Link: https://github.com/iovisor/bcc/blob/master/tools/vfsstat.c
@yonghong-song requested removing stale links. I was unable to find any actual matching files to link to so removed these. However possible the vfsstat.c one could be re-adding pointing to "libbpf-tools/vfsstat.c" ??
Should resolve issue #3189
|
| README.md (diff) |
|
| cmake/clang_libs.cmake (diff) |
| CMakeLists.txt (diff) |