Linker (computing): Difference between revisions

Content deleted Content added
Common implementations: WP is all about common/notable; simplify the section name
Co-locate Unix implementation info
Line 26:
The executable output by the linker may need another relocation pass when it is finally loaded into memory (just before execution). This pass is usually omitted on [[computer hardware|hardware]] offering [[virtual memory]]: every program is put into its own address space, so there is no conflict even if all programs load at the same base address. This pass may also be omitted if the executable is a [[position independent]] executable.
 
On some [[Unix]] variants, such as [[SINTRAN&nbsp;III]], the process performed by a linker (assembling object files into a program) was called ''[[loader (computing)|loading]]'' (as in loading executable code onto a file).<ref name="BRF_1984"/> Additionally, in some operating systems, the same program handles both the jobs of linking and loading a program ([[dynamic linking]]).
 
== Dynamic linking ==
Line 70:
=== Unix & Unix-like ===
On Unix and Unix-like systems, the static linker is usually invoked via the command <code>ld</code> which is an abbreviation of ''LoaDer'' or ''Link eDitor''. The term "loader" was used to describe the process of loading external symbols from other programs during the process of linking.<ref name="UNIX_V6_manuals"/>
 
For example, on [[SINTRAN&nbsp;III]], linking (assembling object files into a program) was called <!--do not link to [[loader (computing)]] since that's different-->''loading'' {{endash}} as in loading executable code onto a file.<ref name="BRF_1984"/>
 
=== GNU ===