diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index dadcc77f4803e..c94868a39ed49 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/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 ======================