[libcxx-commits] [libcxx] dbfb29f - [libc++] Add a link to __builtin_verbose_trap from the hardening docs (#126930)
via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Feb 12 14:57:41 PST 2025
Author: Louis Dionne
Date: 2025-02-12T23:57:37+01:00
New Revision: dbfb29fd45a2a655e3e89b108f9a31fd764bd293
URL: https://github.com/llvm/llvm-project/commit/dbfb29fd45a2a655e3e89b108f9a31fd764bd293
DIFF: https://github.com/llvm/llvm-project/commit/dbfb29fd45a2a655e3e89b108f9a31fd764bd293.diff
LOG: [libc++] Add a link to __builtin_verbose_trap from the hardening docs (#126930)
Added:
Modified:
libcxx/docs/Hardening.rst
Removed:
################################################################################
diff --git a/libcxx/docs/Hardening.rst b/libcxx/docs/Hardening.rst
index d399b94d27c19..097ad4b73b126 100644
--- a/libcxx/docs/Hardening.rst
+++ b/libcxx/docs/Hardening.rst
@@ -248,14 +248,12 @@ Hardening assertion failure
===========================
In production modes (``fast`` and ``extensive``), a hardening assertion failure
-immediately ``_traps <https://llvm.org/docs/LangRef.html#llvm-trap-intrinsic>``
+immediately ``_traps <https://clang.llvm.org/docs/LanguageExtensions.html#builtin-verbose-trap>``
the program. This is the safest approach that also minimizes the code size
penalty as the failure handler maps to a single instruction. The downside is
that the failure provides no additional details other than the stack trace
(which might also be affected by optimizations).
-TODO(hardening): describe ``__builtin_verbose_trap`` once we can use it.
-
In the ``debug`` mode, an assertion failure terminates the program in an
unspecified manner and also outputs the associated error message to the error
output. This is less secure and increases the size of the binary (among other
More information about the libcxx-commits
mailing list