tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: svr4, again



Le 18/12/2018 à 06:51, Martin Husemann a écrit :
On Mon, Dec 17, 2018 at 02:35:11PM -0800, Jason Thorpe wrote:
On Dec 17, 2018, at 2:00 PM, Maxime Villard <max%m00nbsd.net@localhost> wrote:

Now I'm re-putting the subject on the table, because, as if it wasn't
already glaringly obvious, COMPAT_SVR4 is broken beyond repair. I keep
unintentionally finding bugs in it, and it just doesn't make any sense
to keep it to me.

I'm far from authoritative on this, but I agree that it makes sense to
remove it (I mean, jeez, if Christos isn't even using it... ;-).

Me neither - last I tried on sparc64 it was only usefull for a very
limited set of binaries and far from trivial to fix.

There were bugs in the mmap emulation and newer Solaris needed
additional syscalls for ld.elf_so. I put fixing it somewhere on my todo
list (and even have some diagnostic kernel modificiations to make it
print out more stuff before binaries fail), but the fixing part had no
chance to bubble up into visibility of the front page there for a year
or so and unlikely is going to happen anytime soon. Better fish to fry
elsewhere...

So I won't object removal from the sparc64 PoV.

Martin

It is clear that COMPAT_SVR4 is completely buggy, but to be clear on the
use of the code:

Both COMPAT_SVR4 and COMPAT_SVR4_32 are disabled by default; this was done
following the DEFCON fiasco.

Judging by the configuration files:

 * COMPAT_SVR4 is available on sparc, sparc64, *68k, sun2, sun3, atari,
   hp300, amiga. This is in terms of files.svr4 inclusions. I suspect that
   a part of these inclusions were added automatically without real
   testing (a bit like PMCs, where people copied the PMC logic in each
   port without ever implementing the support for real), and that the only
   use cases were sparc, sparc64 and i386.

 * COMPAT_SVR4_32 is available only on sparc64.

MIPS has a svr4_machdep.c file, but it seems that there is no reference to
it. At a first glance it looks like dead code that is not compiled.

Each architecture has an MD device-major for svr4_net, even when the arch
doesn't support COMPAT_SVR4. This too looks like dead code.


Home | Main Index | Thread Index | Old Index