Author: Fangrui Song Date: 2021-08-17T09:44:19-07:00 New Revision: 08dd644d078a77c5eb804442a100bb4a39f9d0d9
URL: https://github.com/llvm/llvm-project/commit/08dd644d078a77c5eb804442a100bb4a39f9d0d9 DIFF: https://github.com/llvm/llvm-project/commit/08dd644d078a77c5eb804442a100bb4a39f9d0d9.diff LOG: ReleaseNotes: add lld/ELF notes For the release/13.x branch. Differential Revision: https://reviews.llvm.org/D107782 Added: Modified: lld/docs/ReleaseNotes.rst Removed: ################################################################################ diff --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst index 9ae375523518..50af6e7d7939 100644 --- a/lld/docs/ReleaseNotes.rst +++ b/lld/docs/ReleaseNotes.rst @@ -24,6 +24,13 @@ Non-comprehensive list of changes in this release ELF Improvements ---------------- +* ``-z start-stop-gc`` is now supported and becomes the default. + (`D96914 <https://reviews.llvm.org/D96914>`_) + (`rG6d2d3bd0 <https://reviews.llvm.org/rG6d2d3bd0a61f5fc7fd9f61f48bc30e9ca77cc619>`_) +* ``--shuffle-sections=<seed>`` has been changed to ``--shuffle-sections=<section-glob>=<seed>``. + If seed is -1, the matched input sections are reversed. + (`D98445 <https://reviews.llvm.org/D98445>`_) + (`D98679 <https://reviews.llvm.org/D98679>`_) * ``-Bsymbolic -Bsymbolic-functions`` has been changed to behave the same as ``-Bsymbolic-functions``. This matches GNU ld. (`D102461 <https://reviews.llvm.org/D102461>`_) * ``-Bno-symbolic`` has been added. @@ -32,6 +39,75 @@ ELF Improvements (`D103303 <https://reviews.llvm.org/D103303>`_) * ``-Bsymbolic-non-weak-functions`` has been added as a ``STB_GLOBAL`` subset of ``-Bsymbolic-functions``. (`D102570 <https://reviews.llvm.org/D102570>`_) +* ``--no-allow-shlib-undefined`` has been improved to catch more cases. + (`D101996 <https://reviews.llvm.org/D101996>`_) +* ``__rela_iplt_start`` is no longer defined for -pie/-shared. + This makes GCC/Clang ``-static-pie`` built executables work. + (`rG8cb78e99 <https://reviews.llvm.org/rf8cb78e99aae9aa3f89f7bfe667db2c5b767f21f>`_) +* IRELATIVE/TLSDESC relocations now support ``-z rel``. + (`D100544 <https://reviews.llvm.org/D100544>`_) +* Section groups with a zero flag are now supported. + This is used by ``comdat nodeduplicate`` in LLVM IR. + (`D96636 <https://reviews.llvm.org/D96636>`_) + (`D106228 <https://reviews.llvm.org/D106228>`_) +* Defined symbols are now resolved before undefined symbols to stabilize the bheavior of archive member extraction. + (`D95985 <https://reviews.llvm.org/D95985>`_) +* ``STB_WEAK`` symbols are now preferred over COMMON symbols as a fix to a ``--fortran-common`` regression. + (`D105945 <https://reviews.llvm.org/D105945>`_) +* Absolute relocations referencing undef weak now produce dynamic relocations for -pie, matching GOT-generating relocations. + (`D105164 <https://reviews.llvm.org/D105164>`_) +* Exported symbols are now communicated to the LTO library so as to make LTO + based whole program devirtualization (``-flto=thin -fwhole-program-vtables``) + work with shared objects. + (`D91583 <https://reviews.llvm.org/D91583>`_) +* Whole program devirtualization now respects ``local:`` version nodes in a version script. + (`D98220 <https://reviews.llvm.org/D98220>`_) + (`D98686 <https://reviews.llvm.org/D98686>`_) +* ``local:`` version nodes in a version script now apply to non-default version symbols. + (`D107234 <https://reviews.llvm.org/D107234>`_) +* If an object file defines both ``foo`` and ``foo@v1``, now only ``foo@v1`` will be in the output. + (`D107235 <https://reviews.llvm.org/D107235>`_) +* Copy relocations on non-default version symbols are now supported. + (`D107535 <https://reviews.llvm.org/D107535>`_) + +Linker script changes: + +* ``.``, ``$``, and double quotes can now be used in symbol names in expressions. + (`D98306 <https://reviews.llvm.org/D98306>`_) + (`rGe7a7ad13 <https://reviews.llvm.org/rGe7a7ad134fe182aad190cb3ebc441164470e92f5>`_) +* Fixed value of ``.`` in the output section description of ``.tbss``. + (`D107288 <https://reviews.llvm.org/D107288>`_) +* ``NOLOAD`` sections can now be placed in a ``PT_LOAD`` program header. + (`D103815 <https://reviews.llvm.org/D103815>`_) +* ``OUTPUT_FORMAT(default, big, little)`` now consults ``-EL`` and ``-EB``. + (`D96214 <https://reviews.llvm.org/D96214>`_) +* The ``OVERWRITE_SECTIONS`` command has been added. + (`D103303 <https://reviews.llvm.org/D103303>`_) +* The section order within an ``INSERT AFTER`` command is now preserved. + (`D105158 <https://reviews.llvm.org/D105158>`_) + +Architecture specific changes: + +* aarch64_be is now supported. + (`D96188 <https://reviews.llvm.org/D96188>`_) +* The AMDGPU port now supports ``--amdhsa-code-object-version=4`` object files; + (`D95811 <https://reviews.llvm.org/D95811>`_) +* The ARM port now accounts for PC biases in range extension thunk creation. + (`D97550 <https://reviews.llvm.org/D97550>`_) +* The AVR port now computes ``e_flags``. + (`D99754 <https://reviews.llvm.org/D99754>`_) +* The Mips port now omits unneeded dynamic relocations for PIE non-preemptible TLS. + (`D101382 <https://reviews.llvm.org/D101382>`_) +* The PowerPC port now supports ``--power10-stubs=no`` to omit Power10 instructions from call stubs. + (`D94625 <https://reviews.llvm.org/D94625>`_) +* Fixed a thunk creation bug in the PowerPC port when TOC/NOTOC calls are mixed. + (`D101837 <https://reviews.llvm.org/D101837>`_) +* The RISC-V port now resolves undefined weak relocations to the current location if not using PLT. + (`D103001 <https://reviews.llvm.org/D103001>`_) +* ``R_386_GOTOFF`` relocations from .debug_info are now allowed to be compatible with GCC. + (`D95994 <https://reviews.llvm.org/D95994>`_) +* ``gotEntrySize`` has been added to improve support for the ILP32 ABI of x86-64. + (`D102569 <https://reviews.llvm.org/D102569>`_) Breaking changes ---------------- _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits