Tool/software: Code Composer Studio
The attached project is a test for calculating the stack size usage for a program.3441.MSP430FG4618_trig_stack_size.zip
The CCS 7.2.0.00013 Stack Usage view reports the stack usage for _c_int00_noargs_noexit as 878 bytes:
In the above the floorl and scalbnl functions are reported as having No definition found. And the floor and scalbn functions are shown as not being called in the Stack Usage view:
In the attached zip file Debug\MSP430FG4618_trig_stack_size_call_graph.txt is the output from the call_graph cg_xml tool; a post build rule was added to project to run call_graph on the generated build file.
Comparing the stack size calculated by the cg_xml tool against that shown in the CCS 7.2 Stack Usage view shows:
1) call_graph has calculated a higher stack size for the _c_int00_noargs_noexit function of 908 bytes, as opposed to the 878 bytes reported by the CCS Stack Usage view.
2) call_graph isn't reporting the floor and scalbn functions as orphans.
The reason is that call_graph has detected that (floor floorl) and (scalbn scalbnl) are Function Symbol Aliases, and included the stack size for (floor floorl) and (scalbn scalbnl) inside the stack usage for _c_int00_noargs_noexit.
As a result, the CCS Stack Usage view is under-reporting the stack requirement when Function Symbol Aliases occur (where Function Symbol Aliases means two symbols with the same address).
Can the CCS Stack Usage view be changed to match the cg_xml call_graph behaviour in the event of Function Symbol Aliases?