22 lines
1.0 KiB
Diff
22 lines
1.0 KiB
Diff
|
diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
|
||
|
index ab10ec5..923d1b7 100644
|
||
|
--- a/Lib/ctypes/util.py
|
||
|
+++ b/Lib/ctypes/util.py
|
||
|
@@ -140,11 +140,15 @@ elif os.name == "posix":
|
||
|
# assuming GNU binutils / ELF
|
||
|
if not f:
|
||
|
return None
|
||
|
- cmd = 'if ! type objdump >/dev/null 2>&1; then exit; fi;' \
|
||
|
+ cmd = 'if ! type objdump >/dev/null 2>&1; then exit 10; fi;' \
|
||
|
'objdump -p -j .dynamic 2>/dev/null "$1"'
|
||
|
proc = subprocess.Popen((cmd, '_get_soname', f), shell=True,
|
||
|
stdout=subprocess.PIPE)
|
||
|
[dump, _] = proc.communicate()
|
||
|
+ if proc.returncode == 10:
|
||
|
+ return os.path.basename(f) # This is good for GLibc, I think,
|
||
|
+ # and a dep on binutils is big (for
|
||
|
+ # live CDs).
|
||
|
res = re.search(br'\sSONAME\s+([^\s]+)', dump)
|
||
|
if not res:
|
||
|
return None
|