Subject: Re: hardcoding uname
To: Frank van der Linden <fvdl@vaasje.org>
From: Jaromír Dolecek <dolecek@ics.muni.cz>
List: tech-kern
Date: 01/01/2001 11:45:32
Frank van der Linden wrote:
> There is currently no better solution. Several applications check for this,
> and to provide good emulation, uname() should provide these values.
> I don't give a flying f*ck about the argument "but I want netscape
> to return 'NetBSD'". If you want something cosmetic rather than having
> some binaries actually *work at all*, you're out of your mind.

OK, binaries using glibc linuxthreads don't seem to work after this change
(checked with realplay).  This is not a big loose however, as there is
still some emulation problem with threaded application which is
not tracked down yet - majority of the threaded apps stopped working after
a while. Since I need to track that down and don't feel like
implementing Linux realtime signals right now, I'll use lower
'release' number for my tree. Not a big deal :)

> 	1) If you make it a sysctl, it arguably belongs in the Linux
> 	   emulation bits. However, the Linux emulation can be an LKM,
> 	   and we don't have a way to register sysctls for LKMs.

sysctl would be cool.

> 	2) Another option is to use p_emuldata (which would be a good
> 	   place for it), but to set this, you need a new exec() system
> 	   call. Something like execvee(argp, envp, emuldata). And
> 	   a 'linuxrun' program to go along with it. And even in that
> 	   case, returning linux values by default is the best way.

Setup depending upon p_comm is probably too hackish, but it's also
an option.

Jaromir
-- 
Jaromir Dolecek <jdolecek@NetBSD.org>      http://www.ics.muni.cz/~dolecek/
@@@@  Wanna a real operating system ? Go and get NetBSD, dammit!  @@@@