http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47916
--- Comment #6 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-02-27 23:13:02 UTC --- (In reply to comment #5) > Thanks for the explanation! > > I'm not sure if it's worth opening a new bug report, but GCC crashes when I > try > to use -fprofile-generate/-fprofile-use together with -flto: > > g++ -o unrar -O3 -march=core2 -fomit-frame-pointer -fprofile-use -flto rar.o > strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o filefn.o > filcreat.o archive.o arcread.o unicode.o system.o isnt.o crypt.o crc.o > rawread.o encname.o resource.o match.o timefn.o rdwrfn.o consio.o options.o > ulinks.o errhnd.o rarvm.o rijndael.o getbits.o sha1.o extinfo.o extract.o > volume.o list.o find.o unpack.o cmddata.o filestr.o recvol.o rs.o scantree.o > In file included from :43:0: > unpack.cpp: In member function ‘Unpack29’: > unpack.cpp:202:6: internal compiler error: in duplicate_loop_to_header_edge, > at > cfgloopmanip.c:1115 > Please submit a full bug report, > with preprocessed source if appropriate. > See <http://gcc.gnu.org/bugs.html> for instructions. > > At first I built unrar using: > CXXFLAGS=LDFLAGS=-O3 -march=core2 -fomit-frame-pointer -fprofile-generate > -flto > > then I made a testrun of unrar, then erased object files, then tried to > compile > it again using: > > CXXFLAGS=LDFLAGS=-O3 -march=core2 -fomit-frame-pointer -fprofile-use -flto That should work. The error is a sanity check that profile information is sane.