https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62035
Bug ID: 62035 Summary: [4.9 Regresion] wrong code building libapache-mod-perl with -O1, works with -O1 -fno-tree-dse Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Created attachment 33260 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33260&action=edit test case [forwarded from http://bugs.debian.org/754901] libapache2-mod-perl2 build segfaults in the test suite when built with gcc 4.9 (r213317) with -O1 or higher, building with -O1 -fno-tree-dse works around it. seen at least on x86_64-linux-gnu. attributing one function with __attribute__((optimize("-fno-tree-dse"))) modperl_enc.c (modperl_env_table_populate) is enough to avoid the segfaults in the test suite. The diff in the assembler is: --- ok/modperl_env.s 2014-08-06 12:42:36.714269110 +0000 +++ bad/modperl_env.s 2014-08-06 12:40:44.441445210 +0000 @@ -118,7 +118,6 @@ .LVL15: movq %rax, %r14 .LVL16: - movq %rax, 40(%rsp) subq $8, %rsp .cfi_def_cfa_offset 120 pushq $0