This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [lto] Refactor streamer (1/N) (issue4809083)
- From: Diego Novillo <dnovillo at google dot com>
- To: Jack Howarth <howarth at bromo dot med dot uc dot edu>
- Cc: reply at codereview dot appspotmail dot com, rguenther at suse dot de, jh at suse dot cz, matz at suse dot de, gcc-patches at gcc dot gnu dot org
- Date: Mon, 8 Aug 2011 11:14:34 -0400
- Subject: Re: [lto] Refactor streamer (1/N) (issue4809083)
- References: <20110808142334.C690B1DA1B5@topo.tor.corp.google.com> <20110808143515.GA1237@bromo.med.uc.edu>
On Mon, Aug 8, 2011 at 10:35, Jack Howarth <howarth@bromo.med.uc.edu> wrote:
> On Mon, Aug 08, 2011 at 10:23:34AM -0400, Diego Novillo wrote:
>>
>> This is the first patch in a series of refactoring patches to cleanup
>> the API for the LTO streamer. ÂI need this cleanup so I can change the
>> way things like caching and external references work in PPH. ÂWith the
>> current code, I would need to introduce even more streamer hooks. ÂBut
>> if we simplify the API and create smaller low-level streaming
>> functions, then we can have the LTO and PPH streamer use these
>> functions without having to resort to a lot of callbacks.
>
> Diego,
> Â While you are cleaning up the streamer can you also take a look at..
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49992
>
> to see if these duplicate symbols also exist on linux in a non-fatal manner?
> The change in r177358 broke the ability to do a lto-bootstrap on darwin.
> While the lto-bootstrap appears to still work on linux (from the gcc-testresults
> postings), it is unclear if any of these is using the lto-streamer instead
> of the lto linker plugin. I think this should be fixed ASP since darwin is
> probably one of the last targets to still use the lto-streamer instead of
> the linker plugin.
I think we are talking about different things. The streamer is the
set of low-level functions that pickle and unpickle GCC data
structures. It has nothing to do with the linker plugin. All I'm
doing is moving functions around and renaming things. None of these
patches will change any existing functionality (least of all anything
related to higher-level modules).
Diego.