Hi Jim,

Jim Pick wrote:
On Tue, 16 Dec 2003 00:57:44 +0100
Dalibor Topic <[EMAIL PROTECTED]> wrote:


hi all,

I've been playing with Cygwin & kaffe last week, and I've got patches to gradually merge in, that let kaffe build again as a static binary.


Excellent.

done.


It doesn't fully work, as the kjc step to build rt,jar crashes.


I don't think that step ever worked.

It did, that's the funny bit. I assume the crash is due to me not implementing the signal handling bit, I'll look at it during the weekend.


Investigation about it shows me that the old findJarFile bug still strikes on Cygwin. This time I was able to figure out a little more, though.

The problem seems to be that the first few bytes of the findJarFile function in kaffe/kaffevm/jar.c somehow get overwritten. I've tried to debug it with awatch in GDB, but didn't suceed in catching the overwriting happen. So I'd be glad to hear tips & tricks on dealing with that type of bugs from other developers.


I've got bad news. The byte flipping happens before main is called at all. This will be a hard bug to shoot down.


Valgrind is what you want!

http://valgrind.kde.org/

It'll tell you exactly where to look, usually.

Ah, yes. But there is no cygwin port afaik :( But maybe I can try other memory checkers (dmalloc, efence) if they have been ported to Cygwin.


I did get it to run Kaffe interpreter x86 binaries on Linux.

Using it with the JIT is a problem because Valgrind needs to be
explicitly informed about self-modifying code (because it is an
x86-to-x86 JIT itself).  There is a way to add "hints" to the
code to help Valgrind do the right thing, but I didn't figure
that out yet.

For cygwin, some people have managed to get valgrind to run wine, so
it's possible to run it against Windows binaries that work with wine. Scary, huh?

I think the 'cygwin on wine' project hasn't got very far ;)


cheers,
dalibor topic


_______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to