|
Message-ID: <20131203195433.GM24286@brightrain.aerifal.cx> Date: Tue, 3 Dec 2013 14:54:33 -0500 From: Rich Felker <dalias@...ifal.cx> To: musl@...ts.openwall.com Subject: Re: _PATH_LASTLOG On Tue, Dec 03, 2013 at 07:09:05PM +0000, Raphael Cohn wrote: > Ta. > > Would it be possible to have the "/dev/null/xxx" paths' values as an option > to ./configure? > > Actually, it would be very useful to be able to ./configure all the other > hard coded paths in musl, eg the default dynamlic linker search path. When > running with a setup like Nixos, or the like, these paths need to be > different. Of course, one can patch, but that's not sustainable in the long > run. The dynamic linker searches for its path file relative to its own location, which should cover this kind of usage. It's only in the case where no path file exists that the hard-coded /lib, /usr/lib, etc. would get searched. > Please? I think such a request should be accompanied by explanations of what you're trying to achieve that's difficult or impossible with the current scheme. Most of the hard-coded paths in musl are hard-coded because there's a standard pathname either required by the standards or that was universal in all historical systems, and because musl aims to be useful for producing "run anywhere" static binaries. Gratuitously changing paths defeats this goal. Of course musl attempts to minimize the number of hard-coded pathnames anyway; here's a list from the current documentation draft which you could review to determine which are problematic to your intended usage cases: ---------------------------------------------------------------------- * `/dev/null` - device node, required by POSIX * `/dev/tty` - device node, required by POSIX * `/tmp` - required by POSIX to exist as a directory, and used by various temporary file creation functions. * `/bin/sh` - an executable file providing a POSIX-conforming shell * `/proc` - must be a mount point for Linux procfs or a symlink to such. Several functions such as realpath, fexecve, and a number of the "at" functions added in POSIX 2008 need access to /proc to function correctly. While some programs may operate correctly even without some or all of the above, musl's behavior in their absence is unspecified. ### Additional Pathnames Used * `/dev/log` - a UNIX domain socket to which the `syslog()` interface sends log messages. If absent or inaccessible, log messages will be discarded. * `/dev/shm` - a directory; should have permissions 01777. If absent, POSIX shared memory and named semaphore interfaces will fail; programs not using these features will be unaffected. * `/dev/ptmx` and `/dev/pts` - device node and devpts filesystem mount point, respectively. If absent or inaccessible, `posix_openpt()` and `openpty()` will fail. * `/etc/passwd` and `/etc/group` - text files containing the user and group databases, mappings between names and numeric ids, and group membership lists, in the standard traditional format. If absent, user and/or group lookups will fail. * `/etc/shadow` - text file containing shadow password hashes for some or all users. * `/etc/resolv.conf` - text file providing addresses of nameservers to be used for DNS lookups. If absent, DNS requests will be sent to the loopback address and will fail unless the host has its own nameserver. * `/etc/hosts` - text file mapping hostnames to IP addresses. * `/etc/services` - text file mapping network service names to port numbers. * `/usr/share/zoneinfo`, `/share/zoneinfo`, and `/etc/zoneinfo` - directories searched for time zone files when the `TZ` environment variable is set to a relative pathname. * `../etc/ld-musl-$(ARCH).path`, taken relative to the location of the "program interpreter" specified in the program's headers - if present, this will be processed as a text file containing the shared library search path, with components delimited by newlines or colons. If absent, a default path of `"/lib:/usr/local/lib:/usr/lib"` will be used. Not used by static-linked programs. ---------------------------------------------------------------------- Let me know. This may end up being an ugly issue but it's something we should look at, in any case... Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.