[Python-checkins] bpo-42591: Export missing Py_FrozenMain() symbol (GH-23730)

vstinner webhook-mailer at python.org
Thu Dec 10 12:39:26 EST 2020


https://github.com/python/cpython/commit/b5c7b38f5ebbc84b5b80192db1743d3e1cdcf4c5
commit: b5c7b38f5ebbc84b5b80192db1743d3e1cdcf4c5
branch: master
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2020-12-10T18:39:17+01:00
summary:

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.

files:
A Misc/NEWS.d/next/C API/2020-12-10-10-43-03.bpo-42591.CXNY8G.rst
M Include/pylifecycle.h
M PC/python3dll.c

diff --git a/Include/pylifecycle.h b/Include/pylifecycle.h
index c5368b3c5edaa..783fcb455eb52 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 0000000000000..3519859f7be89
--- /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 27cc315de2dd1..9eb81e36af001 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)



More information about the Python-checkins mailing list