Re: [lto] Reader-writer compatibility?

2009-09-02 Thread Richard Guenther
On Tue, Sep 1, 2009 at 10:55 PM, Toon Moenet...@moene.org wrote:
 Diego Novillo wrote:

 On Tue, Sep 1, 2009 at 11:42, Ryan Mansfieldrmansfi...@qnx.com wrote:

 Is it required that the same compiler that generated lto objects be used
 to
 read them? I've come across a couple ICEs with the current revision
 reading
 lto objects created by a slightly older version  but same configuration.
 Is
 this simply invalid usage of my part?

 It's likely.  How much drift between the two revisions?  Can you
 recreate the ICE if you write and read with the exact same revision?
 If so, please file a bug.

 Please add version checking.  gfortran's module files (extension .mod) that
 are generated from source files that contain MODULE ... END MODULE
 constructs *now* contain version information.

 I still get occasionally beaten by picking up modules from 4.3 that don't
 have this - you'll get all sorts of unintelligible error messages that just
 distract from what's really wrong.

There is bytecode version information - we just didn't bother to bump
it on the branch.

Richard.


Re: [lto] Reader-writer compatibility?

2009-09-01 Thread Diego Novillo
On Tue, Sep 1, 2009 at 11:42, Ryan Mansfieldrmansfi...@qnx.com wrote:
 Is it required that the same compiler that generated lto objects be used to
 read them? I've come across a couple ICEs with the current revision reading
 lto objects created by a slightly older version  but same configuration. Is
 this simply invalid usage of my part?

It's likely.  How much drift between the two revisions?  Can you
recreate the ICE if you write and read with the exact same revision?
If so, please file a bug.


Diego.


Re: [lto] Reader-writer compatibility?

2009-09-01 Thread Ryan Mansfield

Diego Novillo wrote:

On Tue, Sep 1, 2009 at 11:42, Ryan Mansfieldrmansfi...@qnx.com wrote:

Is it required that the same compiler that generated lto objects be used to
read them? I've come across a couple ICEs with the current revision reading
lto objects created by a slightly older version  but same configuration. Is
this simply invalid usage of my part?


It's likely.  How much drift between the two revisions?  Can you
recreate the ICE if you write and read with the exact same revision?
If so, please file a bug.


The objects were created with rev 15 and being read using 151271.
No, I can't reproduce the ICE using the same version.

Thanks for confirming this is not expected to work.

Regards,

Ryan Mansfield




Re: [lto] Reader-writer compatibility?

2009-09-01 Thread Frank Ch. Eigler
Ryan Mansfield rmansfi...@qnx.com writes:

 The objects were created with rev 15 and being read using 151271.
 No, I can't reproduce the ICE using the same version.
 Thanks for confirming this is not expected to work.

Is it the intent that this work properly in the future?  It is not
absurd to imagine that someone with a treeful of .o files might suffer
an unexpected compiler upgrade before a later reuse/relink attempt.

- FChE


Re: [lto] Reader-writer compatibility?

2009-09-01 Thread Diego Novillo
On Tue, Sep 1, 2009 at 14:32, Frank Ch. Eiglerf...@redhat.com wrote:
 Ryan Mansfield rmansfi...@qnx.com writes:

 The objects were created with rev 15 and being read using 151271.
 No, I can't reproduce the ICE using the same version.
 Thanks for confirming this is not expected to work.

 Is it the intent that this work properly in the future?

Yes.  We likely want to maintain streamer compatibility within the
same major release.  I actually don't think we'll change the bytecode
format too much.  It will mostly depend on how much gimple changes in
a single release.

Clearly, we need better version drift detection.

Diego.


Re: [lto] Reader-writer compatibility?

2009-09-01 Thread Toon Moene

Diego Novillo wrote:


On Tue, Sep 1, 2009 at 11:42, Ryan Mansfieldrmansfi...@qnx.com wrote:



Is it required that the same compiler that generated lto objects be used to
read them? I've come across a couple ICEs with the current revision reading
lto objects created by a slightly older version  but same configuration. Is
this simply invalid usage of my part?


It's likely.  How much drift between the two revisions?  Can you
recreate the ICE if you write and read with the exact same revision?
If so, please file a bug.


Please add version checking.  gfortran's module files (extension .mod) 
that are generated from source files that contain MODULE ... END MODULE 
constructs *now* contain version information.


I still get occasionally beaten by picking up modules from 4.3 that 
don't have this - you'll get all sorts of unintelligible error messages 
that just distract from what's really wrong.


--
Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
At home: http://moene.org/~toon/
Progress of GNU Fortran: http://gcc.gnu.org/gcc-4.5/changes.html