/
Debug and Profiling - Status of Opensource Projects
Debug and Profiling - Status of Opensource Projects
This page aims to provide a overview of riscv support statuses in various debug & profiling related opensource projects. We can use below table for sync up, and get aligned understanding and planning for future work.
Projects classification | Tools | Support status in upstream (2024 June) | Features to be added/enhanced | 2024 2H |
Debugger | gdb | basic support OK. no watchpoint, the gdb simulator supports just a few exts (GC) | RVV reg dump? and dump of FP16/BF16 HW breakpoint and watchpoint | RVV reg dump, and dump of FP16/BF16. HW breakpoint and watchpoint |
lldb | basic support OK, how about advanced features? | ? | ? | |
OpenOCD | RFP WIP | |||
Perf Monitor | perf | yes, with SSCOFPMF suppoted; cycle/insnret CSR mmaped to U; based on SBI PMU | Smcdeleg (RFC sent), CTR (not ratified yet) | |
gprof-ng | no, only support x86 and aarch64 | priority? | ||
simpleperf | yes for most common events | raw events support, depending on Smcdeleg and Json config | ||
Dynamic Binary Instrumentation | valgrind | Basic RV64 GC support in Petr's tree, not yet merged in main tree | First, help to reivew/fix issues to get GC merged. Then, RVV and other extensions | help fix and improve the RV64 GC port |
dynamoRIO | Basic GC support merged. | RVV instrumentation clients | RVV instrumentation clients | |
Compile-time Instrumentation | ASAN | yes | optimization with MTE (spec at early stage) | |
MSAN | ? | |||
TSAN | ? | |||
PGO | yes | |||
SW Tracing | bpftrace | yes for most events tracing, except for HW watchpoint | HW watchpoint? Dependency on debug spec? | |
bcc | yes | |||
bpf JIT | yes, with C/Zba/Zbb based optimization | more JIT optimization (e.g. Zacas, RV32, etc) | ||
ftrace | yes | |||
SystemTAP | ? | |||
Perf CI on opensource projects | LKP, etc | just build check, no function/perf test and profiling | enable function/perf CI in LKP for riscv | enable function/perf CI |
HW tracing | something like Tarmac | no project exists yet |
, multiple selections available,
Related content
RISE TSC Meeting Notes
RISE TSC Meeting Notes
Read with this
Debug and Profiling WG
Debug and Profiling WG
More like this
Debug and Profiling WG - Projects
Debug and Profiling WG - Projects
More like this
DP WG Requirements Collection
DP WG Requirements Collection
More like this
LK_01_005 - Native/hosted debug support (aka HW breakpoint)
LK_01_005 - Native/hosted debug support (aka HW breakpoint)
More like this
CT_03_001 - Binary Toolchain Packages
CT_03_001 - Binary Toolchain Packages
More like this