Subject: COMPAT_DARWIN status (updated)
To: None <tech-kern@netbsd.org>
From: Emmanuel Dreyfus <manu@netbsd.org>
List: tech-kern
Date: 11/24/2002 20:21:26
Dynamic linking now seems to work. I have been able to run Darwin's ls,
cp, find, and a hello world program I've build on Darwin as well.

Our kernel refuses to launch Darwin's /bin/sh. I'm not sure why it does
this yet. The problem is somewhere in EXEC_MACHO.

And now the updated roadmap. Feel free to help if you have some
informations about the mysteries or some time to code something.

To do:
- cleanup sys/compat/mach to remove COMPAT_DARWIN specificities
  Difficult, we need to run some Mach binaries not made for Darwin
  to see what was specific. Was there a Mach/i386? Anyone has a
  binary to try out?
- Things we don't suspect yet (multithreading, semaphores?)
- Graphic display
  No idea how Quartz speaks to the hardware yet. Anyone knows that?
- Signal handling
  It seems there are BSD signals and some Mach signals as well?

In progress:
- Check that i386 goes as far as powerpc does
- Check out the bug that prevent /bin/sh from working

Done:
- Debug mach traps quick and dirty emulation to get dynamic linking
- Even more accurate stack layout on startup
- Emulate enough of BSD system calls to get dynamic linking
- create COMPAT_DARWIN
- implement required mach traps on powerpc
- accurate stack layout on startup
- reverse engineering mach traps
- enough support for in native gdb to trace mach-O bins
- mach traps support on i386 and powerpc
- Mach-O binaries suport



--=20
Emmanuel Dreyfus.
Si la reponse est NT, c'est peut =EAtre=20
que vous n'avez pas compris la question.
manu@netbsd.org