tech-toolchain archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: $ORIGIN (was: Re: make: ensure ${.MAKE} works)
On Wed, Apr 28, 2010 at 02:57:47PM -0400, der Mouse wrote:
>>> To wit: as far as I can tell, having been wading around in that code
>>> recently, the only problem with what we have is that if the path
>>> sent back by namei isn't absolute it needs a getcwd() stuck on the
>>> front of it.
>
>>> Is it reasonable to just do that?
>
> I don't think so. It would be a regression in that it would break
> things in no-path-up-to-/ situations; it also would either fail or
> expose paths that shouldn't be accessible in path-to-/-isn't-readable
> situations.
Does anyone know how other implementations of $ORIGIN deal with these
cases?
For the time being, even if we just provide a relative path when
getcwd fails it'd still be more functional than the current situation.
> > Why not get the kernel to keep a reference to the vnode of the
> > directory that contained the process image?
>
> > Then use some flag to open() (or similar) to open a file relative to
> > that vnode?
Someone already invented $ORIGIN with absolute paths and we ought to
support that, especially since we already have a half-baked
implementation.
I've often thought something like this (keeping the directory) would
be a decent approach but it's not clear how to set it up, or e.g. what
ought to be done if the executable is moved or other such cases.
> Hacking on namei() just to get an absolute path in $(.MAKE)?
It's not just make; see for example PR 42420.
--
David A. Holland
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index