Porting Kaffe to OS/2

David Turner turner at email.enst.fr
Thu Oct 2 05:14:41 PDT 1997


Hi Mikael

Mikael Ståldal said:
> 
> machine.c: In function `virtualMachine':
> machine.c:141: structure has no member named `exception_table_len'
> machine.c:152: structure has no member named `ins'
> machine.c:178: structure has no member named `code'
> machine.c:182: structure has no member named `codelen'
> make[1]: *** [machine.o] Error 1
> make[1]: Leaving directory `/UNIX/kaffe/kaffe/kaffevm'
> make: *** [all] Error 1
> 
> When I look at the structure, it has no exception_table_len member. How is
> this supposed to works?
>

It's a famous bug in the 0.9.1 release (it's not EMX specific ;-)
The fix has been released in the mail archive, but I'll give it here
again, from memory :

  1. replace 'method->codelen' by 'method->c.bcode.codelen'  (line 182)
     and     'method->code'    by 'method->c.bcode.code'     (line 178)

     ( I don't remember if it's "method" or "meth" or "m", but it's
       a pointer to a method structure )

  2. replace 'exception_table_len > 0' by 'exception_table != 0' (line 141)

  3. define a local variable "char* str" and replace
     line 152 with :

      "str = meth->signature->data;
       idx = sizeofSig( &str, false ) + ( .... & ..... ? ... : ... )'
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                          same as before..

  Then recompile, it should work OK now.. ( well, there are still some
  bugs in there ;-)

Good luck, you'll need it..

- David



More information about the kaffe mailing list