Author: Matti Picus <[email protected]>
Branch: bsd-patches
Changeset: r92897:16db4e36eac0
Date: 2017-11-01 21:14 +0200
http://bitbucket.org/pypy/pypy/changeset/16db4e36eac0/
Log: patch from issue2695, fail early in ll2ctypes RTLD code
diff --git a/rpython/rtyper/lltypesystem/ll2ctypes.py
b/rpython/rtyper/lltypesystem/ll2ctypes.py
--- a/rpython/rtyper/lltypesystem/ll2ctypes.py
+++ b/rpython/rtyper/lltypesystem/ll2ctypes.py
@@ -1147,7 +1147,7 @@
libc_name = get_libc_name() # Make sure the name is determined during
import, not at runtime
if _FREEBSD:
RTLD_DEFAULT = -2 # see <dlfcn.h>
- rtld_default_lib = ctypes.CDLL("RTLD_DEFAULT", handle=RTLD_DEFAULT,
**load_library_kwargs)
+ rtld_default_lib = ctypes.CDLL("ld-elf.so.1", handle=RTLD_DEFAULT,
**load_library_kwargs)
# XXX is this always correct???
standard_c_lib = ctypes.CDLL(libc_name, **load_library_kwargs)
@@ -1243,7 +1243,7 @@
if cfunc is None:
if _FREEBSD and funcname in ('dlopen', 'fdlopen', 'dlsym', 'dlfunc',
'dlerror', 'dlclose'):
- cfunc = get_on_lib(rtld_default_lib, funcname)
+ cfunc = rtld_default_lib[funcname]
else:
cfunc = get_on_lib(standard_c_lib, funcname)
# XXX magic: on Windows try to load the function from 'kernel32' too
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit