On Fri, 20 Nov 2015, Ilya Verbin wrote: > On Wed, Dec 10, 2014 at 01:48:21 +0300, Ilya Verbin wrote: > > On 09 Dec 14:59, Richard Biener wrote: > > > On Mon, 8 Dec 2014, Ilya Verbin wrote: > > > > Unfortunately, this fix was not general enough. > > > > There might be cases when mixed object files get into lto-wrapper, ie > > > > some of > > > > them contain only LTO sections, some contain only offload sections, and > > > > some > > > > contain both. But when lto-wrapper will pass all these files to > > > > recompilation, > > > > the compiler might crash (it depends on the order of input files), > > > > since in > > > > read_cgraph_and_symbols it expects that *all* input files contain IR > > > > section of > > > > given type. > > > > This patch splits input objects from argv into lto_argv and > > > > offload_argv, so > > > > that all files in arrays contain corresponding IR. > > > > Similarly, in lto-plugin, it was bad idea to add objects, which contain > > > > offload > > > > IR without LTO, to claimed_files, since this may corrupt a resolution > > > > file. > > > > > > > > Tested on various combinations of files with/without -flto and > > > > with/without > > > > offload, using trunk ld and gold, also tested on ld without plugin > > > > support. > > > > Bootstrap and make check passed on x86_64-linux and i686-linux. Ok for > > > > trunk? > > > > > > Did you check that bootstrap-lto still works? Ok if so. > > > > Yes, bootstrap-lto passed. > > Committed revision 218543. > > I don't know how I missed this a year ago, but mixing of LTO objects with > offloading-without-LTO objects still doesn't work :( > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68463 filed about that. > Any thoughts how to fix this?
Don't claim files you don't handle. Richard.