Skip to main content
2 of 3
Typo. Refer to the ld.so manpage.
Stephen Kitt
  • 482.8k
  • 60
  • 1.2k
  • 1.4k

The highlighting here:

The dynamic linker then finishes the linking task

misses the important word, “finishes”. The linker, ld, starts the linking task, performing as much as possible at build-time and preparing the data structures required to finish it.

The loader can then finish the linking task as it loads the program and the libraries it needs: matching up symbols, and performing the necessary relocation.

In CSAPP’s terminology, the dynamic loader is the in-kernel ELF loader, and the dynamic linker is ld-linux.so.

The GNU C library’s own documentation refers to ld.so as the dynamic linker/loader.

Stephen Kitt
  • 482.8k
  • 60
  • 1.2k
  • 1.4k