Comment Alpha binary translation (Score 1) 487
As you said, it worked like a charm. There were only three major limitations:
- You couldn't translate "system"[2] images, because they were linked against the system symbol table (SYS.STB).
- You couldn't translate an image which was compiled on VMS version 3.0 or earlier (well, there has to be a cut-off point for backwards compatibility somewhere!). So, programs compiled before 1984 were untranslatable [including VAX Space Invaders unfortunately (compiled 1981; never found any sources)]
- You couldn't translate images which used self-modifying code.
Object libraries could not be translated, but the compilers still generated (and maybe still do?) VAX object code and the linker could create a VAX executable, which could then be translated.
IIRC, it used recompilation rather than interpretation: the recompilation was not dynamic, but the image activator would generate
VEST is no longer available with new Alphas, but you can still get it, if you ask, from Digital...errm, sorry, Compaq...errm, sorry, "the new hp"
A similar binary translator is planned to translate Alpha binaries to IA64 binaries for the IA64 port of VMS.
-M.
[1] Officially I believe the name stood for "VAX Executable Symbol Translator" or some such.
[2] Because it could be very bad for system stability, as kernel data structures were radically different.