|
Message-ID: <20150601185828.GA17573@brightrain.aerifal.cx> Date: Mon, 1 Jun 2015 14:58:28 -0400 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: [PATCH] Allow different paths for static and shared libraries On Mon, Jun 01, 2015 at 03:41:28PM -0300, Ismael Luceno wrote: > On Sun, 31 May 2015 21:27:25 -0400 > Rich Felker <dalias@...c.org> wrote: > > On Sun, May 31, 2015 at 06:51:42PM -0300, Ismael Luceno wrote: > > > On Sun, 31 May 2015 12:30:34 -0400 > > > Rich Felker <dalias@...c.org> wrote: > > > > On Sun, May 31, 2015 at 06:10:54AM -0300, Ismael Luceno wrote: > > > > > On Sun, 31 May 2015 03:31:57 -0400 > > > > > Rich Felker <dalias@...c.org> wrote: > > > > > > On Sun, May 31, 2015 at 04:24:25AM -0300, Ismael Luceno wrote: > > > > > > > Signed-off-by: Ismael Luceno <ismael@...ev.co.uk> > > > > > > > --- > > > > > > > Makefile | 5 ++++- > > > > > > > configure | 3 +++ > > > > > > > 2 files changed, 7 insertions(+), 1 deletion(-) > > > > > > > [...] > > > > > > > > > > > > Is there a motivation/intended-usage-case for this patch? > > > > > > > > > > libc.so must be available at boot, while the static libraries > > > > > don't need to, so installing to different paths comes useful. > > > > > > > > In that case I think you're not looking for the semantics of > > > > slibdir but rather using it as a mechanism to make ldso available > > > > before libdir is mounted. > > > > > > > > Note that having libc.so and libc.a in different dirs is very > > > > problematic/dangerous at linking time. If the dir containing > > > > libc.a is searched first, then it will get linked into > > > > dynamic-linked binaries and very bad things will happen. > > > > > > > > I think this is probably yet another case of wanting ldso to be > > > > the canonical file and libc.so to be a symlink to it (reversing > > > > symlink direction). This issue has come up many times before but > > > > I always forget how it was resolved (or not) and why nothing > > > > changed... > > > > > > A ld script in place of libc.so, containing "GROUP ( /lib/libc.so > > > )", would workaround that. > > > > Are you sure? I think that would result in a dependency for > > "/lib/libc.so" getting put in the binary rather than one for > > "libc.so", and that's also a serious bug. > > That's what glibc does. Hmm... Indeed. I suppose the path part of the pathname there is ignored when producing DT_NEEDED records, then, or else something else weird is going on with glibc -- perhaps the SONAME in glibc forces the path to be removed and the whole pathname replaced with the SONAME? In any case I don't think this is the right solution for the problem at hand. 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.