[PATCH] D45455: [CFI] Disable CFI checks for __cxa_decrement_exception_refcount
Vlad Tsyrklevich via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Apr 9 15:17:04 PDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL329629: [CFI] Disable CFI checks for __cxa_decrement_exception_refcount (authored by vlad.tsyrklevich, committed by ).
Herald added a subscriber: llvm-commits.
Repository:
rL LLVM
https://reviews.llvm.org/D45455
Files:
libcxxabi/trunk/include/__cxxabi_config.h
libcxxabi/trunk/src/cxa_exception.cpp
Index: libcxxabi/trunk/src/cxa_exception.cpp
===================================================================
--- libcxxabi/trunk/src/cxa_exception.cpp
+++ libcxxabi/trunk/src/cxa_exception.cpp
@@ -630,8 +630,8 @@
Requires: If thrown_object is not NULL, it is a native exception.
*/
-void
-__cxa_decrement_exception_refcount(void *thrown_object) throw() {
+_LIBCXXABI_NO_CFI
+void __cxa_decrement_exception_refcount(void *thrown_object) throw() {
if (thrown_object != NULL )
{
__cxa_exception* exception_header = cxa_exception_from_thrown_object(thrown_object);
Index: libcxxabi/trunk/include/__cxxabi_config.h
===================================================================
--- libcxxabi/trunk/include/__cxxabi_config.h
+++ libcxxabi/trunk/include/__cxxabi_config.h
@@ -60,4 +60,14 @@
#define _LIBCXXABI_WEAK __attribute__((__weak__))
#endif
+#if defined(__clang__)
+#define _LIBCXXABI_COMPILER_CLANG
+#endif
+
+#if __has_attribute(__no_sanitize__) && defined(_LIBCXXABI_COMPILER_CLANG)
+#define _LIBCXXABI_NO_CFI __attribute__((__no_sanitize__("cfi")))
+#else
+#define _LIBCXXABI_NO_CFI
+#endif
+
#endif // ____CXXABI_CONFIG_H
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45455.141753.patch
Type: text/x-patch
Size: 1169 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180409/0e6586f0/attachment.bin>
More information about the cfe-commits
mailing list