mirror of
https://github.com/python/cpython.git
synced 2025-11-25 21:11:09 +00:00
ctypes.util.find_library uses dump(1) instead of objdump(1) on Solaris.
Fixes issue #1777530; will backport to release25-maint.
This commit is contained in:
parent
7c82a3e9c6
commit
a7f49f733b
1 changed files with 21 additions and 9 deletions
|
|
@ -66,15 +66,27 @@ elif os.name == "posix":
|
|||
return None
|
||||
return res.group(0)
|
||||
|
||||
def _get_soname(f):
|
||||
# assuming GNU binutils / ELF
|
||||
if not f:
|
||||
return None
|
||||
cmd = "objdump -p -j .dynamic 2>/dev/null " + f
|
||||
res = re.search(r'\sSONAME\s+([^\s]+)', os.popen(cmd).read())
|
||||
if not res:
|
||||
return None
|
||||
return res.group(1)
|
||||
|
||||
if sys.platform == "sunos5":
|
||||
# use /usr/ccs/bin/dump on solaris
|
||||
def _get_soname(f):
|
||||
if not f:
|
||||
return None
|
||||
cmd = "/usr/ccs/bin/dump -Lpv 2>/dev/null " + f
|
||||
res = re.search(r'\[.*\]\sSONAME\s+([^\s]+)', os.popen(cmd).read())
|
||||
if not res:
|
||||
return None
|
||||
return res.group(1)
|
||||
else:
|
||||
def _get_soname(f):
|
||||
# assuming GNU binutils / ELF
|
||||
if not f:
|
||||
return None
|
||||
cmd = "objdump -p -j .dynamic 2>/dev/null " + f
|
||||
res = re.search(r'\sSONAME\s+([^\s]+)', os.popen(cmd).read())
|
||||
if not res:
|
||||
return None
|
||||
return res.group(1)
|
||||
|
||||
if (sys.platform.startswith("freebsd")
|
||||
or sys.platform.startswith("openbsd")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue