[TUHS] What does `ld` stand for?

Warner Losh via TUHS tuhs at tuhs.org
Mon Oct 26 17:28:33 AEST 2026


On Mon, Oct 26, 2026, 12:40 AM Lars Brinkhoff <lars at nocrew.org> wrote:

> Douglas McIlroy wrote:
> > Technically exec(2) was the loader.  ld was generally invoked
> > subliminally and rarely recursively. Thus, in conversation it was
> > known as "loader", a converter from relocatable binary to core image.
> > The man page, however, carefully characterized its full recursive
> > capability.
>
> I don't quite understand this, so I'm hoping for clarifications.
>
> Of course exec(2) loads things.  But only a single file (core image)
> with all symbolic references resolved, right?  My understanding of the
> old term "loader" was that it refers to something that can take serveral
> pieces (relocatable or object files), merge them together, and resolve
> undefined references between them.  exec(2) never did all of that, right?
>
> How was ld invoked subliminally?  What do you mean by invoking it
> recursively?
>

Ld to this day has a -r flag that takes the input .o and outputs a new .o
without the relocations applied. These .o files can be used for as future
.o files for ld.

Warner

>


More information about the TUHS mailing list