nuttx/libs/libbuiltin/compiler-rt
yinshengkai 0413d74f31 libs: add gcov framework support
In devices without storage media, you can export data to the
command line and then generate the corresponding gcda file

It can save the result output by calling __gcov_info_to_gcda
The usage is similar to:
https://gcc.gnu.org/onlinedocs/gcc/Freestanding-Environments.html#Profiling-and-Test-Coverage-in-Freestanding-Environments

Usage:
 ./tools/configure.sh qemu-armv7a:nsh
Modify the configuration
+CONFIG_COVERAGE_ALL=y
+CONFIG_COVERAGE_MINI=y
+CONFIG_SYSTEM_GCOV=y
Run:
qemu-system-arm -cpu cortex-a7 -nographic -smp 4 \
     -machine virt,virtualization=off,gic-version=2 \
     -net none -chardev stdio,id=con,mux=on -serial chardev:con \
     -mon chardev=con,mode=readline -kernel ./nuttx/nuttx -semihosting -s | tee gcov.txt
./nuttx/tools/gcov_convert.py -i ./gcov.txt
./nuttx/tools/gcov.sh -t arm-none-eabi-gcov

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-11-22 19:08:08 +08:00
..
.gitignore clang:libclang_rt.builtins-xxx.a supports builtin 2024-10-28 16:38:45 +08:00
CMakeLists.txt libs: add gcov framework support 2024-11-22 19:08:08 +08:00
coverage.c gcov: Support for the most streamlined profile of LLVM-embedded-toolchain-for-Arm 2024-11-13 05:33:00 +08:00
InstrProfilingPlatform.c libbuilin/compiler_rt: Organize make.defs and eliminate compilation warnings 2024-11-12 16:12:53 +08:00
Make.defs libs: add gcov framework support 2024-11-22 19:08:08 +08:00