I am using keil uVision4 for compiling the code. I found in the compiled code that for the nested functions all the working registers and LR is pushed on stack and popped back just before the return is executed. For non-nested functions the registers are not stored on stack. But I want that at every function entry, whether it be nested or not, these registers and LR to be saved on stack. How do I do it? What settings I have to do?
Thanks, Bharat
Except that there are environments when the official ARM ABI isn't used.
Maybe I'm too new to the ARM, but I've not heard of any (apart from pure assembler or hobbyist work).
Not sure what "compiler facility" you are talking about.
I was thinking about exception handling. With that the facility is enabled/disabled in it's entirety, stack frame and all.
I didn't talk about exceptions as in C++ exceptions, but the hw traps for invalid instructions etc.
About the ARM ABI: infocenter.arm.com/.../index.jsp
For that I'd concur with what you say. It's not going help the OP in getting his desired answer though. I can't find any facility to force the stack frame.