Arnd Bergmann <arnd@xxxxxxxx> writes: > On Mon, Mar 11, 2019 at 8:47 PM Måns Rullgård <mans@xxxxxxxxx> wrote: >> Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes: >> > On Mon, Mar 11, 2019 at 11:08 AM Måns Rullgård <mans@xxxxxxxxx> wrote: >> >> >> >> The latest version I have is 5.1, and that uses ECOFF. >> > >> > ECOFF _is_ a.out as far as Linux is concerned. >> > >> > So Linux basically treats ECOFF as "regular a.out with just some >> > header extensions". >> > >> > We don't have any specific support for ECOFF. >> > >> > I _think_. Again, it's been years and years. >> >> Right, which is why killing a.out entirely would have the unfortunate >> effect of also removing the OSF/1 compatibility on Alpha. >> >> If we are to support Alpha as an architecture at all, it makes sense to >> support the things people actually use it for. >> >> Now, personally I can live without it. I just don't like to see >> features removed without due consideration. > > The main historic use case I've heard of was running Netscape > Navigator on Alpha Linux, before there was an open source version. > Doing this today to connect to the open internet is probably > a bit pointless, but there may be other use cases. Once upon a time, I used it to run Matlab. > Looking at the system call table in the kernel > (arch/alpha/kernel/syscalls/syscall.tbl), we seem to support a > specific subset that was required for a set of applications, and > not much more. Old system calls (osf_old_open, osf_execve, > osf_old_sigaction) are listed but not implemented, and the same > is true for most of the later calls (osf_fuser, osf_sigsendset, > osf_waitid, osf_signal, ...), just the ones in the middle are there. > This would also indicate that it never really worked as a > general-purpose emulation layer but was only there for a specific > set of applications. It works for many applications, though I did have to add a few syscalls myself (yes, I sent patches). > Another data point I have is that osf1 emulation was broken > between linux-4.13 and linux-4.16 without anyone noticing, see > 47669fb6b595 ("alpha: osf_sys.c: fix put_tv32 regression"). That's interesting, but it doesn't mean nobody is using it. I tend to run the LTS branches and switch to a new one only once it seems to have settled a bit, so when 4.16 was released, I was probably still running 4.9. I don't think I'm the only one using this strategy. -- Måns Rullgård