[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
Log:
Update release notes for lld 7.0.
Modified:
lld/branches/release_70/docs/ReleaseNotes.rst
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
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 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