[kaffe] Port to FreeBSD/amd64

Eric Anholt eta at lclark.edu
Wed Oct 20 17:13:48 PDT 2004


Attached are some of my FreeBSD/amd64 patches:

kaffe-config.alias: The name is "amd64" on FreeBSD, not x86_64. 
(Calling it freebsd2 is ugly as well, but moving files in CVS is uglier)

kaffe-freebsdamd64.tar.gz: config/ files for FreeBSD/amd64.  I'm not
sure about FP_OFFSET, and it may require fp reg saving as in i386, but I
was using pthreads.

kaffe-methodcalls-external.diff: The lack of extern.h inclusion caused
the prototype to be defaulted, I guess, which means an int return type. 
This truncated the function pointer and caused a crash on startup.

It would be nice to default to pthreads on FreeBSD.  However, we have
two threading libraries: libc_r on 4.x, and libpthread (no 's') on 5.x. 
I overrode the libpthreads default using PTHREAD_LIBS during configure,
and that got me almost there, except that ld couldn't find the pthread
symbols in building libkaffevm.  I just put PTHREAD_LIBS in that
Makefile.am to get the build working.  This could really use a clean
solution.

-- 
Eric Anholt                                eta at lclark.edu          
http://people.freebsd.org/~anholt/         anholt at FreeBSD.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: kaffe-config.alias
Type: text/x-patch
Size: 532 bytes
Desc: not available
Url : http://kaffe.org/pipermail/kaffe/attachments/20041020/4c7922c7/attachment-0006.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kaffe-freebsdamd64.tar.gz
Type: application/x-compressed-tar
Size: 1062 bytes
Desc: not available
Url : http://kaffe.org/pipermail/kaffe/attachments/20041020/4c7922c7/attachment-0007.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kaffe-methodcalls-external.diff
Type: text/x-patch
Size: 562 bytes
Desc: not available
Url : http://kaffe.org/pipermail/kaffe/attachments/20041020/4c7922c7/attachment-0008.bin 


More information about the kaffe mailing list