[libc++] Add a link to __builtin_verbose_trap from the hardening docs (#126930)

This commit is contained in:
Louis Dionne 2025-02-12 23:57:37 +01:00 committed by GitHub
parent 31cb807537
commit dbfb29fd45
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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