Hi clang champs,
there are compiler tool chains on the market that allow stack size analysis based on worst case call tree information at linking time. Does TI's Clang tool chain provide static stack size analysis?
Thanks,
Peter.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi clang champs,
there are compiler tool chains on the market that allow stack size analysis based on worst case call tree information at linking time. Does TI's Clang tool chain provide static stack size analysis?
Thanks,
Peter.
Hi,
We have just implemented stack analysis for TI Arm Clang and the feature will be included in the upcoming 2.0.0.STS version. However, this requires a CCS update to view the stack analysis and I'm checking now to see if it is already included in CCS 11.1.0.
Currently, the stack analysis works best for C code and has some short comings for C++. With the new 2.0.0.STS, debug will be enabled by default in the libraries but you will need to compile your source code with debug enabled in order to view the stack information.
Will get back to you once I investigate the CCS version needed.
Anna
Hi Anna,
Thanks for your promising feedback. Beside CCS version could you please also comment on when 2.0.0.STS will be released.
Regards, Peter.
Hi Peter,
The TI Arm Clang 2.0.0.STS is due within the next couple of weeks.
However, the decision was made to include the CCS stack usage assistant support for TI Arm Clang in the 12.0.0 version, which will have the subsequent compatible LTS version of the TI Arm Clang included. That is currently expected in July.
With the 2.0.0.STS, if you run the tiarmofd utility with the -cg options on your executable that has been compiled with debug, you will get an XML output of debug information that has per function stack size information as well as called functions, but you would have to parse or compute the total for the call graph yourself.
Anna