From: Guillermo B. V. <gb...@ox...> - 2003-05-30 18:55:54
|
Hi, I'm new in this list, and I'm impressed with Oprofile, is the kind of profi= ler=20 I've been searching for a long while. Thanks to the devloper team :-) Well, I've installed oprofile-0.5.3 in two SuSE 8.0 boxes, one is a Pentium= III=20 and the other is a Pentium4. I had to use my own kernel (not SuSE kernel)=20 because of a segfault when loading modules (I also see this problem in the= =20 list). Reusing SuSE 8.0 kernel config file, doing a 'make oldconfig' and=20 building a new 2.4.21-rc6 and _ALL_ runs OK. Good!. But the problems began with a SuSE 8.2 (Athlon XP) box. I made the same, an= d=20 oprofile runs but I'm not able to see any symbolic info. I.e, compiling a=20 binary with -g options, being able to see all sort of debug and symbolic in= fo=20 with objdump, readelf, nm ... op_to_source and oprofpp cannot show any=20 detailed info. As example, this is the output of a session (gprof gives all information=20 right) /* * Command line: op_to_source -s Glucas * * Interpretation of command line: * Output annotated assembly listing with samples * * Cpu type: Athlon * Cpu speed (MHz estimation) : 1437.64 * * * Counter 0 counted RETIRED_INSNS events (Retired instructions (includes=20 exceptions, interrupts, resyncs)) with a unit mask of 0x00 (No unit mask)=20 count 150000 * Total samples : 319346 * Counter 1 disabled * Counter 2 disabled * Counter 3 disabled */ : :/home/gbv/glucas/glucas-2.9.1/Glucas: formato del fiche= ro=20 elf32-i386 : :Desensamblado de la secci=F3n .init: :Desensamblado de la secci=F3n .plt: :Desensamblado de la secci=F3n .text: :Desensamblado de la secci=F3n .fini: =2D---------------------- It seems like oprofile cannot read symbolic info. Is it an oprofile problem= or=20 a binutils problem? Or perhaps is mine?. bach:/home/gbv/glucas/glucas-2.9.1 # ldd /usr/bin/op_to_source libpopt.so.0 =3D> /usr/lib/libpopt.so.0 (0x4002a000) libbfd-2.13.90.0.18.so =3D> /usr/lib/libbfd-2.13.90.0.18.so (0x4003= 1000) libdl.so.2 =3D> /lib/libdl.so.2 (0x400c9000) libstdc++.so.5 =3D> /usr/lib/libstdc++.so.5 (0x400cc000) libm.so.6 =3D> /lib/libm.so.6 (0x40185000) libgcc_s.so.1 =3D> /lib/libgcc_s.so.1 (0x401a8000) libc.so.6 =3D> /lib/libc.so.6 (0x401b0000) /lib/ld-linux.so.2 =3D> /lib/ld-linux.so.2 (0x40000000) Please help, I'm quite confussed. Guillermo.=20 =20 =2D-=20 Guillermo Ballester Valor registered linux user #117181 gb...@ox... Ogijares, Granada SPAIN =20 |
From: Philippe E. <ph...@wa...> - 2003-05-30 20:09:22
|
Guillermo Ballester Valor wrote: > Hi, > > I'm new in this list, and I'm impressed with Oprofile, is the kind of profiler > I've been searching for a long while. Thanks to the devloper team :-) > > Well, I've installed oprofile-0.5.3 in two SuSE 8.0 boxes, one is a PentiumIII > and the other is a Pentium4. I had to use my own kernel (not SuSE kernel) > because of a segfault when loading modules (I also see this problem in the > list). Reusing SuSE 8.0 kernel config file, doing a 'make oldconfig' and > building a new 2.4.21-rc6 and _ALL_ runs OK. Good!. > > But the problems began with a SuSE 8.2 (Athlon XP) box. I made the same, and > oprofile runs but I'm not able to see any symbolic info. I.e, compiling a > binary with -g options, being able to see all sort of debug and symbolic info > with objdump, readelf, nm ... op_to_source and oprofpp cannot show any > detailed info. is $ oprofpp -L /your/application -t vsnl shows debug line information like this ? : 0804e5bc 10 op_get_line /usr/src/phe/sf/oprofile-0.5.3/libutil/op_fileio.c:227 0804ad64 12 opd_find_image /usr/src/phe/sf/oprofile-0.5.3/dae/opd_image.c:265 if yes check than the source are available in this path > > As example, this is the output of a session (gprof gives all information > right) if you don't get any source line information from oprofpp, is gprof -a able to show the source ? > > /* > * Command line: op_to_source -s Glucas ... > :Desensamblado de la sección .fini: > ----------------------- > > It seems like oprofile cannot read symbolic info. Is it an oprofile problem or > a binutils problem? Or perhaps is mine?. dunno now, regards, Phil |
From: Guillermo B. V. <gb...@ox...> - 2003-05-30 20:21:15
|
Hi, O > is $ oprofpp -L /your/application -t vsnl > shows debug line information like this ? : > Nope, here's the head of a large output: bach:~ # oprofpp -L /home/gbv/glucas/glucas-2.9.1/Glucas -t vsnl | head Cpu type: Athlon Cpu speed was (MHz estimation) : 1437.64 Counter 0 counted RETIRED_INSNS events (Retired instructions (includes exceptions, interrupts, resyncs)) with a unit mask of 0x00 (No unit mask) count 150000 00000000 319346 (no symbol) (no location information) 00000be8 2 (no location information) 00001780 2 (no location information) 00001787 34 (no location information) 00001792 14 (no location information) 00002cfb 4 (no location information) 00002d04 1 (no location information) > > 0804e5bc 10 op_get_line > /usr/src/phe/sf/oprofile-0.5.3/libutil/op_fileio.c:227 > 0804ad64 12 opd_find_image > /usr/src/phe/sf/oprofile-0.5.3/dae/opd_image.c:265 > > > if yes check than the source are available in this path > > > As example, this is the output of a session (gprof gives all information > > right) > > if you don't get any source line information from oprofpp, is > gprof -a able to show the source ? > It shows the profile: gbv@bach:~/glucas/glucas-2.9.1> gprof -a Glucas | head -n 15 Flat profile: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls ms/call ms/call name 29.69 2.17 2.17 25700 0.08 0.08 radix_16_dif 29.55 4.33 2.16 25700 0.08 0.08 radix_16_dit 24.21 6.10 1.77 99 17.88 17.88 dit_carry_norm_dif_8 15.18 7.21 1.11 6400 0.17 0.17 radix_8_dif_square_dit_block 0.41 7.24 0.03 1 30.00 30.00 y_initnumfactg 0.27 7.26 0.02 1 20.00 20.00 first_normalize 0.27 7.28 0.02 1 20.00 20.00 last_normalize 0.14 7.29 0.01 1 10.00 10.00 radix_8_dif_notw 0.14 7.30 0.01 1 10.00 10.00 radix_8_dit 0.14 7.31 0.01 main Guillermo. -- Guillermo Ballester Valor registered linux user #117181 gb...@ox... Ogijares, Granada SPAIN |
From: Philippe E. <ph...@wa...> - 2003-05-30 21:00:38
|
Guillermo Ballester Valor wrote: > bach:~ # oprofpp -L /home/gbv/glucas/glucas-2.9.1/Glucas -t vsnl | head > Cpu type: Athlon > Cpu speed was (MHz estimation) : 1437.64 > Counter 0 counted RETIRED_INSNS events (Retired instructions (includes > exceptions, interrupts, resyncs)) with a unit mask of 0x00 (No unit mask) > count 150000 > 00000000 319346 (no symbol) (no location information) > 00000be8 2 (no location information) look like it's not a debug info problem, we fail to find any symbol in this application, debug info fail too later since we have no symbol at all (symbol and debug information are distinct things). Can you tg'ize and send me privately the sample file, named something like: /var/lib/oprofile/samples/}home}gbv}glucas}glucas-2.9.1}Glucas#0 and the binary. I'll try to build the same binutils you use and see if I can reproduce the problem. I need also your compiler version. regards, Phil |
From: Philippe E. <ph...@wa...> - 2003-05-31 00:33:04
|
Guillermo Ballester Valor wrote: > Hi, > > I send you the sample file and the binary. To run the binary do > > $Glucas -s 11 I can't reproduce the problem, your binary is fine and I get symbol information both with my binutils and 2.13.90.0.18 20030121 (SuSE Linux), I tried also to compile this binutils and oprofile with 3.2.2 and 3.3 and all things works. I dunno at all why it doesn't work on your box. Try $ oprofpp -l --verbose .... and paste line between number of symbols before excluding ... .... number of symbols now ... if you don't see this output add some printf to oprofile_source/libutil++/op_bfd.cpp bool op_bfd::get_symbols(..) { ... } before each return false to check where oprofile bailout, *perhaps* it will give a clue ... regards, Phil |
From: Guillermo B. V. <gb...@ox...> - 2003-05-31 11:17:53
|
Hi, After some tries, I finally resolved the problem. It was in SuSE 8.2 g++ !!! Instead of build with =2E/configure --with-linux=3D/usr/src/linux --with-qt-dir=3D/urs/lib/qt3=20 =2D-prefix=3D/usr I build with ./configure CC=3Dgcc-3.3 CXX=3Dg++-3.3 --with-linux=3D/usr/src/linux-2.4.2= 1-rc6=20 =2D-with-qt-dir=3D/usr/lib/qt3 --prefix=3D/usr Here the versions I used. First the SuSE official: g++ (GCC) 3.3 (SuSE Linux) Copyright (C) 2003 Free Software Foundation, Inc. Esto es software libre; vea el c=F3digo para las condiciones de copia. NO = hay garant=EDa; ni siquiera para MERCANTIBILIDAD o IDONEIDAD PARA UN PROP=D3SIT= O EN PARTICULAR gbv@bach:~/glucas/glucas-2.9.1> rpm -qi gcc Name : gcc Relocations: (not relocateable) Version : 3.3 Vendor: SuSE Linux AG,=20 Nuernberg, Germany Release : 43 Build Date: mi=E9 21 may 2003=20 10:11:12 CEST Install date: s=E1b 24 may 2003 00:44:07 CEST Build Host: Macintyre.su= se.de Group : Development/Languages/C and C++ Source RPM: gcc-3.3-43.src.= rpm Size : 3309045 License: GPL Packager : http://www.suse.de/feedback Summary : The GNU C compiler and support files Description : NOTE: Be sure to install at least the following packages besides this one, or you won't be able to compile: binutils and glibc-devel. And now my own built of gcc-3.3: gbv@bach:~/glucas/glucas-2.9.1> g++-3.3 --version g++-3.3 (GCC) 3.3.1 20030524 (prerelease) Copyright (C) 2003 Free Software Foundation, Inc. Esto es software libre; vea el c=F3digo para las condiciones de copia. NO = hay garant=EDa; ni siquiera para MERCANTIBILIDAD o IDONEIDAD PARA UN PROP=D3SIT= O EN PARTICULAR Any user out there can reproduce this with SuSE compiler? Thank you very much Philippe . Guillermo. On Saturday 31 May 2003 04:41, Philippe Elie wrote: > Guillermo Ballester Valor wrote: > > Hi, > > > > I send you the sample file and the binary. To run the binary do > > > > $Glucas -s 11 > > I can't reproduce the problem, your binary is fine and > I get symbol information both with my binutils and > 2.13.90.0.18 20030121 (SuSE Linux), I tried also to compile > this binutils and oprofile with 3.2.2 and 3.3 and all things > works. I dunno at all why it doesn't work on your box. Try > > $ oprofpp -l --verbose .... > > and paste line between > > number of symbols before excluding ... > .... > number of symbols now ... > > if you don't see this output add some printf to > oprofile_source/libutil++/op_bfd.cpp > bool op_bfd::get_symbols(..) { ... } > before each return false to check where oprofile > bailout, *perhaps* it will give a clue ... > > > regards, > Phil > > > > ------------------------------------------------------- > This SF.net email is sponsored by: eBay > Get office equipment for less on eBay! > http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 > _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list =2D-=20 Guillermo Ballester Valor registered linux user #117181 gb...@ox... Ogijares, Granada SPAIN =20 |