-
Notifications
You must be signed in to change notification settings - Fork 1.5k
gcov: Support for the most streamlined profile of LLVM-embedded-toolchain-for-Arm #14557
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
the profile implementation is totally different from clang and gcc, so you can't use gcov library directly with clang. |
so why choose CLANG not GCC ? |
Which one should we use is decided by compiler: clang variant must use runtime profile, gcc variant must use gcov. |
|
Sorry I have to cancel the CI Check, there's a problem with CI Test: |
|
Sorry, I accidentally closed this PR |
|
rebase the patch @W-M-R |
|
depends on apache/nuttx-apps#2842 |
…hain-for-Arm 1. Excerpted from: https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/blob/main/samples/src/cpp-baremetal-semihosting-prof/proflib.c 2. Since llvm profile supports more than just gcov, and some features have not yet been explored, two clang gcov implementations are supported after this patch 3. Using this lib only supports the gcov compilation options of "-fprofile-instr-generate -fcoverage-mapping" 4. This file is heavily dependent on the compiler clang version, and is currently aligned with ci, supporting 17.0.1 and below. 18 and above are not supported by this library due to different internal implementations of the compiler Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
Summary
Impact
!!!This file is heavily dependent on the compiler clang version, and is currently aligned with ci, supporting 17.0.1 and below. 18 and above are not supported by this library due to different internal implementations of the compiler
Testing