Skip to content

Commit

Permalink
[LLD] [docs] Add more release notes for COFF and MinGW (#81977)
Browse files Browse the repository at this point in the history
Add review references to all items already mentioned.

Move some items to the right section (from the MinGW section to COFF, as
the implementation is in the COFF linker side, and may be relevant for
non-MinGW cases as well).
  • Loading branch information
mstorsjo committed Feb 16, 2024
1 parent 60a8ec3 commit d01a4ab
Showing 1 changed file with 45 additions and 3 deletions.
48 changes: 45 additions & 3 deletions lld/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -82,34 +82,76 @@ COFF Improvements

* Added support for ``--time-trace`` and associated ``--time-trace-granularity``.
This generates a .json profile trace of the linker execution.
(`#68236 <https://github.com/llvm/llvm-project/pull/68236>`_)

* The ``-dependentloadflag`` option was implemented.
(`#71537 <https://github.com/llvm/llvm-project/pull/71537>`_)

* LLD now prefers library paths specified with ``-libpath:`` over the implicitly
detected toolchain paths.
(`#78039 <https://github.com/llvm/llvm-project/pull/78039>`_)

* Added new options ``-lldemit:llvm`` and ``-lldemit:asm`` for getting
the output of LTO compilation as LLVM bitcode or assembly.
(`#66964 <https://github.com/llvm/llvm-project/pull/66964>`_)
(`#67079 <https://github.com/llvm/llvm-project/pull/67079>`_)

* Added a new option ``-build-id`` for generating a ``.buildid`` section
when not generating a PDB. A new symbol ``__buildid`` is generated by
the linker, allowing code to reference the build ID of the binary.
(`#71433 <https://github.com/llvm/llvm-project/pull/71433>`_)
(`#74652 <https://github.com/llvm/llvm-project/pull/74652>`_)

* A new, LLD specific option, ``-lld-allow-duplicate-weak``, was added
for allowing duplicate weak symbols.
(`#68077 <https://github.com/llvm/llvm-project/pull/68077>`_)

* More correctly handle LTO of files that define ``__imp_`` prefixed dllimport
redirections.
(`#70777 <https://github.com/llvm/llvm-project/pull/70777>`_)
(`#71376 <https://github.com/llvm/llvm-project/pull/71376>`_)
(`#72989 <https://github.com/llvm/llvm-project/pull/72989>`_)

* Linking undefined references to weak symbols with LTO now works.
(`#70430 <https://github.com/llvm/llvm-project/pull/70430>`_)

* Use the ``SOURCE_DATE_EPOCH`` environment variable for the PE header and
debug directory timestamps, if neither the ``/Brepro`` nor ``/timestamp:``
options have been specified. This makes the linker output reproducible by
setting this environment variable.
(`#81326 <https://github.com/llvm/llvm-project/pull/81326>`_)

* Lots of incremental work towards supporting linking ARM64EC binaries.

MinGW Improvements
------------------

* Added support for many LTO and ThinLTO options (most LTO options supported
by the ELF driver, that are implemented by the COFF backend as well,
should be supported now).
(`D158412 <https://reviews.llvm.org/D158412>`_)
(`D158887 <https://reviews.llvm.org/D158887>`_)
(`#77387 <https://github.com/llvm/llvm-project/pull/77387>`_)
(`#81475 <https://github.com/llvm/llvm-project/pull/81475>`_)

* LLD no longer tries to autodetect and use library paths from MSVC/WinSDK
installations when run in MinGW mode; that mode of operation shouldn't
ever be needed in MinGW mode, and could be a source of unexpected
behaviours.
(`D144084 <https://reviews.llvm.org/D144084>`_)

* The ``--icf=safe`` option now works as expected; it was previously a no-op.

* More correctly handle LTO of files that define ``__imp_`` prefixed dllimport
redirections.
(`#70037 <https://github.com/llvm/llvm-project/pull/70037>`_)

* The strip flags ``-S`` and ``-s`` now can be used to strip out DWARF debug
info and symbol tables while emitting a PDB debug info file.
(`#75181 <https://github.com/llvm/llvm-project/pull/75181>`_)

* The option ``--dll`` is handled as an alias for the ``--shared`` option.
(`#68575 <https://github.com/llvm/llvm-project/pull/68575>`_)

* The option ``--sort-common`` is ignored now.
(`#66336 <https://github.com/llvm/llvm-project/pull/66336>`_)

MachO Improvements
------------------
Expand Down

0 comments on commit d01a4ab

Please sign in to comment.