diff options
author | Hans Wennborg <hans@hanshq.net> | 2019-07-26 21:31:11 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2019-07-26 21:31:11 +0000 |
commit | 5a071224b5ceb37c27c315d518d24a05118134f4 (patch) | |
tree | e6f31cbd33deed9400a35a88059a506f7fc5c11b | |
parent | baff46673eb5d8d61bb1eb340e62ad4b25685286 (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.rst | 33 |
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 ====================== |