[Bug c/44975] Stack trashed by call inside inline asm

ramiro dot polla at gmail dot com gcc-bugzilla@gcc.gnu.org
Sun Jul 18 22:09:00 GMT 2010



------- Comment #4 from ramiro dot polla at gmail dot com  2010-07-18 22:08 -------
That won't work in this case. If I subtract anything from rsp inside the inline
asm, the local variable relative to f will no longer be valid. Notice where gcc
put it:
  21:   ff 54 24 f8             callq  *-0x8(%rsp)
Is there no way to tell gcc that either a call is being made inside the inline
asm or that this function should not be considered a leaf function? If there
isn't one yet, could such a feature request be acceptable? (like
__attribute__((no_leaf_function)) or something)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44975



More information about the Gcc-bugs mailing list