aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJez Ng <jezng@fb.com>2022-07-31 13:24:58 -0400
committerJez Ng <jezng@fb.com>2022-07-31 13:24:58 -0400
commitb128f6feaa467e9f1f53c995848b7b750d00dd23 (patch)
tree2a207184decd41aa0e51ed82f7f68169cfc0ec95
parentfd8fd9e51cbeb76d290ceda941fd8b7d5a4151bc (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.rst111
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
------------------------