On 06/11/2011 04:03 PM, Phil Blundell wrote:
On Sat, 2011-06-11 at 15:55 +0800, Robert Yang wrote:
The source code of eglibc and eglibc-nativesdk are not compatible because of
the patch ld-search-order.patch, this makes it a little complex to share their
source directories, what can I think is that always apply
ld-search-order.patch, then in do_configure_prepend:

I must admit I never quite understood why ld-search-order.patch is
really required; it seems like rather a gruesome hack.  Why can't the
SDK paths just be put in RPATH records for the nativesdk binaries?


Here is the comment in ld-search-order.patch, hope this can answer you question:

Upstream-Status: Inappropriate [embedded specific]

The default lib search path order is:

  1) LD_LIBRARY_PATH
  2) RPATH from the binary
  3) ld.so.cache
  4) default search paths embedded in the linker

For nativesdk binaries which are being used alongside binaries on a host 
system, we
need the search paths to firstly search the shipped nativesdk libs but then also
cover the host system. For example we want the host system's libGL and this may 
be
in a non-standard location like /usr/lib/mesa. The only place the location is 
know
about is in the ld.so.cache of the host system.

Since nativesdk has a simple structure and doesn't need to use a cache itself, 
we
repurpose the cache for use as a last resort in finding host system binaries. 
This
means we need to switch the order of 3 and 4 above to make this work 
effectively.

RP 14/10/2010

// Robert


p.



_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to