This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java 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: PR java/19285: Interfaces not initialized by static field access


Andrew Haley wrote:

Bryce McKinlay writes:
> Tom Tromey wrote:
> > >Anyway, I think the rule for incrementing the ABI version should be:
> >
> >* C++ ABI tracks the gcc version number, so is auto-incremented each
> > release.
> >
> >* The generated BC ABI version number should be incremented either
> > zero or one time between releases. In particular it should only be
> > incremented the first time a non-backward-compatible change is made.
> > > >
> Is this a flexible enough rule? Say we found some nasty bug in GCJ 4.0.2 > that could only be fixed by an ABI change in 4.0.3 (but of course old > binaries that didn't hit the bug could still be supported). It would > make sense in that scenario to be able to increment the BC version > number for the 4.0.x series, and have 4.1 support both the old version > IDs. The current version scheme doesn't really permit this. I think > GCJ_BOOTSTRAP_LOADER_ADDITION also reduces our flexibility here. Perhaps > we need an extra digit between GNUC_MINOR and the "additions" to allow > for the possibility of increments within each GNUC_MINOR release.
> > On the other hand, hopefully that won't happen, and if it does we could > always improvise something at the time.
> > > >Bryce> How about something like this? Or would it be better to explicitly
> >Bryce> define each different version somewhere?
> >
> >The compiler side of this looks reasonable to me.
> >
> >On the runtime side I would prefer the addition of a new define and
> >explicit recognition of it. I think it is better to be very clear
> >than to try to micro-optimize this.
> > > >
> OK, here's an updated patch.
> > Andrew, I still need approval for the compiler side.


OK. As I've also changed the ABI on the branch it needs to go there too.



Err, well thats where we run into the problems I mentioned above. What version ID should the branch use? Although the ABI between 4.0 and 4.1 is the same now, its quite likely that we'll make further changes in 4.1 - thus 4.0.1 shouldn't be using 4.1's ID.


Bryce



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