-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
gcov: Support for the most streamlined profile of LLVM-embedded-toolchain-for-Arm #14557
base: master
Are you sure you want to change the base?
Conversation
This patch comes from https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/blob/main/samples/src/cpp-baremetal-semihosting-prof/proflib.c. Its implementation is more concise than rt.profile and focuses on gcov functions. Can we consider merging it? If we consider merging it, I will update this patch in the next step. |
Do we have any research on GCC and CLANG gcov implementations? I am curious why we chose to use CLANG gcov implementations not GCC, (especially PR #14472 introduced a lot of clang runtime library implementations ) |
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. |
93262e4
to
b5dbe8b
Compare
…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 <[email protected]>
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