http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53084
--- Comment #2 from Kai Tietz <ktietz at gcc dot gnu.org> 2012-04-23 10:25:05 UTC --- I can confirm it with trunk version for -O0, too. Issue is that there seems to be a wrong-code generation bug for O0 and read-only section data. ... movq aa.2567(%rip), %rax movq %rax, %rdx leaq .LC0(%rip), %rcx call printf ... ... .data .align 8 aa.2567: .section .rdata,"dr" .LC1: .ascii "foo\0" .quad .LC1+1 ... The aa.2567 label is emitted in data, but its definition in .rdata