[lld] 8a41327 - ReleaseNotes: add lld/ELF notes
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Sat Jul 6 18:03:44 PDT 2024
Author: Fangrui Song
Date: 2024-07-06T18:03:39-07:00
New Revision: 8a41327948e7611e851234782b8005d615c5c92c
URL: https://github.com/llvm/llvm-project/commit/8a41327948e7611e851234782b8005d615c5c92c
DIFF: https://github.com/llvm/llvm-project/commit/8a41327948e7611e851234782b8005d615c5c92c.diff
LOG: ReleaseNotes: add lld/ELF notes
Added:
Modified:
lld/docs/ReleaseNotes.rst
Removed:
################################################################################
diff --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst
index 12ea6de0fc15c4..c95170c1165b22 100644
--- a/lld/docs/ReleaseNotes.rst
+++ b/lld/docs/ReleaseNotes.rst
@@ -26,15 +26,21 @@ Non-comprehensive list of changes in this release
ELF Improvements
----------------
+* ``EI_OSABI`` in the output is now inferred from input object files.
+ (`#97144 <https://github.com/llvm/llvm-project/pull/97144>`_)
* ``--compress-sections <section-glib>={none,zlib,zstd}[:level]`` is added to compress
matched output sections without the ``SHF_ALLOC`` flag.
(`#84855 <https://github.com/llvm/llvm-project/pull/84855>`_)
(`#90567 <https://github.com/llvm/llvm-project/pull/90567>`_)
* The default compression level for zlib is now independent of linker
optimization level (``Z_BEST_SPEED``).
+* zstd compression parallelism no longer requires ``ZSTD_MULITHREAD`` build.
* ``GNU_PROPERTY_AARCH64_FEATURE_PAUTH`` notes, ``R_AARCH64_AUTH_ABS64`` and
``R_AARCH64_AUTH_RELATIVE`` relocations are now supported.
(`#72714 <https://github.com/llvm/llvm-project/pull/72714>`_)
+* ``--no-allow-shlib-undefined`` now rejects non-exported definitions in the
+ ``def-hidden.so ref.so`` case.
+ (`#86777 <https://github.com/llvm/llvm-project/issues/86777>`_)
* ``--debug-names`` is added to create a merged ``.debug_names`` index
from input ``.debug_names`` sections. Type units are not handled yet.
(`#86508 <https://github.com/llvm/llvm-project/pull/86508>`_)
@@ -44,6 +50,9 @@ ELF Improvements
(typical for embedded). It also makes full LTO feasible in such cases, since
IR merging currently prevents the linker script from referring to input
files. (`#90007 <https://github.com/llvm/llvm-project/pull/90007>`_)
+* ``--default-script`/``-dT`` is implemented to specify a default script that is processed
+ if ``--script``/``-T`` is not specified.
+ (`#89327 <https://github.com/llvm/llvm-project/pull/89327>`_)
* ``--force-group-allocation`` is implemented to discard ``SHT_GROUP`` sections
and combine relocation sections if their relocated section group members are
placed to the same output section.
@@ -51,6 +60,30 @@ ELF Improvements
* ``--build-id`` now defaults to generating a 20-byte digest ("sha1") instead
of 8-byte ("fast"). This improves compatibility with RPM packaging tools.
(`#93943 <https://github.com/llvm/llvm-project/pull/93943>`_)
+* ``-z lrodata-after-bss`` is implemented to place ``.lrodata`` after ``.bss``.
+ (`#81224 <https://github.com/llvm/llvm-project/pull/81224>`_)
+* ``--export-dynamic`` no longer creates dynamic sections for ``-no-pie`` static linking.
+* ``--lto-emit-asm`` is now added as the canonical spelling of ``--plugin-opt=emit-llvm``.
+* ``--lto-emit-llvm`` now uses the pre-codegen module.
+ (`#97480 <https://github.com/llvm/llvm-project/pull/97480>`_)
+* When AArch64 PAuth is enabled, ``-z pack-relative-relocs`` now encodes ``R_AARCH64_AUTH_RELATIVE`` relocations in ``.rela.auth.dyn``.
+ (`#96496 <https://github.com/llvm/llvm-project/pull/96496>`_)
+* ``-z gcs`` and ``-z gcs-report`` are now supported for AArch64 Guarded Control Stack extension.
+* ``-r`` now forces ``-Bstatic``.
+* Thumb2 PLT is now supported for Cortex-M processors.
+ (`#93644 <https://github.com/llvm/llvm-project/pull/93644>`_)
+* ``DW_EH_sdata4`` of addresses larger than 0x80000000 is now supported for MIPS32.
+ (`#92438 <https://github.com/llvm/llvm-project/pull/92438>`_)
+* Certain unknown section types are rejected.
+ (`#85173 <https://github.com/llvm/llvm-project/pull/85173>`_)
+* ``PROVIDE(lhs = rhs) PROVIDE(rhs = ...)``, ``lhs`` is now defined only if ``rhs`` is needed.
+ (`#74771 <https://github.com/llvm/llvm-project/issues/74771>`_)
+ (`#87530 <https://github.com/llvm/llvm-project/pull/87530>`_)
+* Orphan placement is refined to prefer the last similar section when its rank <= orphan's rank.
+ (`#94099 <https://github.com/llvm/llvm-project/pull/94099>`_)
+ Non-alloc orphan sections are now placed at the end.
+ (`#94519 <https://github.com/llvm/llvm-project/pull/94519>`_)
+* R_X86_64_REX_GOTPCRELX of the addq form is no longer incorrectly optimized when the address is larger than 0x80000000.
Breaking changes
----------------
More information about the llvm-commits
mailing list