From 5a071224b5ceb37c27c315d518d24a05118134f4 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Fri, 26 Jul 2019 21:31:11 +0000 Subject: [clang][docs][release notes] mention asm goto support By Nick Desaulniers! Differential revision: https://reviews.llvm.org/D65302 git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_90@367158 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/ReleaseNotes.rst | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst index dadcc77f48..c94868a39e 100644 --- a/docs/ReleaseNotes.rst +++ b/docs/ReleaseNotes.rst @@ -111,6 +111,12 @@ C Language Changes in Clang in all C-family languages. This macro is similar to ``__FILE__`` except it will always provide the last path component when possible. +- Initial support for ``asm goto`` statements (a GNU C extension) has been + added for control flow from inline assembly to labels. The main consumers of + this construct are the Linux kernel (CONFIG_JUMP_LABEL=y) and glib. There are + still a few unsupported corner cases in Clang's integrated assembler and + IfConverter. Please file bugs for any issues you run into. + - ... C11 Feature Support @@ -242,6 +248,33 @@ The following methods have been added: Significant Known Problems ========================== +Linux Kernel +============ + +With support for asm goto, the mainline Linux kernel for x86_64 is now buildable +(and bootable) with Clang 9. Other architectures that don't require +CONFIG_JUMP_LABEL=y such as arm, aarch64, ppc32, ppc64le, (and possibly mips) +have been supported with older releases of Clang (Clang 4 was first used with +aarch64). + +The Android and ChromeOS Linux distributions have moved to building their Linux +kernels with Clang, and Google is currently testing Clang built kernels for +their production Linux kernels. + +Further, LLD, llvm-objcopy, llvm-ar, llvm-nm, llvm-objdump can all be used to +build a working Linux kernel. + +More information about building Linux kernels with Clang can be found: + +- `ClangBuiltLinux web page `_. +- `Issue Tracker `_. +- `Wiki `_. +- `Mailing List `_. +- `Bi-weekly Meeting `_. +- #clangbuiltlinux on Freenode. +- `Clang Meta bug `_. +- `Continuous Integration `_. + Additional Information ====================== -- cgit v1.2.3