diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -578,6 +578,11 @@ - 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 different 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 @@ - 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 --- a/lld/docs/ReleaseNotes.rst +++ b/lld/docs/ReleaseNotes.rst @@ -57,6 +57,8 @@ * 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 `_) +* Changed the OrdinalBase for DLLs from 0 to 1, matching the output from + both MS link.exe and GNU ld. (`D134140 `_) MinGW Improvements ------------------ @@ -71,6 +73,14 @@ the load config directory and be filled with the required symbols. (`D132808 `_) +* Pick up libraries named ``.lib`` when linked with ``-l``, even + if ``-static`` has been specified. This fixes conformance to what + GNU ld does. (`D135651 `_) + +* Unwinding in Rust code on i386 in MinGW builds has been fixed, by avoiding + to leave out the ``rust_eh_personality`` symbol. + (`D136879 `_) + MachO Improvements ------------------ diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -222,6 +222,25 @@ an affinity mask issue. (`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 @@ * ``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 @@ 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 --- a/openmp/docs/ReleaseNotes.rst +++ b/openmp/docs/ReleaseNotes.rst @@ -19,3 +19,8 @@ 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.