diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst index 444625040af..8d94a9ff544 100644 --- a/Doc/whatsnew/3.8.rst +++ b/Doc/whatsnew/3.8.rst @@ -101,20 +101,21 @@ subdirectories). Debug build uses the same ABI as release build ----------------------------------------------- -Python now uses the same ABI when built in release and in debug mode. On Unix, -when Python is build in debug mode, it is now possible to load C extensions -built in release mode and C extensions built using the stable ABI. +Python now uses the same ABI whether it built in release or debug mode. On +Unix, when Python is built in debug mode, it is now possible to load C +extensions built in release mode and C extensions built using the stable ABI. -Release build and debug build are now ABI compatible: the ``Py_DEBUG`` define -no longer implies the ``Py_TRACE_REFS`` define which introduces the only ABI -incompatibility. A new ``./configure --with-trace-refs`` build option is now -required to get ``Py_TRACE_REFS`` define which adds :func:`sys.getobjects` -function and :envvar:`PYTHONDUMPREFS` environment variable. +Release builds and debug builds are now ABI compatible: defining the +``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro, which +introduces the only ABI incompatibility. The ``Py_TRACE_REFS`` macro, which +adds the :func:`sys.getobjects` function and the :envvar:`PYTHONDUMPREFS` +environment variable, can be set using the new ``./configure --with-trace-refs`` +build option. (Contributed by Victor Stinner in :issue:`36465`.) -On Unix, C extensions are no longer linked to libpython. It is now possible to -load a C extension built using a shared library Python -with a statically linked Python. +On Unix, C extensions are no longer linked to libpython. It is now possible +for a statically linked Python to load a C extension built using a shared +library Python. (Contributed by Victor Stinner in :issue:`21536`.) On Unix, when Python is built in debug mode, import now also looks for C diff --git a/Misc/NEWS.d/next/Build/2019-04-09-18-19-43.bpo-36465.-w6vx6.rst b/Misc/NEWS.d/next/Build/2019-04-09-18-19-43.bpo-36465.-w6vx6.rst index 52de1ef4483..8969d3c4df1 100644 --- a/Misc/NEWS.d/next/Build/2019-04-09-18-19-43.bpo-36465.-w6vx6.rst +++ b/Misc/NEWS.d/next/Build/2019-04-09-18-19-43.bpo-36465.-w6vx6.rst @@ -1,5 +1,6 @@ -Release build and debug build are now ABI compatible: the ``Py_DEBUG`` define -no longer implies ``Py_TRACE_REFS`` define which introduces the only ABI -incompatibility. A new ``./configure --with-trace-refs`` build option is now -required to get ``Py_TRACE_REFS`` define which adds :func:`sys.getobjects` -function and ``PYTHONDUMPREFS`` environment variable. +Release builds and debug builds are now ABI compatible: defining the +``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro, which +introduces the only ABI incompatibility. The ``Py_TRACE_REFS`` macro, which +adds the :func:`sys.getobjects` function and the :envvar:`PYTHONDUMPREFS` +environment variable, can be set using the new ``./configure --with-trace-refs`` +build option. diff --git a/Misc/NEWS.d/next/Build/2019-04-25-01-51-52.bpo-21536.ACQkiC.rst b/Misc/NEWS.d/next/Build/2019-04-25-01-51-52.bpo-21536.ACQkiC.rst index 5e1e717b1ea..8cfad76ab17 100644 --- a/Misc/NEWS.d/next/Build/2019-04-25-01-51-52.bpo-21536.ACQkiC.rst +++ b/Misc/NEWS.d/next/Build/2019-04-25-01-51-52.bpo-21536.ACQkiC.rst @@ -1,12 +1,12 @@ On Unix, C extensions are no longer linked to libpython. -It is now possible to load a C extension built using a shared library Python -with a statically linked Python. +It is now possible for a statically linked Python to load a C extension built +using a shared library Python. When Python is embedded, ``libpython`` must not be loaded with ``RTLD_LOCAL``, but ``RTLD_GLOBAL`` instead. Previously, using ``RTLD_LOCAL``, it was already -not possible to load C extensions which were not linked to ``libpython``, like -C extensions of the standard library built by the ``*shared*`` section of +not possible to load C extensions which were not linked to ``libpython``, such +as C extensions of the standard library built by the ``*shared*`` section of ``Modules/Setup``. distutils, python-config and python-config.py have been modified. diff --git a/Misc/SpecialBuilds.txt b/Misc/SpecialBuilds.txt index 193de57b085..d1a032165f8 100644 --- a/Misc/SpecialBuilds.txt +++ b/Misc/SpecialBuilds.txt @@ -1,5 +1,5 @@ This file describes some special Python build types enabled via compile-time -preprocessor defines. +preprocessor directives. IMPORTANT: if you want to build a debug-enabled Python, it is recommended that you use ``./configure --with-pydebug``, rather than the options listed here.