JIT on Netwinder

Sergey Voitseh kaffe@rufus.w3.org
Mon, 13 Nov 2000 19:17:31 +0200








kaffe@rufus.w3.org@rufus.w3.org on 08.11.2000 22:40:12

Please respond to kaffe@rufus.w3.org

Sent by:  owner-kaffe@rufus.w3.org


To:   kaffe@rufus.w3.org
cc:

Subject:  Re: JIT on Netwinder



Hello Godmar

I recompile libraries needed by kaffe with  -fPIC but get the same error:

     Illegal instruction. Core dumped.

I attempt to debug kaffe and determine that it fails in macros sysdepCallMethod
which calling from function  callMethodA(...) at lines
  case 0:
    asm ("mov lr, pc\n
       mov pc, %3\n"
        : "=r" (r0), "=r" (r1), "=f" (f0)
     : "r" ((CALL)->function),
       "0" (r0), "1" (r1), "r" (r2), "r" (r3)
     : "ip", "rfp", "sl", "fp", "lr"
     );
    switch((CALL)->rettype)
    {
    case 'D':
        asm("stfd %1,%0" : "=m" ((CALL)->ret->d) : "f" (f0));
     break;
    case 'F':
     asm("stfs %1,%0" : "=m" ((CALL)->ret->f) : "f" (f0));
     break;
    case 'J':
     (&(CALL)->ret->i)[1] = r1;
     /* follow through */
    default:
     (CALL)->ret->i = r0;
    }
    break;

Best Regards,
Sergey Voitseh

I don't remember the details, but the problem is essentially with some
of the installed libraries (png, jpeg, gif, ...).
I think we had to recompile them with -fPIC.

Unfortunately, with libtool still in the way, I have no idea how you'd
do that in 1.0.6.

     - Godmar