[ANNOUNCE] Prelink for uClibc available

Carmelo AMOROSO carmelo.amoroso at st.com
Mon Oct 11 11:16:37 UTC 2010


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

On 9/21/2010 10:28 AM, Carmelo AMOROSO wrote:
> 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
> 

Folks,
prelink branch has been updated to report all the prelink related
changes into the specific elfinterp.c file.
Any feedback and bugs report are welcome.

As a side note, we are going to do some tidy-up into the ld.so, the
_dl_find_hash function interface is becoming too confusing, to many
parameters used with NULL... likely a better redefinition could be an
option.

Cheers,
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
> 
_______________________________________________
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/

iEYEARECAAYFAkyy8hUACgkQoRq/3BrK1s+h/QCfZCNKG0GmsTaYU2bb5Um1dILF
WpQAnRWDLDdY1nR+FooomY2VYxBvm8Qp
=OYSl
-----END PGP SIGNATURE-----


More information about the uClibc mailing list