Subject: Re: COMPAT_LINUX and RT signals
To: Emmanuel Dreyfus <p99dreyf@criens.u-psud.fr>
From: Eric Haszlakiewicz <erh@nimenees.com>
List: tech-kern
Date: 02/07/2001 22:11:38
On Thu, Feb 08, 2001 at 12:24:21AM +0100, Emmanuel Dreyfus wrote:
> [Linux RT signals]
> Well... That's a problem: if we use Linux's glibc-2, it appear to only
> use rt signals. And Netscape seems to needs glibc-2. [that one should
> have gone to port-powerpc]
	I appear to have filled in most of the rt signal routines except
for linux_sys_rt_queueinfo (i.e. sys_kill).  With the addition of a
per-process emulation data pointer in the proc structure it might not
be too hard to write, but I won't have time to really look at it for
about 2 1/2 weeks.

> Could you do a bit of extra work on COMPAT_LINUX for alpha? I used the
> linux_exec_alpha.c to make a linux_exec_powerpc.c which should work on
> both powerpc and alpha. Could you try it on alpha? (And then we'll move
> it to common if it works)
> 
> All you have to do is replacing linux_exec_alpha.c by
> linux_exec_powerpc.c, and then rebuild the kernel. [that one should have
> gone to port-alpha]
	hmm.. looks like it would be exactly the same since alpha doesn't
define LINUX_SHIFT and LINUX_SP_WRAP except for the process credentials.
Does that actually work correctly?  I think I remember reading the code
that calls copyargs and noticing that the credentials aren't set until
after the copyargs call.  This would mean that set{u,g}id binaries wouldn't
get the correct values there.  Then again it's been a while since I looked.
	I'll give it a shot.  Unless alpha linux minds having the UID, etc...
entries at the beginning (the linux kernel actually puts them at the end) 
I don't expect any problems.

eric