Skip to content

Commit 6ea2b98

Browse files
committed
[GR-70971] Use libffi closure allocation for macOS ctypes callbacks
1 parent e81bc35 commit 6ea2b98

2 files changed

Lines changed: 4 additions & 5 deletions

File tree

graalpython/com.oracle.graal.python.cext/CMakeLists.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -381,9 +381,6 @@ set(CTYPES_SRC
381381
"${SRC_DIR}/modules/_ctypes/ctypes.h"
382382
"${SRC_DIR}/modules/_ctypes/stgdict.c"
383383
)
384-
if(APPLE)
385-
set(CTYPES_SRC ${CTYPES_SRC} "${SRC_DIR}/modules/_ctypes/malloc_closure.c")
386-
endif()
387384
native_module("_ctypes" TRUE "${CTYPES_SRC}")
388385
if(WIN32)
389386
target_compile_definitions("_ctypes" PRIVATE MS_WIN32 MS_WINDOWS)
@@ -434,7 +431,9 @@ elseif(APPLE)
434431
HAVE_DECL_RTLD_LOCAL
435432
HAVE_DECL_RTLD_GLOBAL
436433
HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH
437-
USING_MALLOC_CLOSURE_DOT_C
434+
HAVE_FFI_CLOSURE_ALLOC
435+
HAVE_FFI_PREP_CIF_VAR
436+
HAVE_FFI_PREP_CLOSURE_LOC
438437
)
439438
else()
440439
target_compile_definitions("_ctypes" PRIVATE

graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_ctypes.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ test.test_ctypes.test_arrays.ArrayTestCase.test_subclass @ darwin-arm64,linux-aa
2121
test.test_ctypes.test_arrays.ArrayTestCase.test_zero_length @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
2222
test.test_ctypes.test_as_parameter.AsParamNestedWrapperTestCase.test_byval @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
2323
test.test_ctypes.test_as_parameter.AsParamNestedWrapperTestCase.test_callbacks @ linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
24-
test.test_ctypes.test_as_parameter.AsParamNestedWrapperTestCase.test_callbacks_2 @ linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
24+
test.test_ctypes.test_as_parameter.AsParamNestedWrapperTestCase.test_callbacks_2 @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
2525
test.test_ctypes.test_as_parameter.AsParamNestedWrapperTestCase.test_longlong_callbacks @ linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
2626
test.test_ctypes.test_as_parameter.AsParamNestedWrapperTestCase.test_pointers @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
2727
test.test_ctypes.test_as_parameter.AsParamNestedWrapperTestCase.test_recursive_as_param @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github

0 commit comments

Comments
 (0)