@@ -29,12 +29,45 @@ ELF Improvements
29
29
* ``-z nosectionheader `` has been implemented to omit the section header table.
30
30
The operation is similar to ``llvm-objcopy --strip-sections ``.
31
31
(`#101286 <https://github.com/llvm/llvm-project/pull/101286 >`_)
32
+ * ``--randomize-section-padding=<seed> `` is introduced to insert random padding
33
+ between input sections and at the start of each segment. This can be used to
34
+ control measurement bias in A/B experiments.
35
+ (`#117653 <https://github.com/llvm/llvm-project/pull/117653 >`_)
36
+ * The reproduce tarball created with ``--reproduce= `` now excludes directories
37
+ specified in the ``--dependency-file `` argument (used by Ninja). This
38
+ resolves an error where non-existent directories could cause issues when
39
+ invoking ``ld.lld @response.txt ``.
40
+ * ``--symbol-ordering-file= `` and call graph profile can now be used together.
41
+ * When ``--call-graph-ordering-file= `` is specified, ``.llvm.call-graph-profile ``
42
+ sections in relocatable files are no longer used.
43
+ * ``--lto-basic-block-sections=labels `` is deprecated in favor of
44
+ ``--lto-basic-block-address-map ``.
45
+ (`#110697 <https://github.com/llvm/llvm-project/pull/110697 >`_)
46
+ * In non-relocatable links, a ``.note.GNU-stack `` section with the
47
+ ``SHF_EXECINSTR `` flag is now rejected unless ``-z execstack `` is specified.
48
+ (`#124068 <https://github.com/llvm/llvm-project/pull/124068 >`_)
49
+ * In relocatable links, the ``sh_entsize `` member of a ``SHF_MERGE `` section
50
+ with relocations is now respected in the output.
51
+ * Quoted names can now be used in output section phdr, memory region names,
52
+ ``OVERLAY ``, the LHS of ``--defsym ``, and ``INSERT AFTER ``.
32
53
* Section ``CLASS `` linker script syntax binds input sections to named classes,
33
54
which are referenced later one or more times. This provides access to the
34
55
automatic spilling mechanism of `--enable-non-contiguous-regions ` without
35
56
globally changing the semantics of section matching. It also independently
36
57
increases the expressive power of linker scripts.
37
58
(`#95323 <https://github.com/llvm/llvm-project/pull/95323 >`_)
59
+ * ``INCLUDE `` cycle detection has been fixed. A linker script can now be
60
+ included twice.
61
+ * The ``archivename: `` syntax when matching input sections is now supported.
62
+ (`#119293 <https://github.com/llvm/llvm-project/pull/119293 >`_)
63
+ * To support Arm v6-M, short thunks using B.w are no longer generated.
64
+ (`#118111 <https://github.com/llvm/llvm-project/pull/118111 >`_)
65
+ * For AArch64, BTI-aware long branch thunks can now be created to a destination
66
+ function without a BTI instruction.
67
+ (`#108989 <https://github.com/llvm/llvm-project/pull/108989 >`_)
68
+ (`#116402 <https://github.com/llvm/llvm-project/pull/116402 >`_)
69
+ * Relocations related to GOT and TLSDESC for the AArch64 Pointer Authentication ABI
70
+ are now supported.
38
71
* Supported relocation types for x86-64 target:
39
72
* ``R_X86_64_CODE_4_GOTPCRELX `` (`#109783 <https://github.com/llvm/llvm-project/pull/109783 >`_) (`#116737 <https://github.com/llvm/llvm-project/pull/116737 >`_)
40
73
* ``R_X86_64_CODE_4_GOTTPOFF `` (`#116634 <https://github.com/llvm/llvm-project/pull/116634 >`_)
0 commit comments