-
Notifications
You must be signed in to change notification settings - Fork 13.5k
ReleaseNotes: add lld/ELF notes #80393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,8 +29,50 @@ ELF Improvements | |
* ``--fat-lto-objects`` option is added to support LLVM FatLTO. | ||
Without ``--fat-lto-objects``, LLD will link LLVM FatLTO objects using the | ||
relocatable object file. (`D146778 <https://reviews.llvm.org/D146778>`_) | ||
* ``-Bsymbolic-non-weak`` is added to directly bind non-weak definitions. | ||
(`D158322 <https://reviews.llvm.org/D158322>`_) | ||
* ``--lto-validate-all-vtables-have-type-infos``, which complements | ||
``--lto-whole-program-visibility``, is added to disable unsafe whole-program | ||
devirtualization. ``--lto-known-safe-vtables=<glob>`` can be used | ||
to mark known-safe vtable symbols. | ||
(`D155659 <https://reviews.llvm.org/D155659>`_) | ||
* ``--save-temps --lto-emit-asm`` now derives ELF/asm file names from bitcode file names. | ||
``ld.lld --save-temps a.o d/b.o -o out`` will create ELF relocatable files | ||
``out.lto.a.o``/``d/out.lto.b.o`` instead of ``out1.lto.o``/``out2.lto.o``. | ||
(`#78835 <https://github.com/llvm/llvm-project/pull/78835>`_) | ||
* ``--no-allow-shlib-undefined`` now reports errors for DSO referencing | ||
non-exported definitions. | ||
(`#70769 <https://github.com/llvm/llvm-project/pull/70769>`_) | ||
* common-page-size can now be larger than the system page-size. | ||
(`#57618 <https://github.com/llvm/llvm-project/issues/57618>`_) | ||
* When call graph profile information is available due to instrumentation or | ||
sample PGO, input sections are now sorted using the new ``cdsort`` algorithm, | ||
better than the previous ``hfsort`` algorithm. | ||
(`D152840 <https://reviews.llvm.org/D152840>`_) | ||
* Symbol assignments like ``a = DEFINED(a) ? a : 0;`` are now handled. | ||
(`#65866 <https://github.com/llvm/llvm-project/pull/65866>`_) | ||
* ``OVERLAY`` now supports optional start address and LMA | ||
(`#77272 <https://github.com/llvm/llvm-project/pull/77272>`_) | ||
* Relocations referencing a symbol defined in ``/DISCARD/`` section now lead to | ||
an error. | ||
(`#69295 <https://github.com/llvm/llvm-project/pull/69295>`_) | ||
* For AArch64 MTE, global variable descriptors have been implemented. | ||
(`D152921 <https://reviews.llvm.org/D152921>`_) | ||
* ``R_AARCH64_GOTPCREL32`` is now supported. | ||
(`#72584 <https://github.com/llvm/llvm-project/pull/72584>`_) | ||
* ``R_LARCH_PCREL20_S2``/``R_LARCH_ADD6``/``R_LARCH_CALL36`` and extreme code | ||
model relocations are now supported. | ||
* ``--emit-relocs`` is now supported for RISC-V linker relaxation. | ||
(`D159082 <https://reviews.llvm.org/D159082>`_) | ||
* Call relaxation respects RVC when mixing +c and -c relocatable files. | ||
(`#73977 <https://github.com/llvm/llvm-project/pull/73977>`_) | ||
* ``R_RISCV_GOT32_PCREL`` is now supported. | ||
(`#72587 <https://github.com/llvm/llvm-project/pull/72587>`_) | ||
* ``R_RISCV_SET_ULEB128``/``R_RISCV_SUB_ULEB128`` relocations are now supported. | ||
(`#72610 <https://github.com/llvm/llvm-project/pull/72610>`_) | ||
(`#77261 <https://github.com/llvm/llvm-project/pull/77261>`_) | ||
* RISC-V TLSDESC is now supported. | ||
(`#79239 <https://github.com/llvm/llvm-project/pull/79239>`_) | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could be worth adding
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good call, as well as R_RISCV_GOT32_PCREL (#72587) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks for the addition. Added both. |
||
Breaking changes | ||
---------------- | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could be worth adding
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the suggestion! I noticed this and GOT32_PCREL and was wondering whether they are minor. But your mentioning this made it clear it is worth mentioning:)
This entry may motivate wasm and Mach-O folks to implement a similar change.
(I am actually self motivated to do this if I have some spare time)