[oe-issues] [Bug 2140] New: RPATH of shared libraries contains host path, causing overhead

bugzilla-daemon at tinman.treke.net bugzilla-daemon at tinman.treke.net
Wed Apr 25 21:48:02 UTC 2007


http://bugs.openembedded.org/show_bug.cgi?id=2140

           Summary: RPATH of shared libraries contains host path, causing
                    overhead
           Product: Openembedded
           Version: unspecified
          Platform: All
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Build
        AssignedTo: openembedded-issues at lists.openembedded.org
        ReportedBy: likewise at gmx.net
         QAContact: tinderbox-oe at gmx.net


The RPATH of our shared libraries contain an absolute path from the build host.
This results in overhead when the target loads shared libraries.

In the case below (angstrom for i686) this results in 15 bogus lookups, whereas
otherwise two lookups would be needed:

open("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/tls/i686/sse2/libexpat.so.1",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/tls/i686/sse2",
0xbfaa0ef4) = -1 ENOENT (No such file or directory)
open("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/tls/i686/libexpat.so.1",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/tls/i686",
0xbfaa0ef4) = -1 ENOENT (No such file or directory)
open("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/tls/sse2/libexpat.so.1",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/tls/sse2",
0xbfaa0ef4) = -1 ENOENT (No such file or directory)
open("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/tls/libexpat.so.1",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/tls",
0xbfaa0ef4) = -1 ENOENT (No such file or directory)
open("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/i686/sse2/libexpat.so.1",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/i686/sse2",
0xbfaa0ef4) = -1 ENOENT (No such file or directory)
open("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/i686/libexpat.so.1",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/i686",
0xbfaa0ef4) = -1 ENOENT (No such file or directory)
open("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/sse2/libexpat.so.1",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/sse2",
0xbfaa0ef4) = -1 ENOENT (No such file or directory)
open("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib/libexpat.so.1",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/leon/sandbox/e520/openembedded/build/tmp/staging/i686-angstrom-linux/lib",
0xbfaa0ef4) = -1 ENOENT (No such file or directory)

open("/lib/libexpat.so.1", O_RDONLY)    = -1 ENOENT (No such file or directory)

open("/usr/lib/libexpat.so.1", O_RDONLY) = 3

Can we deploy this tool in the library install magic?

chrpath allows you to modify the dynamic library load path (rpath) of
compiled programs.  Currently, only removing and modifying the rpath
is supported.


-- 
Configure bugmail: http://bugs.openembedded.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.




More information about the Openembedded-issues mailing list