This is the mail archive of the java@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: java.lang.reflect.Proxy support with native code?


Martin Egholm Nielsen writes:

 > >  > In my progress of porting my existing code to gcj, I've run into some 
 > >  > problems with java.lang.reflect.Proxy.
 > >  > When running the compiled code I get a java.lang.NoClassDefFoundError 
 > >  > exception thrown for "$Proxy0"...
 > >  > Is there an issue with java.lang.reflect.Proxy when running natively 
 > >  > compiled code?
 > > I've used it quite a lot with native code.  Let's have simple test
 > > case, and we'll see what happens.
 > I've attached a simple example, and below is the outcome of executing:

I get 

1: starting...
2: classloader: gnu.gcj.runtime.VMClassLoader@80b8fc0
3: proxyClass: class $Proxy0
4: constructor: public $Proxy0(java.lang.reflect.InvocationHandler)
5: got proxy! About to invoke...
In invoke...: toString

with mainline on GNU/Linux on i686, so it looks like this may be a
port specific bug.

 > I wonder if the two initial tests die because these are static build, 
 > whereas the final one isn't.

I get the failure when linking statically too, but I wouldn't expect
proxies to work with static linkage: they're about the most dynamic
feature Java gets to have!

Try linking with -Wl,-whole-archive,-lgcj,-no-whole-archive.

Andrew.


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