summarylogtreecommitdiffstats
path: root/0029-MINGW-support-stdcall-without-underscore.patch
diff options
context:
space:
mode:
Diffstat (limited to '0029-MINGW-support-stdcall-without-underscore.patch')
-rw-r--r--0029-MINGW-support-stdcall-without-underscore.patch54
1 files changed, 0 insertions, 54 deletions
diff --git a/0029-MINGW-support-stdcall-without-underscore.patch b/0029-MINGW-support-stdcall-without-underscore.patch
deleted file mode 100644
index 8275227ab444..000000000000
--- a/0029-MINGW-support-stdcall-without-underscore.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 8353a7f30f7dc0a33111f43ad2ce7acfa6de0a32 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?=
- <alexey.pawlow@gmail.com>
-Date: Thu, 17 Jun 2021 18:51:39 +0530
-Subject: [PATCH 029/N] MINGW support stdcall without underscore
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Co-authored-by: Алексей <alexey.pawlow@gmail.com>
----
- Modules/_ctypes/_ctypes.c | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
-index ceae67e..b9cf96b 100644
---- a/Modules/_ctypes/_ctypes.c
-+++ b/Modules/_ctypes/_ctypes.c
-@@ -3406,6 +3406,18 @@ static PPROC FindAddress(void *handle, const char *name, PyObject *type)
- mangled_name = alloca(strlen(name) + 1 + 1 + 1 + 3); /* \0 _ @ %d */
- if (!mangled_name)
- return NULL;
-+ /* Issue: for stdcall decorated export functions MSVC compiler adds
-+ * underscore, but GCC compiler create them without. This is
-+ * visible by example for _ctypes_test.pyd module.
-+ * As well functions from system libraries are without underscore.
-+ * Solutions:
-+ * - If a python module is build with gcc option --add-stdcall-alias
-+ * the module will contain XXX as alias for function XXX@ as result
-+ * first search in this method will succeed.
-+ * - Distutil may use compiler to create def-file, to modify it as
-+ * add underscore alias and with new def file to create module.
-+ * - Or may be just to search for function without underscore.
-+ */
- for (i = 0; i < 32; ++i) {
- sprintf(mangled_name, "_%s@%d", name, i*4);
- Py_BEGIN_ALLOW_THREADS
-@@ -3413,6 +3425,13 @@ static PPROC FindAddress(void *handle, const char *name, PyObject *type)
- Py_END_ALLOW_THREADS
- if (address)
- return address;
-+ /* search for function without underscore as weel */
-+ sprintf(mangled_name, "%s@%d", name, i*4);
-+ Py_BEGIN_ALLOW_THREADS
-+ address = (PPROC)GetProcAddress(handle, mangled_name);
-+ Py_END_ALLOW_THREADS
-+ if (address)
-+ return address;
- }
- return NULL;
- #endif
---
-2.32.0
-