From 8344ab9c4f19b10d62806b0b7fdc48891595c2fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 9 Feb 2022 13:42:02 +0200 Subject: [PATCH] [docs] Add release notes for things that I've been involved in --- clang/docs/ReleaseNotes.rst | 14 ++++++++++++++ lld/docs/ReleaseNotes.rst | 9 +++++++-- llvm/docs/ReleaseNotes.rst | 30 ++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index caa2349f9d860..c8596fcfdc989 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -81,6 +81,10 @@ New Compiler Flags - The ``-mno-bti-at-return-twice`` flag will make sure a BTI instruction won't be added after a setjmp or possible other return-twice construct (ARM backend only). +- The ``--start-no-unused-arguments`` and ``--end-no-unused-arguments`` flags + allow silencing warnings about unused arguments for only a subset of + the command line arguments, keeping potential warnings for other arguments + outside of such a region. Deprecated Compiler Flags ------------------------- @@ -164,6 +168,16 @@ Windows Support - Support for on-demand initialization of TLS variables was added. +- Improved code generation for ARM, by assuming less strict alignment + requirements for instructions (just like other OSes do). + +- Fixed using the ``-m32`` flag in x86_64 MinGW setups, by e.g. making ``-m32`` + pick i686 instead of i386, if there is no i386 sysroot, but only one for + i686. + +- Fixed passing the ``--no-demangle`` option through to the linker for MinGW + targets. + C Language Changes in Clang --------------------------- diff --git a/lld/docs/ReleaseNotes.rst b/lld/docs/ReleaseNotes.rst index 82683801fad94..f611da428a8fe 100644 --- a/lld/docs/ReleaseNotes.rst +++ b/lld/docs/ReleaseNotes.rst @@ -58,12 +58,17 @@ Breaking changes COFF Improvements ----------------- -* ... +* Correctly handle a signed immediate offset in ARM64 adr/adrp relocations. + (`D114347 `_) + +* Omit section and label symbols from the symbol table. + (`D113866 `_) MinGW Improvements ------------------ -* ... +* ``--heap`` is now handled. + (`D118405 `_) MachO Improvements ------------------ diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst index 3745128fd948d..447ef45e6ae88 100644 --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -80,12 +80,17 @@ Changes to the AArch64 Backend the use of the -mtune frontend flag. This allows certain scheduling features and optimisations to be enabled independently of the architecture. If the "tune-cpu" attribute is absent it tunes according to the "target-cpu". +* Fixed relocations against temporary symbols (e.g. in jump tables and + constant pools) in large COFF object files. Changes to the ARM Backend -------------------------- * Added support for the Armv9-A, Armv9.1-A and Armv9.2-A architectures. * Added support for the Armv8.1-M PACBTI-M extension. +* Changed the assembly comment string for MSVC targets to ``@`` (consistent + with the MinGW and ELF targets), freeing up ``;`` to be used as + statement separator. Changes to the MIPS Target -------------------------- @@ -124,6 +129,24 @@ Changes to the WebAssembly Target During this release ... +Changes to the Windows Target +----------------------------- + +* Changed how the ``.pdata`` sections refer to the code they're describing, + to avoid conflicting unwind info if weak symbols are overridden. + +* Fixed code generation for calling support routines for converting 128 bit + integers from/to floats on x86_64. + +* The preferred path separator form (backslashes or forward slashes) can be + configured in Windows builds of LLVM now, with the + ``LLVM_WINDOWS_PREFER_FORWARD_SLASH`` CMake option. This defaults to + true in MinGW builds of LLVM. + +* Set proper COFF symbol types for function aliases (e.g. for Itanium C++ + constructors), making sure that GNU ld exports all of them correctly as + functions, not data, when linking a DLL. + Changes to the OCaml bindings ----------------------------- @@ -134,6 +157,9 @@ Changes to the C API * ``LLVMSetInstDebugLocation`` has been deprecated in favor of the more general ``LLVMAddMetadataToInst``. +* Fixed building LLVM-C.dll for i386 targets with MSVC, which had been broken + since the LLVM 8.0.0 release. + Changes to the Go bindings -------------------------- @@ -159,6 +185,8 @@ Changes to the LLVM tools `-name-whitelist` is marked as deprecated and to be removed in future releases. +* llvm-readobj: Improved printing of symbols in Windows unwind data. + Changes to LLDB --------------------------------- @@ -177,6 +205,8 @@ Changes to LLDB * The ``memory read`` command has a new option ``--show-tags``. Use this option to show memory tags beside the contents of tagged memory ranges. +* Fixed continuing from breakpoints and singlestepping on Windows on ARM/ARM64. + Changes to Sanitizers ---------------------