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

Sean Silva via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 27 21:26:35 PST 2017


Thank you for doing this!

On Tue, Jan 24, 2017 at 10:26 PM, Rui Ueyama via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> 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.
> +*
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170127/c165282e/attachment.html>


More information about the llvm-commits mailing list