Skip to content

Commit 2df82db

Browse files
authored
pythongh-100540: Remove obsolete Modules/_ctypes/darwin/ dlfcn shim (pythonGH-100541)
As far as I can tell, this hasn't been actually used since Mac OS X 10.2.
1 parent 7223d50 commit 2df82db

15 files changed

+15
-540
lines changed

Makefile.pre.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2591,7 +2591,7 @@ MODULE_MATH_DEPS=$(srcdir)/Modules/_math.h
25912591
MODULE_PYEXPAT_DEPS=@LIBEXPAT_INTERNAL@
25922592
MODULE_UNICODEDATA_DEPS=$(srcdir)/Modules/unicodedata_db.h $(srcdir)/Modules/unicodename_db.h
25932593
MODULE__BLAKE2_DEPS=$(srcdir)/Modules/_blake2/impl/blake2-config.h $(srcdir)/Modules/_blake2/impl/blake2-impl.h $(srcdir)/Modules/_blake2/impl/blake2.h $(srcdir)/Modules/_blake2/impl/blake2b-load-sse2.h $(srcdir)/Modules/_blake2/impl/blake2b-load-sse41.h $(srcdir)/Modules/_blake2/impl/blake2b-ref.c $(srcdir)/Modules/_blake2/impl/blake2b-round.h $(srcdir)/Modules/_blake2/impl/blake2b.c $(srcdir)/Modules/_blake2/impl/blake2s-load-sse2.h $(srcdir)/Modules/_blake2/impl/blake2s-load-sse41.h $(srcdir)/Modules/_blake2/impl/blake2s-load-xop.h $(srcdir)/Modules/_blake2/impl/blake2s-ref.c $(srcdir)/Modules/_blake2/impl/blake2s-round.h $(srcdir)/Modules/_blake2/impl/blake2s.c $(srcdir)/Modules/_blake2/blake2module.h $(srcdir)/Modules/hashlib.h
2594-
MODULE__CTYPES_DEPS=$(srcdir)/Modules/_ctypes/ctypes.h $(srcdir)/Modules/_ctypes/darwin/dlfcn.h
2594+
MODULE__CTYPES_DEPS=$(srcdir)/Modules/_ctypes/ctypes.h
25952595
MODULE__CTYPES_MALLOC_CLOSURE=@MODULE__CTYPES_MALLOC_CLOSURE@
25962596
MODULE__DECIMAL_DEPS=$(srcdir)/Modules/_decimal/docstrings.h @LIBMPDEC_INTERNAL@
25972597
MODULE__ELEMENTTREE_DEPS=$(srcdir)/Modules/pyexpat.c @LIBEXPAT_INTERNAL@
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Removed obsolete ``dlfcn.h`` shim from the ``_ctypes`` extension module,
2+
which has not been necessary since Mac OS X 10.2.

Modules/_ctypes/_ctypes.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ bytes(cdata)
120120
#define IS_INTRESOURCE(x) (((size_t)(x) >> 16) == 0)
121121
#endif
122122
#else
123-
#include "ctypes_dlfcn.h"
123+
#include <dlfcn.h>
124124
#endif
125125
#include "ctypes.h"
126126

@@ -768,15 +768,15 @@ CDataType_in_dll(PyObject *type, PyObject *args)
768768
return NULL;
769769
}
770770
#else
771-
address = (void *)ctypes_dlsym(handle, name);
771+
address = (void *)dlsym(handle, name);
772772
if (!address) {
773773
#ifdef __CYGWIN__
774774
/* dlerror() isn't very helpful on cygwin */
775775
PyErr_Format(PyExc_ValueError,
776776
"symbol '%s' not found",
777777
name);
778778
#else
779-
PyErr_SetString(PyExc_ValueError, ctypes_dlerror());
779+
PyErr_SetString(PyExc_ValueError, dlerror());
780780
#endif
781781
return NULL;
782782
}
@@ -3560,15 +3560,15 @@ PyCFuncPtr_FromDll(PyTypeObject *type, PyObject *args, PyObject *kwds)
35603560
return NULL;
35613561
}
35623562
#else
3563-
address = (PPROC)ctypes_dlsym(handle, name);
3563+
address = (PPROC)dlsym(handle, name);
35643564
if (!address) {
35653565
#ifdef __CYGWIN__
35663566
/* dlerror() isn't very helpful on cygwin */
35673567
PyErr_Format(PyExc_AttributeError,
35683568
"function '%s' not found",
35693569
name);
35703570
#else
3571-
PyErr_SetString(PyExc_AttributeError, ctypes_dlerror());
3571+
PyErr_SetString(PyExc_AttributeError, dlerror());
35723572
#endif
35733573
Py_DECREF(ftuple);
35743574
return NULL;

Modules/_ctypes/callproc.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
#include <windows.h>
6868
#include <tchar.h>
6969
#else
70-
#include "ctypes_dlfcn.h"
70+
#include <dlfcn.h>
7171
#endif
7272

7373
#ifdef __APPLE__
@@ -1537,10 +1537,10 @@ static PyObject *py_dl_open(PyObject *self, PyObject *args)
15371537
if (PySys_Audit("ctypes.dlopen", "O", name) < 0) {
15381538
return NULL;
15391539
}
1540-
handle = ctypes_dlopen(name_str, mode);
1540+
handle = dlopen(name_str, mode);
15411541
Py_XDECREF(name2);
15421542
if (!handle) {
1543-
const char *errmsg = ctypes_dlerror();
1543+
const char *errmsg = dlerror();
15441544
if (!errmsg)
15451545
errmsg = "dlopen() error";
15461546
PyErr_SetString(PyExc_OSError,
@@ -1558,7 +1558,7 @@ static PyObject *py_dl_close(PyObject *self, PyObject *args)
15581558
return NULL;
15591559
if (dlclose(handle)) {
15601560
PyErr_SetString(PyExc_OSError,
1561-
ctypes_dlerror());
1561+
dlerror());
15621562
return NULL;
15631563
}
15641564
Py_RETURN_NONE;
@@ -1576,10 +1576,10 @@ static PyObject *py_dl_sym(PyObject *self, PyObject *args)
15761576
if (PySys_Audit("ctypes.dlsym/handle", "O", args) < 0) {
15771577
return NULL;
15781578
}
1579-
ptr = ctypes_dlsym((void*)handle, name);
1579+
ptr = dlsym((void*)handle, name);
15801580
if (!ptr) {
15811581
PyErr_SetString(PyExc_OSError,
1582-
ctypes_dlerror());
1582+
dlerror());
15831583
return NULL;
15841584
}
15851585
return PyLong_FromVoidPtr(ptr);

Modules/_ctypes/ctypes_dlfcn.h

Lines changed: 0 additions & 27 deletions
This file was deleted.

Modules/_ctypes/darwin/LICENSE

Lines changed: 0 additions & 31 deletions
This file was deleted.

Modules/_ctypes/darwin/README

Lines changed: 0 additions & 95 deletions
This file was deleted.

Modules/_ctypes/darwin/README.ctypes

Lines changed: 0 additions & 11 deletions
This file was deleted.

Modules/_ctypes/darwin/dlfcn.h

Lines changed: 0 additions & 84 deletions
This file was deleted.

0 commit comments

Comments
 (0)