[ANNOUNCE] Prelink for uClibc available

Carmelo AMOROSO carmelo.amoroso at st.com
Tue Sep 21 08:28:51 UTC 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 9/20/2010 10:52 AM, Carmelo AMOROSO wrote:
> On 9/16/2010 11:21 AM, Carmelo AMOROSO wrote:
>  > Folks,
>  > we are proud to announce the availability of prelink support for uClibc.
>  > This work required a big effort from STMicroelectronics uClibc team,
>  > especially my colleague Filippo Arcidiacono, and we really would like to
>  > upstream.
> 
>  > We have just rebased all of the work with respect to the mainstream,
>  > executed the prelink test suite without problem on SH4 arch.
> 
>  > Before including this work into master, I'd like to do a global review
>  > with all of you.
> 
>  > We will send the set of patches soon, anyway I'd prefer to create a new
>  > *prelink* branch also that everybody can use to play wi.th, and on top
>  > of which we can add fixes/enhancements and rework if needed.
> 
>  > Once the prelink review/test is completed, we can easily merge it back
>  > to master.
> 
>  > All the work has been re-organised in a small set of patches per
>  > functionality, that I'll describe below.
> 
>  > These capabilities are controlled by the two config option, under
>  > "General Library Settings" section.
> 
>  > LDSO_STANDALONE_SUPPORT
>  > LDSO_PRELINK_SUPPORT (selects LDSO_STANDALONE_SUPPORT)
> 
>  > ---
>  > 1. stand-alone mode execution
> 
>  > The prelink tool has to be run on the target system to retrieve
>  > information from the application and the shared libraries; to do this it
>  > needs to be able to invoke the dynamic linker as a stand-alone application.
>  > Currently only --library-path option is supported (mandatory for prelinking)
>  > Todo: --list, --verify, --inhibit-rpath
> 
>  > 2. full featured tracing capabilities
> 
>  > A new tracing option LD_WARN and LD_TRACE_PRELINKING has been added to
>  > provide some extra trace information used by the prelink tool.
> 
>  > 3. global and local symbol scope handling
> 
>  > To support the extended tracing capabilities for prelinking, it was
>  > necessary to redesign the lookup process to support searching in the
>  > local scope.
>  > Global symbol scope is now implemented as a linked list of local scope,
>  > that dynamically grows and shrinks when dlopen/dlclose are called. Each
>  > local scope is implemented as an array of pointer to struct elf_resolve.
> 
>  > 4. prelinked libraries runtime support
> 
>  > The dynamic linker must check if it is loading a set of prelinked
>  > libraries, and must handle any conflicts in symbol resolution that have
>  > been detected by the prelink tool using the extended tracing capabilities.
> 
> 
> Folks,
> prelink branch is up. I encourage everybody to give it a try and review.
> 
> I've sent the patches anyway that can be applied onto master.
> 
> Carmelo
> 

I forgot to mention that currently it only builds fine for SH4. Fixes
for all other archs (elfinterp.c) are coming soon.
No other arch specific changes are required, so I'd expect it should
work fine on all supported archs.

Regards,
Carmelo

> 
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc
> 
_______________________________________________
uClibc mailing list
uClibc at uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyYbMMACgkQoRq/3BrK1s9kDQCggegEdZXcA7aXWv/EpiKjAad7
tfUAn0dh7kEKM4+064YgAYF8PGDLAiqE
=N5Qt
-----END PGP SIGNATURE-----


More information about the uClibc mailing list