[lld] c3737a6 - [docs] Add release notes for news in 16.x done by me, or otherwise relating to MinGW targets

Martin Storsjö via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 23 12:13:18 PST 2023


Author: Martin Storsjö
Date: 2023-01-23T22:12:32+02:00
New Revision: c3737a6522306ba4504234afe35be8b0a4b7b48d

URL: https://github.com/llvm/llvm-project/commit/c3737a6522306ba4504234afe35be8b0a4b7b48d
DIFF: https://github.com/llvm/llvm-project/commit/c3737a6522306ba4504234afe35be8b0a4b7b48d.diff

LOG: [docs] Add release notes for news in 16.x done by me, or otherwise relating to MinGW targets

Differential Revision: https://reviews.llvm.org/D142346

Added: 
    

Modified: 
    clang/docs/ReleaseNotes.rst
    lld/docs/ReleaseNotes.rst
    llvm/docs/ReleaseNotes.rst
    openmp/docs/ReleaseNotes.rst

Removed: 
    


################################################################################
diff  --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 080a400726057..f7a68a64df325 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -578,6 +578,11 @@ Modified Compiler Flags
 - Clang now permits specifying ``--config=`` multiple times, to load multiple
   configuration files.
 
+- The option ``-rtlib=platform`` can now be used for all targets to override
+  a 
diff erent option value (either one set earlier on the command line, or a
+  built-in hardcoded default). (Previously the MSVC and Darwin targets didn't
+  allow this parameter combination.)
+
 Removed Compiler Flags
 -------------------------
 - Clang now no longer supports ``-cc1 -fconcepts-ts``.  This flag has been deprecated
@@ -632,6 +637,16 @@ Windows Support
 
 - Switched from SHA1 to BLAKE3 for PDB type hashing / ``-gcodeview-ghash``
 
+- Fixed code generation with emulated TLS, when the emulated TLS is enabled
+  by default (with downstream patches; no upstream configurations default
+  to this configuration, but some mingw downstreams change the default
+  in this way).
+
+- Improved detection of MinGW cross sysroots for finding sysroots provided
+  by Linux distributions such as Fedora. Also improved such setups by
+  avoiding to include ``/usr/include`` among the include paths when cross
+  compiling with a cross sysroot based in ``/usr``.
+
 AIX Support
 -----------
 * When using ``-shared``, the clang driver now invokes llvm-nm to create an

diff  --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst
index c350aa9e714c5..00aaeff96d78e 100644
--- a/lld/docs/ReleaseNotes.rst
+++ b/lld/docs/ReleaseNotes.rst
@@ -57,6 +57,8 @@ COFF Improvements
 * Improvements to the PCH.OBJ files handling. Now LLD behaves the same as MSVC
   link.exe when merging PCH.OBJ files that don't have the same signature.
   (`D136762 <https://reviews.llvm.org/D136762>`_)
+* Changed the OrdinalBase for DLLs from 0 to 1, matching the output from
+  both MS link.exe and GNU ld. (`D134140 <https://reviews.llvm.org/D134140>`_)
 
 MinGW Improvements
 ------------------
@@ -71,6 +73,14 @@ MinGW Improvements
   the load config directory and be filled with the required symbols.
   (`D132808 <https://reviews.llvm.org/D132808>`_)
 
+* Pick up libraries named ``<name>.lib`` when linked with ``-l<name>``, even
+  if ``-static`` has been specified. This fixes conformance to what
+  GNU ld does. (`D135651 <https://reviews.llvm.org/D135651>`_)
+
+* Unwinding in Rust code on i386 in MinGW builds has been fixed, by avoiding
+  to leave out the ``rust_eh_personality`` symbol.
+  (`D136879 <https://reviews.llvm.org/D136879>`_)
+
 MachO Improvements
 ------------------
 

diff  --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst
index 53c947dc7cef1..671e7cce9c216 100644
--- a/llvm/docs/ReleaseNotes.rst
+++ b/llvm/docs/ReleaseNotes.rst
@@ -222,6 +222,25 @@ Changes to the Windows Target
   an affinity mask issue.
   (`D138747 <https://reviews.llvm.org/D138747>`_)
 
+* When building LLVM and related tools for Windows with Clang in MinGW mode,
+  hidden symbol visiblity is now used to reduce the number of exports in
+  builds with dylibs (``LLVM_BUILD_LLVM_DYLIB`` or ``LLVM_LINK_LLVM_DYLIB``),
+  making such builds more manageable without running into the limit of
+  number of exported symbols.
+
+* AArch64 SEH unwind info generation bugs have been fixed; there were minor
+  cases of mismatches between the generated unwind info and actual
+  prologues/epilogues earlier in some cases.
+
+* AArch64 SEH unwind info is now generated correctly for the AArch64
+  security features BTI (Branch Target Identification) and PAC (Pointer
+  Authentication Code). In particular, using PAC with older versions of LLVM
+  would generate code that would fail to unwind at runtime, if the host
+  actually would use the pointer authentication feature.
+
+* Fixed stack alignment on Windows on AArch64, for stack frames with a
+  large enough allocation that requires stack probing.
+
 Changes to the X86 Backend
 --------------------------
 
@@ -308,11 +327,20 @@ Changes to the LLVM tools
 * ``llvm-objdump`` now uses ``--print-imm-hex`` by default, which brings its
   default behavior closer in line with ``objdump``.
 
+* ``llvm-objcopy`` no longer writes corrupt addresses to empty sections if
+  the input file had a nonzero address to an empty section.
+
 Changes to LLDB
 ---------------------------------
 
 * Initial support for debugging Linux LoongArch 64-bit binaries.
 
+* Improvements in COFF symbol handling; previously a DLL (without any other
+  debug info) would only use the DLL's exported symbols, while it now also
+  uses the full list of internal symbols, if available.
+
+* Avoiding duplicate DLLs in the runtime list of loaded modules on Windows.
+
 Changes to Sanitizers
 ---------------------
 
@@ -329,6 +357,12 @@ Other Changes
   would now be ``UNSUPPORTED: target=arm{{.*}}`` and ``XFAIL: windows``
   would now be ``XFAIL: target={{.*}}-windows{{.*}}``.
 
+* When cross compiling LLVM (or building with ``LLVM_OPTIMIZED_TABLEGEN``),
+  it is now possible to point the build to prebuilt versions of all the
+  host tools with one CMake variable, ``LLVM_NATIVE_TOOL_DIR``, instead of
+  having to point out each individual tool with variables such as
+  ``LLVM_TABLEGEN``, ``CLANG_TABLEGEN``, ``LLDB_TABLEGEN`` etc.
+
 External Open Source Projects Using LLVM 15
 ===========================================
 

diff  --git a/openmp/docs/ReleaseNotes.rst b/openmp/docs/ReleaseNotes.rst
index 785332f11858f..7a626a0c46965 100644
--- a/openmp/docs/ReleaseNotes.rst
+++ b/openmp/docs/ReleaseNotes.rst
@@ -19,3 +19,8 @@ from the `LLVM releases web site <https://llvm.org/releases/>`_.
 
 Non-comprehensive list of changes in this release
 =================================================
+
+* Support for building the OpenMP runtime for Windows on AArch64 and ARM
+  with MinGW based toolchains.
+
+* Made the OpenMP runtime tests run successfully on Windows.


        


More information about the llvm-commits mailing list