Re: gcj cannot find ecj any more, on m68k

2012-05-10 Thread Andrew Haley
On 05/09/2012 07:55 PM, Thorsten Glaser wrote:
> Andrew Haley dixit:
> 
>> gcj has an evil bug.  Sometimes, when it has an unresolved reference, it
>> reports a ClassNotFoundException for the referring class, not the
>> referred.  So, you now need to
> 
> Oh, ok.
> 
>> jcf-dump -v -classpath /usr/share/java/eclipse-ecj-3.5.1.jar 
>> org.eclipse.jdt.internal.compiler.Compiler
> 
> Ok, got a lot of output.
> 
>> and have a look at the class references in the constant pool.
> 
> Uh, I’m sorry you lost me there. That is a train station, right? ;-)
> I can barely read any Java™ source code, much less know about gcj
> internals other than what I’ve seen during porting…

Hmm.  Well, I think we're very close and it would be a shame to stop
now.  If you do an "strace -f -etrace=file" you should be able to see
what classes it's trying to load at the end, and one of these won't be
found, and one of them wil be mentioned in the list of classes in the
jcf-dump.

Andrew.


-- 
To UNSUBSCRIBE, email to debian-68k-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fab7028.6040...@redhat.com



Re: gcj cannot find ecj any more, on m68k

2012-05-10 Thread Thorsten Glaser
Andrew Haley dixit:

>Hmm.  Well, I think we're very close and it would be a shame to stop

Oh, ok.

>now.  If you do an "strace -f -etrace=file" you should be able to see
>what classes it's trying to load at the end, and one of these won't be
>found, and one of them wil be mentioned in the list of classes in the
>jcf-dump.

I did it to the gij command, as you didn’t specify which, but bad luck,
all it does is sitting there for a few minutes after spewing out what
I attached. I’ve not had too much luck with strace on m68k for anything
since the architecture was forced by glibc maintainers to switch to use
TLS but didn’t have a register allocated in the psABI for it, and the
porters probably didn’t want to change the ABI so they added syscalls,
and now about every single function calls syscall #333 to get the TLS
base address which slows strace down to hell.

The “just sitting there” is idle though.

root@aranym:~ # ps ax | fgrep pts/3
17229 pts/3Ss 0:00 -/bin/mksh
17255 pts/3S+ 1:03 strace -f -etrace=file gij-4.6 -verbose:class 
-classpath /usr/share/java/eclipse-ecj.jar 
org.eclipse.jdt.internal.compiler.batch.GCCMain x.java -g1 
-fbootclasspath=./:/usr/share/java/libgcj-4.6.jar -g1 -fsource=1.5 -ftarget=1.5
17256 pts/3S+ 0:00 tee st.log
17257 pts/3Sl+0:35 gij-4.6 -verbose:class -classpath 
/usr/share/java/eclipse-ecj.jar org.eclipse.jdt.internal.compiler.batch.GCCMain 
x.java -g1 -fbootclasspath=./:/usr/share/java/libgcj-4.6.jar -g1 -fsource=1.5 
-ftarget=1.5
17569 pts/4R+ 0:00 fgrep pts/3

Do you reckon a LD_PRELOAD open wrapper would help?
(Or are we looking at more functions, if so which?)

bye,
//mirabilos
-- 
  “Having a smoking section in a restaurant is like having
  a peeing section in a swimming pool.”
-- Edward Burr

st.log.gz
Description: Binary data


Re: gcj cannot find ecj any more, on m68k

2012-05-10 Thread Andrew Haley
On 05/10/2012 06:08 PM, Thorsten Glaser wrote:
> Andrew Haley dixit:
> 
>> Hmm.  Well, I think we're very close and it would be a shame to stop
> 
> Oh, ok.
> 
>> now.  If you do an "strace -f -etrace=file" you should be able to see
>> what classes it's trying to load at the end, and one of these won't be
>> found, and one of them wil be mentioned in the list of classes in the
>> jcf-dump.
> 
> I did it to the gij command, as you didn’t specify which, but bad luck,
> all it does is sitting there for a few minutes after spewing out what
> I attached. I’ve not had too much luck with strace on m68k for anything
> since the architecture was forced by glibc maintainers to switch to use
> TLS but didn’t have a register allocated in the psABI for it, and the
> porters probably didn’t want to change the ABI so they added syscalls,
> and now about every single function calls syscall #333 to get the TLS
> base address which slows strace down to hell.
> 
> The “just sitting there” is idle though.
> 
> root@aranym:~ # ps ax | fgrep pts/3
> 17229 pts/3Ss 0:00 -/bin/mksh
> 17255 pts/3S+ 1:03 strace -f -etrace=file gij-4.6 -verbose:class 
> -classpath /usr/share/java/eclipse-ecj.jar 
> org.eclipse.jdt.internal.compiler.batch.GCCMain x.java -g1 
> -fbootclasspath=./:/usr/share/java/libgcj-4.6.jar -g1 -fsource=1.5 
> -ftarget=1.5
> 17256 pts/3S+ 0:00 tee st.log
> 17257 pts/3Sl+0:35 gij-4.6 -verbose:class -classpath 
> /usr/share/java/eclipse-ecj.jar 
> org.eclipse.jdt.internal.compiler.batch.GCCMain x.java -g1 
> -fbootclasspath=./:/usr/share/java/libgcj-4.6.jar -g1 -fsource=1.5 
> -ftarget=1.5
> 17569 pts/4R+ 0:00 fgrep pts/3
> 
> Do you reckon a LD_PRELOAD open wrapper would help?
> (Or are we looking at more functions, if so which?)

Oh, gosh.  As you say, it looks like strace isn't working.  I can't
think of any way I'd investigate this other than using gdb to try to
find the place where the exception is being thrown.

Andrew.


-- 
To UNSUBSCRIBE, email to debian-68k-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fabf9c1.6010...@redhat.com