From 6f52b9f432663f75acb605c679c4d140f3f5960b Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Fri, 20 Jun 2025 20:12:54 +0100 Subject: [PATCH 1/3] fix `PyPyModule_ExecDef` definition --- pyo3-ffi/src/modsupport.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/pyo3-ffi/src/modsupport.rs b/pyo3-ffi/src/modsupport.rs index 344e0abb979..b41597fa5ad 100644 --- a/pyo3-ffi/src/modsupport.rs +++ b/pyo3-ffi/src/modsupport.rs @@ -73,6 +73,7 @@ extern "C" { // skipped PyModule_AddStringMacro pub fn PyModule_SetDocString(arg1: *mut PyObject, arg2: *const c_char) -> c_int; pub fn PyModule_AddFunctions(arg1: *mut PyObject, arg2: *mut PyMethodDef) -> c_int; + #[cfg_attr(PyPy, link_name = "PyPyModule_ExecDef")] pub fn PyModule_ExecDef(module: *mut PyObject, def: *mut PyModuleDef) -> c_int; } From 128c28af171a05e564a348a0f11f9175a3db526b Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Sat, 26 Jul 2025 19:09:30 +0100 Subject: [PATCH 2/3] fix PyPy link name for `PyModule_FromDefAndSpec2` --- pyo3-ffi/src/modsupport.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/pyo3-ffi/src/modsupport.rs b/pyo3-ffi/src/modsupport.rs index b41597fa5ad..8cda23a8c2d 100644 --- a/pyo3-ffi/src/modsupport.rs +++ b/pyo3-ffi/src/modsupport.rs @@ -91,6 +91,7 @@ extern "C" { fn PyModule_Create2TraceRefs(module: *mut PyModuleDef, apiver: c_int) -> *mut PyObject; #[cfg(not(py_sys_config = "Py_TRACE_REFS"))] + #[cfg_attr(PyPy, link_name = "PyPyModule_FromDefAndSpec2")] pub fn PyModule_FromDefAndSpec2( def: *mut PyModuleDef, spec: *mut PyObject, From 67ecec4448f0588b0804b940292c5cde2036c0b0 Mon Sep 17 00:00:00 2001 From: Bazaah Date: Fri, 17 Oct 2025 12:53:20 +0000 Subject: [PATCH 3/3] newsfragments: add PR --- newsfragments/5529.fixed.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 newsfragments/5529.fixed.md diff --git a/newsfragments/5529.fixed.md b/newsfragments/5529.fixed.md new file mode 100644 index 00000000000..453e96ae9c8 --- /dev/null +++ b/newsfragments/5529.fixed.md @@ -0,0 +1 @@ +fix `PyPyModule_ExecDef`, `PyPyModule_FromDefAndSpec2` definitions