https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85388
--- Comment #2 from igor.v.tsimbalist at intel dot com --- You are fixing 64bit part. There is similar place for 32bit movl -8(%ebp),%eax # Restore the last register. call *-12(%ebp) # Call our caller! What do we call here? Is it returning back to a function that causes more stack allocation? Is it possible for the compiler to insert ENDBR there based on some knowledge of morestack was called?