-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 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. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkyR4YkACgkQoRq/3BrK1s8fTgCeNfrC9Rw+9nS9iwBotCqN8IhF hVMAoI4+Nq5KsOYMeva9A0j1kSeOQ+wz =z7io -----END PGP SIGNATURE----- _______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc