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: Current gcj on powerpc


Hi,

On Thu, 2002-08-01 at 17:53, Jeff Sturm wrote:
> On 31 Jul 2002, Mark Wielaard wrote:
> > Embarrassing... But I did test the patch on a x86 machine and it really
> > looked innocent.  I have no idea why that would cause a simple program
> > like the following to fail:
> 
> It shouldn't.

I know, I didn't believe it either. But it really does make a difference
on my machine.

> > But it seems that it does on powerpc-unknown-linux-gnu. Can anybody spot
> > anything in that patch that could cause the whole exception mechanism to
> > fail (in exception.cc:110)?
> > (And only with shared libraries, compiling with -static works ok.)
> 
> Assuming this patch really is responsible, it may not be a DSO vs. -static
> thing anyway.  The static executable you built may not have linked with
> the gnu.java.security objects at all, so would be unaffected by this
> patch.

Even adding the following line to the test:
  java.security.Provider p = new gnu.java.security.provider.Gnu();
(just before the throw) makes the -static binary run happily.

> Can you place a breakpoint on abort() and find out what the
> _Unwind_Reason_Code is?  The comment suggests it could be
> _URC_END_OF_STACK or some other failure.

I am really not that good with gdb. I can set the breakpoint on
exception.cc:110 but the gdb tells be there is no variable code (why, it
is right there?) Any idea how I can get at it:

(gdb) n
91        xh->unwindHeader.exception_class = __gcj_exception_class;
(gdb) n
92        xh->unwindHeader.exception_cleanup = NULL;
(gdb) n
89        xh->value = value;
(gdb) n
100       code = _Unwind_RaiseException (&xh->unwindHeader);
(gdb) n
110       abort();
(gdb) print code
No symbol "code" in current context.
(gdb) 

> > I am going to double check this by doing a complete clean compile of the
> > HEAD with only this patch reversed tonight. If that produces a gcj that
> > works correctly on the above program I will reverse the patch and figure
> > out later what particular part of the patch caused it.
> 
> I'm not sure if it worth reversing; I don't see a failure on sparc, i386
> or alpha.

Sorry, I just reverted it a couple of minutes ago. I really need it to
work on powerpc because that is were I run my daily Mauve tests (sent to
gcc-testresults daily). And nobody reported success with libjava on
powerpc the last couple of weeks so I guess it is broken for everybody
(or nobody ever tests powerpc...) Hopefully I figure out what is the
real problem this weekend then I will reapply. The gnu.crypto hackers
also need this so it is not that I don't want this to work.

Cheers,

Mark


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