1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-30 00:20:08 +00:00

documentation: remove references to prelink support

Fixing documentation and updating examples containing "prelink"
in their output.

(From yocto-docs rev: 8927b8fff55fac1bd1fefcff2d16141dbd1ebc51)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Michael Opdenacker
2022-02-14 17:20:08 +01:00
committed by Richard Purdie
parent 0966ba1ebb
commit 6df5aa3475
6 changed files with 45 additions and 96 deletions
+3 -5
View File
@@ -1036,12 +1036,10 @@ for example, to determine whether or not to run specific tests. See the
:term:`IMAGE_MANIFEST`
variable for additional information.
Optimizing processes that are run across the image include ``mklibs``,
``prelink``, and any other post-processing commands as defined by the
Optimizing processes that are run across the image include ``mklibs``
and any other post-processing commands as defined by the
:term:`ROOTFS_POSTPROCESS_COMMAND`
variable. The ``mklibs`` process optimizes the size of the libraries,
while the ``prelink`` process optimizes the dynamic linking of shared
libraries to reduce start up time of executables.
variable. The ``mklibs`` process optimizes the size of the libraries.
After the root filesystem is built, processing begins on the image
through the :ref:`ref-tasks-image`
@@ -387,39 +387,6 @@ Yocto Project:
You can learn more about the AutoBuilder used by the Yocto Project
Autobuilder :doc:`here </test-manual/understand-autobuilder>`.
- *Cross-Prelink:* Prelinking is the process of pre-computing the load
addresses and link tables generated by the dynamic linker as compared
to doing this at runtime. Doing this ahead of time results in
performance improvements when the application is launched and reduced
memory usage for libraries shared by many applications.
Historically, cross-prelink is a variant of prelink, which was
conceived by `Jakub
Jelínek <https://people.redhat.com/jakub/prelink.pdf>`__ a number of
years ago. Both prelink and cross-prelink are maintained in the same
repository albeit on separate branches. By providing an emulated
runtime dynamic linker (i.e. ``glibc``-derived ``ld.so`` emulation),
the cross-prelink project extends the prelink software's ability to
prelink a sysroot environment. Additionally, the cross-prelink
software enables the ability to work in sysroot style environments.
The dynamic linker determines standard load address calculations
based on a variety of factors such as mapping addresses, library
usage, and library function conflicts. The prelink tool uses this
information, from the dynamic linker, to determine unique load
addresses for executable and linkable format (ELF) binaries that are
shared libraries and dynamically linked. The prelink tool modifies
these ELF binaries with the pre-computed information. The result is
faster loading and often lower memory consumption because more of the
library code can be re-used from shared Copy-On-Write (COW) pages.
The original upstream prelink project only supports running prelink
on the end target device due to the reliance on the target device's
dynamic linker. This restriction causes issues when developing a
cross-compiled system. The cross-prelink adds a synthesized dynamic
loader that runs on the host, thus permitting cross-prelinking
without ever having to run on a read-write target filesystem.
- *Pseudo:* Pseudo is the Yocto Project implementation of
`fakeroot <http://man.he.net/man1/fakeroot>`__, which is used to run
commands in an environment that seemingly has root privileges.