[llvm-branch-commits] [lld] r341890 - Update release notes for lld 7.0.

Rui Ueyama via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Sep 10 19:14:11 PDT 2018

Author: ruiu
Date: Mon Sep 10 19:14:11 2018
New Revision: 341890

URL: http://llvm.org/viewvc/llvm-project?rev=341890&view=rev
Update release notes for lld 7.0.


Modified: lld/branches/release_70/docs/ReleaseNotes.rst
URL: http://llvm.org/viewvc/llvm-project/lld/branches/release_70/docs/ReleaseNotes.rst?rev=341890&r1=341889&r2=341890&view=diff
--- lld/branches/release_70/docs/ReleaseNotes.rst (original)
+++ lld/branches/release_70/docs/ReleaseNotes.rst Mon Sep 10 19:14:11 2018
@@ -8,10 +8,16 @@ LLD 7.0.0 Release Notes
-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
 Non-comprehensive list of changes in this release
@@ -19,15 +25,61 @@ Non-comprehensive list of changes in thi
 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.
-* lld is now able to produce MIPS position-independent executable (PIE).
+* 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>`)
+* 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``

More information about the llvm-branch-commits mailing list