@@ -26,10 +26,64 @@ Non-comprehensive list of changes in this release
26
26
ELF Improvements
27
27
----------------
28
28
29
+ * When ``--threads= `` is not specified, the number of concurrency is now capped to 16.
30
+ A large ``--thread= `` can harm performance, especially with some system
31
+ malloc implementations like glibc's.
32
+ (`D147493 <https://reviews.llvm.org/D147493 >`_)
29
33
* ``--remap-inputs= `` and ``--remap-inputs-file= `` are added to remap input files.
30
34
(`D148859 <https://reviews.llvm.org/D148859 >`_)
35
+ * ``--lto= `` is now available to support ``clang -funified-lto ``
36
+ (`D123805 <https://reviews.llvm.org/D123805 >`_)
37
+ * ``--lto-CGO[0-3] `` is now available to control ``CodeGenOpt::Level `` independent of the LTO optimization level.
38
+ (`D141970 <https://reviews.llvm.org/D141970 >`_)
39
+ * ``--check-dynamic-relocations= `` is now correct 32-bit targets when the addend is larger than 0x80000000.
40
+ (`D149347 <https://reviews.llvm.org/D149347 >`_)
41
+ * ``--print-memory-usage `` has been implemented for memory regions.
42
+ (`D150644 <https://reviews.llvm.org/D150644 >`_)
43
+ * ``SHF_MERGE ``, ``--icf= ``, and ``--build-id=fast `` have switched to 64-bit xxh3.
44
+ (`D154813 <https://reviews.llvm.org/D154813 >`_)
45
+ * Quoted output section names can now be used in linker scripts.
46
+ (`#60496 <https://github.com/llvm/llvm-project/issues/60496 >`_)
47
+ * ``MEMORY `` can now be used without a ``SECTIONS `` command.
48
+ (`D145132 <https://reviews.llvm.org/D145132 >`_)
49
+ * ``REVERSE `` can now be used in input section descriptions to reverse the order of input sections.
50
+ (`D145381 <https://reviews.llvm.org/D145381 >`_)
51
+ * Program header assignment can now be used within ``OVERLAY ``. This functionality was accidentally lost in 2020.
52
+ (`D150445 <https://reviews.llvm.org/D150445 >`_)
53
+ * Operators ``^ `` and ``^= `` can now be used in linker scripts.
54
+ * ``DT_AARCH64_MEMTAG_* `` dynamic tags are now supported.
55
+ (`D143769 <https://reviews.llvm.org/D143769 >`_)
56
+ * AArch32 port now supports BE-8 and BE-32 modes for big-endian.
57
+ (`D140201 <https://reviews.llvm.org/D140201 >`_)
58
+ (`D140202 <https://reviews.llvm.org/D140202 >`_)
59
+ (`D150870 <https://reviews.llvm.org/D150870 >`_)
60
+ * ``R_ARM_THM_ALU_ABS_G* `` relocations are now supported.
61
+ (`D153407 <https://reviews.llvm.org/D153407 >`_)
62
+ * ``.ARM.exidx `` sections may start at non-zero output section offset.
63
+ (`D148033 <https://reviews.llvm.org/D148033 >`_)
64
+ * Arm Cortex-M Security Extensions is now implemented.
65
+ (`D139092 <https://reviews.llvm.org/D139092 >`_)
66
+ * BTI landing pads are now added to PLT entries accessed by range extension thunks or relative vtables.
67
+ (`D148704 <https://reviews.llvm.org/D148704 >`_)
68
+ (`D153264 <https://reviews.llvm.org/D153264 >`_)
69
+ * AArch64 short range thunk has been implemented to mitigate the performance loss of a long range thunk.
70
+ (`D148701 <https://reviews.llvm.org/D148701 >`_)
71
+ * ``R_AVR_8_LO8/R_AVR_8_HI8/R_AVR_8_HLO8/R_AVR_LO8_LDI_GS/R_AVR_HI8_LDI_GS `` have been implemented.
72
+ (`D147100 <https://reviews.llvm.org/D147100 >`_)
73
+ (`D147364 <https://reviews.llvm.org/D147364 >`_)
74
+ * ``--no-power10-stubs `` now works for PowerPC64.
75
+ * ``DT_PPC64_OPT `` is now supported;
76
+ (`D150631 <https://reviews.llvm.org/D150631 >`_)
31
77
* ``PT_RISCV_ATTRIBUTES `` is added to include the SHT_RISCV_ATTRIBUTES section.
32
78
(`D152065 <https://reviews.llvm.org/D152065 >`_)
79
+ * ``R_RISCV_PLT32 `` is added to support C++ relative vtables.
80
+ (`D143115 <https://reviews.llvm.org/D143115 >`_)
81
+ * RISC-V global pointer relaxation has been implemented. Specify ``--relax-gp `` to enable the linker relaxation.
82
+ (`D143673 <https://reviews.llvm.org/D143673 >`_)
83
+ * The symbol value of ``foo `` is correctly handled when ``--wrap=foo `` and RISC-V linker relaxation are used.
84
+ (`D151768 <https://reviews.llvm.org/D151768 >`_)
85
+ * x86-64 large data sections are now placed away from code sections to alleviate relocation overflow pressure.
86
+ (`D150510 <https://reviews.llvm.org/D150510 >`_)
33
87
34
88
Breaking changes
35
89
----------------
0 commit comments