Message340748
In Python 2.7, the WITH_PYMALLOC define (defined by ./configure --with-pymalloc which is the default) modified the Python API. For example, PyObject_MALLOC() is a macro replaced with PyObject_Malloc() with pymalloc but replaced with PyMem_MALLOC() without pymalloc.
In Python 3.8, it's no longer the case, PyObject_MALLOC is no longer modified by WITH_PYMALLOC, it's always an alias to PyObject_Malloc() for backward compatibility.
#define PyObject_MALLOC PyObject_Malloc
More generally, WITH_PYMALLOC has no impact on the Python headers nor on the ABI in any way. Memory allocators can be switched at runtime using PYTHONMALLOC environment variable and -X dev command line option. For example, PYTHONMALLOC=malloc disables pymalloc (forces the usage of malloc() of the C library).
I propose attached PR which removes the "m" flag from SOABI in Python 3.8 when pymalloc is enabled. |
|
Date |
User |
Action |
Args |
2019-04-24 00:27:25 | vstinner | set | recipients:
+ vstinner |
2019-04-24 00:27:25 | vstinner | set | messageid: <1556065645.57.0.820338293941.issue36707@roundup.psfhosted.org> |
2019-04-24 00:27:25 | vstinner | link | issue36707 messages |
2019-04-24 00:27:25 | vstinner | create | |
|