Subject: Re: Linux i386 Syscall 183 (getcwd)
To: Scott R. Burns <Scott.Burns@Netcontech.Com>
From: Eric Haszlakiewicz <haszlaki@UAccess.NET>
List: tech-kern
Date: 02/15/1999 16:11:40
> I am attempting to install the Linux/i386 release of Oracle on my new
> 1.3.3/i386 server. From what I have gathered from various helpful
> individuals on this list it should work except that we are missing
> syscall 183 (getcwd I believe) in our compat/linux emulation.
>
> Does anyone one know if someone is working on this ? Can I do it myself ?
> Is it as simple as wrappering the netbsd getcwd() with a linux wrapper
> that exports it in the same format as Linux expects ? I have never looked
> at any of the platform emulation source before so I have no real idea of
> what is involved.
Well it could be just a wrapper, except NetBSD doesn't have a getcwd()
syscall. We have getcwd implemented in libc with lstat. Getting it to
work in the emulation framwork won't be hard, however you're going to have
to take what the libc getcwd() function does and rewrite it to work inside
the kernel. hmm.. there's also probably going to be some interaction
with the emulation path translation. (i.e. if a linux prog does a
chdir("/foo") and ends up in /emul/linux/foo does getcwd() return
"/foo" or "/emul/linux/foo"? (probably "/foo"))
I'm going to look at it a bit more to figure out exactly what needs
to be done, but feel free to take a shot at it if you're up to it.
eric