This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 4/4] Convert lto streamer out hashing to inchash


> On 07/15/14 23:31, Andi Kleen wrote:
> >From: Andi Kleen <ak@linux.intel.com>
> >
> >No substantial changes, although the hash values will be slightly
> >different.
> >
> >gcc/:
> >
> >2014-07-10  Andi Kleen  <ak@linux.intel.com>
> >
> >	* lto-streamer-out.c (hash_tree): Convert to inchash.
> >	(add_flag): New macro.
> So my question here, does this make any existing LTO objects no
> longer usable?  If so, what, if any policy do we have when we make
> that kind of change?

We are freely breaking LTO objects all the time and have version checks
that are bumped after each release. If you mix object files from released
versions you get correct diagnostics, if you mix object files from different
versions of trunk, you get random errors or ICEs.  I think we managed to
stay bytecode compatible for 4.8 release series. (Richi knows better)

Once we get well defined gimple and types, we can get also stable bytecode,
but until that this seems resonable policy.

Honza
> 
> If existing LTO objects continue to work, then this patch is fine
> too once the explicit begin/end vs ctor/dtor stuff is fixed.
> 
> 
> jeff
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]