aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-12-10 18:39:17 +0100
committerGitHub <noreply@github.com>2020-12-10 18:39:17 +0100
commitb5c7b38f5ebbc84b5b80192db1743d3e1cdcf4c5 (patch)
treea906b17b3fbb6f78b92b23034908d0b231317766
parentbpo-42517: [Enum] do not convert private names into members (GH-23722) (diff)
downloadcpython-b5c7b38f5ebbc84b5b80192db1743d3e1cdcf4c5.tar.gz
cpython-b5c7b38f5ebbc84b5b80192db1743d3e1cdcf4c5.tar.bz2
cpython-b5c7b38f5ebbc84b5b80192db1743d3e1cdcf4c5.zip
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.
-rw-r--r--Include/pylifecycle.h2
-rw-r--r--Misc/NEWS.d/next/C API/2020-12-10-10-43-03.bpo-42591.CXNY8G.rst3
-rw-r--r--PC/python3dll.c1
3 files changed, 6 insertions, 0 deletions
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)