|  | ATOM-based lld | 
|  | ============== | 
|  |  | 
|  | Note: this document discuss Mach-O port of LLD. For ELF and COFF, | 
|  | see :doc:`index`. | 
|  |  | 
|  | ATOM-based lld is a new set of modular code for creating linker tools. | 
|  | Currently it supports Mach-O. | 
|  |  | 
|  | * End-User Features: | 
|  |  | 
|  | * Compatible with existing linker options | 
|  | * Reads standard Object Files | 
|  | * Writes standard Executable Files | 
|  | * Remove clang's reliance on "the system linker" | 
|  | * Uses the LLVM `"UIUC" BSD-Style license`__. | 
|  |  | 
|  | * Applications: | 
|  |  | 
|  | * Modular design | 
|  | * Support cross linking | 
|  | * Easy to add new CPU support | 
|  | * Can be built as static tool or library | 
|  |  | 
|  | * Design and Implementation: | 
|  |  | 
|  | * Extensive unit tests | 
|  | * Internal linker model can be dumped/read to textual format | 
|  | * Additional linking features can be plugged in as "passes" | 
|  | * OS specific and CPU specific code factored out | 
|  |  | 
|  | Why a new linker? | 
|  | ----------------- | 
|  |  | 
|  | The fact that clang relies on whatever linker tool you happen to have installed | 
|  | means that clang has been very conservative adopting features which require a | 
|  | recent linker. | 
|  |  | 
|  | In the same way that the MC layer of LLVM has removed clang's reliance on the | 
|  | system assembler tool, the lld project will remove clang's reliance on the | 
|  | system linker tool. | 
|  |  | 
|  |  | 
|  | Contents | 
|  | -------- | 
|  |  | 
|  | .. toctree:: | 
|  | :maxdepth: 2 | 
|  |  | 
|  | design | 
|  | getting_started | 
|  | development | 
|  | open_projects | 
|  | sphinx_intro | 
|  |  | 
|  | Indices and tables | 
|  | ------------------ | 
|  |  | 
|  | * :ref:`genindex` | 
|  | * :ref:`search` | 
|  |  | 
|  | __ http://llvm.org/docs/DeveloperPolicy.html#license |