[kaffe] Some obscure(?) problem...
Jukka Santala
jsantala@tml.hut.fi
Wed, 24 Apr 2002 11:47:40 +0300 (EEST)
On Wed, 24 Apr 2002, Dalibor Topic wrote:
> It doesn't really help much. The next thing I get in GDB is a kaffe crash in
> xerces :( org.apache/xerces/StringPool.ensureCapacity(II)Z: the iaload array
> index check at pc=7 causes a SIGSEGV, since the array on stack is null. That
> doesn't seem to be picked up by the null check, though. Weird.
Thanks for looking at it. I tried to check into it myself quickly, but
xdebug (and xprof) don't appear compilable on my system right now. First
there's a no-brainer:
../../../kaffe/kaffe/xprof/gmonFile.c: In function `writeGmonRecord':
../../../kaffe/kaffe/xprof/gmonFile.c:136: `char' is promoted to `int'
when passed through `...'
../../../kaffe/kaffe/xprof/gmonFile.c:136: (so you should pass `int' not
`char' to `va_arg')
--- kaffe/xprof/gmonFile.c 23 May 2000 17:55:37 -0000 1.1
+++ kaffe/xprof/gmonFile.c 24 Apr 2002 08:12:23 -0000
@@ -133,7 +133,7 @@
strcpy(ghh.dimen, va_arg(args, char *));
break;
case GRA_DimensionAbbrev:
- ghh.dimen_abbrev = va_arg(args, char);
+ ghh.dimen_abbrev = va_arg(args, int);
break;
case GRA_ProfilingRate:
*((int *)ghh.prof_rate) = va_arg(args, int);
After fixing that, xdebug still doesn't compile because machine_debug_file
isn't compiled in for some reason - why isn't exactly clear, as
debugFile.c is wrapped with checks for both KAFFE_XPROFILER and
KAFFE_XDEBUGGING. Rather than try to figure that out, I turned also
xprofiling on, but then the compile breaks with:
../xprof/.libs/libkaffexprof.a(xprofiler.o): In function
`enableXProfiling':
/home/jsantala/kaffe-build/kaffe/xprof/../../../kaffe/kaffe/xprof/xprofiler.c:243:
undefined reference to `_gmonparam'
/home/jsantala/kaffe-build/kaffe/xprof/../../../kaffe/kaffe/xprof/xprofiler.c:249:
undefined reference to `_gmonparam'
...etc.
Oh well, I guess it's off to try to figure out makefile magic ;)
-Jukka Santala