Subject: Re: COMPAT_LINUX: why getpid() turned into a chown()?
To: Ben Harris <bjh21@cam.ac.uk>
From: Emmanuel Dreyfus <p99dreyf@criens.u-psud.fr>
List: tech-kern
Date: 01/31/2001 23:26:21
> >   192 netscape-communi EMUL  "linux"
> >   192 netscape-communi RET   olduname -1 errno -2 No such file or=20
> >directory

> I'm inclined to feel that the right fix for this is either to have the
> emulation change logged later or to have kdump wait until after the next
> syscall return before changing its idea of the emulation.

I did fix the syscall name (I keep track o the previous emulation, and
if emulation changes, I use previous instead of current to get the
syscall name), but I now have this:

   180 netscape-communi EMUL  "linux"
   180 netscape-communi RET   execve -1 errno -2 No such file or
directory

The problem is that EJUSTRETURN and ERESTART are hardcoded with the
NetBSD value (in kdump.c around line 450). We should consider having an
array with the value for each emulation.

In Linux, EJUSTRETURN seems to be -2 (I can't find a definition in the
headers, but it is what we get). ERESTART is 512 or 513 or 514. What can
we do with this?

--=20
Emmanuel Dreyfus. =20
Vous avez deplac=E9 la souris.=20
Windows NT doit maintenant redemarrer pour valider les modifications.
p99dreyf@criens.u-psud.fr