------- 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