-
Notifications
You must be signed in to change notification settings - Fork 11.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[libc++][hardening] Use __builtin_verbose_trap
if it's available.
#84870
Conversation
@llvm/pr-subscribers-libcxx Author: Konstantin Varlamov (var-const) ChangesKeep falling back to Full diff: https://github.com/llvm/llvm-project/pull/84870.diff 1 Files Affected:
diff --git a/libcxx/vendor/llvm/default_assertion_handler.in b/libcxx/vendor/llvm/default_assertion_handler.in
index 8bc0553c078b34..8b892ff7b565eb 100644
--- a/libcxx/vendor/llvm/default_assertion_handler.in
+++ b/libcxx/vendor/llvm/default_assertion_handler.in
@@ -23,8 +23,11 @@
#else
-// TODO(hardening): use `__builtin_verbose_trap(message)` once that becomes available.
-# define _LIBCPP_ASSERTION_HANDLER(message) ((void)message, __builtin_trap())
+# if __has_builtin(__builtin_verbose_trap)
+# define _LIBCPP_ASSERTION_HANDLER(message) (__builtin_verbose_trap(message))
+# else
+# define _LIBCPP_ASSERTION_HANDLER(message) ((void)message, __builtin_trap())
+# endif
#endif // _LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_DEBUG
|
Depends on #79230. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM once we have a Clang that supports the builtin.
Keep falling back to `__builtin_trap` on older versions of Clang.
__builtin_verbose_trap
if it's available.__builtin_verbose_trap
if it's available.
b48f4ed
to
ea44fac
Compare
Rebase to trigger CI. This can be merged once CI is green. |
The CI failure is a fluke, merging. |
…lvm#84870) Keep falling back to `__builtin_trap` on older versions of Clang. Co-authored-by: Louis Dionne <[email protected]>
…lvm#84870) Keep falling back to `__builtin_trap` on older versions of Clang. Co-authored-by: Louis Dionne <[email protected]>
Keep falling back to
__builtin_trap
on older versions of Clang.