# Use `dwarfdump --search-regex` to reduce output lines. Worse.
time find debian/build/build-oem \( -name vmlinux -o -name \*.ko \) -print0 | \
xargs -0 -P $(nproc) -I % \
sh -c "dwarfdump --search-regex='DW_AT_(call|decl)_file' % | awk
'/^DW_AT_(call|decl)_file.*\// {print substr($0, index($0, \"/\"))}' | sort -u
| flock -x debian/build/build-oem/sources.list.lock cat" | sort -u > \
debian/build/build-oem/sources.list
real 7m20.015s
user 40m55.983s
sys 6m36.425s
=========================================================
# Use `sort --parallel`. No much improves.
time find /home/vicamo/build/worktree/1/debian/build/build-oem \( -name vmlinux
-o -name \*.ko \) -print0 | \
xargs -0 -P $(nproc) -I % \
sh -c "dwarfdump -i % | awk '/DW_AT_(call|decl)_file.*\// {print
substr($0, index($0, \"/\"))}' | sort -u | flock -x
/home/vicamo/build/worktree/1/debian/build/build-oem/sources.list.lock cat" |
sort -u --parallel=$(nproc) > \
/home/vicamo/build/worktree/1/debian/build/build-oem/sources.list
real 6m27.027s
user 39m10.054s
sys 5m41.264s
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2104911
Title:
sources list generation using dwarfdump takes up to 0.5hr in build
process
Status in linux package in Ubuntu:
New
Status in linux source package in Focal:
New
Status in linux source package in Jammy:
New
Status in linux source package in Noble:
New
Status in linux source package in Oracular:
New
Status in linux source package in Plucky:
New
Bug description:
In debian/rules.d/2-binary-arch.mk, stamp-build-% targets, we have:
```
# Collect the list of kernel source files used for this build. Need to do
this early
# before modules are stripped. Fail if the resulting file is empty.
find $(build_dir) \( -name vmlinux -o -name \*.ko \) -exec dwarfdump -i {} \;
| \
grep -E 'DW_AT_(call|decl)_file' | sed -n 's|.*\s/|/|p' | sort -u > \
$(build_dir)/sources.list
test -s $(build_dir)/sources.list
```
The process is single threaded and may takes up to half an hour to complete:
```
$ time ...
real 28m15.167s
user 54m32.917s
sys 4m32.531s
```
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2104911/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp