Porting IAS to platforms other than SPARCstationsTM running Solaris should not be very difficult.
It will, however, require some effort.There are assumptions regarding big-endianness and 32-bit words in the code. Porting to other 32-bit, big-endian machines should be fairly straightforward.
For other types of machines, some areas of the code which will need to be reviewed, if not changed.
These areas of code are:
- The memory access model, including
javamem.[ch],cm.[ch], callingcmMemoryRead,
cmMemoryWriteand so on.- Some floating point operations code in
jvm_ops.c, such asF_RESET_SIGN_IF_NAN.- The definition of long long (int64_t) types in the code.
IAS contains a check inside
iam.cto verify that it is invoked on a 32-bit big-endian machine.Note: This check may as well have been inside
initPico() so it could be done only once.
IASSome changes which may be necessary to get IAS to work under HP-UX, compiling with
gcc.
Note: These changes are not tested, not supported and may not be complete.You need to:
- Have a version of
libtcl7.5.aandlibz.a.
- Update the
-llibtcl7.5linelibtcl7.6.a.
insim/src/Makefile.inif it presents any problems.- Have a copy of
libtclsource or binary.
You can get this from http://www.scriptics.com/software/download.html.- Have a copy of
libz.asource or binary.
You can get this from http://www.cdrom.com/pub/infozip/zlib.- Change the definition of UNAME to hpux in all makefiles.
- Change the name of
dlfcn.hinclude file todl.h.- Change the names of all
dlxxx files, such asdlopen,dlsym
toshl_xxxx names, such asshl_load,shl_findsym.- Delete any
Makefile.infiles containing the -ldl option for linking.- Remove the file
ieeefp.hincluded injmath_md.h.
It is not needed sinceieeefp.his not present on HP.- Have a copy of the
libelf.alibrary which may not be present under HP-UX.
TheloadElfcommand implemented intools/dsv/sim/src/elf.c
depends on it. If you do not needloadElffunctionality, you can remove the code for this fromsim/src/elf.c.
If you find you do need this code, you can get a public domain
version oflibelf.afrom ftp://sunsite.unc.edu/pub/Linux/libs.