http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58152
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This is expected behavior as noreturn functions are not sibcalled optimized. The main reason is that even without debugging information, you want to find out where the noreturn function was called from.