Hi All, I wonder if I can inform gcc not to optimize calling to leaf functions. For example ------------------- void say_hello() { printf("Hello\n"); } void func() { say_hello(); } with -O2 option, gcc will optimize jal say_hello ... jr ra ... to j say_hello This is not what I want in some case. The start of the function can be located by searching `addiu sp, XXXX' instruction, and the end of the function by searching `jr ra', beginning with EPC when expctions arise, if all function calls have their own exits. By this way, I can trace down the calling frames. But this optimization breaks the rule and will confused the tracer. And the `-O2' option is neccessary since some bugs are only exposed on `-O2'. Is there an approach for this purpose? Best Regards PRC Mar 29, 2008