On Fri, May 27, 2022 at 11:00 AM Grant Taylor via TUHS <tuhs@tuhs.org> wrote:
On 5/27/22 5:57 AM, Paul Ruizendaal wrote:
> I came across a website that discusses reviving an old binary for Lotus
> 1-2-3 for SysV Unix (386 COFF), on the way to making it run on Linux:
>
> https://lock.cmpxchg8b.com/linux123.html

Yep.  That is a very interesting article.

Though I do think that some of what Tavis did was borderline
exceptional.  I don't know many people that would consider writing their
own object utility to do things.  But this just goes to show what is
possible if you are willing to do so.

People working on emulators run into these issues all the time as well.
There was a greater diversity of object formats when Unix was younger
as well, most have been displaced by ELF (PECOFF being the only exception
that's still around outside of Windows).

Also people that try to decompile things back into .o files run into these
issues as well... There's been efforts over the years to extract different kinds
of drivers from old binary-only kernels, for example, that have met with differing
degrees of success. Though putting the relocation info back in after the
fact can be quite tricky... The successful ones I know of disassembled and
reassembled to cope with this issue after some post-processing phase to
cope with places where there were tables...
 
> The audience here may enjoy the read, and maybe it is of use when
> reviving other old application software for 1980’s and 1990’s Unix.

I've filed it away for future reference for this very reason.

 Yea, it's quite interesting...