I'm trying to add the debugging symbols for glibc to the hotspot analysis. I have installed the debug-info rpms under /usr/lib/debug/lib64 and am using:
amplxe-cl -collect hotspots -search-dir sym:rp=/usr/lib/debug/lib64 <application> <params>
to perform the analysis. However while I have libpthread-2.12.so.debug under /usr/lib/debug/lib, VTune still gives me a warning:
amplxe: Collection stopped.
amplxe: Using result path `/root/mshoushtari/workspace/fio1/r002hs'
amplxe: Executing actions 16 % Resolving information for `libpthread-2.12.so'
amplxe: Warning: Cannot match file `/usr/lib/debug/lib64/librt-2.12.so.debug': checksum mismatch.
amplxe: Warning: Cannot locate debugging symbols for file `/lib64/librt-2.12.so'.
amplxe: Executing actions 16 % Resolving information for `libc-2.12.so'
amplxe: Warning: Cannot match file `/usr/lib/debug/lib64/libpthread-2.12.so.debug': checksum mismatch.
amplxe: Warning: Cannot locate debugging symbols for file `/lib64/libpthread-2.12.so'.
amplxe: Executing actions 18 % Resolving information for `libtpsstool.so'
amplxe: Warning: Cannot locate debugging symbols for file `/opt/intel/vtune_amplifier_xe_2015.2.0.393444/lib64/libtpsstool.so'.
amplxe: Warning: Cannot match file `/usr/lib/debug/lib64/libc-2.12.so.debug': checksum mismatch.
amplxe: Warning: Cannot locate debugging symbols for file `/lib64/libc-2.12.so'.
amplxe: Executing actions 50 % Generating a report
Any idea how this should be resolved?
"checksum mismatch" - it means the file doesn't match the one you collected data for.
Is the file "/usr/lib/debug/lib64/libpthread-2.12.so.debug" the full binary or symbols only? Either way, it would seem it is not the same as the one sampled: /lib64/libpthread-2.12.so.
However, there is very little reason for you to need those symbols. Are you wanting to profile the pthread library? How many samples are in the library (this is shown even if symbols are not available, use the "Modules / Functions / Call stack" grouping and look for "[pthread]")? It should be an insignificant number wrt the entire app.
Basically, I think you can ignore this "warning".
I'm trying to profile/optimize a driver (kernel module), so I'm interested in having the debug symbols for glibc enabled.
I did "yum info glibc" to get the version of my glibc:
Name : glibc
Arch : x86_64
Version : 2.12
Release : 1.149.el6_6.9
then installed the corresponding debug info for that version, namely:
the installation process, created a directory under /usr/lib/debug/lib64/ which contains bunch of *.so.debug files. How exactly VTune expects to find the symbols when we specify -search-dir sym:rp=<PATH>?
First, what version of VTune Amplifier are you using? Your search-dir options aren't in the latest help documentation, so I suspect you are using an older release. I don't remember what the options are.
WRT "how exactly VTune expects to find the symbols", VTune Amplifier is finding the files you are pointing to! The problem is, the symbol info files and the binaries are checksum'd and either they don't match or the checksum is bad for the debug file, so VTune Amplifier is not loading them. Can you attach both files for one of the libraries to this thread?