This is an old imp80 executable that ran originally under cygwin. However it does create linux-compatible assembly code and with a quickly hacked up library plus the original libimp.a, generated executables can run natively on x86. The quick hack here uses a small part of the runtime from my icode-to-c system but that could be avoided with a little effort. Also the i77 runtime currently does expect 'libbacktrace' to be available, so anyone other than myself running this will probably have to install that with something like sudo apt-get install libbacktrace-dev So... now that I'm *using* this imp80 to compile other imp programs (such as Peter Stephens' imptoc transpiler) there are some other issues to tackle: the fact that this imp80.exe has a partially Windows heritage means that every external it creates or calls has a '_' prepended to it. This is not the case in modern linux, and although for calls to C library procedures we can write explicit interface procedures in C (e.g. _free which calls free) there remain some items such as _s_auxst which are part of the compiler runtime which still need to be handled.