@@ -93,7 +93,7 @@ Assertion categories
93
93
====================
94
94
95
95
Inside the library, individual assertions are grouped into different
96
- _categories_ . Each hardening mode enables a different set of assertion
96
+ * categories * . Each hardening mode enables a different set of assertion
97
97
categories; categories provide an additional layer of abstraction that makes it
98
98
easier to reason about the high-level semantics of a hardening mode.
99
99
@@ -170,7 +170,7 @@ Mapping between the hardening modes and the assertion categories
170
170
:header-rows: 1
171
171
:widths: auto
172
172
173
- * -
173
+ * - Category name
174
174
- ``fast ``
175
175
- ``extensive ``
176
176
- ``debug ``
@@ -238,6 +238,7 @@ immediately traps the program. This is the safest approach that also minimizes
238
238
the code size penalty as the failure handler maps to a single instruction. The
239
239
downside is that the failure provides no additional details other than the stack
240
240
trace (which might also be affected by optimizations).
241
+
241
242
TODO(hardening): describe ``__builtin_verbose_trap `` once we can use it.
242
243
243
244
In the ``debug `` mode, an assertion failure terminates the program in an
@@ -293,8 +294,7 @@ Vendors can use the following ABI options to enable additional hardening checks:
293
294
294
295
Supported containers:
295
296
- ``span ``;
296
- - ``string_view ``;
297
- - ``array ``.
297
+ - ``string_view ``.
298
298
299
299
ABI tags
300
300
--------
@@ -310,13 +310,14 @@ a binary and determine whether it was built with hardening enabled.
310
310
informational purposes only.
311
311
312
312
The first character of an ABI tag encodes the hardening mode:
313
+
313
314
- ``f `` -- [f]ast mode;
314
315
- ``s `` -- extensive ("[s]afe") mode;
315
316
- ``d `` -- [d]ebug mode;
316
317
- ``n `` -- [n]one mode.
317
318
318
- Hardened containers
319
- ===================
319
+ Hardened containers status
320
+ ==========================
320
321
321
322
.. list-table ::
322
323
:header-rows: 1
@@ -344,7 +345,7 @@ Hardened containers
344
345
- ✅
345
346
- ❌
346
347
* - ``forward_list ``
347
- - ✅
348
+ - ❌
348
349
- ❌
349
350
* - ``deque ``
350
351
- ✅
@@ -372,5 +373,3 @@ Further reading
372
373
373
374
- ``_Hardening RFC <https://discourse.llvm.org/t/rfc-hardening-in-libc/73925> ``:
374
375
contains some of the design rationale.
375
-
376
- :ref: `hardening mode <using-hardening-modes >`
0 commit comments