[clang] [clang][Docs] Add release note for *-none-* triple normalization changes (PR #90734)

David Spickett via cfe-commits cfe-commits at lists.llvm.org
Wed May 1 07:41:07 PDT 2024


https://github.com/DavidSpickett created https://github.com/llvm/llvm-project/pull/90734

That were implemented by https://github.com/llvm/llvm-project/pull/89638.

>From 2d4d5e1885cc8e722b9ebaab81caf2d39c9994da Mon Sep 17 00:00:00 2001
From: David Spickett <david.spickett at linaro.org>
Date: Wed, 1 May 2024 15:39:31 +0100
Subject: [PATCH] [clang][Docs] Add release note for *-none-* triple
 normalization changes

That were implemented by https://github.com/llvm/llvm-project/pull/89638.
---
 clang/docs/ReleaseNotes.rst | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 2c5308fbcb319a..6f62daba6af081 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -85,6 +85,25 @@ Clang Frontend Potentially Breaking Changes
   of ``-Wno-gnu-binary-literal`` will no longer silence this pedantic warning,
   which may break existing uses with ``-Werror``.
 
+- The normalization of 3 element target triples where ``-none-`` is the middle
+  element has changed. For example, ``armv7m-none-eabi`` previously normalized
+  to ``armv7m-none-unknown-eabi``, with ``none`` for the vendor and ``unknown``
+  for the operating system. It now normalizes to ``armv7m-unknown-none-eabi``,
+  which has ``unknown`` vendor and ``none`` operating system.
+
+  The affected triples are primarily for bare metal Arm where it is intended
+  that ``none`` means that there is no operating system. As opposed to an unknown
+  type of operating system.
+
+  This change my cause clang to not find libraries, or libraries to be built at
+  different file system locations. This can be fixed by changing your builds to
+  use the new normalized triple. However, we recommend instead getting the
+  normalized triple from clang itself, as this will make your builds more
+  robust in case of future changes::
+
+    $ clang --target=<your target triple> -print-target-triple
+    <the normalized target triple>
+
 What's New in Clang |release|?
 ==============================
 Some of the major new features and improvements to Clang are listed



More information about the cfe-commits mailing list