summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Galindo <Pablogsal@gmail.com>2018-10-28 15:02:17 (GMT)
committerGitHub <noreply@github.com>2018-10-28 15:02:17 (GMT)
commit49c75a8086c3df9add0779d2479b8f09b95cdf3b (patch)
tree85cc8a1eb5d6a8140a69037cdf9ab11c3ecc601f
parent6015cc50bc38b9e920ce4986ee10658eaa14f561 (diff)
downloadcpython-49c75a8086c3df9add0779d2479b8f09b95cdf3b.zip
cpython-49c75a8086c3df9add0779d2479b8f09b95cdf3b.tar.gz
cpython-49c75a8086c3df9add0779d2479b8f09b95cdf3b.tar.bz2
bpo-35064 prefix smelly symbols that appear with COUNT_ALLOCS with _Py_ (GH-10152)
Configuring python with ./configure --with-pydebug CFLAGS="-D COUNT_ALLOCS -O0" makes "make smelly" fail as some symbols were being exported without the "Py_" or "_Py" prefixes.
-rw-r--r--Include/object.h8
-rw-r--r--Objects/bytesobject.c10
-rw-r--r--Objects/longobject.c6
-rw-r--r--Objects/object.c22
-rw-r--r--Objects/tupleobject.c8
-rw-r--r--Python/pylifecycle.c4
-rw-r--r--Python/sysmodule.c4
7 files changed, 31 insertions, 31 deletions
diff --git a/Include/object.h b/Include/object.h
index 2809d3a..7b07d7d 100644
--- a/Include/object.h
+++ b/Include/object.h
@@ -752,10 +752,10 @@ PyAPI_FUNC(void) _PyDebug_PrintTotalRefs(void);
#endif /* Py_REF_DEBUG */
#ifdef COUNT_ALLOCS
-PyAPI_FUNC(void) inc_count(PyTypeObject *);
-PyAPI_FUNC(void) dec_count(PyTypeObject *);
-#define _Py_INC_TPALLOCS(OP) inc_count(Py_TYPE(OP))
-#define _Py_INC_TPFREES(OP) dec_count(Py_TYPE(OP))
+PyAPI_FUNC(void) _Py_inc_count(PyTypeObject *);
+PyAPI_FUNC(void) _Py_dec_count(PyTypeObject *);
+#define _Py_INC_TPALLOCS(OP) _Py_inc_count(Py_TYPE(OP))
+#define _Py_INC_TPFREES(OP) _Py_dec_count(Py_TYPE(OP))
#define _Py_DEC_TPFREES(OP) Py_TYPE(OP)->tp_frees--
#define _Py_COUNT_ALLOCS_COMMA ,
#else
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index 9a08814..1b36661 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -18,7 +18,7 @@ class bytes "PyBytesObject *" "&PyBytes_Type"
#include "clinic/bytesobject.c.h"
#ifdef COUNT_ALLOCS
-Py_ssize_t null_strings, one_strings;
+Py_ssize_t _Py_null_strings, _Py_one_strings;
#endif
static PyBytesObject *characters[UCHAR_MAX + 1];
@@ -66,7 +66,7 @@ _PyBytes_FromSize(Py_ssize_t size, int use_calloc)
if (size == 0 && (op = nullstring) != NULL) {
#ifdef COUNT_ALLOCS
- null_strings++;
+ _Py_null_strings++;
#endif
Py_INCREF(op);
return (PyObject *)op;
@@ -110,7 +110,7 @@ PyBytes_FromStringAndSize(const char *str, Py_ssize_t size)
(op = characters[*str & UCHAR_MAX]) != NULL)
{
#ifdef COUNT_ALLOCS
- one_strings++;
+ _Py_one_strings++;
#endif
Py_INCREF(op);
return (PyObject *)op;
@@ -146,14 +146,14 @@ PyBytes_FromString(const char *str)
}
if (size == 0 && (op = nullstring) != NULL) {
#ifdef COUNT_ALLOCS
- null_strings++;
+ _Py_null_strings++;
#endif
Py_INCREF(op);
return (PyObject *)op;
}
if (size == 1 && (op = characters[*str & UCHAR_MAX]) != NULL) {
#ifdef COUNT_ALLOCS
- one_strings++;
+ _Py_one_strings++;
#endif
Py_INCREF(op);
return (PyObject *)op;
diff --git a/Objects/longobject.c b/Objects/longobject.c
index ab5ac34..26d6c53 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -42,7 +42,7 @@ PyObject *_PyLong_One = NULL;
*/
static PyLongObject small_ints[NSMALLNEGINTS + NSMALLPOSINTS];
#ifdef COUNT_ALLOCS
-Py_ssize_t quick_int_allocs, quick_neg_int_allocs;
+Py_ssize_t _Py_quick_int_allocs, _Py_quick_neg_int_allocs;
#endif
static PyObject *
@@ -54,9 +54,9 @@ get_small_int(sdigit ival)
Py_INCREF(v);
#ifdef COUNT_ALLOCS
if (ival >= 0)
- quick_int_allocs++;
+ _Py_quick_int_allocs++;
else
- quick_neg_int_allocs++;
+ _Py_quick_neg_int_allocs++;
#endif
return v;
}
diff --git a/Objects/object.c b/Objects/object.c
index 0e75014..de9eb2c 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -93,11 +93,11 @@ static PyTypeObject *type_list;
is set, they will be removed from the type_list
once the last object is deallocated. */
static int unlist_types_without_objects;
-extern Py_ssize_t tuple_zero_allocs, fast_tuple_allocs;
-extern Py_ssize_t quick_int_allocs, quick_neg_int_allocs;
-extern Py_ssize_t null_strings, one_strings;
+extern Py_ssize_t _Py_tuple_zero_allocs, _Py_fast_tuple_allocs;
+extern Py_ssize_t _Py_quick_int_allocs, _Py_quick_neg_int_allocs;
+extern Py_ssize_t _Py_null_strings, _Py_one_strings;
void
-dump_counts(FILE* f)
+_Py_dump_counts(FILE* f)
{
PyInterpreterState *interp = _PyInterpreterState_Get();
if (!interp->core_config.show_alloc_count) {
@@ -113,17 +113,17 @@ dump_counts(FILE* f)
tp->tp_maxalloc);
fprintf(f, "fast tuple allocs: %" PY_FORMAT_SIZE_T "d, "
"empty: %" PY_FORMAT_SIZE_T "d\n",
- fast_tuple_allocs, tuple_zero_allocs);
+ _Py_fast_tuple_allocs, _Py_tuple_zero_allocs);
fprintf(f, "fast int allocs: pos: %" PY_FORMAT_SIZE_T "d, "
"neg: %" PY_FORMAT_SIZE_T "d\n",
- quick_int_allocs, quick_neg_int_allocs);
+ _Py_quick_int_allocs, _Py_quick_neg_int_allocs);
fprintf(f, "null strings: %" PY_FORMAT_SIZE_T "d, "
"1-strings: %" PY_FORMAT_SIZE_T "d\n",
- null_strings, one_strings);
+ _Py_null_strings, _Py_one_strings);
}
PyObject *
-get_counts(void)
+_Py_get_counts(void)
{
PyTypeObject *tp;
PyObject *result;
@@ -150,12 +150,12 @@ get_counts(void)
}
void
-inc_count(PyTypeObject *tp)
+_Py_inc_count(PyTypeObject *tp)
{
if (tp->tp_next == NULL && tp->tp_prev == NULL) {
/* first time; insert in linked list */
if (tp->tp_next != NULL) /* sanity check */
- Py_FatalError("XXX inc_count sanity check");
+ Py_FatalError("XXX _Py_inc_count sanity check");
if (type_list)
type_list->tp_prev = tp;
tp->tp_next = type_list;
@@ -181,7 +181,7 @@ inc_count(PyTypeObject *tp)
tp->tp_maxalloc = tp->tp_allocs - tp->tp_frees;
}
-void dec_count(PyTypeObject *tp)
+void _Py_dec_count(PyTypeObject *tp)
{
tp->tp_frees++;
if (unlist_types_without_objects &&
diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c
index 2e32406..288f134 100644
--- a/Objects/tupleobject.c
+++ b/Objects/tupleobject.c
@@ -28,8 +28,8 @@ static PyTupleObject *free_list[PyTuple_MAXSAVESIZE];
static int numfree[PyTuple_MAXSAVESIZE];
#endif
#ifdef COUNT_ALLOCS
-Py_ssize_t fast_tuple_allocs;
-Py_ssize_t tuple_zero_allocs;
+Py_ssize_t _Py_fast_tuple_allocs;
+Py_ssize_t _Py_tuple_zero_allocs;
#endif
/* Debug statistic to count GC tracking of tuples.
@@ -89,7 +89,7 @@ PyTuple_New(Py_ssize_t size)
op = free_list[0];
Py_INCREF(op);
#ifdef COUNT_ALLOCS
- tuple_zero_allocs++;
+ _Py_tuple_zero_allocs++;
#endif
return (PyObject *) op;
}
@@ -97,7 +97,7 @@ PyTuple_New(Py_ssize_t size)
free_list[size] = (PyTupleObject *) op->ob_item[0];
numfree[size]--;
#ifdef COUNT_ALLOCS
- fast_tuple_allocs++;
+ _Py_fast_tuple_allocs++;
#endif
/* Inline PyObject_InitVar */
#ifdef Py_TRACE_REFS
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index ec39500..f1579c7 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -929,7 +929,7 @@ Py_Initialize(void)
#ifdef COUNT_ALLOCS
-extern void dump_counts(FILE*);
+extern void _Py_dump_counts(FILE*);
#endif
/* Flush stdout and stderr */
@@ -1112,7 +1112,7 @@ Py_FinalizeEx(void)
/* Debugging stuff */
#ifdef COUNT_ALLOCS
- dump_counts(stderr);
+ _Py_dump_counts(stderr);
#endif
/* dump hash stats */
_PyHash_Fini();
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 58ea605..f88b273 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -1340,9 +1340,9 @@ size."
static PyObject *
sys_getcounts(PyObject *self)
{
- extern PyObject *get_counts(void);
+ extern PyObject *_Py_get_counts(void);
- return get_counts();
+ return _Py_get_counts();
}
#endif