[MLton] Port to HP-UX

Ville Laurikari ville@laurikari.net
Mon, 24 Apr 2006 17:40:13 +0300


I've now more or less finished with the HP-UX port.  Some residual
problems remain, which I indend to fix, but it's basically now in
working condition.

A patch is attached.  Some comments:

- I had to edit runtime/Posix/ProcEnv/Uname.c in order not to conflict
  with an extern declaration of `utsname' in some system header.

- I edited runtime/gc.c to avoid some compiler warnings about
  inapproriate format strings for pointer differences.

The other changes were straightforward, adding support and handling of
HP-UX to n+1 places.  

Unfortunately, some regression test failures still remain.  Two are
from using the non-blocking flag for recv().  HP-UX has no such flag,
so I used the same method as the mingw and cygwin ports (define the
flag as 0).  Apparently they suffer from the same bug, though, and two
tests hang forever because of it.  I'll see if I can make a
satisfactory fix.

The mlton.share test also fails.  It's a bit more mystical to me.  It
reports bigger sizes than what the test expects.  Any suggestions on
how should I start debugging this?

Once these problems are resolved, I'll move on to the AIX port.