@@ -26,70 +26,6 @@ Non-comprehensive list of changes in this release
26
26
ELF Improvements
27
27
----------------
28
28
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
-
93
29
Breaking changes
94
30
----------------
95
31
@@ -102,11 +38,6 @@ MinGW Improvements
102
38
MachO Improvements
103
39
------------------
104
40
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
-
110
41
WebAssembly Improvements
111
42
------------------------
112
43
0 commit comments