@@ -26,70 +26,6 @@ Non-comprehensive list of changes in this release
2626ELF 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 >`_)
31- * ``--compress-sections <section-glib>={none,zlib,zstd}[:level] `` is added to compress
32- matched output sections without the ``SHF_ALLOC `` flag.
33- (`#84855 <https://github.com/llvm/llvm-project/pull/84855 >`_)
34- (`#90567 <https://github.com/llvm/llvm-project/pull/90567 >`_)
35- * The default compression level for zlib is now independent of linker
36- optimization level (``Z_BEST_SPEED ``).
37- * zstd compression parallelism no longer requires ``ZSTD_MULITHREAD `` build.
38- * ``GNU_PROPERTY_AARCH64_FEATURE_PAUTH `` notes, ``R_AARCH64_AUTH_ABS64 `` and
39- ``R_AARCH64_AUTH_RELATIVE `` relocations are now supported.
40- (`#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 >`_)
44- * ``--debug-names `` is added to create a merged ``.debug_names `` index
45- from input ``.debug_names `` sections. Type units are not handled yet.
46- (`#86508 <https://github.com/llvm/llvm-project/pull/86508 >`_)
47- * ``--enable-non-contiguous-regions `` option allows automatically packing input
48- sections into memory regions by automatically spilling to later matches if a
49- region would overflow. This reduces the toil of manually packing regions
50- (typical for embedded). It also makes full LTO feasible in such cases, since
51- IR merging currently prevents the linker script from referring to input
52- 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 >`_)
56- * ``--force-group-allocation `` is implemented to discard ``SHT_GROUP `` sections
57- and combine relocation sections if their relocated section group members are
58- placed to the same output section.
59- (`#94704 <https://github.com/llvm/llvm-project/pull/94704 >`_)
60- * ``--build-id `` now defaults to generating a 20-byte digest ("sha1") instead
61- of 8-byte ("fast"). This improves compatibility with RPM packaging tools.
62- (`#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- * ``OUTPUT_FORMAT(binary) `` is now supported.
83- (`#98837 <https://github.com/llvm/llvm-project/pull/98837 >`_)
84- * ``NOCROSSREFS `` and ``NOCRFOSSREFS_TO `` commands now supported to prohibit
85- cross references between certain output sections.
86- (`#98773 <https://github.com/llvm/llvm-project/pull/98773 >`_)
87- * Orphan placement is refined to prefer the last similar section when its rank <= orphan's rank.
88- (`#94099 <https://github.com/llvm/llvm-project/pull/94099 >`_)
89- Non-alloc orphan sections are now placed at the end.
90- (`#94519 <https://github.com/llvm/llvm-project/pull/94519 >`_)
91- * R_X86_64_REX_GOTPCRELX of the addq form is no longer incorrectly optimized when the address is larger than 0x80000000.
92-
9329Breaking changes
9430----------------
9531
@@ -102,11 +38,6 @@ MinGW Improvements
10238MachO Improvements
10339------------------
10440
105- * Chained fixups are now enabled by default when targeting macOS 13.0,
106- iOS 13.4, tvOS 14.0, watchOS 7.0, and visionOS 1.0 or later.
107- They can be disabled with the `-no_fixup_chains ` flag.
108- (`#99255 <https://github.com/llvm/llvm-project/pull/99255 >`_)
109-
11041WebAssembly Improvements
11142------------------------
11243
0 commit comments