Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 4 Aug 2016 12:47:12 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: relative link between libc.so and the dynamic linker

On Thu, Aug 04, 2016 at 12:49:57AM -0700, Khem Raj wrote:
> 
> > On Aug 3, 2016, at 1:52 PM, Sidney Manning <sidneym@...eaurora.org> wrote:
> > 
> > I'd like to suggest making the symbolic link between libc.so and
> > ld-musl-<target>.so.1 relative rather than absolute.  A relative path makes
> > movement between systems easier, in particular when one is copying cross
> > binaries to into a runtime environment.
> > 
> > diff --git a/tools/install.sh b/tools/install.sh
> > index d913b60..1c102f5 100755
> > --- a/tools/install.sh
> > +++ b/tools/install.sh
> > @@ -48,7 +48,7 @@ trap 'rm -f "$tmp"' EXIT INT QUIT TERM HUP
> > umask 077
> > 
> > if test "$symlink" ; then
> > -ln -s "$1" "$tmp"
> > +ln -s -r "$1" "$tmp"
> > else
> > cat < "$1" > "$tmp"
> > chmod "$mode" "$tmp"
> > 
> > 
> > 
> > The final result would look something like this:
> > ld-musl-x86_64.so.1 -> ../usr/lib/libc.so
> > 
> > Rather than:
> > ld-musl-x86_64.so.1 -> /tmp/musl/install/usr/lib/libc.so
> 
> Does something like this help you
> 
> https://github.com/kraj/musl/commit/c0b1bd4e6bb60b8167e1f4a40beccff7f8871691

This assumes that one level of .. gets you from $(libdir) to /. For a
normal setup with libdir=/usr/lib that's not going to be the case,
though of course lots of people these days like omitting /usr or
making it a symlink to /, in which case it will work.

Rich

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.