[Bug lto/60690] New: Chromium build error with LTO
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 27 19:55:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60690
Bug ID: 60690
Summary: Chromium build error with LTO
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: lto
Assignee: unassigned at gcc dot gnu.org
Reporter: trippels at gcc dot gnu.org
Created attachment 32467
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32467&action=edit
testcase
markus@x4 tmp % cat simple_idct.i
static int __attribute__ ((used)) wm1010;
void fn1 ()
{
__asm__(" \nmovq 0, %%mm3 \nmovq wm1010(%%rip), %%mm4 "
"\nmovq %%mm0, 0 \nmovq %%mm0,0 \nmovq %%mm0,0 "
" \nmovq %%mm0,0 \n2: "
"\nmovq 0, %%mm0 \nmovq 0, %%mm1 \nmovq 0, "
"%%mm2 \nmovq 0, %%mm3 \nmovq %%mm0, %%mm4 "
"\npsrad $20, %%mm2 \npsrad $20, %%mm5 \nmovq %%mm6, "
"%%mm2 \npsrad $20, %%mm5 \nmovq %%mm6, %%mm4 "
"\npsrad $20, %%mm0 \npsrad $20, %%mm2 \npackssdw "
"%%mm7, %%mm7 \nmovd %%mm7,0 \npackssdw %%mm0, "
"%%mm2 \npsrad $20, %%mm5 \nmovq %%mm6, %%mm4 "
"\nmovd %%mm6,0 \nmovd %%mm4,0 \nmovd %%mm4, %%eax "
"\norl %%eax, %%eax \njz 0 "
"\nmovq 0, %%mm4 \npmaddwd %%mm0, %%mm5 "
"\npsrad $11, %%mm7 \npsrad $11, %%mm4 "
"\n# .p2align \n6: movq 0, %%mm1 "
" \npsrad $20, %%mm6 \npsrad $20, %%mm2 \n9: \n"
:);
}
markus@x4 tmp % gcc -flto -O2 -fPIC -shared dsputil_init.i simple_idct.i
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.0/../../../../x86_64-pc-linux-gnu/bin/ld:
error: /tmp/ccQnT34K.ltrans1.ltrans.o: requires dynamic R_X86_64_PC32 reloc
against 'wm1010' which may overflow at runtime; recompile with -fPIC
collect2: error: ld returned 1 exit status
(dsputil_init.i is just a unit to trigger LTO partitioning)
markus@x4 tmp % gcc -O2 -fPIC -shared dsputil_init.i simple_idct.i
markus@x4 tmp % gcc -flto -flto-partition=none -O2 -fPIC -shared dsputil_init.i
simple_idct.i
markus@x4 tmp %
More information about the Gcc-bugs
mailing list