From b5c7b38f5ebbc84b5b80192db1743d3e1cdcf4c5 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 10 Dec 2020 18:39:17 +0100 Subject: [PATCH] bpo-42591: Export missing Py_FrozenMain() symbol (GH-23730) Export the Py_FrozenMain() function: fix a Python 3.9.0 regression. Python 3.9 uses -fvisibility=hidden and the function was not exported explicitly and so not exported. Add also Py_FrozenMain to the stable ABI on Windows. --- Include/pylifecycle.h | 2 ++ .../NEWS.d/next/C API/2020-12-10-10-43-03.bpo-42591.CXNY8G.rst | 3 +++ PC/python3dll.c | 1 + 3 files changed, 6 insertions(+) create mode 100644 Misc/NEWS.d/next/C API/2020-12-10-10-43-03.bpo-42591.CXNY8G.rst diff --git a/Include/pylifecycle.h b/Include/pylifecycle.h index c5368b3c5ed..783fcb455eb 100644 --- a/Include/pylifecycle.h +++ b/Include/pylifecycle.h @@ -32,6 +32,8 @@ PyAPI_FUNC(void) _Py_NO_RETURN Py_Exit(int); /* Bootstrap __main__ (defined in Modules/main.c) */ PyAPI_FUNC(int) Py_Main(int argc, wchar_t **argv); +PyAPI_FUNC(int) Py_FrozenMain(int argc, char **argv); + PyAPI_FUNC(int) Py_BytesMain(int argc, char **argv); /* In pathconfig.c */ diff --git a/Misc/NEWS.d/next/C API/2020-12-10-10-43-03.bpo-42591.CXNY8G.rst b/Misc/NEWS.d/next/C API/2020-12-10-10-43-03.bpo-42591.CXNY8G.rst new file mode 100644 index 00000000000..3519859f7be --- /dev/null +++ b/Misc/NEWS.d/next/C API/2020-12-10-10-43-03.bpo-42591.CXNY8G.rst @@ -0,0 +1,3 @@ +Export the :c:func:`Py_FrozenMain` function: fix a Python 3.9.0 regression. +Python 3.9 uses ``-fvisibility=hidden`` and the function was not exported +explicitly and so not exported. diff --git a/PC/python3dll.c b/PC/python3dll.c index 27cc315de2d..9eb81e36af0 100644 --- a/PC/python3dll.c +++ b/PC/python3dll.c @@ -49,6 +49,7 @@ EXPORT_FUNC(Py_Exit) EXPORT_FUNC(Py_FatalError) EXPORT_FUNC(Py_Finalize) EXPORT_FUNC(Py_FinalizeEx) +EXPORT_FUNC(Py_FrozenMain) EXPORT_FUNC(Py_GenericAlias) EXPORT_FUNC(Py_GenericAliasType) EXPORT_FUNC(Py_GetArgcArgv)