From 41533f46cc228affe9bae93637d8a0c6c88742fa Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 10 Dec 2020 10:40:34 +0100 Subject: [PATCH] bpo-42591: Export missing Py_FrozenMain() symbol 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 c5368b3c5edaa08..783fcb455eb5289 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 000000000000000..3519859f7be89d3 --- /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 27cc315de2dd199..9eb81e36af0013e 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)