[Mono-dev] Preliminary ia64-hpux porting committed

Dick Porter dporter at codicesoftware.com
Tue Jan 19 12:26:21 EST 2010


Hi all

I've committed the first bits of a port to ia64-hpux, in the
branch /source/branches/dick/ia64-hpux

The approach I took was to let the compiler work in the existing
little-endian mode, and byteswap when the instructions are emitted.
This kept code changes to a minimum.  I'm not sure I completely figured
out the patching code, so I'm not 100% certain that the byteswapping is
happening in the right place, but a different attempt at byteswapping
much later in the compilation process gave precisely the same results.

Code generation seems to work: the disassembled code output when run
with sufficient verbosity matches the ia64-linux output.  However,
executing the generated code segfaults straight away.  I suspect this is
coming from the unwinding code - it took me several goes to get
libunwind built for hpux, and I'm still not convinced it's working
correctly.

Unfortunately we won't be able to spend any more time on this in the
near future, so it's being committed into svn in the hope that others
can take it up.  Thanks are due to Miguel and Thomas for arranging
access to an ia64-linux machine while I was working on this, which made
the work a lot easier.

- Dick




More information about the Mono-devel-list mailing list