Mach-O file format support for FreeBSD (image activation, etc)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
Makefile
README.md
imgact_macho.c
imgact_macho.h
macho_machdep.c
macho_machdep.h
macho_macros.h

README.md

FreeBSD_MachO

Implementation of Mach-O file format support for FreeBSD.

$EMUL_ROOT [EMUL_ROOT in exact writing] is shadow root i defined in imgact_macho.h. it defined as '/' now :D but i think some day it should be something like '/compat/darwin/'.

'test/out' is code.c compiled and linked in OSX system. about 'test/dyld' and 'test/libSystem.B.dylib' read "simple test" below.

For a simple test: After loading module (or building kernel with it), Running 'test/out' should complain about not finding 'dyld' then copy it on $EMUL_ROOT/usr/bin. It should complain again because you should copy 'libSystem.B.dylib' to $EMUL_ROOT/usr/bin too.

Now you should see by logs that segment mapped successfully.
The rest is implementing syscall translation layer (for an OSX mach-o binary in FreeBSD land) that i'm doing it currently.