[TUHS] What does `ld` stand for?
Bakul Shah via TUHS
tuhs at tuhs.org
Mon Oct 26 04:08:03 AEST 2026
On Oct 25, 2026, at 10:42 AM, christopher fujino via TUHS <tuhs at tuhs.org> wrote:
>
> My friend, taking an OS course was wondering what `ld` stood for. After
> doing an online search, concluded "no one knows." Surely someone around
> here must remember why the linker is called `ld`? Thanks!
From John R. Levine's "Linkers & Loaders" book:
As early as 1947, programmers started to use primitive
loaders that could take program routines stored on separate
tapes and combine and relocate them into one program. By the
early 1960s, these loaders had evolved into full-fledged
linkage editors.
...
Programmers were using libraries of subprograms even before
they used assemblers. By 1947, John Mauchly,who led the
ENIAC project, wrote about loading programs along with
subprograms selected from a catalog of programs stored on
tapes, and of the need to relocate the subprograms’ code to
reflect the addresses at which they were loaded. Perhaps
surprisingly, these two basic linker functions, relocation and
library search, appear to predate even assemblers, as Mauchly
expected both the program and subprograms to be written in
machine language. The relocating loader allowed the authors
and users of the subprograms to write each subprogram as
though it would start at location zero, and to defer the
actual address binding until the subprograms were linked with
a particular main program.
More information about the TUHS
mailing list