$ find deb-modules/ -name '*.ko' | while read ko; do objdump -h -j .gnu_debuglink $ko >/dev/null 2>&1 || echo "Module without debug link '$ko'"; done
Module without debug link 'deb-modules/lib/modules/5.3.0-8-generic/kernel/zfs/icp.ko'
Module without debug link 'deb-modules/lib/modules/5.3.0-8-generic/kernel/zfs/spl.ko'
Module without debug link 'deb-modules/lib/modules/5.3.0-8-generic/kernel/zfs/zavl.ko'
Module without debug link 'deb-modules/lib/modules/5.3.0-8-generic/kernel/zfs/zcommon.ko'
Module without debug link 'deb-modules/lib/modules/5.3.0-8-generic/kernel/zfs/zfs.ko'
Module without debug link 'deb-modules/lib/modules/5.3.0-8-generic/kernel/zfs/zlua.ko'
Module without debug link 'deb-modules/lib/modules/5.3.0-8-generic/kernel/zfs/znvpair.ko'
Module without debug link 'deb-modules/lib/modules/5.3.0-8-generic/kernel/zfs/zunicode.ko'
By the way, this is also the case for *all* modules in the 'linux-modules-extra' package:
(only modules in the 'linux-modules' package have '.gnu_debuglink' sections).
Test Build 1) Old behavior
goal: show limitations/issues.
- original packaging
- zfs not built with debug symbols
- zfs modules not present in debug package
- extra modules lack .gnu_debuglink section
Original packaging:
There are no ZFS modules in the debug package:
$ dpkg-deb -x linux-image- unsigned- 5.3.0-8- generic- dbgsym_ 5.3.0-8. 9_amd64. ddeb ddeb-orig
$ ls ddeb-orig/ usr/lib/ debug/lib/ modules/ 5.3.0-8- generic/ kernel/ zfs
...: No such file or directory
Accordingly, the ZFS modules are the only modules without '.gnu_debuglink' section in the 'linux-modules' package:
$ dpkg-deb -x linux-modules- 5.3.0-8- generic_ 5.3.0-8. 9_amd64. deb deb-modules
$ find deb-modules/ -name '*.ko' | while read ko; do objdump -h -j .gnu_debuglink $ko >/dev/null 2>&1 || echo "Module without debug link '$ko'"; done lib/modules/ 5.3.0-8- generic/ kernel/ zfs/icp. ko' lib/modules/ 5.3.0-8- generic/ kernel/ zfs/spl. ko' lib/modules/ 5.3.0-8- generic/ kernel/ zfs/zavl. ko' lib/modules/ 5.3.0-8- generic/ kernel/ zfs/zcommon. ko' lib/modules/ 5.3.0-8- generic/ kernel/ zfs/zfs. ko' lib/modules/ 5.3.0-8- generic/ kernel/ zfs/zlua. ko' lib/modules/ 5.3.0-8- generic/ kernel/ zfs/znvpair. ko' lib/modules/ 5.3.0-8- generic/ kernel/ zfs/zunicode. ko'
Module without debug link 'deb-modules/
Module without debug link 'deb-modules/
Module without debug link 'deb-modules/
Module without debug link 'deb-modules/
Module without debug link 'deb-modules/
Module without debug link 'deb-modules/
Module without debug link 'deb-modules/
Module without debug link 'deb-modules/
By the way, this is also the case for *all* modules in the 'linux- modules- extra' package:
(only modules in the 'linux-modules' package have '.gnu_debuglink' sections).
$ dpkg-deb -x linux-modules- extra-5. 3.0-8-generic_ 5.3.0-8. 9_amd64. deb deb-modules-extras
$ find deb-modules-extras/ -name '*.ko' | wc -l
4508
$ find deb-modules-extras/ -name '*.ko' | while read ko; do objdump -h -j .gnu_debuglink $ko >/dev/null 2>&1 || echo "Module without debug link '$ko'"; done | wc -l
4508