diff options
author | Jez Ng <jezng@fb.com> | 2022-07-31 13:24:58 -0400 |
---|---|---|
committer | Jez Ng <jezng@fb.com> | 2022-07-31 13:24:58 -0400 |
commit | b128f6feaa467e9f1f53c995848b7b750d00dd23 (patch) | |
tree | 2a207184decd41aa0e51ed82f7f68169cfc0ec95 | |
parent | fd8fd9e51cbeb76d290ceda941fd8b7d5a4151bc (diff) |
[lld-macho] Release notes for 15.x
From inspection of
git log origin/release/14.x..origin/release/15.x -- lld/MachO
Reviewed By: #lld-macho, thakis
Differential Revision: https://reviews.llvm.org/D130850
-rw-r--r-- | lld/docs/ReleaseNotes.rst | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst index 936d800cabc3..6cc4cb465ad7 100644 --- a/lld/docs/ReleaseNotes.rst +++ b/lld/docs/ReleaseNotes.rst @@ -71,6 +71,117 @@ MachO Improvements (`D129540 <https://reviews.llvm.org/D129540>`_, `D122258 <https://reviews.llvm.org/D122258>`_) +New flags +######### + +* ``-load_hidden`` and ``-hidden-l`` are now supported. + (`D130473 <https://reviews.llvm.org/D130473>`_, + `D130529 <https://reviews.llvm.org/D130529>`_) +* ``-alias`` is now supported. (`D129938 <https://reviews.llvm.org/D129938>`_) +* ``-no_exported_symbols`` and ``-exported_symbols_list <empty file>`` are now + supported. (`D127562 <https://reviews.llvm.org/D127562>`_) +* ``-w`` -- to suppress warnings -- is now supported. + (`D127564 <https://reviews.llvm.org/D127564>`_) +* ``-non_global_symbols_strip_list``, ``-non_global_symbols_no_strip_list``, and + ``-x`` are now supported. (`D126046 <https://reviews.llvm.org/D126046>`_) +* ``--icf=safe`` is now supported. + (`D128938 <https://reviews.llvm.org/D128938>`_, + `D123752 <https://reviews.llvm.org/D123752>`_) +* ``-why_live`` is now supported. + (`D120377 <https://reviews.llvm.org/D120377>`_) +* ``-pagezero_size`` is now supported. + (`D118724 <https://reviews.llvm.org/D118724>`_) + +Improvements +############ + +* Linker optimization hints are now supported. + (`D129427 <https://reviews.llvm.org/D129427>`_, + `D129059 <https://reviews.llvm.org/D129059>`_, + `D128942 <https://reviews.llvm.org/D128942>`_, + `D128093 <https://reviews.llvm.org/D128093>`_) +* Rebase opcodes are now encoded more compactly. + (`D130180 <https://reviews.llvm.org/D130180>`_, + `D128798 <https://reviews.llvm.org/D128798>`_) +* C-strings are now aligned more compactly. + (`D121342 <https://reviews.llvm.org/D121342>`_) +* ``--deduplicate-literals`` (and ``--icf={safe,all}``) now fold the + ``__cfstring`` section. + (`D130134 <https://reviews.llvm.org/D130134>`_, + `D120137 <https://reviews.llvm.org/D120137>`_) +* ICF now folds the ``__objc_classrefs`` section. + (`D121053 <https://reviews.llvm.org/D121053>`_) +* ICF now folds functions with identical LSDAs. + (`D129830 <https://reviews.llvm.org/D129830>`_) +* STABS entries for folded functions are now omitted. + (`D123252 <https://reviews.llvm.org/D123252>`_) +* ``__objc_imageinfo`` sections are now folded. + (`D130125 <https://reviews.llvm.org/D130125>`_) +* Dylibs with ``LC_DYLD_EXPORTS_TRIE`` can now be read. + (`D129430 <https://reviews.llvm.org/D129430>`_) +* Writing zippered dylibs is now supported. + (`D124887 <https://reviews.llvm.org/D124887>`_) +* C-string literals are now included in the mapfile. + (`D118077 <https://reviews.llvm.org/D118077>`_) +* Symbol names in several more diagnostics are now demangled. + (`D130490 <https://reviews.llvm.org/D130490>`_, + `D127110 <https://reviews.llvm.org/D127110>`_, + `D125732 <https://reviews.llvm.org/D125732>`_) +* Source information is now included in symbol error messages. + (`D128425 <https://reviews.llvm.org/D128425>`_, + `D128184 <https://reviews.llvm.org/D128184>`_) +* Numerous other improvements were made to diagnostic messages. + (`D127753 <https://reviews.llvm.org/D127753>`_, + `D127696 <https://reviews.llvm.org/D127696>`_, + `D127670 <https://reviews.llvm.org/D127670>`_, + `D118903 <https://reviews.llvm.org/D118903>`_, + `D118798 <https://reviews.llvm.org/D118798>`_) +* Many performance and memory improvements were made. + (`D130000 <https://reviews.llvm.org/D130000>`_, + `D128298 <https://reviews.llvm.org/D128298>`_, + `D128290 <https://reviews.llvm.org/D128290>`_, + `D126800 <https://reviews.llvm.org/D126800>`_, + `D126785 <https://reviews.llvm.org/D126785>`_, + `D121052 <https://reviews.llvm.org/D121052>`_) +* Order files and call graph sorting can now be used together. + (`D117354 <https://reviews.llvm.org/D117354>`_) +* Give LTO more precise symbol resolutions, which allows optimizations to be + more effective. + (`D119506 <https://reviews.llvm.org/D119506>`_, + `D119372 <https://reviews.llvm.org/D119372>`_, + `D119767 <https://reviews.llvm.org/D119767>`_) +* Added partial support for linking object files built with DTrace probes. + (`D129062 <https://reviews.llvm.org/D129062>`_) + +Fixes +##### + +* Programs using Swift linked with the 14.0 SDK but an older deployment target + no longer crash at startup when running on older iOS versions. This is because + we now correctly support ``$ld$previous`` symbols that contain an explicit + symbol name. (`D130725 <https://reviews.llvm.org/D130725>`_) +* Match ld64's behavior when an archive is specified both via + ``LC_LINKER_OPTION`` and via the command line. + (`D129556 <https://reviews.llvm.org/D129556>`_) +* ``-ObjC`` now correctly loads archives with Swift sections. + (`D125250 <https://reviews.llvm.org/D125250>`_) +* ``-lto_object_path`` now accepts a filename (instead of just a directory + name.) (`D129705 <https://reviews.llvm.org/D129705>`_) +* The ``LC_UUID`` hash now includes the output file's name. + (`D122843 <https://reviews.llvm.org/D122843>`_) +* ``-flat_namespace`` now correctly makes all extern symbols in a dylib + interposable. (`D119294 <https://reviews.llvm.org/D119294>`_) +* Fixed compact unwind output when linking on 32-bit hosts. + (`D129363 <https://reviews.llvm.org/D129363>`_) +* Exporting private symbols no longer triggers an assertion. + (`D124143 <https://reviews.llvm.org/D124143>`_) +* MacOS-only ``.tbd`` files are now supported when targeting Catalyst. + (`D124336 <https://reviews.llvm.org/D124336>`_) +* Thunk symbols now have local visibility, avoiding false duplicate symbol + errors. (`D122624 <https://reviews.llvm.org/D122624>`_) +* Fixed handling of relocatable object files within frameworks. + (`D114841 <https://reviews.llvm.org/D114841>`_) + WebAssembly Improvements ------------------------ |