New submission from STINNER Victor <vstin...@redhat.com>:
bpo-36465 modified the ABI of debug build so release and debug build now have the same ABI. bpo-21536 modified how C extensions are built: they are no longer linked to libpython. In a debug build, it becomes possible to load a C extension built in release mode: https://bugs.python.org/issue21536#msg340821 But I had to modify SOABI for that. I propose to modify how Python looks for C extensions: look also for dynamic libraries without the "d" SOABI flag and for C extensions built using the stable ABI. Release build: $ ./python -c 'import _imp; print(_imp.extension_suffixes())' ['.cpython-38-x86_64-linux-gnu.so', '.abi3.so', '.so'] Debug build, *WITHOUT* my change: $ ./python -c 'import _imp; print(_imp.extension_suffixes())' ['.cpython-38d-x86_64-linux-gnu.so', '.so'] Debug build, *WITH* my change: $ ./python -c 'import _imp; print(_imp.extension_suffixes())' ['.cpython-38d-x86_64-linux-gnu.so', '.cpython-38-x86_64-linux-gnu.so', '.abi3.so', '.so'] ---------- components: Build messages: 340856 nosy: vstinner priority: normal severity: normal status: open title: In debug build, load also C extensions compiled in release mode or compiled using the stable ABI versions: Python 3.8 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36722> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com