Comment 17 for bug 669641

Revision history for this message
Peter Petrakis (peter-petrakis) wrote :

The root cause of the build failure under precise was that we were trying to assign
an entry to debuglink that didn't exist. When the build was iterating over
kos, it simply expects that the path in /lib/modules will mirror that found
in /usr/lib/debug, this is not always true. There are modules copied to
places like /lib/modules/3.2.0-25-generic/initrd/, of which there exists no
analog under the current debug tree structure, nor should there as it's a
copy of a perfectly probable module already found in kernel/

This updated v2 patches checks that the destination debug ko exists before
attempt to update the gnu_debuglink section. It's also noteworthy that
objcopy isn't just recording a pathname into that space, it's reading the unstripped
ko.

I've tested this patch extensively on precise, including developer builds where
I delete the build stamp, change the source code for a single module and incrementally
rebuild the entire package. The dbgsyms remain consistent.