From: Michael Felt Date: Fri, 11 Jan 2019 18:17:03 +0000 (+0100) Subject: bpo-34569: Fix subinterpreter 32-bit ABI, pystate.c/_new_long_object() (gh-9127) X-Git-Tag: v3.8.0a1~112 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a909460a09cca79bd051c45b02e650862a57dbd9;p=thirdparty%2FPython%2Fcpython.git bpo-34569: Fix subinterpreter 32-bit ABI, pystate.c/_new_long_object() (gh-9127) This fixes ShareableTypeTests.test_int() in Lib/test/test__xxsubinterpreters.py. --- diff --git a/Misc/NEWS.d/next/Tests/2018-09-09-14-36-59.bpo-34569.okj1Xh.rst b/Misc/NEWS.d/next/Tests/2018-09-09-14-36-59.bpo-34569.okj1Xh.rst new file mode 100644 index 000000000000..bd433adfc357 --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2018-09-09-14-36-59.bpo-34569.okj1Xh.rst @@ -0,0 +1,2 @@ +The experimental PEP 554 data channels now correctly pass negative PyLong +objects between subinterpreters on 32-bit systems. Patch by Michael Felt. diff --git a/Python/pystate.c b/Python/pystate.c index 98882eb7589c..4dc3b81e4cdb 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -1467,7 +1467,7 @@ _str_shared(PyObject *obj, _PyCrossInterpreterData *data) static PyObject * _new_long_object(_PyCrossInterpreterData *data) { - return PyLong_FromLongLong((int64_t)(data->data)); + return PyLong_FromLongLong((intptr_t)(data->data)); } static int