http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48542
--- Comment #4 from Hans-Peter Nilsson <hp at gcc dot gnu.org> 2011-06-07 05:46:10 UTC --- (In reply to comment #3) > Your patch looks likely Something along those lines might be sufficient and contained for release branches, but I think it should be differently at least on trunk: the initial-value machinery should have handled the register with the return-address being clobbered. It does partially; note the store of that register at the function prologue (with an unpatched gcc).