This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hello, The sparc back-end emits an extra nop past calls at the very end of a function, to prevent the return address from falling within a different function, which causes trouble to some backtrace computation engines. Such a nop is pointless for a sibling call since the return address is setup explicitly, and this patch is a suggestion to remove it for this particular case. We found this useful in the course of the development of a machine code coverage analyzer. OK ? Thanks in advance, Olivier 2010-08-19 Olivier Hainque <hainque@adacore.com> * config/sparc/sparc.c (sparc_asm_function_epilogue): Don't output an extra nop past a sibling call at the very end. testsuite/ * gcc.target/sparc/sibcall-dslot.c: New testcase.
Attachment:
sibnop.dif
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |