http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49844
Matt Hargett <matt at use dot net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matt at use dot net --- Comment #4 from Matt Hargett <matt at use dot net> 2011-08-18 19:01:29 UTC --- When building scummvm with gcc 4.6.1, I had a bunch of multiple definition linker errors that also went away when adding -flto-partition=none . Here are the errors I had before said workaround: $ gcc --version gcc-4.6.real (Ubuntu/Linaro 4.6.1-7ubuntu1) 4.6.1 $ CFLAGS="-Ofast -flto" CXXFLAGS="-Ofast -flto" LDFLAGS="-flto=8 -fuse-linker-plugin -fwhole-program" ./configure [...] $ make -j9 [...] LINK scummvm cup_player_he.o (symbol from plugin): warning: memset used with constant zero length parameter; this could be due to transposed parameters /tmp/ccMxgdJj.ltrans20.ltrans.o:(.rodata+0x1afa0): multiple definition of `_ZTVN5Scumm9ScummFileE.local.7841' /tmp/ccMxgdJj.ltrans0.ltrans.o:(.rodata+0xc320): first defined here /tmp/ccMxgdJj.ltrans20.ltrans.o:(.rodata+0x1b080): multiple definition of `_ZTTN5Scumm9ScummFileE.local.7842' /tmp/ccMxgdJj.ltrans0.ltrans.o:(.rodata+0xc2a0): first defined here /tmp/ccMxgdJj.ltrans20.ltrans.o:(.rodata+0x23780): multiple definition of `_ZTVN6Common16MemoryReadStreamE.local.9080' /tmp/ccMxgdJj.ltrans5.ltrans.o:(.rodata+0x6440): first defined here /tmp/ccMxgdJj.ltrans20.ltrans.o:(.rodata+0x23840): multiple definition of `_ZTTN6Common16MemoryReadStreamE.local.9093' /tmp/ccMxgdJj.ltrans5.ltrans.o:(.rodata+0x6400): first defined here collect2: ld returned 1 exit status make: *** [scummvm] Error 1 Let me know if you want a tarball of this source tree attached; downloading the latest scummvm source tarball should give the same results.