aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2019-07-26 21:31:11 +0000
committerHans Wennborg <hans@hanshq.net>2019-07-26 21:31:11 +0000
commit5a071224b5ceb37c27c315d518d24a05118134f4 (patch)
treee6f31cbd33deed9400a35a88059a506f7fc5c11b
parentbaff46673eb5d8d61bb1eb340e62ad4b25685286 (diff)
[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
-rw-r--r--docs/ReleaseNotes.rst33
1 files changed, 33 insertions, 0 deletions
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 <https://clangbuiltlinux.github.io/>`_.
+- `Issue Tracker <https://github.com/ClangBuiltLinux/linux/issues>`_.
+- `Wiki <https://github.com/ClangBuiltLinux/linux/wiki>`_.
+- `Mailing List <clang-built-linux@googlegroups.com>`_.
+- `Bi-weekly Meeting <https://calendar.google.com/calendar/embed?src=google.com_bbf8m6m4n8nq5p2bfjpele0n5s%40group.calendar.google.com>`_.
+- #clangbuiltlinux on Freenode.
+- `Clang Meta bug <https://bugs.llvm.org/show_bug.cgi?id=4068>`_.
+- `Continuous Integration <https://travis-ci.com/ClangBuiltLinux/continuous-integration>`_.
+
Additional Information
======================