This is the mail archive of the
mailing list for the GCC project.
Re: Fix memory corruption in LTO
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Diego Novillo <dnovillo at google dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, ak at linux dot intel dot com, gcc-patches at gcc dot gnu dot org, rguenther at suse dot de
- Date: Mon, 26 Jul 2010 22:40:06 +0200
- Subject: Re: Fix memory corruption in LTO
- References: <20100726192415.GC20984@kam.mff.cuni.cz> <4C4DECC3.email@example.com>
> On 10-07-26 12:24 , Jan Hubicka wrote:
>> Andi's changes introduced heap allocated object pointed from lto_file_data, so
>> we now ICE on everything big enough to trigger garbage collector at WPA stage.
>> Andi: this solves the cgraph hash table ICE you sent me
>> Bootstrapping/regtesting x86_64-linux, OK?
>> * lto-streamer.h (struct lto_file_decl_data): Mark resolutions with GTY((skip))
> Would it make more sense to change the allocation on the resolutions field?
Well, lto_file_decl_data has most of fields skipped anyway and I think it is
good idea as I don't like moving random stuff into garbage collector. It is in
GGC because it points to global_decl_state that points to decls, but the
other streamer data are better to stay in explicitely allocated memory IMO.