[llvm-branch-commits] [cfe-branch] r326550 - ReleaseNotes: move the retpoline bullets higher

Hans Wennborg via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Mar 2 01:50:00 PST 2018


Author: hans
Date: Fri Mar  2 01:50:00 2018
New Revision: 326550

URL: http://llvm.org/viewvc/llvm-project?rev=326550&view=rev
Log:
ReleaseNotes: move the retpoline bullets higher

Modified:
    cfe/branches/release_60/docs/ReleaseNotes.rst

Modified: cfe/branches/release_60/docs/ReleaseNotes.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_60/docs/ReleaseNotes.rst?rev=326550&r1=326549&r2=326550&view=diff
==============================================================================
--- cfe/branches/release_60/docs/ReleaseNotes.rst (original)
+++ cfe/branches/release_60/docs/ReleaseNotes.rst Fri Mar  2 01:50:00 2018
@@ -35,6 +35,12 @@ sections with improvements to Clang's su
 Non-comprehensive list of changes in this release
 -------------------------------------------------
 
+- Support for `retpolines <https://support.google.com/faqs/answer/7625886>`_
+  was added to help mitigate "branch target injection" (variant #2) of the
+  "Spectre" speculative side channels described by `Project Zero
+  <https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html>`_
+  and the `Spectre paper <https://spectreattack.com/spectre.pdf>`_.
+
 - Bitrig OS was merged back into OpenBSD, so Bitrig support has been
   removed from Clang/LLVM.
 
@@ -51,12 +57,6 @@ Non-comprehensive list of changes in thi
   ``__is_target_vendor``, ``__is_target_os``, and ``__is_target_environment``
   can be used to to examine the individual components of the target triple.
 
-- Support for `retpolines <https://support.google.com/faqs/answer/7625886>`_
-  was added to help mitigate "branch target injection" (variant #2) of the
-  "Spectre" speculative side channels described by `Project Zero
-  <https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html>`_
-  and the `Spectre paper <https://spectreattack.com/spectre.pdf>`_.
-
 
 Improvements to Clang's diagnostics
 -----------------------------------
@@ -115,6 +115,18 @@ Improvements to Clang's diagnostics
 New Compiler Flags
 ------------------
 
+- Clang supports the ``-mretpoline`` flag to enable `retpolines
+  <https://support.google.com/faqs/answer/7625886>`_. Code compiled with this
+  flag will be hardened against variant #2 of the Spectre attack. Indirect
+  branches from switches or gotos removed from the code, and indirect calls
+  will be made through a "retpoline" thunk. The necessary thunks will
+  automatically be inserted into the generated code. Clang also supports
+  ``-mretpoline-external-thunk`` which works like ``-mretpoline`` but requires
+  the user to provide their own thunk definitions. The external thunk names
+  start with ``__x86_indirect_thunk_`` and end in a register name. For 64-bit
+  platforms, only an ``r11`` thunk is used, but for 32-bit platforms ``eax``,
+  ``ecx``, ``edx``, and ``edi`` thunks are used.
+
 - Clang now supports configuration files. These are collections of driver
   options, which can be applied by specifying the configuration file, either
   using command line option ``--config foo.cfg`` or encoding it into executable
@@ -144,18 +156,6 @@ New Compiler Flags
 - New ``-nostdlib++`` flag to disable linking the C++ standard library. Similar
   to using ``clang`` instead of ``clang++`` but doesn't disable ``-lm``.
 
-- Clang supports the ``-mretpoline`` flag to enable `retpolines
-  <https://support.google.com/faqs/answer/7625886>`_. Code compiled with this
-  flag will be hardened against variant #2 of the Spectre attack. Indirect
-  branches from switches or gotos removed from the code, and indirect calls
-  will be made through a "retpoline" thunk. The necessary thunks will
-  automatically be inserted into the generated code. Clang also supports
-  ``-mretpoline-external-thunk`` which works like ``-mretpoline`` but requires
-  the user to provide their own thunk definitions. The external thunk names
-  start with ``__x86_indirect_thunk_`` and end in a register name. For 64-bit
-  platforms, only an ``r11`` thunk is used, but for 32-bit platforms ``eax``,
-  ``ecx``, ``edx``, and ``edi`` thunks are used.
-
 
 Attribute Changes in Clang
 --------------------------




More information about the llvm-branch-commits mailing list