https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86089
--- Comment #5 from Jürgen Reuter <juergen.reuter at desy dot de> --- And this is the assembler code when executing -S -O1 (cf. below), while for the -O2 version the compilation leads to an assembler file showing only the .text line: .text .globl _hoo _hoo: LFB1: subq $40, %rsp LCFI0: movq %rdi, %rsi movq %rsp, %rdi movl $32, %edx call ___strcpy_chk addq $40, %rsp LCFI1: ret LFE1: .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support EH_frame1: .set L$set$0,LECIE1-LSCIE1 .long L$set$0 LSCIE1: .long 0 .byte 0x1 .ascii "zR\0" .byte 0x1 .byte 0x78 .byte 0x10 .byte 0x1 .byte 0x10 .byte 0xc .byte 0x7 .byte 0x8 .byte 0x90 .byte 0x1 .align 3 LECIE1: LSFDE1: .set L$set$1,LEFDE1-LASFDE1 .long L$set$1 LASFDE1: .long LASFDE1-EH_frame1 .quad LFB1-. .set L$set$2,LFE1-LFB1 .quad L$set$2 .byte 0 .byte 0x4 .set L$set$3,LCFI0-LFB1 .long L$set$3 .byte 0xe .byte 0x30 .byte 0x4 .set L$set$4,LCFI1-LCFI0 .long L$set$4 .byte 0xe .byte 0x8 .align 3 LEFDE1: .subsections_via_symbols