Do a better job of not inlining Py_ADDRESS_IN_RANGE() for newer gcc's.
Perhaps Py_NO_INLINE should be moved to pyport.h or some other header?
diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c
index a6fdf40..266b4c6 100644
--- a/Objects/obmalloc.c
+++ b/Objects/obmalloc.c
@@ -557,8 +557,15 @@
 
 #undef Py_ADDRESS_IN_RANGE
 
-/* Don't make static, to ensure this isn't inlined. */
-int Py_ADDRESS_IN_RANGE(void *P, poolp pool);
+#if defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)
+#define Py_NO_INLINE __attribute__((__noinline__))
+#else
+#define Py_NO_INLINE
+#endif
+
+/* Don't make static, to try to ensure this isn't inlined. */
+int Py_ADDRESS_IN_RANGE(void *P, poolp pool) Py_NO_INLINE;
+#undef Py_NO_INLINE
 #endif
 
 /*==========================================================================*/