This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: --bootclasspath overriding peer classfiles in a jar
Adam Megacz writes:
>
> Andrew Haley <aph@redhat.com> writes:
> > > I'm trying to move towards jar-at-a-time, and my first step is to get
> > > 'gcj -c foo.jar' working. Unfortunately, it seems that if a class
> > > appears in both the bootclasspath *and* in foo.jar, then other classes
> > > in foo.jar which reference that class will get the jarred version, not
> > > the bootclasspath version.
>
> > > 1. Is this the intended behavior?
> > Yes. I don't understand why you would want it to do anything else.
>
> If I put a file called java/lang/Object.class in a jarfile, Sun's VM
> will not make it the ultimate superclass of all my classes.
So don't do that. The advantage of being able to compile a jarfile in
one go is that we can do inter-class optimizations such as inlining.\
> > > 2. If so, where should I start looking for a hack to alter this
> > > behavior?
>
> > I suspect that -findirect-dispatch will do what you want.
>
> Er, I don't think we're on the same page.... I want to use the
> bootclasspath to resolve method references (ie play the role of
> headers in the C++ world), but the actual .o files are generated from
> the corresponding .class file within the jar.
What on Earth for? I can't help if I have no idea what you're trying
to do.
Andrew.