[llvm-branch-commits] [lld] e705da0 - [lld][ELF] Add some release notes

Fangrui Song via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Feb 27 10:59:49 PST 2020


Author: Fangrui Song
Date: 2020-02-27T10:59:15-08:00
New Revision: e705da06e22b12ee5d75076a2a1ae7b479a566e1

URL: https://github.com/llvm/llvm-project/commit/e705da06e22b12ee5d75076a2a1ae7b479a566e1
DIFF: https://github.com/llvm/llvm-project/commit/e705da06e22b12ee5d75076a2a1ae7b479a566e1.diff

LOG: [lld][ELF] Add some release notes

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D75216

Added: 
    

Modified: 
    lld/docs/ReleaseNotes.rst

Removed: 
    


################################################################################
diff  --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst
index 5be348bb1894..7d8599cf1734 100644
--- a/lld/docs/ReleaseNotes.rst
+++ b/lld/docs/ReleaseNotes.rst
@@ -35,8 +35,60 @@ ELF Improvements
 
 * Relax MIPS ``jalr``and ``jr`` instructions marked by the ``R_MIPS_JALR``
   relocation.
+* For certain "undefined symbol" errors, a definition with a close spelling will be suggested.
+  (`D67039 <https://reviews.llvm.org/D67039>`_)
+* ``extern "C"`` is suggested if an undefined reference is mangled(unmangled) while there
+  is a likely unmangled(mangled) definition.
+  (`D69592 <https://reviews.llvm.org/D69592>`_ `D69650 <https://reviews.llvm.org/D69650>`_)
+* New ``-z noseparate-code``, ``-z separate-code`` and ``-z separate-loadable-segments``.
+  ``-z noseparate-code`` is the default, which can reduce sizes of linked binaries by up to
+  3 times maxpagesize.
+  (`D64903 <https://reviews.llvm.org/D64903>`_ `D67481 <https://reviews.llvm.org/D67481>`_)
+* ``-z force-bti`` and ``-z pac-plt`` are added for AArch64 Branch Target Identification and Pointer Authentication.
+  (`D62609 <https://reviews.llvm.org/D62609>`_)
+* ``--fix-cortex-a8`` is added to fix erratum 657417.
+  (`D67284 <https://reviews.llvm.org/D67284>`_)
+* ``-z force-ibt`` and ``-z shstk`` are added for Intel Control-flow Enforcement Technology.
+  (`D59780 <https://reviews.llvm.org/D59780>`_)
+* ``PT_GNU_PROPERTY`` is added to help loaders locate the ``.note.gnu.property`` section.
+  It may be used by a future Linux kernel.
+  (`D70961 <https://reviews.llvm.org/D70961>`_)
+* For ``--compress-debug-sections=zlib``, ``-O0`` and ``-O1`` enable compression level 1
+  while ``-O2`` enables compression level 6. ``-O1`` (default) is faster than before.
+  (`D70658 <https://reviews.llvm.org/D70658>`_)
+* Range extension thunks with addends are implemented for AArch64, PowerPC32 and PowerPC64.
+  (`D70637 <https://reviews.llvm.org/D70637>`_ `D70937 <https://reviews.llvm.org/D70937>`_
+  `D73424 <https://reviews.llvm.org/D73424>`_)
+* ``R_RISCV_ALIGN`` will be errored because linker relaxation for RISC-V is not supported.
+  Pass ``-mno-relax`` to disable ``R_RISCV_ALIGN``.
+  (`D71820 <https://reviews.llvm.org/D71820>`_)
+* The ARM port will no longer insert interworking thunks for non STT_FUNC symbols.
+  (`D73474 <https://reviews.llvm.org/D73474>`_)
+* The quality of PowerPC32 port has been greatly improved (canonical PLT, copy
+  relocations, non-preemptible IFUNC, range extension thunks with addends).
+  It can link FreeBSD 13.0 userland.
+* The PowerPC64 port supports non-preemptible IFUNC.
+  (`D71509 <https://reviews.llvm.org/D71509>`_)
+* lld creates a RO PT_LOAD and a RX PT_LOAD without a linker script.
+  lld creates a unified RX PT_LOAD with a linker script.
+  A future release will eliminate this 
diff erence and use a RO PT_LOAD and a RX PT_LOAD by default.
+  The linker script case will require ``--no-rosegment`` to restore the current behavior.
+* GNU style compressed debug sections ``.zdebug`` (obsoleted by ``SHF_COMPRESSED``)
+  are supported for input files, but not for the output.
+  A future release may drop ``.zdebug`` support.
+
+Breaking changes
+----------------
 
-* Reduced size of linked MIPS binaries.
+* ``-Ttext=$base`` (base is usually 0) is no longer supported.
+  If PT_PHDR is needed, use ``--image-base=$base`` instead.
+  If PT_PHDR is not needed, use a linker script with `.text 0 : { *(.text*) }` as the first
+  output section description.
+  See https://bugs.llvm.org/show_bug.cgi?id=44715 for more information.
+  (`D67325 <https://reviews.llvm.org/D67325>`_)
+* ``-Ttext-segment`` is no longer supported. Its meaning was 
diff erent from GNU ld's and
+  could cause subtle bugs.
+  (`D70468 <https://reviews.llvm.org/D70468>`_)
 
 COFF Improvements
 -----------------


        


More information about the llvm-branch-commits mailing list