[ANNOUNCE] Prelink for uClibc available

Carmelo AMOROSO carmelo.amoroso at st.com
Mon Sep 20 08:52:08 UTC 2010

Hash: SHA1

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.
> ---
> 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.

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.


uClibc mailing list
uClibc at uclibc.org

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


More information about the uClibc mailing list