diff options
Diffstat (limited to 'sys-apps/kmod/files/kmod-26/fix-from-upstream-undef-symbols-check-when-building-python-mods.patch')
| -rw-r--r-- | sys-apps/kmod/files/kmod-26/fix-from-upstream-undef-symbols-check-when-building-python-mods.patch | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/sys-apps/kmod/files/kmod-26/fix-from-upstream-undef-symbols-check-when-building-python-mods.patch b/sys-apps/kmod/files/kmod-26/fix-from-upstream-undef-symbols-check-when-building-python-mods.patch deleted file mode 100644 index ad5ebfa9aa2a..000000000000 --- a/sys-apps/kmod/files/kmod-26/fix-from-upstream-undef-symbols-check-when-building-python-mods.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 1d14ef82f4a3be741bcdf6b1c6d51ce9dce43567 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@bootlin.com> -Date: Thu, 24 Oct 2019 19:47:10 +0200 -Subject: Do not check for undefined symbols when building the Python modules - -kmod's configure.ac uses the -Wl,--no-undefined linker flag to verify -at link time that all symbols of shared libraries are available, and -that there are no undefined symbols. - -This make perfect sense for regular shared libraries. However, for -Python extensions, which will be dlopen()ed inside the Python -interpreter, it makes less sense. - -Since Python 3.8, there is a change in python-config script and -Python's pkg-config file: it no longer links Python extensions with -the libpython library. See -https://docs.python.org/dev/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build -which states: - - On the other hand, pkg-config python3.8 --libs no longer contains - -lpython3.8. C extensions must not be linked to libpython (except on - Android and Cygwin, whose cases are handled by the script); this - change is backward incompatible on purpose. (Contributed by Victor - Stinner in bpo-36721.) - -So, when linking the kmod Python extensions, it currently fails with -numerous unresolved symbols, that were previously provided by -libpython: - -/home/test/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/powerpc64-buildroot-linux-gnu/7.4.0/../../../../powerpc64-buildroot-linux-gnu/bin/ld: libkmod/python/kmod/.libs/list_la-list.o: in function `__Pyx_PyObject_GetAttrStr': -list.c:(.text.__Pyx_PyObject_GetAttrStr+0x48): undefined reference to `PyObject_GetAttr' -/home/test/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/powerpc64-buildroot-linux-gnu/7.4.0/../../../../powerpc64-buildroot-linux-gnu/bin/ld: libkmod/python/kmod/.libs/list_la-list.o: in function `__pyx_tp_dealloc_4kmod_4list_ModListItem': -list.c:(.text.__pyx_tp_dealloc_4kmod_4list_ModListItem+0x78): undefined reference to `PyObject_CallFinalizerFromDealloc' -/home/test/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/powerpc64-buildroot-linux-gnu/7.4.0/../../../../powerpc64-buildroot-linux-gnu/bin/ld: libkmod/python/kmod/.libs/list_la-list.o: in function `__pyx_tp_dealloc_4kmod_4list_ModList': -list.c:(.text.__pyx_tp_dealloc_4kmod_4list_ModList+0x30): undefined reference to `PyErr_Fetch' - -[Complete log at http://autobuild.buildroot.net/results/79a/79a5a0398723e8cfea0d0aa3dec5f7649aee4c63/build-end.log] - -Linking with libpython is no longer recommended: those symbols should -remain unresolved in the Python extensions, as they wil be properly -resolved when the Python extension gets loaded into the Python -interpreter. - -Since we want to keep -Wl,--no-undefined globally in kmod, we leave -the configure.ac file unchanged, and instead, specifically in the -LDFLAGS used to build the Python extensions, we override --Wl,--no-undefined with -Wl,-z,undefs. Ideally, -Wl,--no-undefined is -the same as -Wl,-z,defs, and the effect of these options can be -canceled on the linker command line by a following -Wl,-z,undefs (see -the ld man page for details). - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> -Cc: Victor Stinner <victor.stinner@gmail.com> ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index c5c2f06..8e9c90d 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -173,7 +173,7 @@ CPYTHON_MODULE_CFLAGS = \ - $(AM_CFLAGS) -DCPYTHON_COMPILING_IN_PYPY=0 \ - $(PYTHON_NOWARN) $(PYTHON_CFLAGS) \ - -fvisibility=default --CPYTHON_MODULE_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version -shared -+CPYTHON_MODULE_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version -shared -Wl,-z,undefs - - if BUILD_PYTHON - pkgpyexec_LTLIBRARIES = \ --- -cgit 1.2-0.3.lf.el7 - |
