diff options
Diffstat (limited to 'documentation/overview-manual/yp-intro.rst')
-rw-r--r-- | documentation/overview-manual/yp-intro.rst | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/documentation/overview-manual/yp-intro.rst b/documentation/overview-manual/yp-intro.rst index ce2aed519e..a863a7d16e 100644 --- a/documentation/overview-manual/yp-intro.rst +++ b/documentation/overview-manual/yp-intro.rst | |||
@@ -387,39 +387,6 @@ Yocto Project: | |||
387 | You can learn more about the AutoBuilder used by the Yocto Project | 387 | You can learn more about the AutoBuilder used by the Yocto Project |
388 | Autobuilder :doc:`here </test-manual/understand-autobuilder>`. | 388 | Autobuilder :doc:`here </test-manual/understand-autobuilder>`. |
389 | 389 | ||
390 | - *Cross-Prelink:* Prelinking is the process of pre-computing the load | ||
391 | addresses and link tables generated by the dynamic linker as compared | ||
392 | to doing this at runtime. Doing this ahead of time results in | ||
393 | performance improvements when the application is launched and reduced | ||
394 | memory usage for libraries shared by many applications. | ||
395 | |||
396 | Historically, cross-prelink is a variant of prelink, which was | ||
397 | conceived by `Jakub | ||
398 | JelĂnek <https://people.redhat.com/jakub/prelink.pdf>`__ a number of | ||
399 | years ago. Both prelink and cross-prelink are maintained in the same | ||
400 | repository albeit on separate branches. By providing an emulated | ||
401 | runtime dynamic linker (i.e. ``glibc``-derived ``ld.so`` emulation), | ||
402 | the cross-prelink project extends the prelink software's ability to | ||
403 | prelink a sysroot environment. Additionally, the cross-prelink | ||
404 | software enables the ability to work in sysroot style environments. | ||
405 | |||
406 | The dynamic linker determines standard load address calculations | ||
407 | based on a variety of factors such as mapping addresses, library | ||
408 | usage, and library function conflicts. The prelink tool uses this | ||
409 | information, from the dynamic linker, to determine unique load | ||
410 | addresses for executable and linkable format (ELF) binaries that are | ||
411 | shared libraries and dynamically linked. The prelink tool modifies | ||
412 | these ELF binaries with the pre-computed information. The result is | ||
413 | faster loading and often lower memory consumption because more of the | ||
414 | library code can be re-used from shared Copy-On-Write (COW) pages. | ||
415 | |||
416 | The original upstream prelink project only supports running prelink | ||
417 | on the end target device due to the reliance on the target device's | ||
418 | dynamic linker. This restriction causes issues when developing a | ||
419 | cross-compiled system. The cross-prelink adds a synthesized dynamic | ||
420 | loader that runs on the host, thus permitting cross-prelinking | ||
421 | without ever having to run on a read-write target filesystem. | ||
422 | |||
423 | - *Pseudo:* Pseudo is the Yocto Project implementation of | 390 | - *Pseudo:* Pseudo is the Yocto Project implementation of |
424 | `fakeroot <http://man.he.net/man1/fakeroot>`__, which is used to run | 391 | `fakeroot <http://man.he.net/man1/fakeroot>`__, which is used to run |
425 | commands in an environment that seemingly has root privileges. | 392 | commands in an environment that seemingly has root privileges. |