llvm-project/lld/docs
Fangrui Song 7cd429f27d [ELF] Add -z force-ibt and -z shstk for Intel Control-flow Enforcement Technology
This patch is a joint work by Rui Ueyama and me based on D58102 by Xiang Zhang.

It adds Intel CET (Control-flow Enforcement Technology) support to lld.
The implementation follows the draft version of psABI which you can
download from https://github.com/hjl-tools/x86-psABI/wiki/X86-psABI.

CET introduces a new restriction on indirect jump instructions so that
you can limit the places to which you can jump to using indirect jumps.

In order to use the feature, you need to compile source files with
-fcf-protection=full.

* IBT is enabled if all input files are compiled with the flag. To force enabling ibt, pass -z force-ibt.
* SHSTK is enabled if all input files are compiled with the flag, or if -z shstk is specified.

IBT-enabled executables/shared objects have two PLT sections, ".plt" and
".plt.sec".  For the details as to why we have two sections, please read
the comments.

Reviewed By: xiangzhangllvm

Differential Revision: https://reviews.llvm.org/D59780
2020-01-13 23:39:28 -08: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 Update release notes 2019-10-18 06:11:16 +00:00
WebAssembly.rst fix a few typos to cycle the bots 2020-01-09 23:10:15 -05:00
conf.py fix a few typos to cycle the bots 2020-01-09 23:10:15 -05: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 hopefully last doc typo fix to cycle bots 2019-12-20 22:28:21 -05:00
ld.lld.1 [ELF] Add -z force-ibt and -z shstk for Intel Control-flow Enforcement Technology 2020-01-13 23:39:28 -08: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.