From 82ba818ff456bcd6d56a06226e3f27e98fbb55c3 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 14 Aug 2025 22:58:58 -0500 Subject: removing all downloaded devdocs files --- .../x86-control-flow-protection-intrinsics.html | 31 ---------------------- 1 file changed, 31 deletions(-) delete mode 100644 devdocs/gcc~13/x86-control-flow-protection-intrinsics.html (limited to 'devdocs/gcc~13/x86-control-flow-protection-intrinsics.html') diff --git a/devdocs/gcc~13/x86-control-flow-protection-intrinsics.html b/devdocs/gcc~13/x86-control-flow-protection-intrinsics.html deleted file mode 100644 index 51992c58..00000000 --- a/devdocs/gcc~13/x86-control-flow-protection-intrinsics.html +++ /dev/null @@ -1,31 +0,0 @@ -

6.60.37 x86 Control-Flow Protection Intrinsics

-CET Function: ret_type _get_ssp (void) -

Get the current value of shadow stack pointer if shadow stack support from Intel CET is enabled in the hardware or 0 otherwise. The ret_type is unsigned long long for 64-bit targets and unsigned int for 32-bit targets.

-
-CET Function: void _inc_ssp (unsigned int) -

Increment the current shadow stack pointer by the size specified by the function argument. The argument is masked to a byte value for security reasons, so to increment by more than 255 bytes you must call the function multiple times.

-

The shadow stack unwind code looks like:

#include <immintrin.h>
-
-/* Unwind the shadow stack for EH.  */
-#define _Unwind_Frames_Extra(x)       \
-  do                                  \
-    {                                \
-      _Unwind_Word ssp = _get_ssp (); \
-      if (ssp != 0)                   \
-        {                            \
-          _Unwind_Word tmp = (x);     \
-          while (tmp > 255)           \
-            {                        \
-              _inc_ssp (tmp);         \
-              tmp -= 255;             \
-            }                        \
-          _inc_ssp (tmp);             \
-        }                            \
-    }                                \
-    while (0)
-

This code runs unconditionally on all 64-bit processors. For 32-bit processors the code runs on those that support multi-byte NOP instructions.

-

- © Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
- https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/x86-control-flow-protection-intrinsics.html -

-
-- cgit v1.2.3