I'm trying to use perf to get information about stack backtraces in my system. I compile an application where main calls f, f calls g1, g1 calls g3, g3 calls g4, g4 calls g2. I expect my backtrases to be something like
- g2
- g4
- g3
- g1
- f
- main
But instead, I have cropped backtraces in perf script, like
a.out 2869 [000] 19414.348571: 225426 cycles:ppp:
7ac f (/opt/usr/home/owner/a.out)
beb3dd2c [unknown] ([unknown])
a.out 2869 [000] 19414.348754: 235721 cycles:ppp:
72c g1 (/opt/usr/home/owner/a.out)
beb3dd24 [unknown] ([unknown])
a.out 2869 [000] 19414.348937: 246486 cycles:ppp:
670 g3 (/opt/usr/home/owner/a.out)
beb3dd14 [unknown] ([unknown])
a.out 2869 [000] 19414.349121: 232929 cycles:ppp:
60c g4 (/opt/usr/home/owner/a.out)
beb3dd04 [unknown] ([unknown])
How can I get more info about my backtraces?
Compile: arm-linux-gnueabi-gcc -O0 -g3 -marm -fno-omit-frame-pointer -funwind-tables main.c
Perf record: perf record -g -a
Perf script: perf script
Target is running on Linux 3.10.65.