When profiling code that uses functions from a super-stripped library (i.e., no symbol info), you must have a separate debuginfo file available for that library in order to attribute samples to symbols. For the basic --symbols option of opreport, oprofile correctly obtains the necessary information from the debuginfo to attribute the samples to symbols. However, when using the --debug-info option of opreport, samples are not always attributed to the correct source file and line number.
If the super-stripped library in question is a simple one (say, with just one source file), then source file and line numbers are correct. But for something more complex, like libc, the file/line# info is invariably wrong.
I've reproduced this problem with both 32-bit and 64-bit libraries and on ppc64 and x86_64 platforms.
Log in to post a comment.