[Fwd: Re: Add 7 more auxinfo types to support RTLD upgrade]

Matthew Dillon dillon at apollo.backplane.com
Mon Feb 28 14:56:19 PST 2011


:Hi Matt,
:I'd like to make another pitch for implementing AT_EXECPATH only, and
:leave the other six auxinfo candidates as unimplemented as previously
:discussed.
:
:The one-sentence summary is that the fallback mechanism doesn't provide
:the same path information as the auxinfo AT_EXECPATH version, and it
:affects the functionality of the new libmap.conf and the dynamic rpath
:token expansion functionality of the rtld upgrade.
:
:I have improved the fallback mechanism as shown in the attachments
:(freebsd version, improved fallback version). This seems to allow the
:new DragonFly RTLD to function as expected with libmap.conf and $ORIGIN
:token, but it requires the use of getcwd, access, and realpath in order
:to do it.  As an example, with AT_EXECPATH implemented, the command "ldd
:somefile" to get expanded "/usr/bin/ldd /true/path/to/somefile".
:Without AT_EXECPATH implemented it remains as "ldd somefile".  With my
:improved fallback, the command gets expanded to "ldd
:/true/path/to/somefile".
:
:If vn_fullpath has better performance than 3 combined functions, then
:implementing AT_EXECPATH may be worth it for performance reasons.
:
:What do you think?
:
:Regards,
:John

    All right, go ahead.  I can see where AT_EXECPATH would solve the
    considerable confusion which reigns due to the target library not
    being handed the exec path from the loader.

						-Matt





More information about the Submit mailing list