Skip to content

Commit 8a41327

Browse files
committed
ReleaseNotes: add lld/ELF notes
1 parent d00f1c1 commit 8a41327

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

lld/docs/ReleaseNotes.rst

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,21 @@ Non-comprehensive list of changes in this release
2626
ELF Improvements
2727
----------------
2828

29+
* ``EI_OSABI`` in the output is now inferred from input object files.
30+
(`#97144 <https://github.com/llvm/llvm-project/pull/97144>`_)
2931
* ``--compress-sections <section-glib>={none,zlib,zstd}[:level]`` is added to compress
3032
matched output sections without the ``SHF_ALLOC`` flag.
3133
(`#84855 <https://github.com/llvm/llvm-project/pull/84855>`_)
3234
(`#90567 <https://github.com/llvm/llvm-project/pull/90567>`_)
3335
* The default compression level for zlib is now independent of linker
3436
optimization level (``Z_BEST_SPEED``).
37+
* zstd compression parallelism no longer requires ``ZSTD_MULITHREAD`` build.
3538
* ``GNU_PROPERTY_AARCH64_FEATURE_PAUTH`` notes, ``R_AARCH64_AUTH_ABS64`` and
3639
``R_AARCH64_AUTH_RELATIVE`` relocations are now supported.
3740
(`#72714 <https://github.com/llvm/llvm-project/pull/72714>`_)
41+
* ``--no-allow-shlib-undefined`` now rejects non-exported definitions in the
42+
``def-hidden.so ref.so`` case.
43+
(`#86777 <https://github.com/llvm/llvm-project/issues/86777>`_)
3844
* ``--debug-names`` is added to create a merged ``.debug_names`` index
3945
from input ``.debug_names`` sections. Type units are not handled yet.
4046
(`#86508 <https://github.com/llvm/llvm-project/pull/86508>`_)
@@ -44,13 +50,40 @@ ELF Improvements
4450
(typical for embedded). It also makes full LTO feasible in such cases, since
4551
IR merging currently prevents the linker script from referring to input
4652
files. (`#90007 <https://github.com/llvm/llvm-project/pull/90007>`_)
53+
* ``--default-script`/``-dT`` is implemented to specify a default script that is processed
54+
if ``--script``/``-T`` is not specified.
55+
(`#89327 <https://github.com/llvm/llvm-project/pull/89327>`_)
4756
* ``--force-group-allocation`` is implemented to discard ``SHT_GROUP`` sections
4857
and combine relocation sections if their relocated section group members are
4958
placed to the same output section.
5059
(`#94704 <https://github.com/llvm/llvm-project/pull/94704>`_)
5160
* ``--build-id`` now defaults to generating a 20-byte digest ("sha1") instead
5261
of 8-byte ("fast"). This improves compatibility with RPM packaging tools.
5362
(`#93943 <https://github.com/llvm/llvm-project/pull/93943>`_)
63+
* ``-z lrodata-after-bss`` is implemented to place ``.lrodata`` after ``.bss``.
64+
(`#81224 <https://github.com/llvm/llvm-project/pull/81224>`_)
65+
* ``--export-dynamic`` no longer creates dynamic sections for ``-no-pie`` static linking.
66+
* ``--lto-emit-asm`` is now added as the canonical spelling of ``--plugin-opt=emit-llvm``.
67+
* ``--lto-emit-llvm`` now uses the pre-codegen module.
68+
(`#97480 <https://github.com/llvm/llvm-project/pull/97480>`_)
69+
* When AArch64 PAuth is enabled, ``-z pack-relative-relocs`` now encodes ``R_AARCH64_AUTH_RELATIVE`` relocations in ``.rela.auth.dyn``.
70+
(`#96496 <https://github.com/llvm/llvm-project/pull/96496>`_)
71+
* ``-z gcs`` and ``-z gcs-report`` are now supported for AArch64 Guarded Control Stack extension.
72+
* ``-r`` now forces ``-Bstatic``.
73+
* Thumb2 PLT is now supported for Cortex-M processors.
74+
(`#93644 <https://github.com/llvm/llvm-project/pull/93644>`_)
75+
* ``DW_EH_sdata4`` of addresses larger than 0x80000000 is now supported for MIPS32.
76+
(`#92438 <https://github.com/llvm/llvm-project/pull/92438>`_)
77+
* Certain unknown section types are rejected.
78+
(`#85173 <https://github.com/llvm/llvm-project/pull/85173>`_)
79+
* ``PROVIDE(lhs = rhs) PROVIDE(rhs = ...)``, ``lhs`` is now defined only if ``rhs`` is needed.
80+
(`#74771 <https://github.com/llvm/llvm-project/issues/74771>`_)
81+
(`#87530 <https://github.com/llvm/llvm-project/pull/87530>`_)
82+
* Orphan placement is refined to prefer the last similar section when its rank <= orphan's rank.
83+
(`#94099 <https://github.com/llvm/llvm-project/pull/94099>`_)
84+
Non-alloc orphan sections are now placed at the end.
85+
(`#94519 <https://github.com/llvm/llvm-project/pull/94519>`_)
86+
* R_X86_64_REX_GOTPCRELX of the addq form is no longer incorrectly optimized when the address is larger than 0x80000000.
5487

5588
Breaking changes
5689
----------------

0 commit comments

Comments
 (0)