[compiler-rt] [CFI] update ignorelist to work with libstdc++ make_shared (PR #118599)

Wu Yingcong via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 3 22:59:20 PST 2024


https://github.com/yingcong-wu created https://github.com/llvm/llvm-project/pull/118599

We had an old issue with libc++ in https://bugs.llvm.org/show_bug.cgi?id=48993, and it is fixed for libc++, but the same reproducer can still be reproduced with libstdc++(https://godbolt.org/z/n3EWvMKEP).

This patch adds an entry to deal with such cases. 

>From 2c53a6596fcb36daba7fdb51e57e5bf9ca103f14 Mon Sep 17 00:00:00 2001
From: "Wu, Yingcong" <yingcong.wu at intel.com>
Date: Wed, 4 Dec 2024 07:54:57 +0100
Subject: [PATCH] add ingore entry

---
 compiler-rt/lib/cfi/cfi_ignorelist.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/compiler-rt/lib/cfi/cfi_ignorelist.txt b/compiler-rt/lib/cfi/cfi_ignorelist.txt
index 4a0f03949ca8cf..faf69a2cac379c 100644
--- a/compiler-rt/lib/cfi/cfi_ignorelist.txt
+++ b/compiler-rt/lib/cfi/cfi_ignorelist.txt
@@ -15,3 +15,6 @@ src:*xstddef
 # This ctor is used by std::make_shared and needs to cast to uninitialized T*
 # in order to call std::allocator_traits<T>::construct.
 fun:_ZNSt23_Sp_counted_ptr_inplace*
+
+# std::make_shared use __aligned_buffer as storage, and cast to uninitialized T*
+fun:*__aligned_buffer*



More information about the llvm-commits mailing list