1ATOM-based lld
2==============
3
4Note: this document discuss Mach-O port of LLD. For ELF and COFF,
5see :doc:`index`.
6
7ATOM-based lld is a new set of modular code for creating linker tools.
8Currently it supports Mach-O.
9
10* End-User Features:
11
12  * Compatible with existing linker options
13  * Reads standard Object Files
14  * Writes standard Executable Files
15  * Remove clang's reliance on "the system linker"
16  * Uses the LLVM `"UIUC" BSD-Style license`__.
17
18* Applications:
19
20  * Modular design
21  * Support cross linking
22  * Easy to add new CPU support
23  * Can be built as static tool or library
24
25* Design and Implementation:
26
27  * Extensive unit tests
28  * Internal linker model can be dumped/read to textual format
29  * Additional linking features can be plugged in as "passes"
30  * OS specific and CPU specific code factored out
31
32Why a new linker?
33-----------------
34
35The fact that clang relies on whatever linker tool you happen to have installed
36means that clang has been very conservative adopting features which require a
37recent linker.
38
39In the same way that the MC layer of LLVM has removed clang's reliance on the
40system assembler tool, the lld project will remove clang's reliance on the
41system linker tool.
42
43
44Contents
45--------
46
47.. toctree::
48   :maxdepth: 2
49
50   design
51   getting_started
52   development
53   open_projects
54   sphinx_intro
55
56Indices and tables
57------------------
58
59* :ref:`genindex`
60* :ref:`search`
61
62__ http://llvm.org/docs/DeveloperPolicy.html#license
63