On Mon, 2010-08-02 at 10:55 +0100, Dave Martin wrote:
Hi there,
I worked on a few patches to the help the userspace perf tools do better at loading debug symbols -- this is particularly of interest on Ubuntu and Linaro where separated debug symbols in .ddebs are typically not loaded even when present. Note that even with the patches, the contents of .ddebs are still not cached by perf along with the other profiled binaries, so you will still lose the symbols if you uninstall/upgrade your ddebs in the meantime. This should get fixed in the future.
Due to mailserver issues, Arnaldo kindly helped merge these patches for me. The patches are now merged to the linux-2.6-tip master branch.
You can find details of the commits here:
Thanks for passing this along! I am interested in figuring out whether we should backport the patches to Ubuntu Maverick.
I took a look at the first two patches that deal with the cwd issue. Although it fixes a real bug, I'm not sure it's worthwhile to pull it into the Ubuntu Maverick kernel because it's rather esoteric. For those unaware, the bug is triggered by starting a perf record while inside a directory along the path to the executable being recorded. For example:
/bin # perf record ls /bin # pert report
The report will work but it won't find the debug symbols in /usr/lib/debug/bin/ls. Moving to a different directory, like /tmp, while recording is a work around.
Since the bug is likely never to be seen except when running perf inside system directories (which doesn't seem like a good usage scenario), I'm inclined to recommend not backporting this for Ubuntu.
However, I still don't fully understand the issue surrounding the buildid cache bug fix. Can you provide more details on the issue this is fixing? It may be something we want to consider for Maverick, but I need more info to know what's going on.
Thanks,
-- Chase