From: <no...@so...> - 2002-10-03 23:15:21
|
Bugs item #618162, was opened at 2002-10-03 19:29 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=618162&group_id=16191 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Gabriel Zachmann (snoopy17) Assigned to: Nobody/Anonymous (nobody) Summary: op_to_source produces no output Initial Comment: When I do % op_to_source --source-dir /work/CollDet/coll --output ColBoxtre.cpp --samples-file /var/lib/oprofile/samples/}work}CollDet}coll}test}obj}linux2_gcc_opt}bench}}}work}CollDet}coll}obj}linux2_gcc_opt}libcoll.so#0 --image-file /work/CollDet/coll/obj/linux2_gcc_opt/libcoll.so I don't get any output at all. If I do % oprofpp --demangle --list-symbols --samples-file /var/lib/oprofile/samples/}work}CollDet}coll}test}obj}linux2_gcc_opt}bench}}}work}CollDet}coll}obj}linux2_gcc_opt}libcoll.so#0 --output-format spPnL /work/CollDet/coll/obj/linux2_gcc_opt/libcoll.so > bench.prof.O3g I get some sensible output. If I do % op_to_source --source-dir /work/CollDet/coll --samples-file /var/lib/oprofile/samples/}work}CollDet}coll}test}obj}linux2_gcc_opt}bench}}}work}CollDet}coll}obj}linux2_gcc_opt}libcoll.so#0 --image-file /work/CollDet/coll/obj/linux2_gcc_opt/libcoll.so I get the following output op_to_source: file "/home/work/Zach/include/OpenSG/OSGVector.inl" ignored op_to_source: file "/usr/include/g++-v3/bits/stl_alloc.h" ignored op_to_source: file "/usr/include/g++-v3/bits/stl_algobase.h" ignored op_to_source: file "/usr/include/g++-v3/bits/stl_algo.h" ignored op_to_source: file "/usr/include/g++-v3/bits/stl_iterator.h" ignored op_to_source: file "/usr/include/g++-v3/bits/stl_vector.h" ignored op_to_source: file "/home/work/Zach/include/OpenSG/OSGMatrix.inl" ignored op_to_source: file "/home/work/Zach/include/OpenSG/OSGFieldContainerPtr.inl" ignored op_to_source: file "/usr/include/g++-v3/bits/basic_string.h" ignored op_to_source: file "/usr/include/g++-v3/bits/stl_iterator_base_types.h" ignored op_to_source: file "/usr/include/g++-v3/bits/stl_heap.h" ignored op_to_source: file "/usr/include/g++-v3/bits/std_limits.h" ignored op_to_source: file "/home/work/Zach/include/OpenSG/OSGFaceIterator.inl" ignored op_to_source: file "/home/work/Zach/include/OpenSG/OSGMField.inl" ignored op_to_source: file "/home/work/Zach/include/OpenSG/OSGGeometryBase.inl" ignored op_to_source: file "/home/work/Zach/include/OpenSG/OSGPrimitiveIterator.inl" ignored op_to_source: file "/home/work/Zach/include/OpenSG/OSGNode.inl" ignored op_to_source: file "/usr/include/g++-v3/bits/stl_uninitialized.h" ignored op_to_source: file "/home/work/Zach/include/OpenSG/OSGBaseFunctions.inl" ignored op_to_source: file "/usr/include/g++-v3/bits/stl_tree.h" ignored op_to_source: file "/usr/include/g++-v3/bits/stl_construct.h" ignored op_to_source: file "/home/work/Zach/include/OpenSG/OSGVector.h" ignored But no "annotated source" ... The library libcoll.so has been compiled with '-g -O3' (and other options) under RedHat 7.2 with g++ 3.0.4. ---------------------------------------------------------------------- >Comment By: Philippe Elie (phil_e) Date: 2002-10-04 01:15 Message: Logged In: YES user_id=318973 move again to bugs page ... ---------------------------------------------------------------------- Comment By: Philippe Elie (phil_e) Date: 2002-10-04 00:47 Message: Logged In: YES user_id=318973 the doc need to be extended, it doesn't mention than oprofpp result are calculated by getting the address of samples and so you can get samples inside a function Check which is in source file Check.cpp but all samples fall into inline function. Then when you use op_to_source you don't see any samples in Check.cpp because they are credited to source file from where come the inline fuction. The situation is worst when using -O3 because the compiler is free to inline function not marked as inline. the error message: op_to_source: file "/usr/include/g++-v3/bits/stl_construct.h" ignored is not clear, --source-dir /src/project means than you want to restrict output of source which are in /src/project or in its sub-directory (this option is also used to shorten pathname of source file). so all source file outside this path are ignored Note than for template there is also many problem, eg oprofpp do a difference between tpl<int>::my_fct(); and tpl<double>::my_fct() but oprofpp must credit the same portion of source for all template instantiation Phil, regards regards, Phil ---------------------------------------------------------------------- Comment By: Gabriel Zachmann (snoopy17) Date: 2002-10-03 19:41 Message: Logged In: YES user_id=349593 If the above is correct behavior, then, I must say, the options are pretty unintuitive or the documentation is pretty unclear (i did read the doc several times). ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=116191&aid=618162&group_id=16191 |