Kaydet (Commit) b529c249 authored tarafından Benjamin Peterson's avatar Benjamin Peterson

allow 2.7 to be built with asan (closes #24061)

üst 3a34a72e
#include "Python.h" #include "Python.h"
#if defined(__has_feature) /* Clang */
#if __has_feature(address_sanitizer) /* is ASAN enabled? */
#define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS \
__attribute__((no_address_safety_analysis)) \
__attribute__ ((noinline))
#else
#define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS
#endif
#else
#if defined(__SANITIZE_ADDRESS__) /* GCC 4.8.x, is ASAN enabled? */
#define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS \
__attribute__((no_address_safety_analysis)) \
__attribute__ ((noinline))
#else
#define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS
#endif
#endif
#ifdef WITH_PYMALLOC #ifdef WITH_PYMALLOC
#ifdef HAVE_MMAP #ifdef HAVE_MMAP
...@@ -971,6 +989,7 @@ redirect: ...@@ -971,6 +989,7 @@ redirect:
/* free */ /* free */
#undef PyObject_Free #undef PyObject_Free
ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS
void void
PyObject_Free(void *p) PyObject_Free(void *p)
{ {
...@@ -1201,6 +1220,7 @@ redirect: ...@@ -1201,6 +1220,7 @@ redirect:
*/ */
#undef PyObject_Realloc #undef PyObject_Realloc
ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS
void * void *
PyObject_Realloc(void *p, size_t nbytes) PyObject_Realloc(void *p, size_t nbytes)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment