Hi

> On Mon, Aug 9, 2010 at 8:47 PM, Michael Hope <michael.h...@linaro.org> wrote:
>> I'd like to record the running of a typical program such as Firefox,
>> GCC, or ffmpeg and capture the calls and arguments to functions like
>> strcpy() and memcpy().  The idea is to generate a usage profile so we
>> can tell what standard library functions and what variants (i.e.
>> aligned/unaligned, small copy/large copy) to attack first.
>>

The linux perf tool may also help you:
https://perf.wiki.kernel.org/index.php/Main_Page

Think of it as "Oprofile 2" (though no doubt someone would flame me
for that).  It's a sampling profiler, so it won't count function calls
AFAIK.  But you can identify hotsports, both in libraries and the
kernel as well as the target application.

Note - some patches to the perf tools is needed if you want to get
correct profiling information from prebuilt Ubuntu packages; there's
also one minor ARM-specific fix - see
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/608775

You will also need the debug images for any libraries you want
profiling information for.  Debug package names not completely
predictable, but are usually either:
   * <binary-package-name>-dbg (from the standard archives), or
   * <binary-package-name>-dbgsym (from http://ddebs.ubuntu.com/) -
see https://wiki.edubuntu.org/DebuggingProgramCrash

Common packages are more likely to have an explicitly-generated debug
package (*-dbg); *-dbgsym are generated automatically for most other
packages.


Cheers
---Dave

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to