https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107831
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Petr Skocik from comment #1) > Sidenote regarding the stack-allocating code for cases when the size is not > known to be less than pagesize: the code generated for those cases is quite > large. It could be replaced (at least under -Os) with a call to a special > assembly function that'd pop the return address (assuming the target machine > pushes return addresses to the stack), allocate adjust and allocate the > stack size in a piecemeal fashion so as to not skip guard pages, the repush > the return address and return to caller with the stacksize expanded. You certainly don't want to kill the return stack the CPU has, even if it results in a few saved bytes for -Os.