[lld] r293027 - Write release notes for LLD 4.0.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 24 22:26:55 PST 2017


Author: ruiu
Date: Wed Jan 25 00:26:55 2017
New Revision: 293027

URL: http://llvm.org/viewvc/llvm-project?rev=293027&view=rev
Log:
Write release notes for LLD 4.0.

Modified:
    lld/branches/release_40/docs/ReleaseNotes.rst

Modified: lld/branches/release_40/docs/ReleaseNotes.rst
URL: http://llvm.org/viewvc/llvm-project/lld/branches/release_40/docs/ReleaseNotes.rst?rev=293027&r1=293026&r2=293027&view=diff
==============================================================================
--- lld/branches/release_40/docs/ReleaseNotes.rst (original)
+++ lld/branches/release_40/docs/ReleaseNotes.rst Wed Jan 25 00:26:55 2017
@@ -11,25 +11,79 @@ LLD 4.0.0 Release Notes
 Introduction
 ============
 
-This document contains the release notes for the LLD linker, release 4.0.0.
+LLD is a linker which supports ELF (Unix), COFF (Windows) and Mach-O
+(macOS). It is generally faster than the GNU BFD/gold linkers or the
+MSVC linker.
+
+LLD is designed to be a drop-in replacmenet for the system linkers, so
+that users don't need to change their build systems other than swapping
+the linker command.
+
+This document contains the release notes for LLD 4.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 <http://llvm.org/releases/>`_.
 
-Non-comprehensive list of changes in this release
-=================================================
+
+What's New in LLD 4.0?
+======================
 
 ELF Improvements
 ----------------
 
-* Initial support for LTO.
+LLD provides much better compatibility with the GNU linker than before.
+Now it is able to link the entire FreeBSD base system including kernel
+out of the box. We are working closely with the FreeBSD project to
+make it usable as the system linker in a future release of the operating
+system.
+
+Multi-threading performance has been imporved, and multi-threading
+is now enabled by default. Combined with other optimizations, LLD 4.0
+is about 1.5 times faster than LLD 3.9 when linking large programs
+in our test environment.
+
+Other notable changes are listed below:
+
+* Error messages contain more information than before. If debug info
+  is available, the linker prints out not only the object file name
+  but the source location of unresolved symbols.
+
+* Error messages are printed in red just like Clang by default. You
+  can disable it by passing -no-color-diagnostics.
+
+* LLD's version string is now embedded to a .comment section in a
+  result output file. You can dump it by this command: ``objdump -j -s
+  .comment <file>``.
+
+* The -Map option is supported. With that, you can print out section
+  and symbol information to a specified file. This feature is useful
+  to analyze link results.
+
+* The file format for the -reproduce option has changed from cpio to
+  tar.
+
+* When creating a copy relocation for a symbol, LLD now scans the
+  DSO's header to see if the symbol is in a read-only segment. If so,
+  space for the copy relocation is reserved in .bss.rel.ro instead of
+  .bss. This fixes a security issue that read-only data in a DSO
+  becomes writable if it is copied by a copy relocation. This issue
+  was disclosed originally on the binutils mailing list at
+  `<https://sourceware.org/ml/libc-alpha/2016-12/msg00914.html>`.
+
+* Default image base address for x86-64 has been changed from 0x10000
+  to 0x200000 to make it huge-page friendly.
+
+* Compressed input sections are supported.
+
+* ``--oformat binary``, ``--section-start``, ``-Tbss``, ``-Tdata``,
+  ``-Ttext``, ``-b binary``, ``-build-id=uuid``, ``-no-rosegment``,
+  ``-nopie``, ``-nostdlib``, ``-omagic``, ``-retain-symbols-file``,
+  ``-sort-section``, ``-z max-page-size`` and ``-z wxneeded`` are
+  suppoorted.
+
+* A lot of linker script directives have been added.
 
 COFF Improvements
 -----------------
 
-* Item 1.
-
-MachO Improvements
-------------------
-
-* Item 1.
+* 




More information about the llvm-commits mailing list