llvm-project/lld/docs
Fangrui Song fbf41b5267 [ELF] Simplify sh_addr computation and warn if sh_addr is not a multiple of sh_addralign
See `docs/ELF/linker_script.rst` for the new computation for sh_addr and sh_addralign.
`ALIGN(section_align)` now means: "increase alignment to section_align"
(like yet another input section requirement).

The "start of section .foo changes from 0x11 to 0x20" warning no longer
makes sense. Change it to warn if sh_addr%sh_addralign!=0.

To decrease the alignment from the default max_input_align,
use `.output ALIGN(8) : {}` instead of `.output : ALIGN(8) {}`
See linkerscript/section-address-align.test as an example.

When both an output section address and ALIGN are set (can be seen as an
"undefined behavior" https://sourceware.org/ml/binutils/2020-03/msg00115.html),
lld may align more than GNU ld, but it makes a linker script working
with GNU ld hard to break with lld.

This patch can be considered as restoring part of the behavior before D74736.

Differential Revision: https://reviews.llvm.org/D75724
2020-03-11 09:35:42 -07:00
..
ELF [ELF] Simplify sh_addr computation and warn if sh_addr is not a multiple of sh_addralign 2020-03-11 09:35:42 -07:00
_static
_templates Fixed link to bugzilla in the sidebar 2017-11-08 10:10:31 +00:00
llvm-theme
AtomLLD.rst Add notes about the scope of the documents. 2017-02-24 04:31:08 +00:00
CMakeLists.txt docs: Fix Sphinx detection with out-of-tree builds 2017-05-09 01:43:22 +00:00
Driver.rst fix yet another doc typo to cycle bots 2019-12-20 22:25:14 -05:00
NewLLD.rst fix a few typos to cycle the bots 2020-01-09 23:10:15 -05:00
Partitions.rst docs: Update partitioning docs now that the feature is fully landed. 2019-06-07 19:23:19 +00:00
README.txt [WebAssembly] Update docs 2018-11-29 02:55:25 +00:00
Readers.rst key method -> key function 2018-12-21 22:40:10 +00:00
ReleaseNotes.rst Bump the trunk major version to 11 2020-01-15 13:38:01 +01:00
WebAssembly.rst fix typo 2020-03-02 21:01:50 -05:00
conf.py Bump the trunk major version to 11 2020-01-15 13:38:01 +01:00
design.rst Add notes about the scope of the documents. 2017-02-24 04:31:08 +00:00
development.rst Add notes about the scope of the documents. 2017-02-24 04:31:08 +00:00
getting_started.rst Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
hello.png
index.rst [LLD][ELF] Add initial LLD LinkerScript docs page 2020-03-11 10:56:12 +00:00
ld.lld.1 [LLD] Add support for --unique option 2020-03-10 12:20:21 +00:00
make.bat
missingkeyfunction.rst Fix two sphinx warnings 2019-04-11 07:31:03 +00:00
open_projects.rst lld/include/lld/Core/TODO.txt 2019-01-14 00:45:27 +00:00
partitions.dot Add IR support, ELF section and user documentation for partitioning feature. 2019-05-29 03:29:01 +00:00
partitions.svg Add IR support, ELF section and user documentation for partitioning feature. 2019-05-29 03:29:01 +00:00
sphinx_intro.rst [Docs] Modernize references to macOS 2019-05-30 16:46:22 +00:00
windows_support.rst [lld] Fix trivial typos in comments 2020-01-06 10:25:48 -08:00

README.txt

lld Documentation
=================

The lld documentation is written using the Sphinx documentation generator. It is
currently tested with Sphinx 1.1.3.

We currently use the 'nature' theme and a Beaker inspired structure.

See sphinx_intro.rst for more details.