diff --git a/Include/object.h b/Include/object.h index 4a49609c72c..2809d3af182 100644 --- a/Include/object.h +++ b/Include/object.h @@ -765,6 +765,10 @@ PyAPI_FUNC(void) dec_count(PyTypeObject *); #define _Py_COUNT_ALLOCS_COMMA #endif /* COUNT_ALLOCS */ +/* Update the Python traceback of an object. This function must be called + when a memory block is reused from a free list. */ +PyAPI_FUNC(int) _PyTraceMalloc_NewReference(PyObject *op); + #ifdef Py_TRACE_REFS /* Py_TRACE_REFS is such major surgery that we call external routines. */ PyAPI_FUNC(void) _Py_NewReference(PyObject *); diff --git a/Include/tracemalloc.h b/Include/tracemalloc.h index cf5bb54ea08..bd14217c199 100644 --- a/Include/tracemalloc.h +++ b/Include/tracemalloc.h @@ -14,10 +14,6 @@ PyAPI_FUNC(int) PyTraceMalloc_Track( uintptr_t ptr, size_t size); -/* Update the Python traceback of an object. - This function can be used when a memory block is reused from a free list. */ -PyAPI_FUNC(int) _PyTraceMalloc_NewReference(PyObject *op); - /* Untrack an allocated memory block in the tracemalloc module. Do nothing if the block was not tracked. diff --git a/Modules/Setup b/Modules/Setup index a0622cc8c64..fb16698d2fc 100644 --- a/Modules/Setup +++ b/Modules/Setup @@ -129,6 +129,9 @@ _io -DPy_BUILD_CORE -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fil faulthandler faulthandler.c # debug tool to trace memory blocks allocated by Python +# +# bpo-35053: The module must be builtin since _Py_NewReference() +# can call _PyTraceMalloc_NewReference(). _tracemalloc _tracemalloc.c hashtable.c # The rest of the modules listed in this file are all commented out by