Part Number: TMS320F28388D
Tool/software:
Hello,
I am working with CCS v10.4 and compiling a C project with the CGT 20.2.3.LTS compiler.
- I compile the CCS project with the
--gen_profile_infooption to generate a pprofout.pdat file. - I process this file along with the executable (.out) using pdd2000.exe utility to generate a pprofout.prf file
- I rebuild the CCS project with
--analyze=codecov,--analyze_onlyand passing pprofout.prf to--use_profile_info, which generates a set of CSV files containing coverage information.
I notice two issues with the output of the analysis in the CSV files:
- In every CSV file the rows are duplicated (this is similar to CC1312R: Code Coverage Analysis duplicated csv data). No big deal, I can live with that.
- In one of the CSV files I notice that none of the rows have a nonzero frequency count. It is expected since none of the functions in the corresponding translation unit are executed by the program.
- But then why this file specifically? There are other source files that don't contain any code that is called in this specific build, and yet the tool does not generate any CSV file for them!
- Furthermore, I can see in the link information file that none of the functions defined in that translation unit are actually retained at link time. None of them end up in the executable object code.
I investigated the link information file further and noticed that oddly there are a few sections listed from the object file of that translation unit, but none of them are directly my code. After some digging, it turns out that if any part of my source code calls one of the following functions (there might be others) : __isnanf, __isinff - then the Linker considers them to be part of a translation unit which is not actually the one where they are called from.
Is this a bug?
Best Regards,
Pierre