https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83641
Florian Weimer <fw at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #42995|0 |1 is obsolete| | --- Comment #1 from Florian Weimer <fw at gcc dot gnu.org> --- Created attachment 42999 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42999&action=edit cfi.c Reduced test case. Compile with -O2 -fstack-clash-protection. f3: .LFB0: .cfi_startproc pushl %esi .cfi_def_cfa_offset 8 .cfi_offset 6, -8 pushl %ebx .cfi_def_cfa_offset 12 .cfi_offset 3, -12 pushl %esi .cfi_def_cfa_offset 16 .cfi_offset 6, -16 popl %esi .cfi_restore 6 .cfi_def_cfa_offset 12 subl $4, %esp .cfi_def_cfa_offset 16 movl x0, %ebx movl x1, %esi It looks related to the probing for noreturn functions. The noreturn attribute can even be removed as long as the infinite loop at the end is present (which I added to suppress the warning).