The post http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/380534/1347497.aspx#1347497 is a MSP430 program where call_graph reports a maximum stack size of 100 bytes, when in fact the maximum stack size is 104 bytes.
From investigation in that thread, the incorrect total stack size occurred because the leaf function which caused the maximum stack size, __mspabi_divul, had a reported stack frame size of 8 bytes instead of the actual 12 bytes used.
When the stack_usage directive is used in an assembler source file, is the value set in stack_usage supposed to be just the size of the variables allocated on the stack or should the value include the return address on the stack?
i.e. is the error in the source for the __mspabi_divul assembler function, or the assembler not adding on the size of the return address to the value in the stack_usage directive?
[I haven't checked to see if any other assembler RTS functions also have the wrong stack frame size reported]