diff --git a/Include/objimpl.h b/Include/objimpl.h
index f6fd1a4..7c68194 100644
--- a/Include/objimpl.h
+++ b/Include/objimpl.h
@@ -229,7 +229,7 @@
  */
 
 /* C equivalent of gc.collect(). */
-PyAPI_FUNC(long) PyGC_Collect(void);
+PyAPI_FUNC(Py_ssize_t) PyGC_Collect(void);
 
 /* Test if a type has a GC head */
 #define PyType_IS_GC(t) PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC)
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
index bf879c9..444092e 100644
--- a/Modules/gcmodule.c
+++ b/Modules/gcmodule.c
@@ -196,11 +196,11 @@
 	gc_list_init(from);
 }
 
-static long
+static Py_ssize_t
 gc_list_size(PyGC_Head *list)
 {
 	PyGC_Head *gc;
-	long n = 0;
+	Py_ssize_t n = 0;
 	for (gc = list->gc.gc_next; gc != list; gc = gc->gc.gc_next) {
 		n++;
 	}
@@ -719,12 +719,12 @@
 
 /* This is the main function.  Read this to understand how the
  * collection process works. */
-static long
+static Py_ssize_t
 collect(int generation)
 {
 	int i;
-	long m = 0;	/* # objects collected */
-	long n = 0;	/* # unreachable objects that couldn't be collected */
+	Py_ssize_t m = 0; /* # objects collected */
+	Py_ssize_t n = 0; /* # unreachable objects that couldn't be collected */
 	PyGC_Head *young; /* the generation we are examining */
 	PyGC_Head *old; /* next older generation */
 	PyGC_Head unreachable; /* non-problematic unreachable trash */
@@ -856,11 +856,11 @@
 	return n+m;
 }
 
-static long
+static Py_ssize_t
 collect_generations(void)
 {
 	int i;
-	long n = 0;
+	Py_ssize_t n = 0;
 
 	/* Find the oldest generation (higest numbered) where the count
 	 * exceeds the threshold.  Objects in the that generation and
@@ -919,7 +919,7 @@
 static PyObject *
 gc_collect(PyObject *self, PyObject *noargs)
 {
-	long n;
+	Py_ssize_t n;
 
 	if (collecting)
 		n = 0; /* already collecting, don't do anything */
@@ -929,7 +929,7 @@
 		collecting = 0;
 	}
 
-	return Py_BuildValue("l", n);
+	return PyInt_FromSsize_t(n);
 }
 
 PyDoc_STRVAR(gc_set_debug__doc__,
@@ -1181,10 +1181,10 @@
 }
 
 /* API to invoke gc.collect() from C */
-long
+Py_ssize_t
 PyGC_Collect(void)
 {
-	long n;
+	Py_ssize_t n;
 
 	if (collecting)
 		n = 0; /* already collecting, don't do anything */
