i'm unable to get any symbols from opreport.
redhat 7.3 (glibc 2.2.5)
kernel 2.6.8.1
gcc 2.96-113
oprofile 0.8
i get the nice usage breakdown by library and
application, but i'm unable to get any symbol breakdown
inside any of them.
[root@washuu goemon]# opcontrol
--vmlinux=/usr/src/linux-2.6.8.1/vmlinux --separate=kernel
[root@washuu goemon]# opcontrol --start
Using default event: CPU_CLK_UNHALTED:100000:0:1:1
Using 2.6+ OProfile kernel interface.
Reading module info.
Using log file /var/lib/oprofile/oprofiled.log
Daemon started.
Profiler running.
[root@washuu goemon]# opreport -f | more
CPU: AMD64 processors, speed 1402.67 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Cycles outside of halt
state) with a unit mask of 0x00 (No unit mask) count 1000
00
CPU_CLK_UNHALT...|
samples| %|
------------------
8703906 95.9390
/usr/local/games/enemy-territory-102/ettv.x86
CPU_CLK_UNHALT...|
samples| %|
------------------
4447002 51.0920
/usr/local/games/enemy-territory-102/ettv.x86
2507957 28.8142 /lib/libc-2.2.5.so
1588779 18.2536 /usr/src/linux-2.6.8.1/vmlinux
47289 0.5433
/home/tvmaster/.etwolf/etpro/tvgame.mp.i386.so
36089 0.4146
/home/wolf/.etwolf/etpro/tvgame.mp.i386.so
26167 0.3006 /home/tvmaster/.etwolf/pb/pbsv.so
15589 0.1791 /nvidia
13029 0.1497
/home/tvmaster/.etwolf/etpro/qagame.mp.i386.so
... blabla ..
[root@washuu goemon]# opreport -l
/usr/local/games/enemy-territory-102/ettv.x86 | more
warning: /ip_conntrack could not be found.
warning: /ip_tables could not be found.
warning: /ipt_MASQUERADE could not be found.
warning: /iptable_filter could not be found.
warning: /iptable_nat could not be found.
warning: /nvidia could not be found.
warning: /ohci1394 could not be found.
warning: /oprofile could not be found.
warning: /psmouse could not be found.
warning: /sk98lin could not be found.
warning: /snd_trident could not be found.
warning: /sunrpc could not be found.
warning: /uhci_hcd could not be found.
warning: /usbcore could not be found.
warning: /usbhid could not be found.
that's all the output i get!
[root@washuu goemon]# opreport -l /lib/libc-2.2.5.so | more
CPU: AMD64 processors, speed 1402.67 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Cycles outside of halt
state) with a unit mask of 0x00 (No unit mask) count 1000
00
samples % image name app name
symbol name
2710986 98.8347 libc-2.2.5.so ettv.x86
(no symbols)
8151 0.2972 libc-2.2.5.so cc1
(no symbols)
2788 0.1016 libc-2.2.5.so opreport
(no symbols)
2546 0.0928 libc-2.2.5.so cpp0
(no symbols)
[...etc etc...]
and that's it. no symbols no nothing!
i can guarantee 100% that ettv.x86 has symbols though.
it's compiled with -g, not stripped, and 'nm' output
confirms it has symbols:
[goemon@washuu src]$ nm
/usr/local/games/enemy-territory-102/ettv.x86 | more
[...]
08066e68 T ETTV_DEBUG
08c233ec B ettv_delay
08065754 T ettv_DemoNumber
080652e8 T ETTV_GetPlayerState
08065fa0 T ettv_init
080a0528 D ettv_lastmessagetime
08060990 T ettv_NextSlavePacket
08d0dd10 B ettv_paceslavepackets
08d0dd0c B ettv_password
080647a4 T ettv_ServerInfo
08c233e0 B ettv_shownet
080a052c D ettv_shownet_lasttime
[... etc etc ...]
i can also gdb this process with full symbolic info
etc. so the symbols are definitely there. it just seems
that oprofile 0.8 doesn't know how to read them?
or am I doing something wrong?