summaryrefslogtreecommitdiffstats
path: root/lld/docs/ReleaseNotes.rst
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2018-09-11 02:14:11 +0000
committerRui Ueyama <ruiu@google.com>2018-09-11 02:14:11 +0000
commit39b75e9e84d1a8a38ec92e69e83584bdd4a7ecf3 (patch)
tree863886408c57b11809ef0eb60411622afd8b64b3 /lld/docs/ReleaseNotes.rst
parent78bdb22298f34ce232bc4ff89f6ae2566dcfe18a (diff)
downloadbcm5719-llvm-39b75e9e84d1a8a38ec92e69e83584bdd4a7ecf3.tar.gz
bcm5719-llvm-39b75e9e84d1a8a38ec92e69e83584bdd4a7ecf3.zip
Update release notes for lld 7.0.
llvm-svn: 341890
Diffstat (limited to 'lld/docs/ReleaseNotes.rst')
-rw-r--r--lld/docs/ReleaseNotes.rst79
1 files changed, 70 insertions, 9 deletions
diff --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst
index 535b7eea0c4..f1ae131756c 100644
--- a/lld/docs/ReleaseNotes.rst
+++ b/lld/docs/ReleaseNotes.rst
@@ -8,10 +8,16 @@ LLD 7.0.0 Release Notes
Introduction
============
-This document contains the release notes for the lld linker, release 7.0.0.
-Here we describe the status of lld, including major improvements
-from the previous release. All lld releases may be downloaded
-from the `LLVM releases web site <https://llvm.org/releases/>`_.
+lld is a high-performance linker that supports ELF (Unix), COFF (Windows),
+Mach-O (macOS), MinGW and WebAssembly. lld is command-line-compatible with GNU
+linkers and Microsoft link.exe, and is significantly faster than these system
+default linkers.
+
+lld 7.0 for ELF and COFF are production-ready. lld/ELF can build the entire
+FreeBSD/AMD64 and will be the default linker of the next version of the
+operating system. lld/COFF is being used to build popular large programs such as
+Chrome web browser. Mach-O, MinGW and WebAssembly supports are still
+experimental.
Non-comprehensive list of changes in this release
=================================================
@@ -19,15 +25,61 @@ Non-comprehensive list of changes in this release
ELF Improvements
----------------
-* lld is now able to overcome MIPS GOT entries number limitation
- and generate multi-GOT if necessary.
+* Fixed a lot of long-tail compatibility issues with GNU linkers.
+
+* Added ``-z retpolineplt`` to emit a PLT entry that doesn't contain an indirect
+ jump instruction to mitigate Spectre v2 vulnerability.
+
+* Added experimental support for `SHT_RELR sections
+ <https://groups.google.com/forum/#!topic/generic-abi/bX460iggiKg>` to create a
+ compact dynamic relocation table.
+
+* Added support for `split stacks <https://gcc.gnu.org/wiki/SplitStacks>`.
+
+* Added support for address significance table (section with type
+ SHT_LLVM_ADDRSIG) to improve Identical Code Folding (ICF). Combined with the
+ ``-faddrsig`` compiler option added to Clang 7.0, lld's ``--icf=all`` can now
+ safely merge functions and data to generate smaller outputs than before.
+
+* Improved ``--gdb-index`` so that it is faster (`r336790
+ <https://reviews.llvm.org/rL336790>`) and uses less memory (`r336672
+ <https://reviews.llvm.org/rL336672>`).
+
+* Reduced memory usage of ``--compress-debug-sections`` (`r338913
+ <https://reviews.llvm.org/rL338913>`).
+
+* Added linker script OVERLAY support (`r335714 <https://reviews.llvm.org/rL335714>`).
+
+* Added ``--warn-backref`` to make it easy to identify command line option order
+ that doesn't work with GNU linkers (`r329636 <https://reviews.llvm.org/rL329636>`)
-* lld is now able to produce MIPS position-independent executable (PIE).
+* Added ld.lld.1 man page (`r324512 <https://reviews.llvm.org/rL324512>`).
+
+* Added support for multi-GOT.
+
+* Added support for MIPS position-independent executable (PIE).
* Fixed MIPS TLS GOT entries for local symbols in shared libraries.
-* Fixed calculation of MIPS GP relative relocations
- in case of relocatable output.
+* Fixed calculation of MIPS GP relative relocations in case of relocatable
+ output.
+
+* Added support for PPCv2 ABI.
+
+* Removed an incomplete support of PPCv1 ABI.
+
+* Added support for Qualcomm Hexagon ISA.
+
+* Added the following flags: ``--apply-dynamic-relocs``, ``--check-sections``,
+ ``--cref``, ``--just-symbols``, ``--keep-unique``,
+ ``--no-allow-multiple-definition``, ``--no-apply-dynamic-relocs``,
+ ``--no-check-sections``, ``--no-gnu-unique, ``--no-pic-executable``,
+ ``--no-undefined-version``, ``--no-warn-common``, ``--pack-dyn-relocs=relr``,
+ ``--pop-state``, ``--print-icf-sections``, ``--push-state``,
+ ``--thinlto-index-only``, ``--thinlto-object-suffix-replace``,
+ ``--thinlto-prefix-replace``, ``--warn-backref``, ``-z combreloc``, ``-z
+ copyreloc``, ``-z initfirst``, ``-z keep-text-section-prefix``, ``-z lazy``,
+ ``-z noexecstack``, ``-z relro``, ``-z retpolineplt``, ``-z text``
COFF Improvements
-----------------
@@ -39,3 +91,12 @@ COFF Improvements
* Added support for outputting PDB debug info for MinGW targets.
* Improved compatibility of output binaries with GNU binutils objcopy/strip.
+
+* Sped up PDB file creation.
+
+* Changed section layout to improve compatibility with link.exe.
+
+* Added the following flags: ``--color-diagnostics={always,never,auto}``,
+ ``--no-color-diagnostics``, ``/brepro``, ``/debug:full``, ``/debug:ghash``,
+ ``/guard:cf``, ``/guard:longjmp``, ``/guard:nolongjmp``, ``/integritycheck``,
+ ``/order``, ``/pdbsourcepath``, ``/timestamp``
OpenPOWER on IntegriCloud