Hacker News new | ask | show | jobs
by dalke 4473 days ago
For example, if you had your own compiler which generated a.out output, then the Linux 1.2 switch to ELF would have broken the code in a similar backward incompatible way, despite there being no proprietary code involved.

(Standards wouldn't have helped either.)

3 comments

I'm calling your bluff:

https://plus.google.com/115250422803614415116/posts/hMT5kW8L...

Specifically, Alan Cox's comment that he can still run an a.out rogue binary from 1992 on a 3.6 version of the Linux kernel. Linux 1.2 was released March 1995.

Bluff called, I fold .. and sweet!

Looking around, it requires a bit of work (see for example http://www.ru.j-npcs.org/usoft/WWW/www_debian.org/FAQ/debian... ).

Here's a recent (2014) report of success: http://www.linuxquestions.org/questions/slackware-14/running...

rogue is text only. According to a report from 2009 at https://www.complang.tuwien.ac.at/anton/linux-binary-compati... :

> A Mosaic binary from 1994 just segfaults, as well as all the other ZMAGIC binaries (1994-1995) I have lying around.

but OTOH that may be because of the setting of noexec and other flags.

Uh.

  # modprobe binfmt_aout
  # uname -rv
  3.2.0-60-generic-pae #91-Ubuntu SMP Wed Feb 19 04:14:56 UTC 2014
Standards help a lot, that's why a.out still works on modern Linux.
I'd imagine if it doesn't work though, in contrast to the OP's situation, you could spin up a virtual machine with a pre-1.2 version of Linux and run the code without having to pay anything to do so. Also this is a quite different situation to reading a document.
I'm having trouble locating a (floppy?) image that old but I'd love to try - AFAICT VirtualBox was written with kernel 2.6+ in mind.

Edit:

Debian: http://archive.debian.org/debian/dists/Debian-0.93R6/disks/

RedHat: http://archive.download.redhat.com/pub/redhat/linux/1.0/en/o...