[libcxx-commits] [libcxx] 9f66062 - [libc++] Disable CFI in __libcpp_allocate (#124805)
via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jan 28 12:43:25 PST 2025
Author: Louis Dionne
Date: 2025-01-28T15:43:21-05:00
New Revision: 9f660625bee629d2cc644e2b8ac698ed3288693c
URL: https://github.com/llvm/llvm-project/commit/9f660625bee629d2cc644e2b8ac698ed3288693c
DIFF: https://github.com/llvm/llvm-project/commit/9f660625bee629d2cc644e2b8ac698ed3288693c.diff
LOG: [libc++] Disable CFI in __libcpp_allocate (#124805)
Since we're casting uninitialized memory, we must disable CFI checks.
Added:
Modified:
libcxx/include/__new/allocate.h
Removed:
################################################################################
diff --git a/libcxx/include/__new/allocate.h b/libcxx/include/__new/allocate.h
index a64663c09fa35d..738fa62af4d61d 100644
--- a/libcxx/include/__new/allocate.h
+++ b/libcxx/include/__new/allocate.h
@@ -50,7 +50,8 @@ _LIBCPP_HIDE_FROM_ABI void __libcpp_operator_delete(_Args... __args) _NOEXCEPT {
}
template <class _Tp>
-inline _LIBCPP_HIDE_FROM_ABI _Tp* __libcpp_allocate(__element_count __n, size_t __align = _LIBCPP_ALIGNOF(_Tp)) {
+inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_NO_CFI _Tp*
+__libcpp_allocate(__element_count __n, size_t __align = _LIBCPP_ALIGNOF(_Tp)) {
size_t __size = static_cast<size_t>(__n) * sizeof(_Tp);
#if _LIBCPP_HAS_ALIGNED_ALLOCATION
if (__is_overaligned_for_new(__align)) {
More information about the libcxx-commits
mailing list