On Fri, Jan 23, 2004 at 10:16:08PM +0100, Jakub Jelinek wrote:
>On Fri, Jan 23, 2004 at 05:43:02PM -0500, David Dawes wrote:
>> So long as ld.so.conf overrides the rpath (does it?) then this won't
>> matter.  LD_LIBRARY_PATH and LD_PRELOAD won't work for setuid apps.
>
>It doesn't.
>Searching for libraries is done in glibc the following order:
>DT_RPATH directories (provided DT_RUNPATH dynamic tag doesn't exist)
>LD_LIBRARY_PATH env variable dirs
>DT_RUNPATH directories
>ld.so.cache directories (created by ldconfig which searches directories
>                        mentioned in ld.so.conf and system dirs)
>system dirs
>
>Using -rpath on Linux is a bad idea for any directories which can be considered
>standard (/lib{,64}, /usr/lib{,64}, /usr/X11R6/lib{,64} certainly should
>be considered as standard), as it slows down program startup unnecessarily
>(ld.so needs to search for each loaded library all DT_RPATH or DT_RUNPATH
>dirs and up to 7 their subdirectories for processor features while without
>-rpath it can pick up the right lib from the cache without any filesystem
>searching) and (only with -rpath and not -rpath --enable-new-dtags) cannot
>be overridden by environment.

That possibly means that we should be removing -rpath from other platforms
rather than adding it on Linux.

The only platform I've personally found it useful is SVR4 platforms
where there is no ld.so cache equivalent.

David
-- 
David Dawes                                     X-Oz Technologies
www.XFree86.org/~dawes                          www.x-oz.com
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to