diff --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst --- a/lld/docs/ReleaseNotes.rst +++ b/lld/docs/ReleaseNotes.rst @@ -71,6 +71,117 @@ (`D129540 `_, `D122258 `_) +New flags +######### + +* ``-load_hidden`` and ``-hidden-l`` are now supported. + (`D130473 `_, + `D130529 `_) +* ``-alias`` is now supported. (`D129938 `_) +* ``-no_exported_symbols`` and ``-exported_symbols_list `` are now + supported. (`D127562 `_) +* ``-w`` -- to suppress warnings -- is now supported. + (`D127564 `_) +* ``-non_global_symbols_strip_list``, ``-non_global_symbols_no_strip_list``, and + ``-x`` are now supported. (`D126046 `_) +* ``--icf=safe`` is now supported. + (`D128938 `_, + `D123752 `_) +* ``-why_live`` is now supported. + (`D120377 `_) +* ``-pagezero_size`` is now supported. + (`D118724 `_) + +Improvements +############ + +* Linker optimization hints are now supported. + (`D129427 `_, + `D129059 `_, + `D128942 `_, + `D128093 `_) +* Rebase opcodes are now encoded more compactly. + (`D130180 `_, + `D128798 `_) +* C-strings are now aligned more compactly. + (`D121342 `_) +* ``--deduplicate-literals`` (and ``--icf={safe,all}``) now fold the + ``__cfstring`` section. + (`D130134 `_, + `D120137 `_) +* ICF now folds the ``__objc_classrefs`` section. + (`D121053 `_) +* ICF now folds functions with identical LSDAs. + (`D129830 `_) +* STABS entries for folded functions are now omitted. + (`D123252 `_) +* ``__objc_imageinfo`` sections are now folded. + (`D130125 `_) +* Dylibs with ``LC_DYLD_EXPORTS_TRIE`` can now be read. + (`D129430 `_) +* Writing zippered dylibs is now supported. + (`D124887 `_) +* C-string literals are now included in the mapfile. + (`D118077 `_) +* Symbol names in several more diagnostics are now demangled. + (`D130490 `_, + `D127110 `_, + `D125732 `_) +* Source information is now included in symbol error messages. + (`D128425 `_, + `D128184 `_) +* Numerous other improvements were made to diagnostic messages. + (`D127753 `_, + `D127696 `_, + `D127670 `_, + `D118903 `_, + `D118798 `_) +* Many performance and memory improvements were made. + (`D130000 `_, + `D128298 `_, + `D128290 `_, + `D126800 `_, + `D126785 `_, + `D121052 `_) +* Order files and call graph sorting can now be used together. + (`D117354 `_) +* Give LTO more precise symbol resolutions, which allows optimizations to be + more effective. + (`D119506 `_, + `D119372 `_, + `D119767 `_) +* Added partial support for linking object files built with DTrace probes. + (`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 `_) +* Match ld64's behavior when an archive is specified both via + ``LC_LINKER_OPTION`` and via the command line. + (`D129556 `_) +* ``-ObjC`` now correctly loads archives with Swift sections. + (`D125250 `_) +* ``-lto_object_path`` now accepts a filename (instead of just a directory + name.) (`D129705 `_) +* The ``LC_UUID`` hash now includes the output file's name. + (`D122843 `_) +* ``-flat_namespace`` now correctly makes all extern symbols in a dylib + interposable. (`D119294 `_) +* Fixed compact unwind output when linking on 32-bit hosts. + (`D129363 `_) +* Exporting private symbols no longer triggers an assertion. + (`D124143 `_) +* MacOS-only ``.tbd`` files are now supported when targeting Catalyst. + (`D124336 `_) +* Thunk symbols now have local visibility, avoiding false duplicate symbol + errors. (`D122624 `_) +* Fixed handling of relocatable object files within frameworks. + (`D114841 `_) + WebAssembly Improvements ------------------------