From 8679e52b9632254c247db31020d09e877071366e Mon Sep 17 00:00:00 2001 From: Rudolf Marek Date: Fri, 2 Sep 2011 23:34:15 +0200 Subject: Add support utils for tracing Following patch adds a userspace util genprof which is able to convert the console printed traces to gmon.out file used by gprof & friends. The log2dress will replace the adresses in logfile with a line numbers. Change-Id: I9f716f3ff2522a24fbc844a1dd5e32ef49b540c5 Signed-off-by: Rudolf Marek Reviewed-on: http://review.coreboot.org/179 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- util/genprof/README | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 util/genprof/README (limited to 'util/genprof/README') diff --git a/util/genprof/README b/util/genprof/README new file mode 100644 index 0000000000..3483a2b22b --- /dev/null +++ b/util/genprof/README @@ -0,0 +1,31 @@ +Function tracing +---------------- + +Enable CONFIG_TRACE in debug menu. Run the compiled image on target. You will get +a log with a lot of lines like: + +... +~0x001072e8(0x00100099) +~0x00108bc0(0x0010730a) +... + +First address is address of function which was just entered, the second address +is address of functions which call that. + +You can use the log2dress to dress the log again: + +... +src/arch/x86/lib/c_start.S:85 calls /home/ruik/coreboot/src/boot/selfboot.c:367 +/home/ruik/coreboot/src/boot/selfboot.c:370 calls /home/ruik/coreboot/src/devices/device.c:325 +... + +Alternatively, you can use genprof to generate a gmon.out file, which can be used +by gprof to show the call traces. You will need to install uthash library to compile +that. + +Great use is: + +make +./genprof /tmp/yourlog ; gprof ../../build/coreboot_ram | ./gprof2dot.py -e0 -n0 | dot -Tpng -o output.png + +Which generates a PNG with a call graph. -- cgit v1.2.3