[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