2003-12-29 Philippe Elie * configure.in: my_op_prefix is not necessarily suffixed by a '/' 2003-12-29 John Levon * configure.in: * doc/*.1.in: add HTML docs to SEE ALSO 2003-12-29 John Levon * doc/opcontrol.1.in: * doc/oprofile.xml: minor language cleanups * utils/opcontrol: only allow --verbose when it makes sense 2003-12-28 Philippe Elie * libutil++/tests/file_manip_tests.cpp: ensure filename passed to op_realpath() exists 2003-12-28 John Levon * doc/internals.xml: * libutil++/file_manip.h: fix typos 2003-12-16 Philippe Elie * utils/opcontrol: error message rewording 2003-12-16 Carlo Wood * libregex/tests/Makefile.am: avoid to install mangled-name test file 2003-11-20 John Levon * libregex/op_regex.cpp: move global ctor out of namespace anon (bug #845616) 2003-11-19 Philippe Elie * libpp/arrange_profiles.cpp: merge all unit mask before generating event description string 2003-11-17 Philippe Elie * libpp/arrange_profiles.cpp: put unitmask in the same axis as event:count, meaning than unitmask is now a part of the event specification. 2003-12-19 Philippe Elie * daemon/opd_sfile.c: we reversed to/from pc in call graph sample 2003-11-23 Philippe Elie * libpp/profile.h: * pp/opgprof.cpp: oops a simplify a bit too cg handling in my last patch, it was segfaulting each time no cg file was found... 2003-11-15 Philippe Elie * pp/opgprof.cpp: simplify a bit cg handling, we don't need to know if we retrieved some cg files since the profile_t will be empty in this case 2003-11-15 Philippe Elie * libpp/profile.h: iterator::vma() must return the full key not only an unsigned int. * pp/opgprof.cpp: implement merging of cg files. 2003-11-15 Philippe Elie * libpp/profile_spec.cpp: * libpp/profile_spec.h: * pp/opannotate_options.cpp: * pp/opgprof_options.cpp: * pp/opreport_options.cpp: filter call graph samples files 2003-11-14 Philippe Elie * daemon/opd_mangling.c: oops, it's better to really open the cg file * daemon/opd_sfile.c: * daemon/opd_stats.c: * daemon/opd_stats.h: * daemon/liblegacy/opd_24_stats.c: * daemon/liblegacy/opd_24_stats.h: * daemon/liblegacy/opd_proc.c: log sample lost due to sample file open failure 2003-11-15 Philippe Elie * daemon/liblegacy/opd_parse_proc.c: always provide an image name for parsed process in /proc 2003-11-15 Philippe Elie * doc/oprofile.xml: * libop/op_cpu_type.c: s/hammer/AMD64 processors/ for user visible name. 2003-11-13 John Levon * libutil/op_file.h: * libutil/op_file.c: remove op_c_dirname(), op_relative_to_absolute_path(), op_is_directory(), op_follow_link(), in favour of using realpath(3) * libutil/tests/file_tests.c: fixes for above changes * libutil++/file_manip.h: * libutil++/file_manip.cpp: changes from above. Add op_realpath(). * libutil++/tests/file_manip_tests.cpp: changes from above. * daemon/oprofiled.c: * daemon/liblegacy/opd_parse_proc.c: * gui/oprof_start_util.cpp: * libpp/locate_images.cpp: * libpp/profile_spec.cpp: * pp/opannotate.cpp: changes from above 2003-11-12 John Levon * configure.in: bump to 0.8cvs 2003-11-11 John Levon * configure.in: bump to 0.7.1 2003-11-11 Joseph VanAndel * daemon/liblegacy/init.c: fix #840046 (segfault when starting profiler with --no-vmlinux setup), this bug was present in 0.7.0. 2003-11-11 Philippe Elie * libpp/profile_spec.cpp: more precise error message * libutil++/tests/file_manip_tests.cpp: corner case test added for dirname 2003-11-11 Philippe Elie * libpp/arrange_profiles.cpp: report_error() shows only distinct conflicting name. 2003-11-10 Philippe Elie * doc/opcontrol.1.in: reverse kernel:user in event setting description. Fix #838968 2003-11-09 Philippe Elie * daemon/init.c: * daemon/liblegacy/init.c: move opd_read_fs_int ... * daemon/oprofiled.h: * daemon/oprofiled.c: here * daemon/liblegacy/opd_24_stats.c: dump kernel note buffer overflow and buffer overlow 2003-11-09 Philippe Elie * utils/op_help.c: do not use OP_MAX_COUNTERS but get counter number at runtime 2003-11-09 Philippe Elie * libutil++/tests/string_manip_tests.cpp: rtrim/ltrim/trim tests 2003-11-08 Philippe Elie * libop/tests/Makefile.am: * libop/tests/mangle_tests.c: new tests: sample filename mangling 2003-11-08 Philippe Elie * module/x86/op_syscalls.c: fix build with 2.2 kernel 2003-11-06 Philippe Elie * Makefile.am: use .PHONY for module goal to not statisfy this goal with the subdir named module * m4/findkernel.m4: minor fix. 2003-11-06 John Levon * Makefile.am: minor cleanup 2003-11-06 John Levon * gui/Makefile.am: remove unused -DKVERSION 2003-11-06 John Levon * configure.in: add --disable-werror and --disable-optimization * doc/oprofile.xml: document above. Remove docs for * --enable-gcov (only useful to developers) 2003-11-06 Philippe Elie * daemon/opd_kernel.c: * daemon/liblegacy/opd_kernel.c: be less paranoid about kernel range, this is slightly different than the patch Thomas Spatzier tested but it can't hurt (famous last words ...). This fixes s390x where kernel start can be zero and was rejected. 2003-11-06 Thomas Spatzier * daemon/opd_cookie.c: changed an #if defined for selecting right system call for IBM s390 or s390x, respectively 2003-11-04 Philippe Elie * libutil++/path_filter.cpp: remove 2 identical FIXME * libutil++/tests/file_manip_tests.cpp: * libutil++/tests/path_filter_tests.cpp: reflect the behavior by new tests 2003-11-04 Philippe Elie * libdb/db_manage.c: * libop/op_events.h: -pedantic fix 2003-11-04 Philippe Elie * daemon/opd_sfile.c: * daemon/liblegacy/opd_kernel.c: * libutil/op_cpufreq.c: * libutil/op_file.c: a few s/goto/break/ * libpp/format_output.cpp: padding never used after initialization 2003-11-04 Philippe Elie * libutil++/comma_list.h: don't accept cumulative behavior * libutil++/string_manip.cpp: separate_token() return by value * gui/oprof_start.cpp: * libopt++/popt_options.cpp: * libpp/parse_filename.cpp: * libpp/profile_spec.cpp: * libutil++/comma_list.h: * libutil++/string_filter.cpp: * libutil++/string_manip.cpp: * libutil++/string_manip.h: * libutil++/tests/comma_list_tests.cpp: * libutil++/tests/string_manip_tests.cpp: update according * libpp/profile_spec.cpp: remove all trace of defunct op_alias 2003-11-04 Philippe Elie * daemon/liblegacy/opd_image.c: * daemon/liblegacy/opd_image.h: * daemon/liblegacy/opd_mapping.c: * daemon/liblegacy/opd_mapping.h: * daemon/liblegacy/opd_proc.c: * gui/oprof_start.cpp: * gui/oprof_start.h: * gui/oprof_start_config.cpp: * gui/oprof_start_util.cpp: * libop/op_config_24.h: * libpp/format_output.cpp: * libpp/op_header.cpp: * libpp/profile.h: * libpp/profile_container.cpp: * libpp/profile_spec.cpp: * libpp/profile_spec.h: * libpp/symbol.h: * libpp/symbol_sort.cpp: * libutil++/stream_util.cpp: * libutil++/stream_util.h: * libutil++/utility.h: * pp/common_option.cpp: * pp/common_option.h: * pp/opannotate_options.h: * pp/opgprof.cpp: * pp/opgprof_options.cpp: * pp/opgprof_options.h: * pp/opreport_options.cpp: * pp/opreport_options.h: * pp/populate.cpp: remove some .h dependencies 2003-11-03 Philippe Elie * libutil++/tests/Makefile.am: * libutil++/tests/utility_tests.cpp: new test files convering most of utility.h and op_exception.h 2003-11-02 Philippe Elie * libpp/parse_filename.cpp: avoid repetitive vector::erase(v.begin()) * libregex/stl.pat.in: * libregex/tests/mangled-name.in: add (i|o)stream operator(>>|<<) 2003-11-02 Philippe Elie * daemon/liblegacy/opd_image.h: * daemon/liblegacy/opd_image.c: * daemon/liblegacy/opd_proc.c: * daemon/liblegacy/opd_sample_files.c: sparse sample file array allocated by line. 2003-11-02 Philippe Elie * libutil++/glob_filter.h: * libutil++/path_filter.h: * libutil++/string_filter.h: comment fix to match implementation * libutil++/tests/path_filter_tests.cpp: new file test * libutil++/tests/Makefile.am: upate build * libutil++/tests/string_filter_tests.cpp: test white space at start of pattern 2003-11-02 Philippe Elie * libutil++/string_manip.cpp: format_double can only format percent * libutil++/string_manip.h: * libpp/format_output.cpp: * libutil++/tests/string_manip_tests.cpp: * pp/opannotate.cpp: * pp/opreport.cpp: s/format_double/format_percent/ 2003-11-02 Philippe Elie * libutil++/glob_filter.h: * libutil++/string_filter.h: * libutil++/tests/string_filter_tests.cpp: minor tidy * libutil++/tests/glob_filter_tests.cpp: new file * libutil++/tests/Makefile.am: update build 2003-11-01 Philippe Elie * libpp/arrange_profiles.cpp: typo * libutil++/generic_spec.cpp: removed file * libutil++/Makefile.am: update according * libutil++/generic_spec.h: ensure generic_spec will not link * libutil++/path_filter.cpp: minor tidy 2003-11-01 Philippe Elie * libutil++/tests/string_manip_tests.cpp: ehance output on failure * module/oprofile.h: * module/oprofile.c: two new read-only sysctl: nr_buffer_overflow and nr_note_buffer_overflow 2003-11-01 Philippe Elie * libutil++/tests/Makefile.am: * libutil++/tests/file_manip_tests.cpp: don't use getcwd nor __FILE__ but ${topdir} and hard coded filename 2003-11-01 John Levon * daemon/liblegacy/opd_parse_proc.c: use op_follow_link * libutil/op_file.c: * libutil/op_file.h: make op_get_link() static, rename op_basename to op_c_basename * libutil++/file_manip.cpp: * libutil++/file_manip.h: rename to op_basename()/op_dirname(). Use op_follow_link() for follow_link(). * libutil++/tests/file_manip_tests.cpp: * gui/oprof_start_util.cpp: * libpp/locate_images.cpp: * libpp/name_storage.cpp: * libutil++/path_filter.cpp: * pp/opannotate.cpp: * pp/opreport.cpp: fixup from above changes 2003-11-01 Philippe Elie * libutil++/op_bfd.h: has_debug_info() new member * pp/populate.h: * pp/populate.cpp: * pp/opannotate.cpp: use it to error out when --assembly is not requested and no debug information exists 2003-10-31 Philippe Elie * pp/common_option.cpp: don't exit() if merge_by.lib is set through !allow_lib 2003-10-31 Philippe Elie * pp/opreport_options.cpp: move handle_merge_option() ... * pp/common_option.h: * pp/common_option.cpp: here * pp/opannotate_options.cpp: use it but disallow --merge=lib 2003-10-31 Philippe Elie * libutil/op_file.c: * libutil/op_file.h: implement dirname(), is_directory() and op_follow_link() * daemon/oprofiled.c: follow symlink for image filter * libutil++/file_manip.cpp: * libutil++/file_manip.h: * gui/oprof_start_util.cpp: * libpp/profile_spec.cpp: rename op_follow_link() to follow_link() 2003-10-31 Philippe Elie * libutil/tests/file_tests.c: "//usr" --> "//usr" * libutil++/tests/.cvsignore: * libutil++/tests/Makefile.am: * libutil++/tests/file_manip_tests.cpp: new tests file. 2003-10-31 John Levon * daemon/opd_perfmon.c: fix compilation 2003-10-30 John Levon * libpp/profile_spec.cpp: introduce a helper function to make the comma_list matching clear 2003-10-30 Philippe Elie * libutil++/comma_list.h: is_set() new member * libpp/profile_spec.cpp: fix matching logic for cpu/tid/tgid 2003-10-30 John Levon * libutil++/generic_spec.h: add value() and is_set(), remove bool parameter from T value match() (it was never set to true) * libutil++/comma_list.h: do not accept generic_spec, the behaviour was to implicitly not match an "all" generic_spec. Instead: * libpp/profile_spec.cpp: encode the matching behaviour explicitly, and add a comment. * libutil++/tests/comma_list_tests.cpp: fix to match the above 2003-10-30 John Levon * Makefile.am: re-order build subdirs * libabi/Makefile.am: only build abitest on make check * pp/Makefile.am: pp_common not pp_commons 2003-10-30 John Levon * libutil++/tests/Makefile.am: * libutil++/tests/comma_list_tests.cpp: Add. 2003-10-30 John Levon * doc/Makefile.am: improve chunk rules 2003-10-30 John Levon * libutil++/tests/Makefile.am: * libutil++/tests/string_filter_tests.cpp: Add. * libutil++/tests/string_manip_tests.cpp: fix header include 2003-10-30 John Levon * libutil++/tests/string_manip_tests.cpp: fix tobool test ("33" is not castable to bool) 2003-10-30 Philippe Elie * libutil++/string_manip.cpp: * libutil++/string_manip.h: remove tostr()/tobool/touint(), rename lexical_cast_no_ws<> to op_lexical_cast<> * gui/oprof_start.cpp: * gui/oprof_start_config.cpp: * libpp/arrange_profiles.cpp: * libpp/filename_spec.cpp: * libpp/op_header.cpp: * libutil++/comma_list.h: * libutil++/generic_spec.h: * libutil++/tests/string_manip_tests.cpp: use op_lexical_cast<> 2003-10-29 John Levon * pp/common_option.h: use std namespace 2003-10-28 Jason Lunz * doc/oprofile.1.in: document cpu,tid,tgid in profile spec 2003-10-29 Philippe Elie * libpp/profile_spec.cpp: error out for all tag:value specified more than once. 2003-10-29 Philippe Elie * doc/opannotate.1.in: * doc/opreport.1.in: * doc/oprofile.xml: * libregex/demangle_symbol.cpp: * libregex/demangle_symbol.h: * pp/common_option.cpp: * pp/common_option.h: * pp/opannotate_options.cpp: * pp/opannotate_options.h: * pp/opreport_options.cpp: * pp/opreport_options.h: remove --no-demangle, --smart-demangle and --demangle, replace them with --demangle=none|smart|normal 2003-10-29 Philippe Elie * libutil++/tests: new directory * libutil++/tests/string_manip_tests.cpp: new tests file * configure.in: * libutil++/Makefile.am: * libutil++/tests/.cvsignore: * libutil++/tests/Makefile.am: handle new test * libutil++/string_manip.h: * libutil++/string_manip.cpp: correct implementation of separate_token to match the documentation * daemon/liblegacy/opd_image.c: fix comment 2003-10-28 Philippe Elie * libpp/count_array.cpp: * libpp/count_array.h: * libpp/locate_images.h: * libpp/parse_filename.cpp: * libpp/profile.cpp: * libpp/profile.h: * libpp/profile_spec.cpp: * libpp/symbol_sort.cpp: minor tidy 2003-10-28 Jason Lunz * doc/opcontrol.1.in: better wording for --separate= * doc/oprofile.1.in: typo 2003-10-28 Philippe Elie * daemon/liblegacy/init.c: * daemon/liblegacy/opd_24_stats.c: * daemon/liblegacy/opd_24_stats.h: * daemon/liblegacy/opd_image.c: * daemon/liblegacy/opd_image.h: * daemon/liblegacy/opd_kernel.c: * daemon/liblegacy/opd_kernel.h: * daemon/liblegacy/opd_mapping.c: * daemon/liblegacy/opd_mapping.h: * daemon/liblegacy/opd_parse_proc.c: * daemon/liblegacy/opd_parse_proc.h: * daemon/liblegacy/opd_proc.c: * daemon/liblegacy/opd_proc.h: * daemon/liblegacy/opd_sample_files.c: * daemon/liblegacy/opd_sample_files.h: move doygen comment from *.c to *.h. Add some doxygen comment. 2003-10-27 Philippe Elie * daemon/liblegacy/opd_24_stats.c: * daemon/liblegacy/opd_image.h: * daemon/liblegacy/opd_image.h: nr_images static 2003-10-27 John Levon * doc/opcontrol.1.in: document --image= * doc/oprofile.xml: * utils/opcontrol: make user specify "--image=all" to reset. Clean up help message. Ensure note table size is given a value. Add '-t' for '--stop', and '-i' for '--image'. 2003-10-27 John Levon * doc/oprofile.xml: document opcontrol --image= 2003-10-27 John Levon * daemon/opd_events.h: * daemon/opd_events.c: move code for handling event descriptions here, and share find_counter_event(), plus fill_header() * daemon/opd_mangling.c: * daemon/opd_perfmon.c: * daemon/oprofiled.c: * daemon/oprofiled.h: * daemon/liblegacy/opd_proc.c: * daemon/liblegacy/opd_sample_files.c: changes from above 2003-10-27 John Levon * daemon/oprofiled.c: fix help text * daemon/liblegacy/init.c: * daemon/liblegacy/opd_proc.h: * daemon/liblegacy/opd_proc.c: clean up headers a bit 2003-10-27 Philippe Elie * gui/oprof_start.cpp: check we can get kernel interface 2003-10-27 John Levon * daemon/liblegacy/Makefile.am: remove unneeded -I for abi 2003-10-27 John Levon * daemon/init.c: * daemon/opd_perfmon.c: move timer interrupt checks into perfmon 2003-10-27 John Levon * daemon/oprofiled.c: use op_get_interface() * libop/op_get_interface.c: simplify 2003-10-26 Philippe Elie * gui/ui/oprof_start.base.ui: * gui/oprof_start.cpp: * gui/oprof_start.h: check separate_lib checkbox when separate_kernel_cb is checked 2003-10-26 Philippe Elie * utils/opcontrol: allow to reset --image through empty --image= or --image 2003-10-26 John Levon * daemon/opd_cookie.c: reduce the hash table size somewhat * various: fixes for doxygen 2003-10-26 John Levon * HACKING: * configure.in: * Makefile.am: * dae/: move all of 2.4 daemon code to ... * daemon/liblegacy/: here * daemon/Makefile.am: * daemon/opd_util.h: * daemon/opd_util.c: move to ... * daemon/oprofiled.h: * daemon/oprofiled.c: here, and call the right operations depending upon oprofile kernel version. * daemon/init.c: * daemon/liblegacy/init.c: init and running for each version 2003-10-26 John Levon * daemon/opd_cookie.c: make sure to create the cookie for the ignore value if it's not found * daemon/opd_sfile.c: simplify ignored logic 2003-10-26 John Levon * doc/internals.xml: * doc/buffers.png: add a diagram 2003-10-26 Philippe Elie implement image filtering: * dae/opd_image.h: add a field filtered * dae/opd_image.c: set it at image creation * dae/opd_proc.c: don't record sample when !image->filtered * daemon/opd_cookie.h: add a field filtered * daemon/opd_cookie.c: set it a cookie_entry creation. * daemon/opd_sfile.h: add a field filtered * daemon/opd_file.c: set it a opd_sfile struct creation * daemon/opd_trans.c: record sample if filtered * daemon/opd_util.h: export opd_hash_name(), is_image_filtered() * daemon/opd_util.c: implement --image=xxx * oprofiled.c: #include "config.h" not <> * utils/opcontrol: handle --image 2003-10-26 John Levon * doc/oprofile.xml: remove some outdated stuff 2003-10-25 John Levon * doc/internals.xml: more docs 2003-10-25 John Levon * daemon/opd_perfmon.c: cleanups 2003-10-24 John Levon * doc/internals.xml: write some more 2003-10-23 John Levon * configure.in: bump to 0.7.1cvs 2003-10-22 John Levon * libop/tests/Makefile.am: * libop/tests/load_events_files_tests.c: * libop/tests/alloc_counter_tests.c: fix make distcheck * configure.in: bump to 0.7 2003-10-22 John Levon * daemon/Makefile.am: * daemon/opd_perfmon.h: * daemon/opd_perfmon.c: re-enable. Wait for children. More safety checking. * daemon/oprofiled.c: only use perfmon if !timer 2003-10-20 Philippe Elie * doc/oprofile.xml: * doc/oprofile.1.in: s/physical CPU/CPU/ 2003-10-20 John Levon * daemon/Makefile.am: * daemon/opd_perfmon.h: disable perfmon nicely * gui/oprof_start.cpp: * gui/oprof_start_config.h: * gui/oprof_start_config.cpp: * gui/ui/oprof_start.base.ui: Fix reading of separate parameters. Add CPU and thread separation 2003-10-20 Philippe Elie * libpp/profile_spec.cpp: relative path are relative to current dir not filename. 2003-10-20 John Levon * doc/oprofile.xml: * doc/opreport.1.in: fix --merge docs and profile specs 2003-10-20 John Levon * dae/opd_sample_files.c: * daemon/opd_mangling.c: * libabi/abi.cpp: * libabi/abi_test.cpp: * libabi/op_import.cpp: * libop/op_config.h: * libop/op_sample_file.h: * libpp/op_header.cpp: remove ctr and separate_* from header. Re-arrange it a little, and make it 64 bytes on ILP32. Bump the version. 2003-10-20 John Levon * libpp/arrange_profiles.cpp: rework the clashing-axes error message to be nicer to the user 2003-10-20 John Levon * libpp/arrange_profiles.cpp: if tid == tgid for every profile class, allow axes of both TID and TGID - there is no actual difference, only theoretical 2003-10-20 Philippe Elie * dae/oprofiled.c: correct an error message * libop/op_alloc_counter.h: remove bogus FIXME * libutil++/child_reader.cpp: avoid quadratic behaviour if child does a lot of output in stderr * libpp/opgprof.cpp: fix comment 2003-10-19 Philippe Elie * gui/oprof_start.cpp: redundant return 2003-10-19 John Levon * libop/op_events.c: move to a fixed value for the default event count value 2003-10-19 Philippe Elie remove some FIXME: * libpp/format_output.h: remove first_output bool member * libpp/format_output.cpp: call output_header from the right place * libpp/op_header.h: remove bogus FIXME * libregex/tests/Makefile.am: fix dependencies on mangled-name file, fix make dist * libregex/tests/mangled-name.in: simplify a bit and remove a bogus FIXME * libregex/tests/regex_test.cpp: fix comment * module/ia64/op_syscalls.c: * module/x86/hammer_op_syscalls.c: * module/x86/op_syscalls.c: remove some FIXME 2003-10-17 Philippe Elie * libpp/arrange_profiles.cpp: clarify suggestion. * pp/opreport_options.cpp: update options help string for --merge. * libpp/profile_container.cpp: * libpp/profile_spec.cpp: * pp/common_option.cpp: * pp/populate.cpp: ';' are not necessary to end namespace 2003-10-17 Philippe Elie * libpp/arrange_profiles.cpp: use a set instead of a vector<...> to replace a O(N*M) by a O(N*log(M)) behavior. (N number of samples files, M number of class). 2003-10-17 Philippe Elie * libutil++/op_bfd.cpp: show filename when warning about no debug information available. get_linenr(): s/filename/source_filename/ 2003-10-16 Philippe Elie * events/ia64/itanium/events: counter 0,1 not 2,3 for IA64_INST_RETIRED * daemon/opd_util.c: opd_parse_events() fix use after free. 2003-10-16 John Levon * daemon/opd_perfmon.c: disable the code 2003-10-15 John Levon * daemon/opd_perfmon.c: fflushes to improve order of debug log 2003-10-15 John Levon * daemon/opd_perfmon.c: fix dumb allocation typo; handle signals correctly; wait for children to come up before returning 2003-10-15 Philippe Elie * dae/opd_sample_files.c: * daemon/opd_mangling.c: * daemon/opd_perfmon.c: * daemon/opd_util.c: check we not overflow op_nr_counters 2003-10-15 Philippe Elie * events/ia64/itanium/events: correct counter available according to intel doc. 2003-10-15 John Levon * dae/opd_image.c: * dae/opd_kernel.c: * dae/opd_proc.c: * dae/opd_sample_files.c: * dae/oprofiled.c: * daemon/opd_kernel.c: * daemon/opd_mangling.c: * daemon/opd_sfile.c: * daemon/opd_trans.c: * daemon/opd_util.c: * daemon/opd_util.h: * daemon/oprofiled.c: merge the options handling for dae and daemon 2003-10-15 Philippe Elie * daemon/opd_perfmon.c: * module/ia64/op_pmu.c: bit mask for event select field is 8 bits not 7 2003-10-14 John Levon * configure.in: * m4/findkernel.m4: * utils/opcontrol: 2.5 refs -> 2.6 2003-10-14 John Levon * utils/opcontrol: merge some 2.4/6 code 2003-10-14 John Levon * dae/opd_image.c: * dae/opd_sample_files.c: * dae/oprofiled.c: * utils/opcontrol: use --events for 2.4 daemon too * daemon/opd_perfmon.c: * daemon/opd_mangling.c: fix counter numbering on !perfmon 2003-10-14 John Levon * configure.in: xmemdup not xmemdump 2003-10-14 John Levon * daemon/opd_perfmon.c: propagate a SIGTERM up to the parent. 2003-10-14 John Levon * m4/perfmon.m4: * configure.in: remove pfmlib checks * daemon/opd_util.h: * daemon/opd_util.c: * daemon/opd_mangling.c: * daemon/oprofiled.c: parse more detailed events passed on command line * daemon/opd_perfmon.h: * daemon/opd_perfmon.c: don't use libpfm at all, do it ourselves. * utils/opcontrol: pass more of the events info to the daemon 2003-10-14 John Levon * m4/perfmon.m4: * configure.in: look for pfmlib 3 * daemon/Makefile.am: * daemon/opd_perfmon.h: * daemon/opd_perfmon.c: interface to perfmon on 2.6 IA64 * daemon/opd_mangling.c: * daemon/oprofiled.c: read event descriptions from command line not oprofilefs * daemon/opd_util.h: * daemon/opd_util.c: receive SIGUSR1/2 for perfmon * utils/opcontrol: handle multiple oprofileds. Send SIGUSR1/2 on start/stop. Pass in events list to oprofiled on 2.6. Don't attempt to fill in oprofilefs with event info if using perfmon. 2003-10-14 Philippe Elie * daemon/opd_mangling.c: * daemon/opd_sfile.c: * daemon/opd_sfile.h: protect the sfile we are acting on to be freed by sfile_lru_clear() * libdb/db_manage.c: * libdb/odb_hash.h: Do not put hash->descr in an inconsistent state when a failure occur. 2003-10-13 Philippe Elie * module/oprofile.c: don't restore syscall and stop counter twice 2003-10-13 Will Cohen * libop/op_parse_event.c(parse_events): Correct fprintf. 2003-10-13 Philippe Elie * module/x86/hammer_op_syscalls.c: pass tgid to daemon. Not tested! 2003-10-12 John Levon * utils/opcontrol: share --separate-cpu/thread code now 2003-10-12 Philippe Elie * configure.in: add libregex/tests/mangled-name.in * libregex/tests/mangled-name.txt: move ... * libregex/tests/mangled-name.in: here, tune to support different arch * libregex/tests/Makefile.am: s/mangled-name.txt/mangled-name.in * libregex/stl.pat.in: fix iterator<... ptrdiff_t> * libregex/tests/Makefile.am: update according to filename change * libregex/tests/regex_test.cpp: really fails on exception. 2003-10-12 Philippe Elie * dae/oprofiled.c: don't set cpu_number when !--separate=cpu * libop/tests/alloc_counter_tests.c: printf format for 64 bits arch * libop/tests/cpu_type_tests.c: #include * libop/tests/parse_event_tests.c: #include 2003-10-11 Philippe Elie * libop/op_interface.h: struct op_sample: remove packed attribute 2003-10-11 Philippe Elie * dae/opd_image.c: * dae/opd_image.h: reference count opd_image. Remove modification time checking. Remove hash field. Tidy * dae/opd_kernel.c: pass tid, tgid to op_get_kernel_image() * dae/opd_mapping.c: * dae/opd_mapping.h: use module hash code for image name to index a cache of name, this hash code is no longer used elsewhere. When killing map delete associated image, reference count of image will check for a real delete. * dae/opd_parse_proc.c: get tgid from /proc/pid/status * dae/opd_proc.c: create an opd_proc by process when separate_thread == true. Tidy by adding an opd_for_each_proc() * dae/opd_proc.h: add tid/tgid to opd_proc struct * dae/opd_sample_files.c: * dae/opd_sample_files.h: lru all samples files, allowing to cleanup a part of the lru if we go out of resource. Remove opd_handle_old_sample_files() since we no longer check for image modification time. * dae/opd_stats.c: * dae/opd_stats.h: statistics for opd_image struct depth search * dae/oprofiled.c: add --separate-cpu and --separate-thread * libop/op_interface.h: add tgid to samples struct passed from module to daemon. * module/compat22.h: * module/compat24.h: op_get_tgid() return tgid, fall back to return tid on 2.2 kernel. * module/oprofile.c: * module/ia64/op_syscalls.c: pass tgid to daemon. NOT TESTED but I think it's ok. Note than even if it's broken ia64 should work w/o --separate=thread * module/x86/op_syscalls.c: pass tgid to daemon. * utils/opcontrol: enable 2.4 thread/cpu separation * libdb/tests/db_test.c: verbose on when we provide filename of db file to test on command line. 2003-10-11 Philippe Elie * libop/op_cpu_type.h: * libop/op_cpu_type.c: constification * utils/op_help.c: check only if CPU_NO_GOOD not range * libutil/tests/Makefile.am: * libregex/tests/Makefile.am: * libdb/tests/Makefile.am: s/TEST = (.*)/TESTS = ${check_PROGRAMS}/ * libop/tests/alloc_counter_tests.c: comment fix * libop/tests/Makefile.am: * libop/tests/cpu_type_tests.c: new file, test libop/op_cpu_type.c 2003-10-10 Will Cohen * libop/op_cpu_type.h (op_get_cpu_number): Clarify comment. * libop/op_cpu_type.c (op_get_cpu_number): Check number. * utils/op_help.c (main): Make check with CPU_NO_GOOD. 2003-10-10 Will Cohen * libop/op_cpu_type.h (op_get_cpu_number): Declare. * libop/op_cpu_type.c (op_get_cpu_number): New. (op_get_cpu_type): Use op_get_cpu_number. * utils/op_help.c (main): Use op_get_cpu_number. 2003-10-10 John Levon * libop/op_parse_event.c: fix compile for IA64 2003-10-09 John Levon * doc/oprofile.xml: document "no results" and how to fix it 2003-10-08 John Levon * utils/op_help.c: standardise name * gui/oprof_start.cpp: Qt 2.3.1 compile fix (bug 819943) 2003-10-07 Philippe Elie * dae/opd_kernel.c: memory leak * dae/opd_mapping.c: * dae/opd_mapping.h: * dae/opd_parse_proc.c: * dae/opd_proc.c: * dae/opd_proc.h: use a list of struct opd_map instead of an array, remove last_map optimization. * dae/oprofiled.c: memory leak * libutil/op_cpufreq.c: memory leak, FILE* leak * libutil/op_list.h: fix @author 2003-10-06 Philippe Elie * dae/oprofiled.c: * dae/opd_proc.h: * dae/opd_proc.c: use struct list_head to chain opd_proc struct in hash table * utils/op_help.c: comment fix 2003-10-06 John Levon * utils/opcontrol: work around 2.6 daemon's signal handling race that could cause it to hang during a --shutdown 2003-10-05 Philippe Elie * events/i386/p4/events: * events/i386/p4-ht/events: put GLOBAL_POWER_EVENTS on top * events/i386/pii/unit_masks: * events/i386/piii/unit_masks: typo in help string * utils/op_help.c: show "counter: all" instead an enumeration of all counter 2003-10-02 Philippe Elie * events/*.events *.unit_masks: move these files to subdir named arch/processor_name/events and arch/processor_name/unit_masks * events/Makefile.am: update according * libop/op_events.c: now it's safe to allow loading events file from a directory provided through environment var OPROFILE_EVENTS_FILE_DIR * libop/tests/alloc_counter_tests.c: use it * libop/tests/load_events_files_tests.c: use it 2003-10-02 Philippe Elie * libop/op_events.c: revert last commit (allowed to find events files description directory in alternate directory) * libop/tests/Makefile.am: * libop/tests/load_events_files_tests.c: new files. Validate events description file by loading them. * libutil/op_cpufreq.c: comment why we don't have any code handling s390 2003-10-01 Philippe Elie * configure.in: * libop/Makefile.am: new subdir * libop/op_events.c: allow to retrieve events file dir through environment variable * utils/op_help.c: move parse_events() and parsed_event struct to ... * libop/op_parse_event.h: * libop/op_parse_event.c: these new files * libop/tests/Makefile.am: new tests subdir * libop/tests/alloc_counter_tests.c: events mapping to counter nr tests * libop/tests/parse_event_tests.c: event parsing tests 2003-10-01 Philippe Elie * libop/op_alloc_counter.c: add forward declaration * libop/op_alloc_counter.c: alloc counter in increasing number order, it's less surprising. 2003-10-01 Philippe Elie * libdb/tests/db_test.c: if previous tests fails a corrupted samples file can exist in test dir and will be re-used, remove() it. 2003-10-01 John Levon * daemon/opd_sfile.c: * libabi/op_import.cpp: * libop/op_interface.h: * libpp/locate_images.h: small cleanups * pp/opreport_options.cpp: don't complain about "-x -m all" 2003-09-28 Philippe Elie * libutil/op_file.c: * libutil/tests/file_tests.c: honor posix "//" filename namespace 2003-09-28 Philippe Elie * libop/op_alloc_counter.h: * libop/op_alloc_counter.c: change allocator by a backtracking algorithm walking only through possible solution. 2003-09-26 Philippe Elie * libdb/tests/db_test.c: success must be silent * dae/oprofiled.c: * daemon/oprofiled.c: * libutil/op_deviceio.c: * libutil/op_deviceio.h: op_open_device(): remove unused parameter fatal 2003-09-26 Philippe Elie * libutil/tests/file_tests.c: Fix some test: in some case the pathname component must be valid since we lstat() them. Fix a segfault due to missing ',' 2003-09-26 John Levon * libdb/tests/Makefile.am: * libregex/tests/Makefile.am: * libutil/tests/Makefile.am: don't build tests unless "make check" 2003-09-26 John Levon * libutil/op_file.c: don't test for NULL path passed in, we want to crash here instead of in xstrdup * configure.in: * libutil/Makefile.am: * libutil/tests/Makefile.am: * libutil/tests/file_tests.c: * libutil/tests/string_tests.c: add some unit tests for libutil string and path handling 2003-09-26 Philippe Elie * libdb/db_debug.c: remove useless display interface * libdb/db_db_travel.c: remove callback interface * libdb/odb_hash.h: remove display/callback interface * libdb/db_test.cpp: move to tests subdir * libdb/Makefile.am: update according * libdb/tests: new dir * libdb/tests/.cvsignore: * libdb/tests/Makefile.am: new files * libdb/tests/db_test.cpp: shorter tests * libregex/mangled-name.txt: * libregex/regex_testc.cpp: move to ... * libregex/tests: new directory * libdb/Makefile.am: update according * libregex/tests/.cvsignore: * libregex/tests/Makefile.am: new files 2003-09-26 John Levon * libabi/abi_test.cpp: * libabi/op_import.cpp: small cleanups 2003-09-25 John Levon * daemon/opd_cookie.c: * daemon/opd_kernel.c: * daemon/opd_sfile.c: * daemon/opd_trans.c: * daemon/oprofiled.c: trivial cleanups 2003-09-25 Marc Herbert * configure.in: fix prefix stuff to allow stow to work 2003-09-25 Philippe Elie * pch-c++.h: remove * Makefile.am: update according * configure.in: no longer need for conditional enable_pch * m4/precompiledheader.m4: don't use -Winvalid-pch 2003-09-25 Philippe Elie * daemon/opd_sfile.c: sfile_lru_clear() return 0 if lru is empty * daemon/opd_mangling.c: abort() if lru was empty (not tested) * daemon/oprofiled.c: likewise; opd_alarm(): don't sfile_lru_clear() * utils/op_help.c: * daemon/opd_sfile.h: * daemon/opd_cookie.h: s/()/(void)/ in some function prototype and definition * daemon/opd_cookie.c: s/"not looked up"/"not hashed"/ 2003-09-25 John Levon * daemon/oprofiled.c: push rlimit down back to 2048. This gives a running RSS of about 10Mb when thread profiling on my box, which seems reasonable (at 8192 it was hitting 40Mb) 2003-09-25 Philippe Elie * doc/oprofile.xml: clarify what means a configured kernel. 2003-09-25 John Levon * daemon/opd_sfile.c: bump LRU_AMOUNT to 1000 2003-09-24 John Levon * doc/opcontrol.1.in: * doc/oprofile.xml: document thread and cpu profiling a bit * daemon/opd_mangling.c: * daemon/opd_sfile.c: * daemon/oprofiled.c: * utils/opcontrol: implement per-CPU profiling, not tested yet 2003-09-24 John Levon * dae/opd_proc.c: * dae/opd_sample_files.c: * daemon/opd_mangling.c: * daemon/opd_sfile.c: * libabi/abi_test.cpp: * libabi/op_import.cpp: * libdb/db_insert.c: * libdb/db_manage.c: * libdb/db_test.c: * libdb/odb_hash.h: * libpp/op_header.cpp: * libpp/profile.cpp: remove samples_odb_t.err_msg entirely - prefer UNIX-style errno returns. Modify error messages to match 2003-09-24 John Levon * dae/opd_sample_files.c: * daemon/opd_sample_files.c: * libpp/op_header.cpp: * libpp/profile.cpp: * libabi/abi_test.cpp: * libabi/op_import.cpp: * libdb/db_test.c: * libdb/odb_hash.h: * libdb/odb_manage.c: make odb_open return errno instead of EXIT_FAILURE/SUCCESS to allow EMFILE handling. Also do not leak fd's on failure. * libutil/op_types.h: cookie_t moved into daemon/ * daemon/: major rewrite: move to a hash on all parameters of struct transient. Lots of readability cleanups, plus resistance to cookie lookup failures, and hitting open file limits. Additionally thread profiling for kernel threads is enabled now. 2003-09-24 John Levon * daemon/opd_image.c: remove support for missing CTX_TGID 2003-09-24 John Levon * daemon/oprofiled.c: remove /proc/kcore support 2003-09-22 Philippe Elie * dae/opd_parse_proc.c: both op_file.h and op_fileio.h are needed 2003-09-22 John Levon * doc/CodingStyle: document doxygen placing rule * libop/op_alloc_counter.h: * libop/op_get_interface.c: * libutil++/file_manip.cpp: * libutil++/file_manip.h: * libutil++/op_bfd.cpp: * libutil++/op_bfd.h: * libutil/op_deviceio.c: * libutil/op_deviceio.h: * libutil/op_get_time.c: * libutil/op_get_time.h: * libutil/op_libiberty.c: * libutil/op_libiberty.h: * libutil/op_lockfile.c: * libutil/op_lockfile.h: * libutil/op_popt.c: * libutil/op_popt.h: follow the above * libutil/op_file.c: * libutil/op_file.h: * libutil/op_fileio.c: * libutil/op_fileio.h: * dae/opd_parse_proc.c: * libutil++/string_manip.cpp: move op_get_link to op_file 2003-09-22 John Levon * libutil/op_fileio.h: * libutil/op_fileio.c: warn about op_get_link() restrictions * libutil++/file_manip.h: * libutil++/file_manip.cpp: s/op_read_link/op_follow_link, and behaviour change to match * libpp/profile_spec.cpp: * gui/oprof_start_util.cpp: use op_follow_link 2003-09-22 Philippe Elie * dae/makefile.am: missing AM_CFLAGS setting * dae/oprofiled.c: * daemon/oprofiled.c: handle signal in read loop * daemon/opd_util.h: * daemon/opd_util.c: move opd_setup_signal() from dae/ daemon/ 2003-09-22 John Levon * dae/oprofiled.c: * daemon/oprofiled.c: mask SIGTERM too to prevent the possibility of empty sample files 2003-09-21 Philippe Elie * libpp/format_output.h: * libpp/format_output.cpp: * pp/opreport.cpp: format_output::show_header no hide_header 2003-09-21 Philippe Elie * doc/opreport.1.in: * doc/oprofile.xml: * libpp/format_output.h: * libpp/format_output.cpp: * pp/opreport.cpp: --global_percent must be effective for detailed output too 2003-09-21 John Levon * pp/opreport_options.cpp: prevent --global-percent when appropriate 2003-09-21 John Levon * Makefile.am: back out broken make clean change 2003-09-21 John Levon * Makefile.am: make clean now removes *.html * internals.xml: add some outline sections 2003-09-21 John Levon * doc/internals.xml: provide a short overview and start a glossary * libpp/count_array.h: * libpp/format_output.cpp: * libpp/format_output.h: * libpp/profile.cpp: * libpp/profile.h: * libpp/profile_container.cpp: * libpp/profile_container.h: * pp/opreport.cpp: replace residual references to count groups with profile class concept 2003-09-21 John Levon * doc/Makefile.am: * doc/internals.xml: start an internals manual ... 2003-09-19 John Levon * pp/image_errors.cpp: missing include 2003-09-19 John Levon * libopt++/popt_options.h: * libopt++/popt_options.cpp: remove additional_help stuff, unused for some time 2003-09-18 John Levon * libutil++/Makefile.am: * libutil++/image_flags.h: move to ... * libpp/Makefile.am: * libpp/image_error.h: ... here, and rename * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: take an in-out bool instead of image_flags * libpp/arrange_profiles.cpp: * libpp/arrange_profiles.h: * libpp/locate_images.cpp: * libpp/locate_images.h: * libpp/profile_spec.cpp: * pp/image_errors.cpp: * pp/opgprof.cpp: * pp/populate.cpp: changes from above 2003-09-18 John Levon * libutil++/Makefile.am: * libutil++/image_flags.h: flags for image read failure * libpp/profile_spec.cpp: * libpp/locate_images.h: * libpp/locate_images.cpp: * libpp/arrange_profiles.h: * libpp/arrange_profiles.cpp: use image_flags * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: use image_flags, no longer error out on format failure * pp/Makefile.am: * pp/image_errors.cpp: * pp/image_errors.h: errors previously reported in locate_images are now reported here by the client * pp/opannotate.cpp: * pp/opgprof.cpp: * pp/opgprof_options.cpp: * pp/opreport.cpp: * pp/populate.h: * pp/populate.cpp: use the above 2003-09-18 Philippe Elie * libpp/format_output.cpp: use 9 not 12 for % field width * libutil++/string_manip.cpp: shrink 100.0000 to 100.000 * pp/opreport.cpp: s/" "/' ' 2003-09-18 John Levon * pp/opannotate_options.cpp: * pp/opreport_options.cpp: clean up error messages * pp/opgprof_options.h: * pp/opgprof_options.cpp: * pp/opgprof.cpp: use inverted_profile API 2003-09-18 Philippe Elie * utils/opcontrol: overwrite all current settings with --separate, this change behavior of --separate=kernel,library now we really setup both in this case. 2003-09-18 John Levon * libpp/locate_images.cpp: rewrite a little * libutil++/op_bfd.cpp: set fsize to default to -1, for fake artificial symbol 2003-09-18 Philippe Elie * libpp/locate_images.h: * libpp/locate_images.cpp: find_module_path() extra bool parameter to know if we fail to retrieve the image. * libpp/arrange_profiles.h: * libpp/arrange_profiles.cpp: use it and save this bool in inverted_profile struct * libpp/profile_spec.cpp: update caller according * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: use the above change to create fake op_bfd * pp/opgprof_options.cpp: * pp/opgprof.cpp: update caller but never allow fake op_bfd * pp/populate.cpp: allow to create fake op_bfd 2003-09-18 John Levon * dae/opd_image.c: * dae/opd_proc.c: * dae/opd_sample_files.c: * dae/oprofiled.c: * daemon/opd_image.c: * daemon/opd_image.h: * daemon/opd_kernel.c: * daemon/opd_sample_files.c: * daemon/oprofiled.c: * gui/oprof_start.cpp: * gui/oprof_start_config.cpp: * gui/oprof_start_config.h: * gui/ui/oprof_start.base.ui: * libabi/abi.cpp: * libabi/abi_test.cpp: * libabi/op_import.cpp: * libop/op_sample_file.h: * libpp/op_header.cpp: * utils/opcontrol: renamings of separate stuff 2003-09-17 Philippe Elie * dae/opd_kernel.c: thinko in opd_get_module_info(): we must take care to re-use a previously created module not to create a new 2003-09-17 John Levon * daemon/opd_kernel.c: logging improvements 2003-09-17 Philippe Elie * dae/opd_kernel.c: * daemon/opd_kernel.c: fix use after free of module 2003-09-17 John Levon * daemon/opd_image.c: fix thread profiling when --separate-library=0 2003-09-17 Philippe Elie * dae/opd_kernel.c: add module to list of module ... * daemon/opd_kernel.c: s/print/verbprintf 2003-09-17 Philippe Elie * libop/op_config.h: remove OPD_MAX_MODULEs * dae/opd_kernel.c: * daemon/opd_kernel.c: remove fixed array of modules replaced by a list. Unify the way we create opd_module * utils/opcontrol: don't use --thread-profiling for 2.4 2003-09-17 Ka Fai Lu I adapted slightly this patch Phil. * daemon/opd_image.c: * daemon/opd_image.h: * daemon/opd_kernel.c: * daemon/opd_sample_files.c: * daemon/oprofiled.c: * utils/opcontrol: implement per thread profiling 2003-09-16 Philippe Elie * libopt++/popt_options.h: * libpp/locate_images.cpp: minor tidy 2003-09-16 John Levon * utils/opcontrol: don't pass pid/pgrp filter to 2.6 daemon * dae/oprofiled.c: * daemon/oprofiled.c: setrlimit to 8192 (lame workaround for now), minor cleanups 2003-09-15 John Levon * common_option.cpp: rename the array to avoid a link error in GCC 3.4 2003-09-15 John Levon * libop/Makefile.am: * libop/op_interface_25.h: move to ... * daemon/Makefile.am: * daemon/opd_interface.h: ... here * daemon/opd_image.c: * daemon/oprofiled.c: use above. Remove pointless command line options. * libop/op_config_25.h: remove. * libop/op_hw_config.h: move DCOOKIE_SHIFT to opd_interface.h 2003-09-15 John Levon * configure.in: use -Wdeclaration-after-statement if available * README: * daemon/opd_util.c: * daemon/opd_util.h: * doc/opannotate.1.in: * doc/opgprof.1.in: * doc/opreport.1.in: * doc/oprofile.1.in: * doc/oprofile.xml: * gui/oprof_start.cpp: * gui/oprof_start_util.cpp: * libop/op_cpu_type.c: * libop/op_cpu_type.h: * libop/op_get_interface.c: * libpp/locate_images.cpp: remove references to 2.5, replaced with 2.6 2003-09-15 John Levon * doc/opreport.1.in: document --show-address 2003-09-15 John Levon * libpp/arrange_profiles.cpp: * libpp/arrange_profiles.h: * pp/populate.cpp: more commentary 2003-09-14 Philippe Elie * pp/opreport.cpp: handle 2.95 right io manipulator and the lack of a proper setw(w) << std::string 2003-09-14 John Levon * pp/opreport.cpp: re-add header for image summary 2003-09-14 John Levon * libpp/arrange_profiles.cpp: throw an exception if there are two many unmerged profiles, with details of how to fix it * pp/opgprof_options.cpp: * pp/common_option.cpp: clean up error messages 2003-09-14 John Levon * libpp/arrange_profiles.h: * libpp/arrange_profiles.cpp: add location of images when inverting profiles * libpp/locate_images.cpp: return empty string if file isn't readable * pp/opannotate.cpp: use the above * pp/opreport.cpp: use the above; place warnings before any other output 2003-09-14 John Levon * pp/opgprof_options.cpp: use locate_image_path 2003-09-14 John Levon * Makefile.am: * populate.h: * populate.cpp: shared code for populating from inverted profiles * opreport.cpp: * opannotate.cpp: use above 2003-09-14 John Levon * libpp/arrange_profiles.h: * libpp/arrange_profiles.cpp: add invert_profiles * pp/opreport.cpp: use it 2003-09-14 John Levon * doc/oprofile.xml: * pp/opreport.cpp: * pp/opreport_options.cpp: * pp/opreport_options.h: Turn off VMA report by default, add --show-address 2003-09-14 John Levon * pp/opreport.cpp: nice formatting of image report column headers, respect --no-header 2003-09-14 Philippe Elie * libpp/arrange_profiles.cpp: use string::erase() not string::clear() for 2.95 * libutil++/generic_spec.h: allow to ignore "all" match * libutil++/comma_list.h: use it 2003-09-14 John Levon * pp/opreport.cpp: output column headers for image report 2003-09-14 John Levon * libpp/op_header.h: * libpp/op_header.cpp: output header info to a string not a stream * libpp/arrange_profiles.h: * libpp/arrange_profiles.cpp: give classes a long name, and fill in global event/cpu info * pp/opannotate.cpp: * pp/opannotate_options.cpp: * pp/opannotate_options.h: * pp/opgprof_options.cpp: * pp/opreport.cpp: * pp/opreport_options.cpp: * pp/opreport_options.h: use the class long names and info 2003-09-14 Philippe Elie * libpp/profile_spec.cpp: handle symlink 2003-09-14 John Levon * arrange_profiles.h: * arrange_profiles.cpp: Add code to give short names to each class, unused yet 2003-09-14 Philippe Elie * libpp/arrange_profiles.cpp: missing include<> with gcc 2.95 2003-09-14 John Levon * libpp/Makefile.am: * libpp/split_sample_filename.cpp: * libpp/split_sample_filename.h: rename as ... * libpp/parse_filename.cpp: * libpp/parse_filename.h: ... this * libpp/filename_spec.cpp: * libpp/arrange_profiles.cpp: * libpp/arrange_profiles.h: sort classes for niceness, changes from above * pp/opreport.cpp: remove needless double check of exclude_dependent * libutil++/string_manip.cpp: touint should init to 0 in case of parse failure 2003-09-14 Philippe Elie * configure.in: fix maximum template depth to 50 * libutil/op_fileio.c: op_get_link() don't truncate silently results * m4/sstream.m4: use OP_CXXFLAGS not CXXFLAGS 2003-09-14 John Levon * pp/partition_files.h: * pp/partition_files.cpp: remove, now unused 2003-09-14 John Levon * pp/opannotate.cpp: * pp/opannotate_options.cpp: * pp/opannotate_options.h: use arrange_profiles API 2003-09-14 John Levon * pp/opgprof_options.h: * pp/opgprof_options.cpp: * pp/opgprof.cpp: use arrange_profiles API 2003-09-14 John Levon * libpp/Makefile.am: * libpp/arrange_profiles.cpp: * libpp/arrange_profiles.h: introduce new code for partitioning profiles and handling merging * libpp/partition_files.h: * pp/opreport_options.cpp: * pp/opreport_options.h: * pp/opreport.cpp: use the above code * libpp/format_flags.h: * libpp/profile_container.cpp: remove unneeded multiple apps hint * libpp/count_array.cpp: * libpp/count_array.h: remove unnecessary code 2003-09-14 John Levon * configure.in: back to 0.7cvs 2003-09-14 John Levon * pp/opannotate.cpp: gcc 2.91 workaround (in 0.6.1 release) 2003-09-14 John Levon * configure.in: bump to 0.6.1 2003-09-13 John Levon * doc/oprofile.xml: document "incorrect source attribution" a bit 2003-09-12 Philippe Elie * libpp/op_header.cpp: typo in comment 2003-09-11 John Levon * configure.in: check for -lintl, tweak -ldl check 2003-09-11 John Levon * dae/oprofiled.c: * daemon/oprofiled.c: * libdb/db_manage.c: * libdb/db_test.c: correct headers 2003-09-11 John Levon * op_lockfile.c: use correct headers 2003-09-07 Philippe Elie * utils/op_help.c: check than all events are distincts 2003-09-06 Philippe Elie * pch-c++.h: * m4/precompiledheader.m4: new file to handle precompiled header * m4/Makefile.am: * configure.in: * Makefile.am: handle precompiled header 2003-09-05 John Levon * opd_image.c: cleanup of ctx_switch_set_image() 2003-09-05 Philippe Elie * daemon/opd_image.c: After a context switch ensure we update correctly the current image. 2003-09-04 Philippe Elie * pp/opreport.cpp: * pp/opannotate.cpp: catch op_bfd exception and recover gracefully 2003-09-04 Philippe Elie * utils/opcontrol: tweak "signaling daemon " message as suggested by Carlo Wood 2003-09-04 John Levon * doc/oprofile.xml: mention --reset in "Getting Started" 2003-09-03 John Levon * libop/op_events.c: * libpp/op_header.cpp: * dae/opd_sample_files.c: * daemon/opd_sample_files.c: propagate event error back up to caller * libdb/odb_hash.h: fix comment 2003-09-02 John Levon * dae/opd_image.c: * dae/opd_proc.c: * dae/oprofiled.c: * daemon/opd_image.c: use abort() not exit() on "can't happen" errors 2003-09-02 John Levon * dae/opd_proc.c: * daemon/opd_image.c: fix error message 2003-08-28 Philippe Elie * events/alpha.ev6.events: fix duplicate um tag 2003-08-28 John Levon * events/i386.athlon.events: fix duplicate minimum tag * daemon/opd_image.c: * libop/op_events.c: check for duplicate tags 2003-08-28 John Levon 2003-08-27 Will Cohen * utils/op_help.c (resolve_events): Typecast printf argument. 2003-08-25 Philippe Elie * pp/opannotate_options.cpp: * pp/opannotate_options.h: * pp/opannotate.cpp: enable multiple events * pp/opreport_options.cpp: remove #if 0 .... #endif 2003-08-25 Philippe Elie * libpp/count_array.cpp: avoid to access invalid memory 2003-08-25 Philippe Elie * configure.in: * m4/builtinexpect.m4: * m4/configmodule.m4: * module/Makefile.in: * module/ia64/Makefile.in: * module/x86/makefile.in: always use EXTRA_CFLAGS_MODULE not EXTRA_CFLAGS for module build flags 2003-08-23 Philippe Elie * libregex/op_regex.h: * libregex/op_regex.cpp: tidy * libutil++/op_bfd.cpp: remove obsolete comment 2003-08-23 Philippe Elie * libutil++/file_manip.h: * libutil++/file_manip.cpp: is_directory(dirname): return true if dirname exists * pp/common_option.cpp: validate --image-path parameters 2003-08-22 Philippe Elie * events/i386.p4.events: clarify than 128BIT_MMX_UOP count only integer SSE2 ops * pp/opreport.cpp: minor spacing change in output 2003-08-22 John Levon * daemon/oprofiled.c: report the kernel pointer size 2003-08-22 John Levon * daemon/oprofiled.c: read new /dev/oprofile/pointer_size in preference to kcore. kcore code will eventually go. 2003-08-21 John Levon * libutil++/op_bfd.cpp: update gcc2_compiled. comment to reflect reality 2003-08-19 Philippe Elie * pp/opreport.cpp: really merge when --merge=lib and image name are specified. 2003-08-16 Philippe Elie * pp/opannotate.cpp: output threshold percent when necessary. 2003-08-16 Philippe Elie * libutil++/op_bfd.cpp: remove ELF-based symbol size code 2003-08-15 William Cohen * doc/opcontrol.1.in: * doc/oprofile.1.in: * doc/oprofile.xml: Correct path to /root/.oprofile/daemonrc. 2003-08-15 Thomas Spatzier * daemon/opd_cookie.h: fix s390 syscall 2003-08-14 Philippe Elie * libutil++/string_manip.cpp: erase_to_last_of() is not a ltrim() 2003-08-14 Philippe Elie Dave Jones suggested this change. * module/x86/op_model_p4.c: remove superflous ';' at end of some macro 2003-08-14 Philippe Elie * libutil++/string_manip.h: remove erase_from_last_of() * libutil++/string_manip.cpp: and tidy erase_to_last_of(), rtrim() and ltrim() 2003-08-13 Philippe Elie * libutil++/op_bfd.h: * libpp/profile_container.cpp: remove nil_symbol_index 2003-08-13 John Levon * libpp/profile_container.cpp: * libpp/profile_container.h: remove "base_vma" parameter to add_samples(), we can just re-grab it straight from the abfd 2003-08-13 John Levon * libpp/profile_container.cpp: * libpp/profile_container.h: remove unused "zero samples" optimization hint: it's always false * pp/opannotate.cpp: * pp/opgprof.cpp: * pp/opreport.cpp: from above 2003-08-12 John Levon * pp/opreport.cpp: small trivialities 2003-08-12 Philippe Elie * libregex/stl.pat.in: minor fix/improvements * libregex/mangled-name.txt: add tests 2003-08-12 Philippe Elie * pp/opreport.cpp: fix thinko when --merge=lib 2003-08-12 John Levon * pp/opreport.cpp: s/count_groups_summary/summary_container/g 2003-08-12 John Levon * doc/oprofile.xml: document opreport's side-by-side a little bit 2003-08-12 John Levon * pp/opreport.cpp: s/group_summary/app_summary/, and a lot of other renamings to clarify the count groups usage. 2003-08-12 John Levon * utils/op_help.c: add --unit-mask * utils/opcontrol: use --unit-mask 2003-08-12 Philippe Elie * pp/opreport.cpp: re write using count_array_t 2003-08-11 John Levon * libpp/count_array.cpp: * libpp/count_array.h: auto-resize the number of groups based on how we index. * libpp/profile_container.cpp: remove check * pp/opannotate.cpp: count_array.zero() not .empty() 2003-08-11 John Levon * libpp/filename_spec.h: * libpp/profile_spec.cpp: * libpp/profile_spec.h: add comments, allow comma lists for event, count, and unit mask * libutil++/comma_list.h: implement missing method 2003-08-11 John Levon * libpp/format_output.cpp: * libpp/format_output.h: add set_nr_groups(), remove pp_nr_counters. * libpp/profile_container.cpp: * libpp/profile_container.h: * pp/opannotate.cpp: * pp/opgprof.cpp: * pp/opreport.cpp: count_group not counter 2003-08-11 John Levon * libpp/Makefile.am: * libpp/counter_array.cpp: * libpp/counter_array.h: rename to ... * libpp/count_array.h: * libpp/count_array.cpp: ... this ... * libpp/format_output.cpp: * libpp/format_output.h: * libpp/profile.cpp: * libpp/profile.h: * libpp/profile_container.cpp: * libpp/profile_container.h: * libpp/sample_container.cpp: * libpp/sample_container.h: * libpp/symbol.h: * pp/opannotate.cpp: * pp/opgprof.cpp: * pp/opreport.cpp: ... and several renamings to starting change the notion from "counters" to the more general notion of "count groups" 2003-08-10 Philippe Elie Multiple counter support for pp tools. * libpp/counter_array.h: * libpp/counter_array.cpp: resurrected from pp-interface-branch, for now memory use is inefficient. * libpp/Makefile.am: add counter_array.cpp .h * libpp/format_out.h: * libpp/format_out.cpp: handle multiple counter + a general tidy * libpp/format_flags.h: remove ff_immutable_mask and some nasty requisite on flags value * libpp/profile_container.h: * libpp/profile_container.cpp: * libpp/sample_container.h: * libpp/sample_container.cpp: * libpp/symbol.h: * libpp/symbol_container.cpp: * libpp/symbol_sort.cpp: * pp/opreport.cpp: handle multiple counter * pp/opannotate.cpp: partial handling of multiple counter * pp/opgprof.cpp: * pp/opreport.cpp: minor bits 2003-08-08 Will Cohen * dae/Makefile.am: * daemon/Makefile.am: Correct library linking order. * daemon/opd_util.c: Add needed include files. 2003-08-08 Philippe Elie * utils/opcontrol: move_and_remove() do nothing if source doesn't exist 2003-08-08 Philippe Elie revert the previous patch * dae/Makefile.am: * dae/opd_sample_files.h: * dae/opd_sample_files.c: * daemon/Makefile.am: * daemon/opd_sample_files.c: un-share opd_sample_files code 2003-08-08 John Levon * dae/Makefile.am: * dae/opd_sample_files.h: * dae/opd_sample_files.c: * daemon/Makefile.am: * daemon/opd_sample_files.c: share opd_sample_files code 2003-08-08 John Levon * dae/oprofiled.c: * daemon/oprofiled.c: * daemon/opd_util.h: * daemon/opd_util.c: share opd_write_abi() 2003-08-08 Philippe Elie * libop/op_alloc_counter.c: * libop/op_events.h: minor doxygen fix 2003-08-08 John Levon * dae/Makefile.am: * dae/oprofiled.c: * daemon/Makefile.am: * daemon/oprofiled.c: * daemon/opd_util.h: * daemon/opd_util.c: share some small bits of code between the daemons 2003-08-08 John Levon * dae/oprofiled.c: * daemon/oprofiled.c: remove mypid, unused 2003-08-08 John Levon * dae/Makefile.am: * dae/opd_printf.h: remove duplicate header and use daemon/opd_printf.h 2003-08-08 John Levon * dae/opd_image.c: * dae/opd_sample_files.h: * dae/opd_sample_files.c: * daemon/opd_image.c: * daemon/opd_sample_files.h: * daemon/opd_sample_files.c: remove "create" bool from opd_mangle_filename(): only one callsite needs that functionality, open code the create instead * dae/opd_proc.c: * dae/opd_sample_files.h: * dae/opd_sample_files.c: * daemon/opd_sample_files.h: * daemon/opd_sample_files.c: return error from opd_open_sample_filename(). Do not fail when odb_open fails due to --reset races. * dae/oprofiled.c: * daemon/oprofiled.c: a little more verbosity. * libutil/op_file.h: * libutil/op_file.c: fix create_dir/path() comments, don't use access() * utils/opcontrol: reduce chance of --reset races 2003-08-06 Philippe Elie * libpp/symbol_sort.h: * libpp/symbol_sort.cpp: add app_name sort order, force sort order for criteria unspecified by user. * pp/opreport_options.cpp: update --sort option help string. 2003-08-04 John Levon * doc/oprofile.xml: * doc/opannotate.1.in: * pp/opannotate.cpp: * pp/opannotate_options.h: * pp/opannotate_options.cpp: add --base-dirs 2003-08-04 John Levon * doc/oprofile.xml: * doc/opannotate.1.in: * pp/opannotate.cpp: * pp/opannotate_options.h: * pp/opannotate_options.cpp: add --search-dirs 2003-08-04 John Levon * doc/oprofile.xml: * doc/opannotate.1.in: * pp/opannotate.cpp: * pp/opannotate_options.h: * pp/opannotate_options.cpp: remove --source-dir and --base-dir, they're confusing and not useful in the current form 2003-08-03 John Levon * utils/opcontrol: avoid using ps, it's very slow with kallsyms 2003-08-03 Philippe Elie * libutil++/op_bfd.cpp: c++ static function doesn't get a mangled name in debug info (see gcc #11774). Try to recover through a not completely reliable mechanism but better than ignoring the problem 2003-08-02 Philippe Elie * pp/opreport.cpp: minor: more consistency about function ordering 2003-08-02 Philippe Elie * libpp/profile.h: * libpp/profile.cpp: profile::sample_count() new to allow raw access to samples count * pp/opreport.cpp: use above function to implement opreport (w/o -l or --details options). opreport is roughly twice faster. 2003-08-02 Philippe Elie * pp/opreport.cpp: clarify multiple counter support 2003-08-01 John Levon * libregex/stl.pat.in: fix _List_iterator regex (from Phil) 2003-07-31 Philippe Elie * pp/opannotate.cpp: output cpu type and cpu speed. 2003-07-30 John Levon * libpp/partition_files.cpp: remove some apparently dead code 2003-07-30 John Levon * events/i386.p4.unit_masks: make flame_uops value mandatory, Yuan.Lu@rrze.uni-erlangen.de does not see any events without setting the unit mask 2003-07-30 John Levon * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: bfd_openr() keeps a copy of the passed in char * around, sickenly enough. Ensure lifetimes will always be correct by adding a filename data member to op_bfd 2003-07-29 Philippe Elie * libpp/op_header.h: * libpp/op_header.cpp: separate output of cpu_type, cpu_speed and counter setup * libpp/partition_files.h: * libpp/partition_files.cpp: unmergeable_profile() split profile by the unmergeable. * pp/opreport_options.h: * pp/opreport_options.cpp: * pp/opreport.cpp: initial multiple counter output, multiple counter with -l is not yet available. 2003-07-29 John Levon * doc/opcontrol.1.in: update for --event 2003-07-29 John Levon * configure.in: * doc/srcdoc/Doxyfile.in: * oprof_report/: remove badly out of date oprof_report 2003-07-28 John Levon * configure.in: bump to 0.7cvs 2003-07-26 John Levon * configure.in: bump to 0.6 2003-07-26 John Levon * utils/opcontrol: fix call of op_help 2003-07-26 John Levon * gui/oprof_start.cpp: replace folder icons with clearer red/green circles 2003-07-26 John Levon * gui/oprof_start.cpp: actually select and show the default event 2003-07-26 John Levon * gui/oprof_start.cpp: small string tweak, show "conflicts" message consistently 2003-07-26 John Levon * gui/oprof_start.cpp: don't use invalidated iterator 2003-07-26 Philippe Elie * gui/oprof_start.cpp: fix for 2.91.66 * libpp/profile.cpp: typo invoking an undefined behavior revealed by gcc stl debug mode * libpp/profile.h: ensure we provide the right typedef to std:: for profile::const_iterator revealed by gcc stl debug mode at compile time. The implementation is a bit tricky to work with old compiler * libpp/symbol_sort.cpp: compare must define a weak ordered relation order, revealed by gcc stl debug mode. 2003-07-26 Philippe Elie * gui/ui/oprof_start.base.ui: * gui/oprof_start.h: * gui/oprof_start.cpp: change UI to use the new counter allocation API * libop/op_alloc_counter.h: * libop/op_alloc_counter.c: * utils/op_help.c: minor const-ness api change 2003-07-25 Will Cohen * utils/opcontrol: Restrict the search path. 2003-07-25 Philippe Elie * libop/op_alloc_counter.c: use tabulation * libop/op_events.c: * libop/op_events.h: find_event_by_name() new * utils/op_help.c: use find_event_by_name() 2003-07-24 Philippe Elie * utils/op_help.c: make valgrind happy + minor cleanup 2003-07-24 Philippe Elie * libop/op_alloc_counter.h: * libop/op_alloc_counter.c: new file providing mapping from an event list to hardware counter number * utils/op_help.c: use the above api 2003-07-24 Philippe Elie * utils/op_help.c: fix hardware counter allocation order 2003-07-23 John Levon * doc/oprofile.xml: comment out --base-dir mention 2003-07-23 John Levon * doc/oprofile.xml: remove mention of oprof_start_event 2003-07-23 John Levon * dae/oprofiled.c: * daemon/oprofiled.c: don't uselessly try to unlink non-existent lockfile * daemon/opd_image.c: * daemon/oprofiled.c: clean up buffer read messages 2003-07-23 John Levon * utils/opcontrol: error out at --setup time if vmlinux is not valid. Cleanup the error message if so * daemon/opd_kernel.c: fix potential null deref 2003-07-21 John Levon * gui/oprof_start.cpp: select "No event" when switching counter if needed 2003-07-21 John Levon * gui/oprof_start.cpp: fix default event choosing when daemonrc exists 2003-07-21 Philippe Elie * gui/oprof_start.cpp: thinko in has_unique_event(), don't warn for no counter with CPU_TIMER_INT 2003-07-21 Philippe Elie * gui/oprof_start.cpp: allow to de-select a counter 2003-07-21 John Levon * gui/oprof_start.cpp: * gui/oprof_start_util.h: * gui/oprof_start_util.cpp: remove uptime pretty printing. It's broken for 2.5 and ugly code 2003-07-21 John Levon * gui/oprof_start.h: * gui/oprof_start.cpp: use a default event if no events are set yet 2003-07-20 Philippe Elie * m4/compileroption.m4: fix for autoconf 2.13 2003-07-19 Philippe Elie * gui/oprof_start.cpp: * libpp/format_output.cpp: * libpp/format_output.h: * pp/opannotate.cpp: * pp/opreport_options.cpp: minor tidy 2003-07-19 Philippe Elie * gui/oprof_start.cpp: RTC mode was not working 2003-07-16 Philippe Elie * gui/oprof_start_config.h: * gui/oprof_start_config.cpp: remove dead code, fix kernel_only read 2003-07-16 John Levon * utils/opcontrol: fix typo that was partly breaking CPU_TIMER_INT 2003-07-16 John Levon * gui/oprof_start.h: * gui/oprof_start.cpp: fixes for CPU_TIMER_INT 2003-07-16 John Levon * gui/ui/oprof_start.base.ui: remove add/remove event buttons, fix resize weirdness * gui/oprof_start.h: * gui/oprof_start.cpp: remove add/remove event buttons, allow short-form event descriptions 2003-07-15 Philippe Elie * gui/persistent_config.h: remove * gui/oprof_start.h: * gui/oprof_start.cpp: debug, remove dead code, works better now, see TODO 2003-07-15 Philippe Elie * gui/oprof_start.h: * gui/oprof_start.cpp: * gui/oprof_start_util.cpp: re-enable partially the gui, sorta of working if cautioulsy used 2003-07-15 John Levon * gui/ui/oprof_start_base.ui: * gui/oprof_start.h: * gui/oprof_start.cpp: some steps towards fixing gui for the new events stuff 2003-07-15 John Levon * libop/op_events.h: * libop/op_events.c: add op_default_event * utils/op_help.c: move default event stuff to libop, fix -c option 2003-07-15 John Levon * utils/op_help.c: fix default RTC event to be "RTC_INTERRUPTS" 2003-07-15 Philippe Elie * utils/opcontrol * events/rtc..events: use RTC_INTERRUPTS as event name 2003-07-15 Philippe Elie * daemon/opd_sample_files.c: C89 compile fix 2003-07-15 John Levon * utils/opcontrol: * utils/op_help.c: move the default event strings into op_help.c instead of in opcontrol 2003-07-15 John Levon * doc/oprofile.xml: document event name for timer interrupt * daemon/opd_sample_files.c: handle CPU_TIMER_INT * utils/op_help.c: fix a core dump 2003-07-13 Philippe Elie * daemon/opd_image.c: verbprintf() when starting reading buffer not printf 2003-07-12 Philippe Elie * from BRANCH_CALLGRAPH: * daemon/opd_image.c: printf -> verbprintf, fix comment * daemon/opd_kernel.c: kernel/module samples statistics was wrong * daemon/opd_image.c: * daemon/opd_image.h: * daemon/opd_kernel.c: * daemon/opd_kernel.h: import cleanup from branch, mainly don't handle samples in opd_kernel.c but return (creating if necessary) an opd_image struct where the sample must go and let opd_image caller in opd_image.c do sample insertion 2003-07-11 Philippe Elie * utils/opcontrol: shows basename $0 with --version * libpp/op_header.cpp: formating 2003-07-11 Philippe Elie * utils/opcontrol: don't try to save current if the directory doesn't exist 2003-07-11 Philippe Elie * libutil++/stream_util.h: * libutil++/stream_util.cpp: new file, io_state() save object * libutil++/Makefile.am: handle new file * libutil++/op_bfd.cpp: * pp/opreport.cpp: * libpp/op_header.cpp: use io_state 2003-07-09 Philippe Elie * module/x86/op_model_p4.c: reflect intel documentation fix. 2003-07-08 Will Cohen * daemon/opd_kernel.c: Handle /proc/modules format. 2003-07-08 Will Cohen * doc/oprofile.xml: * configure.in: --enable-gcov option and documentation. 2003-07-08 Will Cohen * utils/opcontrol: Correct P4 default event. 2003-06-03 John Levon * from BRANCH_CALLGRAPH * libdb/odb_hash.h: * libdb/db_manage.c: * libdb/db_insert.c: namespace safety * libpp/partition_files.cpp: * libpp/profile.cpp: spacing, add a FIXME 2003-07-07 Philippe Elie * pp/opannotate.cpp: * pp/opgprof.cpp: * pp/opreport.cpp: cleanup walking through multimap with a pair 2003-07-05 Philippe Elie * daemon/opd_image.c: * libdb/db_insert.c: 64 bits arch compile fix, thanks to Falk Hueffner 2003-07-02 Philippe Elie * pp/opreport.cpp: honor options::show_header 2003-06-30 Graydon Hoare * libpp/op_header.cpp: Handle printing multiple bitmask values. 2003-06-19 John Levon * doc/Makefile.am: fix make distcheck 2003-06-18 John Levon * pp/opannotate_options.c: hide the unhandled --base-dir option 2003-06-18 John Levon * pp/Makefile.am: don't build opdiff 2003-06-17 Will Cohen * daemon/opd_cookie.h: Add s390 syscall value. 2003-06-17 John Levon * utils/opcontrol: don't accept "-r" - it's too easy to typo 2003-06-17 John Levon * doc/srcdoc/Doxyfile: removed * doc/srcdoc/Doxyfile.in: * configure.in: generate doxygen version nr. automatically 2003-06-17 Philippe Elie * libdb/db_insert.cpp: missing initialization of error message on error path 2003-06-17 John Levon * utils/opcontrol: accept some short forms for common operations 2003-06-17 John Levon * utils/opcontrol: accept --foo blah as well as --foo=blah 2003-06-16 John Levon * utils/opcontrol: "opcontrol" will show usage instead of doing nothing 2003-06-16 Will Cohen * libabi/abi.cpp: * libabi/op_import.cpp: Add required include for cassert. 2003-06-16 John Levon * events/x86-64.hammer.unit_masks: remove some bogus FIXMEs 2003-06-15 John Levon * README: fix autogen.sh line 2003-06-15 John Levon * daemon/opd_image.c: 64 bit fixes 2003-06-15 John Levon * utils/op_help.c: c89 fix 2003-06-15 John Levon * daemon/opd_image.c: c89 fix 2003-06-15 John Levon * doc/oprofile.xml: document --event * utils/opcontrol: * utils/op_help.c: allow unit mask, kernel, user to be optional. Verify not too many events are passed. 2003-06-15 John Levon * libop/op_cpu_type.c: fix nr_counters cpu type check * utils/op_help: implement --check_events, event validation and counter allocation * utils/opcontrol: use the above, implement --event=default 2003-06-14 John Levon * daemon/opd_image.c: fix a stupid error in my previous TGID patch 2003-06-12 Graydon Hoare * libop/op_events.c (op_check_events): Check bitmasks as well as exclusive values, for unit masks. 2003-06-12 John Levon * daemon/opd_image.c: we were not handling a truncated TGID entry properly 2003-06-12 John Levon * libutil++/unique_storage.h: missing typename 2003-06-11 Philippe Elie * pp/opannotate_options.cpp: typo in option name 2003-06-11 Philippe Elie * libutil++/op_bfd.cpp: boring_symbol() new to get a better choice when eliminating symbol at identical vma 2003-06-11 Philippe Elie * utils/opcontrol: fix rtc option checking, bug added after 0.5.3, no big deal 2003-06-11 Philippe Elie * libregex/op_regex.cpp: * libpp/profile.cpp: compile fix, tree was broken by my previous patch 2003-06-11 Jason Yeh * events/i386.athlon.events: add CPU_CLK_UNHALTED * utils/opcontrol: use the above by default * events/x86-64.hammer.events: * events/x86-64.hammer.unit_masks: various fixes 2003-06-11 Philippe Elie * libpp/op_header.cpp: * libpp/profile.cpp: * libpp/profile_spec.cpp: * libpp/symbol_sort.cpp: * libregex/op_regex.cpp: * libutil++/op_bfd.cpp: use exception rather exit(EXIT_FAILURE) in library code 2003-06-11 John Levon * daemon/opd_image.c: future-proof the code handlers 2003-06-11 Philippe Elie * pp/opannotate.cpp: output_asm() avoid output when the set of selected symbols doesn't contain any samples 2003-06-11 Philippe Elie * libutil++/unique_storage.h: we don't need to check if key is present before trying to insert it 2003-06-10 Philippe Elie * libpp/name_storage.h: minor tidy * libutil++/unique_storage.h: small efficiency improvement 2003-06-09 John Levon * pp/Makefile.am: * libutil/Makefile.am: fix make distcheck 2003-06-09 John Levon * libpp/opp_symbol.h: rename to ... * libpp/symbol.h: ... this * libpp/Makefile.am: * libpp/format_output.h: * libpp/format_output.cpp: * libpp/profile_container.h: * libpp/profile_container.cpp: * libpp/sample_container.h: * libpp/sample_container.cpp: * libpp/symbol_functors.h: * libpp/symbol_sort.cpp: fix up from above and some header cleanups 2003-06-09 John Levon * libpp/profile.h: std::pair not pair 2003-06-08 Philippe Elie * libpp/profile.cpp: don't underflow start offset when the vma range is unknown * pp/opreport.cpp: use samples_range() not samples_range(0, ~0) 2003-06-08 Philippe Elie * libpp/profile.h: * libpp/profile.cpp: replace accumulate_samples() API by an iterator interface * libpp/profile_container.h: * libpp/profilecontainer.cpp: * pp/opreport.cpp: use new API 2003-06-08 Philippe Elie * include/sstream: replace old version by the once shipped with 2.95.3, seekg() in the old was not working 2003-06-08 John Levon * libpp/name_storage.h: don't need to define the tag structs * libutil++/unique_storage.h: fix the comments, make get() public 2003-06-08 Philippe Elie * libpp/profile_container.cpp: * libutil++/string_manip.cpp: gcc 2.91.66 fix 2003-06-08 John Levon * libpp/name_storage.h: * libpp/name_storage.cpp: * libpp/opp_symbol.h: * libpp/profile_container.cpp: * libpp/symbol_functors.cpp: * libutil++/unique_storage.h: don't derive from I() at all for id_value, it's not needed. Hide .id and provide operator<(), operator==(), operator!=(), and set() 2003-06-08 John Levon * libutil++/unique_storage.h: make some of id_value only visible to unique_storage. 2003-06-08 John Levon * libpp/name_storage.h: * libutil++/unique_storage.h: move the ID class into unique_storage, and make it derive from the template parameter, to give simpler type safe support 2003-06-08 John Levon * libutil++/Makefile.am: * libutil++/unique_storage.h: add new template for unique storage of values * libpp/name_storage.h: * libpp/name_storage.cpp: use it 2003-06-07 Philippe Elie * libpp/profile_container.cpp: fix order of file output with opannotate --source to be consistent with other tools 2003-06-07 John Levon * libpp/profile_container.cpp: fix operator< 2003-06-07 Philippe Elie * libpp/profile.h: * libpp/profile.cpp: change API to walk through vma with non zero samples count rather looking for all vma. This is not very clean, an iterator interface will be perhaps a better idea. Measures shows it's to do it so for now I apply it. * libpp/profile_container.cpp: update according to above change. 2003-06-07 Philippe Elie * libpp/profile_container.h: * libpp/profile_container.cpp: * libpp/symbol_container.h: * libpp/symbol_container.cpp: remove dead api find_symbol(string symbol_name) 2003-06-07 Philippe Elie * libpp/name_storage.h: * libpp/name_storage.cpp: * libpp/profile_container.cpp: * libpp/profile_container.h: * libpp/sample_container.h: * libpp/sample_container.cpp: * libpp/symbol_container.h: * libpp/symbol_container.cpp: * pp/opannotate.cpp: replace some use of string filename by debug_name_id 2003-06-05 John Levon * daemon/Makefile.am: * daemon/opd_kernel.c: * daemon/p_module.h: remove p_module.h, unused * daemon/opd_cookie.h: use __NR_lookup_dcookie and use our definitions only if it's not defined * daemon/opd_image.c: * daemon/opd_kernel.c: * daemon/opd_sample_files.c: * daemon/oprofiled.c: pedantry * libabi/op_import.cpp: * libabi/abi_test.cpp: fix build from odb change * libop/op_config.h: move NR_CPUS to ... * libop/op_config_24.h: ... here * libop/op_hw_config.h: remove unused OP_COUNT_MAX 2003-06-03 Philippe Elie * libpp/op_header.cpp: * libpp/profile.cpp: * dae/opd_proc.c: * dae/opd_sample_files.c: * daemon/opd_image.c: * daemon/opd_sample_files.c: * libdb/odb_hash.h: * libdb/db_insert.c: * libdb/db_manage.c: * libdb/db_test.c: error message is now a field of a samples_odb_t 2003-06-03 John Levon * libutil++/child_reader.cpp: * libabi/abi.cpp: * libabi/abi.h: * libabi/abi_test.cpp: * libabi/op_api.h: * libabi/op_abi.cpp: * libabi/op_import.cpp: pedantry, remove unused code 2003-06-01 Philippe Elie * dae/oprofiled.c: * libop/oprofiled.c: * libop/op_cpu_type.c: * module/oprofile.c: * module/oprofile.h: * pp/opdiff.cpp: more static data and function 2003-05-31 Philippe Elie * gui/oprof_start_util.h: * libdb/db_stat.c: * libdb/odb_hash.h: * libpp/format_output.h: * libpp/locate_image.h: * libpp/name_storage.h: * libpp/partition_files.h: * libpp/profile.h: * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: improve doxygen comment 2003-05-31 Philippe Elie * configure.in: use AC_DEFINE_UNQUOTED() to define version string in config.h not in version-1.h * Makefile.am: distclean-local: is no longer used * version-1.h.in: delete * libutil/op_version.h: * libutil/op_version.c: new file: package version output * libutil/Makefile.am: * dae/oprofiled.c: * daemon/oprofiled.c: * gui/oprof_start.h: * libop/op_events.c: * libopt++/popt_options.cpp: * libregex/demangle_sybol.cpp: * module/oprofile.c: * utils/op_help.c: tweak # include according 2003-05-30 Dan Zink * module/x86/op_apic.c: really disable the apic if it was disabled 2003-05-29 John Levon * utils/opcontrol: don't allow --rtc-value if not RTC mode 2003-05-27 John Levon * libutil++/string_manip.h: add * pp/opannotate.cpp: use '\n' not endl * pp/opreport.cpp: untie cout 2003-05-29 Philippe Elie * merge with pp-interface-branch: following ChangeLog was unmerged to branch 2003-05-27 John Levon * configure.in: oprofile 0.5.3 is released, back to 0.6cvs 2003-05-26 John Levon * doc/oprofile.xml: update docs for --no-vmlinux 2003-05-26 John Levon * libop/op_interface_25.h: * daemon/opd_image.c: handle tgid for future compatibility, fix compile on older gccs 2003-05-26 John Levon * libop/op_interface_25.h: add LAST_CODE * daemon/opd_stats.h: * daemon/opd_stats.c: count short reads of buffer and unplaceable samples * daemon/opd_image.c: rewrite buffer parsing code, handle window where we can't place a sample 2003-05-26 John Levon * libutil++/utility.h: fix typo * utils/opcontrol: fix typo 2003-05-16 John Levon * pp/counter_profile.cpp: remove bogus cpu speed consistency check 2003-05-09 John Levon * m4/Makefile.am: * m4/compileroption.m4: add a generalised compiler option tester * configure.in: use it, add -fno-common 2003-05-09 John Levon * daemon/oprofiled.c: * dae/oprofiled.c: remove duplicate declaration found via -fno-common 2003-05-04 John Levon * doc/oprofile.xml: fix validation errors from xmllint --valid 2003-05-28 Philippe Elie * libpp/profile_spec.cpp: make image:/path/to:image working 2003-05-28 Philippe Elie * libutil++/string_manip.h: * libutil++/string_manip.cpp: specialize lexical_cast_no_ws to accept hexadecimal input * pp/common_option.cpp: missing << endl 2003-05-27 Philippe Elie * doc/oprofile.xml: update example in "Interpreting profiling results" section 2003-05-26 John Levon * doc/oprofile.xml: add new pp tools options 2003-05-26 John Levon * doc/opreport.1.in: * doc/opgprof.1.in: * doc/opannotate.1.in: * doc/op_help.1.in: complete 2003-05-26 John Levon * configure.in: * doc/Makefile.am: * doc/oprofile.1.in: * doc/op_help.1.in: * doc/opcontrol.1.in: * doc/opreport.1.in: * doc/opannotate.1.in: * doc/opgprof.1.in: re-organise and add manpages 2003-05-26 John Levon * doc/oprofile.xml: start to document the pp interface 2003-05-26 Philippe Elie * pp/opreport.cpp: remove automatic switch to --symbols mode 2003-05-26 Philippe Elie * libpp/symbol_sort.h: * pp/opannotate_options.cpp: * pp/opgprof_options.cpp: * pp/opreport_options.cpp: handle meaningless options combinations 2003-05-26 Philippe Elie * pp/opgprof_options.cpp: no need to use unmergeable_profile here 2003-05-25 Philippe Elie * events/i386.piii.unit_masks: tweak comment, change default unit mask for kni instruction to 0 and type to exclusive 2003-05-25 Philippe Elie * libpp/profile_container.cpp: thinko * pp/opreport.cpp: typo 2003-05-25 John Levon * libopt++/popt_options.h: * libopt++/popt_options.cpp: obvious cleanup, remove some dead code 2003-05-25 Philippe Elie * libpp/format_flags: cf_image_name new column_flags flag * libpp/profile_container.cpp: use above flag. Don't compare app_name by string but id * pp/opreport.cpp: hide image_name when un-necessary 2003-05-24 Philippe Elie * doc/srcdoc/Doxyfile: * libpp/profile.h: * libpp/profile_container.h: * libutil++/utility.h: remove gcc 2.91 noncopyable as empty base class work-around 2003-05-23 Philippe Elie * configure.in: do early check of libiberty * libpp/symbol_sort.cpp: 2.91 compile fix 2003-05-22 Philippe Elie * libutil++/child_reader.h: minor #include fix 2003-05-22 Philippe Elie * libpp/name_storage.cpp: debug_name_storage::name() return an empty string when for zero id to avoid exception 2003-05-21 Philippe Elie * libpp/profile.cpp: * libpp/op_header.h: * libpp/op_header.cpp: when sample file differ output the sample filename * pp/opannotate.cpp: remove spurious output * */Makefile.am: * configure.in: handle our own OP_CFLAGS, OP_CXXFLAGS to let user free to use make CFLAGS= 2003-05-20 Philippe Elie * libpp/profile_spec.h: * libpp/profile_spec.cpp: remove lib_image_exclude, use image_exclude instead. match() Handle image exclusion. * libregex/stl.pat.in: FIXME * libutil++/string_manip.h: compile fix 2003-05-19 John Levon * libutil++/comma_list.h: * libpp/filename_spec.cpp: * libutil++/string_manip.h: * libutil++/generic_spec.h: rename strict_convert<> to lexical_cast_no_ws<> 2003-05-19 John Levon * libutil++/generic_spec.h: move strict_convert<> to... * libutil++/string_manip.h: ...here 2003-05-19 John Levon * libutil++/generic_spec.h: comma_list isn't a friend any more * libutil++/comma_list.h: use generic_spec<>::match() directly 2003-05-19 John Levon * libpp/name_storage.h: s/name_map/stored_names/, it's not a map any more. 2003-05-19 Philippe Elie * libregex/mangled-name.txt: * libregex/stl.pat.in: partial handling of _Identity<> and _Select1st<>, pattern fail if type are too complex 2003-05-19 Philippe Elie * libpp/format_output.cpp: small cleanup * libpp/name_storage.h: * libpp/name_storage.cpp: ensure type safety by providing distinct type identifier for each name_storage based container * libpp/profile_container.cpp: * libpp/sample_container.cpp: * libpp/symbol_functors.cpp: * libpp/symbol_sort.cpp: * libpp/opp_symbol.h: use the name identifier api * libpp/op_header.cpp: * libpp/partition_files.cpp: use a set not a name_storage * libpp/format_output.cpp: small cleanup 2003-05-18 Philippe Elie * libpp/partition_files.cpp: merge partition entry when necessary fixing a corner case when a binary can be a dependent or a primary image and was not merged 2003-05-18 Philippe Elie * pp/opreport_options.cpp: * pp/opannotate_options.cpp: remove conflicting options shortcut 2003-05-18 Philippe Elie * libregex/stl.pat.in: add list::{const_}+iterator 2003-05-17 Philippe Elie * libpp/name_storage.cpp: basename() return an empty string for nil id 2003-05-17 Philippe Elie * libutil++/op_bfd.cpp: get_linenr() init linenr to zero * libpp/name_storage.cpp: don't use id zero * libpp/opp_symbol.h: now we use id and not string we must provide default ctor to initialize the id * libpp/profile_container.cpp: init debug info entry only if get_linenr() succeed 2003-05-17 Philippe Elie * libdb/db_manage.c: better handling of zero sample file size when opening in read only mode * module/x86/op_nmi.c: printk format fix 2003-05-17 John Levon * pp/opannotate_option.cpp: * pp/opreport_options.cpp: command line changes 2003-05-17 John Levon * libpp/name_storage.h: * libpp/name_storage.cpp: add present() * libpp/op_header.cpp: * libpp/partition_files.cpp: use a name store to track what we've warned about, and clean up the warnings a bit 2003-05-16 John Levon * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: expose anonymous symbols to the world as "??sectionname". Useful for .plt and .fini, which are quite common. * libpp/name_storage.cpp: demangle anonymous symbols nicely. 2003-05-16 John Levon * libpp/symbol_sort.cpp: fix image-sorting 2003-05-16 John Levon * libpp/name_storage.h: * libpp/name_storage.cpp: make ID be per-container 2003-05-16 John Levon * libpp/name_storage.h: * libpp/name_storage.cpp: merge processed names into one string, remove the boolean 2003-05-16 John Levon * libpp/name_storage.h: * libpp/name_storage.cpp: whoops, use string not stored_name for the ID map 2003-05-16 John Levon * libpp/name_storage.h: * libpp/name_storage.cpp: split into three stores for debug filenames, symbols, and images * libpp/format_output.cpp: * libpp/profile_container.cpp: * libpp/sample_container.cpp: * libpp/symbol_container.cpp: * libpp/symbol_sort.cpp: * pp/opannotate.cpp: changes from above 2003-05-16 John Levon * libpp/Makefile.am: * libpp/name_storage.h: * libpp/name_storage.cpp: add shared storage and caching of symbol and file names * libpp/opp_symbol.h: * libpp/format_output.cpp: * libpp/profile_container.cpp: * libpp/sample_container.cpp: * libpp/symbol_container.cpp: * libpp/symbol_container.h: * libpp/symbol_sort.cpp: * libpp/symbol_sort.h: * pp/opannotate.cpp: * pp/opreport.cpp: use it * pp/opgprof_options.cpp: add unused demangle options to hack-fix the build 2003-05-16 John Levon * libpp/symbol_sort.cpp: fix --sort debug 2003-05-16 John Levon * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: remove have_debug_info() 2003-05-16 Philippe Elie * libpp/op_header.cpp: remove cpu_speed checking * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: bail out in get_linenr() if binary doesn't contain any debug info. Speed up my test case opreport --debug-info -l by 25 2003-05-16 John Levon * libutil++/op_bfd.cpp: clean up interesting_symbol a bit 2003-05-16 John Levon * libutil++/op_bfd.cpp: make sure linenr is always set to something * libpp/opp_symbol.h: linenr should be unsigned * libpp/profile_container.cpp: remove some unneeded copies 2003-05-16 John Levon * pp/opannotate.cpp: small renaming 2003-05-15 John Levon * libpp/symbol_container.h: * libpp/symbol_container.cpp: add begin(), end(), remove symbols_by_count() * libpp/profile_container.cpp: use symbol container iterator directly in select_symbols() 2003-05-15 John Levon * libpp/format_output.h: * libpp/format_output.cpp: * libpp/profile_container.h: * libpp/profile_container.cpp: * libpp/symbol_container.h: * libpp/symbol_container.cpp: * libpp/symbol_sort.h: * libpp/symbol_sort.cpp: * pp/opannotate.cpp: * pp/opreport.cpp: * pp/opgprof.cpp: move symbol_collection typedef into global namespace, and use consistently 2003-05-15 John Levon * libpp/format_output.h: * libpp/format_output.cpp: add vma_format_64bit(), remove bool parameter from output() * pp/opreport.cpp: change from above, refactor flags code into get_format_flags() helper 2003-05-12 Philippe Elie * libpp/format_output.h: * libpp/format_output.cpp: * libpp/symbol_sort.h: * libpp/symbol_sort.cpp: handle reverse sort in sorting not in output * pp/opannotate.cpp: * pp/opreport.cpp: update according 2003-05-12 Philippe Elie * libpp/symbol_sort.h: * libpp/symbol_sort.cpp: handle sort order as specified on command line * pp/opgprof.cpp: sort symbol is not necessary for gprof * pp/opreport.cpp: * pp/opreport_options.cpp: * pp/opannotate.cpp: use new sort API 2003-05-12 John Levon * libpp/symbol_sort.h: * libpp/symbol_sort.cpp: partial implementation of other sort options 2003-05-12 John Levon * libpp/Makefile.am: * libpp/symbol_sort.h: * libpp/symbol_sort.cpp: add sorting code * symbol_functors.h: move some less() into symbol_sort.cpp * libpp/profile_container.h: * libpp/profile_container.cpp: don't pass in sort option to select_symbols(), do it in caller * pp/opannotate.cpp: * pp/opgprof.cpp: * pp/opreport.cpp: * pp/opreport_options.h: * pp/opreport_options.cpp: from the above 2003-05-12 John Levon * format_flags.h: remove vma64_p. Add column_flags * libpp/profile_container.h: * libpp/profile_container.cpp: pass in a struct to select_symbols. Generate hints for 64-bit VMA and multiple apps in the profile. * pp/opannotate.cpp: * pp/opgprof.cpp: * pp/opreport.cpp: use the above 2003-05-12 John Levon * libpp/format_output.cpp: * libpp/format_flags.h: * pp/opreport.cpp: trivial renaming of flags 2003-05-11 John Levon * libpp/format_output.cpp: * libpp/format_flags.h: better output for the default of short filenames 2003-05-11 John Levon * pp/opreport.cpp: improve the app/image name column showing a bit 2003-05-11 John Levon * pp/opreport.cpp: default to -l if we were just going to show one image summary. 2003-05-11 John Levon * pp/opreport.cpp: move some code around that outputs the image summaries 2003-05-11 John Levon * libpp/format_output.h: * libpp/format_output.cpp: * pp/opreport.cpp: * pp/opreport_options.h: * pp/opreport_options.cpp: s/--short-filename/--long-filenames/ 2003-05-11 John Levon * libpp/profile_spec.h: * libpp/profile_spec.cpp: take exclude_dependent not include_dependent * pp/opannotate_options.c: * pp/opgprof_options.c: * pp/opreport_options.h: * pp/opreport_options.c: change to use exclude_dependent, remove --hide-dependent 2003-05-11 John Levon * locate_images.h: * locate_images.cpp: extra_images can now use relative paths for its search dirs. Move most of the warnings out of find_image_path, and make it also handle relative paths. Return the file even if it wasn't readable. * libpp/partition_files.cpp: give warnings when necessary. * libpp/profile_spec.h: * libpp/profile_spec.cpp: handle relative paths inside image specs, as stated in pp_interface; also use the extra images search path for resolution. * pp/opannotate_options.cpp: * pp/opreport_options.cpp: * pp/opgprof_options.cpp: changes from above 2003-05-11 John Levon * libpp/format_flags.h: source doc improvements 2003-05-11 John Levon * libpp/opp_symbol.h: move vma64_p to ... * libpp/format_flags.h: ... here 2003-05-11 John Levon * libpp/Makefile.am: * libpp/outsymbflags.h: * libpp/format_flags.h: * libpp/profile_container.h: * libpp/format_output.h: * libpp/format_output.cpp: * pp/opreport.cpp: rename outsymbflags to format_flags 2003-05-11 John Levon * profile_container.h: * profile_container.cpp: * opannotate.cpp: clean up select_filename() in a similar fashion 2003-05-11 John Levon * libpp/profile_container.h: * libpp/profile_container.cpp: * pp/opreport.cpp: * pp/opannotate.cpp: * pp/opgprof.cpp: another select_symbols() API cleanup 2003-05-11 John Levon * pp/opgprof.cpp: use select_symbols so we can handle --threshold 2003-05-11 Philippe Elie * pp/opannotate.cpp: use threshold for source output 2003-05-11 John Levon * pp/common_option.h: * pp/common_option.cpp: * pp/opannotate_options.cpp: * pp/opreport_options.cpp: make --threshold be a common option. 2003-05-11 John Levon * pp/profile_container.h: * pp/profile_container.cpp: * pp/opannotate.cpp: * pp/opreport.cpp: clean up select_symbols interface 2003-05-11 John Levon * pp/opreport.cpp: make --threshold work for image summaries too 2003-05-11 John Levon * pp/opreport_options.cpp: fix --threshold description to match reality 2003-05-11 John Levon * libpp/partition_files.h: * libpp/partition_files.cpp: * pp/opannotate_options.cpp: * pp/opgprof_options.cpp: * pp/opreport.cpp: * pp/opreport_options.cpp: rename merge_by members 2003-05-11 John Levon * pp/opreport.cpp: add some logic to not output duplicate lines for dep images when we've already shown all the possible details in the main image summary 2003-05-11 John Levon * pp/common_option.h: use std:: 2003-05-11 Philippe Elie * pp/opreport_options.cpp: move handle_threshold() * pp/common_option.h: * pp/common_option.cpp: here * pp/opannotate_options.h: * pp/opannotate_options.cpp: * pp/opannotate.cpp: handle --threshold 2003-05-10 John Levon * libop/op_mangle.h: * libop/op_mangle.c: use a temp struct for passing the mangle parameters with a set of flags. * dae/opd_sample_files.c: * daemon/opd_sample_files.c: use it 2003-05-10 John Levon * Makefile.am: * HACKING: * libop++/: * pp/Makefile.am: * libpp/Makefile.am: * libpp/op_header.h: * libpp/op_header.cpp: remove libop++ after moving op_header into libpp 2003-05-10 John Levon * libop++/op_header.cpp: make CPU info take up one line not two 2003-05-10 John Levon * libop++/Makefile.am: * libop++/op_header.cpp: * libop++/op_print_event.h: * libop++/op_print_event.cpp: remove op_print_event files, making it a function local to op_header.cpp 2003-05-10 John Levon * libop++/op_header.h: * libop++/op_header.cpp: make output_header() be an operator<< * pp/opannotate.cpp: * pp/opreport.cpp: changes from the above * libpp/profile.h: small cleanup 2003-05-10 Philippe Elie * libutil++/string_manip.h: * libutil++/string_manip.cpp: replace format_percent() by format_double() * libpp/format_output.cpp: * pp/opannotate.cpp: * pp/opreport.cpp: use format_double() 2003-05-09 John Levon * libpp/opp_symbol.h: app name, image name should be in symbol not in file_location * libpp/format_output.cpp: * libpp/profile_container.h: * libpp/profile_container.cpp: * libpp/symbol_container.cpp: * libpp/symbol_functors.cpp: changes from above 2003-05-09 John Levon * libpp/format_output.h: * libpp/format_output.cpp: vma_64 doesn't need to be in field_datum. make one output() private 2003-05-09 John Levon * libpp/format_output.h: * libpp/format_output.cpp: pass a symbol ref not name down into the formatters 2003-05-09 John Levon * libutil++/string_manip.h: * libutil++/string_manip.cpp: sample_filename() is unused 2003-05-09 Philippe Elie * libop++/op_header.h: * libop++/op_header.cpp: read_header() new * libop++/Makefile.in: we depend on libdb * pp/opannotate.cpp: * pp/opreport.cpp: better way to get sample file header 2003-05-09 Philippe Elie * libpp/format_output.cpp: remove redundant map formater * pp/opannotate.cpp: spurious cout 2003-05-08 John Levon * pp/opreport.cpp: * pp/opreport_options.cpp: * pp/opreport_options.h: clean up cout stuff as suggested by Phil 2003-05-08 John Levon * libpp/profile_spec.h: * libpp/profile_spec.c: rename the set_p variables, remove pointless is_empty() function * pp/opreport.cpp: split collation and output into two separate functions. Rename the temporary structures so it's hopefully a bit more obvious what's happening. Add sourcedocs. 2003-05-08 John Levon * pp/opreport_options.h: * pp/opreport_options.cpp: add options::cout, --output-file option * pp/opreport.cpp: use options::cout 2003-05-08 John Levon * pp/format_output.cpp: fix cumulative column widths 2003-05-08 John Levon * opreport_options.h: add accumulated * opreport.cpp: handle --accumulated 2003-05-08 Philippe Elie * libpp/symbol_container.cpp: minor tidy * libpp/profile.h: * libpp/profile.cpp: allow to cumulate sample file * libpp/profile_container.h: * libpp/profile_container.cpp: remove free function add_samples() * pp/annotate.cpp: * pp/opgprof.cpp: * pp/opreport.cpp: when possible cumulate samples into a profile_t first before cumulating them in a profile_container 2003-05-07 John Levon * pp/opannotate.cpp: small cleanup 2003-05-07 John Levon * pp/opreport_options.cpp: remove unneeded include 2003-05-07 John Levon * libpp/Makefile.am: * libpp/parse_cmdline.h: * libpp/parse_cmdline.cpp: rename to ... * libpp/profile_spec.h: * libpp/profile_spec.cpp: this. Make handle_nonoptions() be a static factory create() method instead. Make select_sample_filenames() be a member generate_file_list() instead. Concomitant cleanups. * libpp/filename_spec.h: * pp/opannotate_options.cpp: * pp/opgprof_options.cpp: * pp/opreport_options.cpp: changes from above 2003-05-07 John Levon * libpp/profile.cpp: fix stupid error in last commit 2003-05-07 John Levon * libpp/profile.h: * libpp/profile.cpp: remove sample_filename member, bogus old spurious check, set_start_offset(). * libpp/profile_container.cpp: * pp/opannotate.cpp: * pp/opreport.cpp: changes from above 2003-05-07 John Levon * libpp/derive_files.h: * libpp/derive_files.cpp: rename files as ... * libpp/locate_images.h: * libpp/locate_images.cpp: this. * libpp/Makefile.am: * libpp/partition_files.h: * pp/common_option.h: * pp/opgprof.cpp: * pp/opgprof_options.h: * pp/opreport_options.h: changes from above 2003-05-07 John Levon * libpp/derive_files.h: * libpp/derive_files.cpp: rework into extra_images class * libpp/partition_files.h: * libpp/partition_files.cpp: * pp/common_option.h: * pp/common_option.cpp: * pp/opannotate.cpp: * pp/opgprof.cpp: * pp/opreport.cpp: use the above 2003-05-07 John Levon * libpp/Makefile.am: * session.h: * session.cpp: remove session.{h,cpp} 2003-05-07 Philippe Elie * pp/oprofpp.cpp pp/oprofpp_options.cpp pp/oprofpp_options.h: * pp/op_time.cpp pp/op_time_options.cpp pp/op_time_options.h: * pp/op_to_source.cpp pp/op_to_source_options.cpp: * pp/op_to_source_options.h pp/op_merge.cpp: removed files * pp/Makefile.am: update 2003-05-06 Philippe Elie * pp/opgprof.cpp: infamous typo * pp/opannotate.cpp: output sample file header 2003-05-06 Philippe Elie * libpop++/op_mangling.h: * libpop++/op_mangling.cpp: removed file * libop++/op_header.h: * libop++/op_header.cpp: new file, misc function acting on sample file header stolen from libpp/profile.(cpp|h) * libop++/op_print_event.h: typo * libop++/op_print_event.cpp: save/restore ostream state * libop++/Makefile.am: update * libop/op_sample_file.h: remove dead #define OPD_MANGLE_CHAR * libpp/profile.h: * libpp/profile.cpp: move some member function to free function in libop++/op_header.(cpp|h) * libpp/profile_container.cpp: minor call change * libpp/Makefile.am: op_merge can't be compiled currently inhibit build * libpp/opreport.cpp: output sample file header 2003-05-06 Philippe Elie * libutil++/path_filter.h: default param to empty string not "*" * libpp/symbol_functors.h: remove dead code * pp/opgprof.cpp: off by one in histsize calculation 2003-05-04 Philippe Elie * libutil/op_file.h: * libutil/op_file.c: sanitize create_path() * libutil++/path_filter.h: default ctor match all * libpp/profile_container.h: * libpp/profile_container.cpp: * libpp/sample_container.h: * libpp/sample_container.cpp: * libpp/symbol_container.h: * libpp/symbol_container.cpp: extend api to allow selecting symbol restricted to one application, ditto for retrieving samples * pp/opannotate_options.h: * pp/opannotate_options.cpp: * pp/opannotate.cpp: implement * pp/opgprof_options.h: * pp/opgprof_options.cpp: * pp/opreport_options.h: * pp/opreport_options.cpp: comment fix * pp/opreport.cpp: update to match new profile_container api 2003-05-03 Philippe Elie * pp/opreport.cpp: don't show dependent file if !--include-dependent 2003-05-02 Philippe Elie * libpp/partition_files.h: * libpp/partition_files.cpp: sort_by_image_name() new return a list of sample filename sorted by bfd image name. * libpp/profile_container.cpp: add_samples() don't build op_bfd object used here but pass it as parameters * pp/opgprof.cpp: * pp/opreport.cpp: use the above change to avoid opening multiple time a bfd object. * pp/opannotate_options.cpp: add --(include|exclude)-symbols * libpp/parse_cmdline.cpp: * pp/opgprof_options.cpp: * pp/opreport.cpp: make a distinction in error message between no sample available and sample file available but no one was selected 2003-05-01 Philippe Elie * pp/opannotate_options.h: * pp/opannotate_options.cpp: * pp/opdiff.cpp: * pp/opdiff_options.h: * pp/opdiff_options.cpp: * pp/opgprof.cpp: * pp/opgprof_options.h: * pp/opgprof_options.cpp: * pp/opreport.cpp: * pp/opreport_options.h: * pp/opreport_options.cpp: move common options handling ... * pp/common_option.h: * pp/common_option.cpp: here * pp/opannotate.cpp: add options * libpp/parse_cmdline.cpp: #include ... 2003-05-01 Philippe Elie * libpp/counter_util.h: * libpp/counter_util.cpp: remove these files from cvs * libpp/derive_files.h: * libpp/derive_files.cpp: remove dead code derive_files() + typo * libpp/parse_cmdline.cpp: select_sample_filename() throw if empty session after filtering * pp/common_option.cpp: catch invalid_argument, return failure on catched exception 2003-05-01 Philippe Elie * libutil++/op_bfd.cpp: remove _init from excluded symbol * libpp/profile_container.cpp: tidy * pp/opgprof.cpp: fix capping samples 2003-04-30 John Levon * pp/opgprof.cpp: * pp/opgprof_options.cpp: * libpp/profile.cpp: tiny cleanups, fix compile 2003-04-30 Philippe Elie * libdb/db_stat.c: minor improvement to stat, useful to track missed sample by our tools. * pp/op_report.cpp: move matching_sample_filename() to ... * libpp/parse_cmdline.h: * libpp/parse_cmdline.cpp: here renamed select_sample_filename() * libpp/profile_container.h: * libpp/profile_container.cpp: expose begin() / end() from sample_container * pp/common_option.h: * pp/common_option.cpp: move option which was not really common to .. * pp/opreport_options.h: * pp/opreport_options.cpp: here * pp/opannotate_options.h: * pp/opannotate_options.cpp: and here * pp/operport.cpp: * pp/opannotate.cpp: better to return a value from main() ... * pp/opgprof_options.h: * pp/opgprof_options.cpp: * pp/opgprof.cpp: implement opgprof 2003-04-29 Philippe Elie * libpp/parse_cmdline.h: * libpp/parse_cmdline.cpp: handle opreport /lib/libc-2.2.5.so, now non tag, non option argument match either an image name or lib name 2003-04-29 John Levon * libutil++/op_bfd.cpp: remove "static " inside anon namespace 2003-04-28 Philippe Elie * libpp/format_output.h: * libpp/format_output.cpp: need header tweaking * pp/opannotate.cpp: * pp/opgprof.cpp: minor tidy * pp/opreport_options.h: * pp/opreport_options.cpp: * pp/opreport.cpp: handle -no-header and --image-path 2003-04-28 Philippe Elie * libutil++/glob_filter.cpp: * libutil++/path_filter.cpp: * libutil++/string_filter.cpp: #include 2003-04-28 John Levon * libutil++/string_filter.cpp: * libutil++/string_filter.h: * libutil++/glob_filter.h: * libutil++/glob_filter.cpp: * libutil++/path_filter.h: * libutil++/path_filter.cpp: use std::find[_if], share some code 2003-04-28 Philippe Elie * libutil++/op_bfd.cpp: replace a loop by a std::copy() 2003-04-28 John Levon * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: cleanup of last fix 2003-04-28 John Levon * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: make symbol filtering happen *after* adding of artificial symbol 2003-04-28 John Levon * libutil++/string_filter.cpp: * libutil++/glob_filter.cpp: * libutil++/path_filter.cpp: match as true if include_list is empty and not excluded * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: use string_filter to filter symbols * libpp/profile_container.h: * libpp/profile_container.cpp: * pp/opreport_options.h: * pp/opreport_options.cpp: * pp/opreport.cpp: changes from using string_filter 2003-04-28 Philippe Elie * pp/opreport.cpp: finish to remove use of split_sample_filename 2003-04-28 John Levon * libutil++/filename_match.h: * libutil++/filename_match.cpp: replace with ... * libutil++/Makefile.am: * libutil++/string_filter.h: * libutil++/string_filter.cpp: * libutil++/glob_filter.h: * libutil++/glob_filter.cpp: * libutil++/path_filter.h: * libutil++/path_filter.cpp: .. split up variants of the filters * libpp/parse_cmdline.cpp: use glob_filter * pp/op_to_source.cpp: use path_filter 2003-04-28 Philippe Elie * libpp/partition_files.h: * libpp/partition_files.cpp: * libpp/split_sample_filename.h: * libpp/split_sample_filename.cpp: * pp/opreport.cpp: replace some use of std::string sample_filename by a split_sample_filename struct 2003-04-28 John Levon * libutil++/filename_match.h: * libutil++/filename_match.cpp: use file-scope not private static member function 2003-04-27 Philippe Elie * libpp/format_output.h: * libpp/format_output.cpp: remove all string based output format flag * libpp/format_output.cpp: move options::demangle handling ... * libregx/demangle_symbol.cpp: here * libpp/profile_container.h: * libpp/profile_container.cpp: * pp/opreport_options.h: * pp/opreport_options.cpp: * pp/opreport.cpp: handle --include-symbols 2003-04-27 Philippe Elie * pp/opreport_options.h: * pp/opreport_options.cpp: * pp/opreport.cpp: handle --threshold, remove --ignore-symbols 2003-04-27 John Levon * libpp/: minor spacing etc. 2003-04-27 Philippe Elie * libpp/outsymbflag.h: remove osf_short_xxx variant * libpp/format_output.h: * libpp/format_output.cpp: replace osf_short_xxx by a boolean * libpp/profile_container.cpp: update according * pp/opreport_options.h: export short_filename option * pp/opreport.cpp: use short_filename 2003-04-27 Philippe Elie * libpp/symbol_functors.h: add less_symbol predicate * libpp/symbol_functors.cpp: new file, less_symbol implementation * libpp/Makefile.am: symbol_functors.cpp * libpp/symbol_container.h: * libpp/symbol_container.cpp: use a node based container for symbols ensuring validity of symbol pointer over a symbol_container life time * libpp/sample_container.h: * libpp/sample_container.cpp: ditto as above for samples * libpp/profile_container.h: * libpp/profile_container.cpp: use this new api to merge symbols and sample. * libpp/format_output.h: * libpp/format_output.cpp: use new api to iterate over sample by symbol * pp/opreport.cpp: detailed output 2003-04-27 John Levon * pp/opreport.cpp: make opreport -l put largest results at the top like opreport does 2003-04-26 Philippe Elie * libpp/profile_container.h: comment * pp/opreport_options.h: more options export * pp/opreport.cpp: implement -l. Doesn't works correctly: --merge=lib 2003-04-25 Philippe Elie * pp/opreport_options.h: export global_percent * pp/opreport.cpp: finish to implement op_time like behavior. Remains to implement op_time -l 2003-04-25 Philippe Elie * libpp/partition_files.cpp: fix a crash when profile spec is empty * pp/opreport_options.cpp: bail out if no samples files are found 2003-04-25 John Levon * pp/opreport_options.cpp: --hide-dependent should have 'h' as short form. Add a FIXME for a crash 2003-04-25 Philippe Elie * libpp/partition_files.cpp: thinko in sample filename partition * pp/opreport_options.h: export more options * pp/opreport_options.cpp: add --hide-dependent, change --merge to not default to all * pp/opreport.cpp: handle --hide-dependent --include-dependent and --merge=lib. Code is ugly, tidy incoming 2003-04-25 John Levon * libpp/format_output.cpp: * libpp/format_output.h: * libpp/outsymbflag.h: "immutable" not "imutable" * libpp/partition_files.cpp: include to compile 2003-04-24 Philippe Elie * libpp/partition_files.h: typo * libpp/profile.cpp: difficult to get right result with a random value in profile::start_offset * pp/opreport_options.h: export options::reverse_sort * pp/opreport_options.cpp: bail out if we get multiple counter * pp/opreport.cpp: raw output result for application (not symbol) output. 2003-04-24 Philippe Elie * libpp/filename_spec.h: * libpp/filename_spec.cpp: * libpp/parse_cmdline.h: * libpp/parse_cmdline.cpp: * libpp/split_sample_filename.h: * libpp/split_sample_filename.cpp: s/unit_mask/unitmask * libpp/merge_spec.cpp: * libpp/merge_spec.h: rename to * libpp/partition_files.h: * libpp/partition_files.cpp: here. Add and merge_option. partition_files is now a class. * pp/opreport_options.h: * pp/opreport_options.cpp: * pp/opreport.cpp: update according to the above. Add a roughly support to count samples for plain op_time opreport like 2003-04-24 John Levon * libpp/profile_container.h: * libpp/profile_container.cpp: chop off the _t of the class name * libpp/format_output.cpp: * libpp/format_output.h: * libpp/symbol_container.cpp: * libpp/symbol_container.h: * pp/op_time.cpp: * pp/op_to_source.cpp: * pp/oprofpp.cpp: changes from the above 2003-04-24 John Levon * libpp/profile_container.h: * libpp/profile_container.cpp: pedantry for sample_container indices. * libpp/sample_container.h: * libpp/sample_container.cpp: various cleanups and docs. Add and use size_type. * libpp/symbol_container.h: * libpp/symbol_container.cpp: renamings. Add and use size_type. 2003-04-24 John Levon * libpp/symbol_container.h: * libpp/symbol_container.cpp: remove unused operator[]. Add some docs. Some small cleanups 2003-04-24 John Levon * libpp/symbol_container_imp.h: * libpp/symbol_container_imp.cpp: * libpp/sample_container_imp.h: * libpp/sample_container_imp.cpp: These classes weren't using the pimpl idiom, so the _imp was spurious. Remove that as well as removing the _t from the names, and rename to ... * libpp/symbol_container.h: * libpp/symbol_container.cpp: * libpp/sample_container.h: * libpp/sample_container.cpp: ...files moved from the above with new names. 2003-04-23 Philippe Elie * libutil++/generic_spec.h: minor formating tweak * libpp/parse_cmdline.h: * libpp/parse_cmdline.cpp: handle_non_options(): return parse_cmdline by value * libpp/merge_spec.h: * libpp/merge_spec.cpp: new files: partition list of samples filename according to merge options. * libpp/Makefile.am: update * pp/opreport_options.cpp: more options handling, use partition_files() 2003-04-22 John Levon * pp/opreport_options.cpp: compile fix 2003-04-21 Philippe Elie * libutil++/filename_match.h: * libutil++/filename_match.cpp: add strict_match() * libutil++/generic_spec.cpp: generic_spec::set() was not setting is_all member leading to bad matching * libpp/filename_spec.cpp: minor tidy * libpp/parse_cmdline.h: * libpp/parse_cmdline.cpp: fix match() * libpp/split_sample_filename.h: * libpp/split_sample_filename.cpp: handle sample file base directory * libop++/op_print_event.h: * libop++/op_print_event.cpp: * libpp/format_output.h: * libpp/format_output.cpp: * libpp/opp_symbol.h: * libpp/profile.h: * libpp/profile.cpp: * libpp/profile_container.h: * libpp/profile_container.cpp: * libpp/sample_container_imp.h: * libpp/sample_container_imp.cpp: * libpp/symbol_container_imp.h: * libpp/symbol_container_imp.cpp: * libpp/symbol_functors.h: remove all use of counter number * libpp/counter_array.h: * libpp/counter_array.cpp: * libpp/counter_profile.h: * libpp/counter_profile.cpp: no longer used, move some bits to libpp/profile.(h|cpp) and remove these files. * libpp/Makefile.am: update according * pp/op_merge.cpp: use profile_t not counter_profile_t * pp/makefile.am: correct lib for op_merge * pp/opreport_options.cpp: more options handling 2003-04-19 Philippe Elie * libopt++/popt_options.cpp: don't show help_str with --usage * libpp/format_output.cpp: typo * libutil/op_file.c: create dir with 755 not 700 * pp/common_option.cpp: source formating * libpp/parse_cmdline.h: * libpp/parse_cmdline.cpp: handle_non_options() new * pp/opreport_options.cpp: handle more options * pp/opsummary.cpp: * pp/opsummary_options.h: * pp/opsummary_options.cpp: remove, opreport should do its job. * pp/Makefile.am: update 2003-04-18 Philippe Elie * libopt++/popt_options.cpp: allow "no-" prefix to long option name implicitly specify the value must be negated * libopt++/popt_options.cpp: update doxygen documentation * libpp/format_output.h: missing #include * libpp/format_output.cpp: space + minor change * pp/opannotate_options.h: * pp/opannotate_options.cpp: * pp/opdiff_options.h: * pp/opdiff_options.cpp: * pp/opgprof_options.h: * pp/opgprof_options.cpp: * pp/opreport_options.h: * pp/opreport_options.cpp: * pp/opsummary_options.h: * pp/opsummary_options.cpp: new skeleton file * pp/opannotate.cpp: * pp/opdiff.cpp: * pp/opgprof.cpp: * pp/opreport.cpp: * pp/opsummary.cpp: update to handle options * pp/common_option.cpp: follow more closely pp_interface * pp/opsummary_options.cpp: start to handle opsummary option * pp/Makefile.am: update 2003-04-17 Philippe Elie * libpp/format_output.h: * libpp/format_output.cpp: * libpp/outsymbflag.h: * libpp/profile_container.h: * libpp/profile_container.cpp: osf_header/osf_details are no longer flags but separate boolean. 2003-04-17 Philippe Elie * dae/opd_kernel.c: * daemon/opd_kernel.c: remove leading '/' on module name fixing 2.5 module not under {kern} and similar case for "no-vmlinux" with 2.4/2.5 * libutil/op_file.c: tiny tidy 2003-04-17 Philippe Elie * libop/op_mangle.c: app_name and image was reversed, {dep} was missing 2003-04-17 John Levon * libpp/filename_spec.h: * libutil++/comma_list.h: compile fixes 2003-04-17 Philippe Elie * utils/opcontrol: better --reset handling 2003-04-16 Philippe Elie * dae works, daemon compiles but not tested. * libop/op_config.h: * libpp/op_session.h: * libpp/session.cpp: * pp/op_merge: handle new path to samples files. * libutil++/file_manip.h: * libutil++/file_manip.cpp: move create_dir(), create_path() ... * libutil/op_file.h: * libutil/op_file.c: here. Remove op_move_regular_file() * daemon/opd_image.c: * daemon/opd_sample_files.h: * daemon/opd_sample_files.c: * dae/opd_image.c: * dae/opd_sample_files.h: * dae/opd_sample_files.c: use new filename scheme * daemon/oprofiled.c: * dae/oprofiled.c: remove samples files backup stuff * libop/op_mangle.h: * libop/op_mangle.c: ugly modification to handle new samples filename * utils/opcontrol: handle new samples files path, --save and --reset are working too. * gui/oprof_start_util.cpp: use new create_path() API 2003-04-16 Philippe Elie * pp/common_option.cpp: * pp/common_option.h: * libregex/demangle_symbol.cpp: rename demangle_and_shrink to smart_demangle 2003-04-16 Philippe Elie * starting branch pp-interface-branch * Makefile.am: * configure.in: handle new sub dir libpp * libutil++/comma_list.h: new file handling of comma separated list of items. * libutil++/generic_spec.cpp: * libutil++/generic_spec.h: new file * libutil++/Makefile.am: handle new file * pp/counter_array.*: * pp/counter_profile.*: * pp/counter_util.*: * pp/derive_files.*: * pp/format_output.*: * pp/opp_symbol.h: * pp/outsymbflag.h: * pp/profile.*: * pp/profile_container.*: * pp/sample_container_imp.*: * pp/session.*: * pp/symbol_container_imp.*: * pp/symbol_functors.*: move to * libpp/*: here * libpp/filename_spec.cpp: * libpp/filename_spec.h: new file handling of pp sample filename * libpp/parse_cmdline.cpp: * libpp/parse_cmdline.h: new file, handling of command line tag:value * libpp/Makefile.am: new file build libpp.a * pp/common_option.h: * pp/common_option.cpp: common option to pp tools. Implement common entry point to pp tools. * pp/opannotate.cpp: * pp/opdiff.cpp: * pp/opgprof.cpp: * pp/opreport.cpp: * pp/opsummary.cpp: skeleton file for all pp tools. * pp/Makefile.am: remove old pp tools, add the news. 2003-04-28 Alex Tsariounov * module/ia64/op_pmu.c: fix compile 2003-04-24 Philippe Elie * module/compat22.h: add cpuid_edx when linux version < 2.2.21 2003-04-24 Dave Jones * events/x86-64.hammer.events: * events/x86-64.hammer.unit_masks: typo fixes from AMD. * module/x86/cpu_type.c: Check for APIC on Athlon before enabling it. 2003-04-15 Philippe Elie * events/i386-ht.events: all events allow only one counter, remove three events due to ESCR restriction. * events/i386.events: add some comments. * module/x86/op_model_p4.c: synch with linux 2.5 mainline - except events CTR_BPU_0 all virtual counter was not working. - Prevents a segfault when using incorrect counter number. - ESCR event select is 6 bits length not 5. - Don't fail silently in p4_setup_ctrs(). * module/x86/op_msr.h: match name used in linux. 2003-04-15 John Levon * doc/oprofile.1.in: * doc/oprofile.xml: small english fixes 2003-04-14 Philippe Elie * dae/opd_kernel.c: * dae/opd_proc.c: * dae/oprofiled.c: * utils/opcontrol: * doc/oprofile.1.in: * doc/oprofile.xml: handle --no-vmlinux * daemon/opd_kernel.c: use no-vmlinux not /no-vmlinux when user specify --no-vmlinux 2003-04-08 John Levon * HACKING: describe what happens with oprofile-www 2003-04-08 Philippe Elie * libutil++/op_bfd.cpp: check for #717720 and direct user to FAQ if detected. Note than we don't detect all symptom of this bug. 2003-04-08 Philippe Elie * libutil++/op_exception.h: op_runtime_error is no longer abstract * libregex/op_regex.h: comment and tidy * libregex/op_regex.cpp: tidy 2003-04-07 Philippe Elie * pp/op_to_source.cpp: make each line be prefixed with the samples counts. It was too hard to find samples inside previous format. 2003-04-07 Philippe Elie * libutil++/string_manip.cpp: work around for gcc 2.95 * p/op_to_source.cpp: minor cleanup 2003-04-07 John Levon * pp/op_to_source.cpp: cheat a bit to get better indentation on the default setup, by widening counter width to 7. 2003-04-07 John Levon * pp/op_to_source.cpp: append symbol summary annotations separate from the prolog samples on the same line. 2003-04-07 John Levon * pp/op_to_source.cpp: only output line 0 annotation if samples found there. 2003-04-07 John Levon * utils/opcontrol: make sure --ctrX-event=none gets noticed 2003-04-06 John Levon * libutil++/string_manip.h: * libutil++/string_manip.cpp: remove ws_prefix(). Add format_percent(). * pp/op_to_source.cpp: make each line be prefixed with the sample counts, instead of on a line above, to preserve line numbering. 2003-04-06 John Levon * pp/op_to_source.cpp: some renamings for clarity 2003-04-06 John Levon * pp/op_to_source.cpp: move extract_blank_at_begin() to ... * libutil++/string_manip.cpp: ... here, and rename as ws_prefix(). 2003-04-06 John Levon * pp/op_to_source.cpp: prefix comment lines. Output the general footer on each separate file. Output the info at the bottom when outputting separate files (towards maintaining line numbering). 2003-04-06 John Levon * pp/op_to_source.cpp: construct a file-scope cmdline string, instead of passing it around. 2003-04-06 John Levon * libregex/op_regexp.cpp: re-arrange a bit 2003-04-06 John Levon * configure.in: * all Makefile.am: don't blindly set $LIBS, use explicit mention of which libs are needed. * dae/Makefile.am: * daemon/Makefile.am: only link with C++ if needed. 2003-04-05 Philippe Elie * libop/op_config_24.h: * module/oprofile.c: * module/oprofile.c: make watermark size proportional to buffer size. 2003-04-05 Philippe Elie * libop/op_events.h: * libop/op_events.c: re-add op_min_count(); * dae/oprofiled.c: * daemon/oprofiled.c: use op_min_count() fixing #715923 2003-04-01 John Levon * libdb/Makefile.am: fix make dist * daemon/opd_cookie.h: add SPARC syscall number. The system call function is OK for sparc/sparc64 2003-03-31 Will Cohen * libdb/odb_hash.h: Renamed db_hash.h. * dae/Makefile.am: * dae/opd_image.c: * dae/opd_image.h: * dae/opd_proc.c: * dae/opd_sample_files.c: * daemon/Makefile.am: * daemon/opd_image.c: * daemon/opd_image.h: * daemon/opd_sample_files.c: * libabi/Makefile.am: * libabi/abi.cpp: * libabi/abi_test.cpp: * libabi/op_import.cpp: * libdb/Makefile.am: * libdb/db_debug.c: * libdb/db_hash.h: * libdb/db_insert.c: * libdb/db_manage.c: * libdb/db_stat.c: * libdb/db_test.c: * libdb/db_travel.c: * pp/Makefile.am: * pp/counter_profile.cpp: * pp/counter_profile.h: * pp/op_merge.cpp: Change names to avoid libdb.a name conflicts. 2003-03-30 John Levon * configure.in: bump to 0.6cvs * doc/oprofile.xml: fix id. Add java etc. mention * utils/Makefile.am: * utils/op_start: * utils/op_start_25: * utils/op_stop: * utils/op_stop_25: * utils/op_dump: * utils/op_dump_25: * utils/op_session: finally remove the back compat crap * HACKING: add release-notes policy 2003-03-30 John Levon * configure.in: bump to 0.5.2 2003-03-30 John Levon * Makefile.am: remove op_arch.h for ia64 2003-03-27 John Levon * doc/oprofile.xml: several more examples and fixes 2003-03-26 John Levon From a patch by Bryan Rittmeyer. * module/oprofile.c: * module/oprofile.h: push "irq_enabled" test into arch code, don't pass struct pt_regs. * module/x86/op_arch.h: cleanups * module/x86/op_model_athlon.c: * module/x86/op_model_ppro.c: * module/x86/op_model_p4.c: * module/x86/op_rtc.c: changes from above * module/ia64/op_arch.h: remove * module/ia64/op_pmu.c: change from above 2003-03-24 John Levon * doc/oprofile.xml: document prologues, and inline functions 2003-03-24 Will Cohen * libutil/op_fileio.c (op_get_line): Use lower cost getc(). 2003-03-24 John Levon * m4/configmodule.m4: fix quoting problem for awk 2003-03-23 John Levon * configure.in: * m4/: move lots of stuff into separate .m4 files * m4/typedef.m4: improve configure message 2003-03-23 John Levon * configure.in: * m4/Makefile.am: * m4/copyifchange.m4: * m4/docbook.m4: * m4/kerneloption.m4: * m4/kernelversion.m4: * m4/resultyn.m4: move configure.in macros to m4/ 2003-03-23 John Levon * m4/ChangeLog: add comment * m4/typedef.m4: can't use AC_LANG_PUSH/POP 2003-03-23 Philippe Elie * TODO: update * m4/Makefile.am: * m4/typedef.m4: new file to get underlined type for a typedef. * configure.in: get at configure time the real underlined type for size_t and ptrdiff_t * libregex/stl.pat: move to ... * libregex/stl.pat.in: here. Use @SIZE_T_TYPE@ and @PTRDIFF_T_TYPE@ * libregex/Makefile.am: update according * libregex/.cvsignore: ignore stl.pat 2003-03-22 Philippe Elie * utils/opcontrol: use $OP_HELP not op_help * utils/op_help.c: remove short option for --get-cpu-frequency 2003-03-22 Philippe Elie * TODO: update * m4: new directory * m4/.cvsignore: new * acinclude.m4: move to * m4/qt.m4: here * m4/Makefile.am: new for EXTRA_DIST = all our .m4 * Makefile.am: * configure.in: * autogen.sh: handle m4 subdir, add -I m4 to aclocal flags 2003-03-22 Philippe Elie Suggested by John * libutil/op_cpufreq.c: typo in comment * utils/op_help.c: add --get-cpu-frequency, intentionnaly not documented. * utils/opcontrol: use op_help --get-cpu-frequency and remove ugly shell script doing the same thing. 2003-03-22 Philippe Elie * libutil/op_cpufreq.h: * libutil/op_cpufreq.c: new file exporting op_cpu_frequency() * libutil/Makefile.am: update according * utils/opcontrol: handle other arch * gui/oprof_start_util.h: * gui/oprof_start_util.cpp: remove get_cpu_speed() * gui/oprof_start.h: * gui/oprof_start.cpp: and use instead op_cpu_frequency() * daemon/oprofiled.c: * dae/oprofiled.c: replace --cpu-speed option by a call to op_cpu_frequencey() 2003-03-20 John Levon * doc/oprofile.xml: doc some 2.5 module stuff 2003-03-20 John Levon * utils/opcontrol: fix opcontrol --dump to do something * daemon/opd_image.c: give a printf when reading the buffer. 2003-03-19 Philippe Elie * libutil++/op_bfd.cpp: correct get_vma_range() * pp/oprofpp.cpp: do_dump_gprof() this time it's right! 2003-03-18 John Levon * pp/profile.cpp: improve mtime warning for 2.5 modules 2003-03-18 John Levon * pp/derive_files.cpp: some more 2.5 modules derivation fixes 2003-03-18 Philippe Elie * pp/derive_files.cpp: fix handling of 2.5 module name 2003-03-18 John Levon * daemon/opd_image.c: * libop/op_interface_25.h: rename to MODULE_LOADED_CODE 2003-03-18 Philippe Elie * TODO: update * pp/derive_files.cpp: special to retrieve 2.5 module 2003-03-18 Philippe Elie * TODO: update * pp/symbol_container_imp.h: * pp/symbol_container_imp.cpp: * pp/profile_container.h: * pp/profile_container.cpp: find(string symbol_name) return a vector of symbol rather a a single symbol * pp/oprofpp.cpp: use above change so oprofpp -s will show all symbol with the same name. * pp/symbol_functors.h: remove unused functors equal_symbol_by_name 2003-03-17 Philippe Elie * TODO: update * libutil/op_fileio.h: * libutil/op_fileio.c: op_write_u64() new * libutil/op_types.h: continue our silly typedef: add u64 * libutil++/op_bfd.h: * libutil++/op_bfd.cpp: op_bfd::arch_bits_per_address() new allowing to get, on a per-binary basis, the vma size. * pp/oprofpp.cpp: fix 64 bits arch gprof output. Fix multiplier and get the multiplier of gprof file at runtime. Fix a very old bug where we credit the samples to previous gprof bin having the effect than sample at start of function was credited to the previous function 2003-03-17 John Levon * daemon/opd_kernel.c: * daemon/opd_kernel.h: * daemon/opd_image.c: * daemon/oprofiled.c: don't try to reread the module list on a failed EIP match. We must have the module load notification instead. 2003-03-17 John Levon * daemon/opd_kernel.c: fix module accounting. Remove quick-drop code that can't work. * doc/oprofile.1.in: * doc/oprofile.xml: english tweaks 2003-03-17 Philippe Elie * TODO: update * doc/oprofile.1.in: * doc/oprofile.xml: remove documentation about -P, update doc about -p * pp/derive_files.h: * pp/derive_files.cpp: check_image_name(), add_to_alternate_filename() functions moved from op_time.cpp * pp/op_time_options.h: * pp/op_time_options.cpp: * pp/op_time.cpp: remove -P option, minor cleanup * pp/oprofpp_options.h: * pp/oprofpp_options.cpp: * pp/oprofpp.cpp: add -p option, minor cleanup * pp/op_to_source.cpp: minor cleanup 2003-03-16 Philippe Elie * utils/opcontrol: check return code for --ctr??-event=none 2003-03-16 Philippe Elie * gui/oprof_start.cpp: check for --separate=xxxx in the right order. Old code do: if user set separate=library and separate=kernel only separate=library was taken by opcontrol 2003-03-16 Philippe Elie * configure.in: typo 2003-03-16 John Levon * configure.in: more docbook macro fixes 2003-03-15 Philippe Elie * libutil/op_libiberty.h: cut&paste typo breaking compilation on box w/o libiberty.h * daemon/opd_image.c: remove bogus fprintf. compilation was broken on alpha. * configure.in: xsltproc checking fix, was always accepted even on box where xsltproc is not installed 2003-03-15 Philippe Elie * TODO: update * Makefile.am: add ChangeLog-2002 in dist files * all Makefile.am: put one item by line for most xxxx = blah * doc/CodingStyle: rationale for the above change 2003-03-15 Philippe Elie * libop/op_events.c: minor cleanup 2003-03-15 Dave Jones * module/x86/op_nmi.c: Remove stale debug code from yesterdays commit. 2003-03-15 Philippe Elie * configure.in: add checking for existence of xmemdup() * libutil/Makefile.am: * libutil/op_string.h: * libutil/op_string.c: new, a few C string handling function * libutil/op_libiberty.h: * libutil/op_libiberty.c: xmemdup() new. * libop/op_events.h: * libop/op_events.c: tidy parser. Add op_free_events(). Fix minor buglet. * dae/oprofiled.c: * daemon/oprofiled.c: fix memleak from parsing events files * gui/Makefile.am: * pp/Makefile.am: fix lib ordering, now libop depend on libutil * utils/op_help.c: error message if invalid cpu type. Fix op_help when using timer interrupt. 2003-03-14 Andi Kleen * module/x86/op_nmi.c: Fix another possible race condition. 2003-03-14 Philippe Elie * TODO: update * libregex/stl.pat: support for rb tree, set/map, anonymous namespace. Fix incorrect pattern for gcc 3.2. Handle 2.95 vector/string iterator and a few stl free function handling. add all C++ base type. * libregex/mangled-name.txt: test for the above change 2003-03-14 Philippe Elie * gui/oprof_start.cpp: gcc 2.91 warning work around 2003-03-14 Philippe Elie * libop/op_events.c: fix a daemon segfault depending on the used libc version, added 2003-03-04 (0.5.1 is ok) 2003-03-13 Dave Jones * events/x86-64.hammer.events: Remove duplicate minimum tag from RETIRED_INSNS counter. 2003-03-11 John Levon * module/ia64/op_pmu.c: include op_arch.h not arch.h 2003-03-10 Philippe Elie * configure.in: remove unsupported --warnnet, fix docbook root dir test * doc/oprofile.xml: typo 2003-03-10 John Levon * doc/Makefile.am: * configure.in: * doc/xsl/catalog-1.xml.in: more docbook changes 2003-03-10 John Levon * configure.in: * doc/Makefile.am: * doc/xsl/xhtml.xsl: * doc/xsl/xhtml-chunk.xsl: * doc/xsl/catalog-1.xml.in: Use a catalog for finding the XSL, so we only have one .in file now. 2003-03-08 Will Cohen * doc/Makefile.am: Correct path for htmldir. 2003-03-08 John Levon * libop/op_cpu_type.c: improve error message * utils/op_help.c: show CPU name in events list. Show CPU pretty name in op_help --get-cpu-type. 2003-03-08 John Levon * configure.in: specify distcheck ./configure flags. Add version.h to distclean. * doc/Makefile.am: * doc/xsl/xhtml-1.in: * doc/xsl/xhtml-chunk-1.in: fix make distcheck 2003-03-08 Philippe Elie * doc/xsl/.cvsignore: update * module/x86/cpu_type.c: is not necessary 2003-03-07 John Levon * README: document autogen.sh 2003-03-07 Philippe Elie * TODO: update * doc/xsl/xhtml.xsl.in: move to * doc/xsl/xhtml-1.xsl.in: here * doc/xsl/xhtml-chunk.xsl.in: move to * doc/xsl/xhtml-chunk-1.xsl.in: here * doc/Makefile.am; update according * configure.in: avoid to touch doc/xsl generated files 2003-03-07 Philippe Elie * TODO: update * daemon/opd_image.c: * daemon/op_stats.c: * daemon/opd_stats.h: add statistics for nil image whilst receiving user space samples. 2003-03-06 Philippe Elie * TODO: update * libdb/db_hash.h: * libdb/db_insert.c: get error message from db_insert() * libdb/db_test.c: * dae/opd_proc.c: * daemon/opd_image.c: * libabi/abi_test.cpp: * libabi/op_import.cpp: * pp/op_merge.cpp: update according to the new api 2003-03-06 John Levon * doc/oprofile.xml: pedantry 2003-03-06 Philippe Elie * TODO: update * doc/oprofile.1.in: * doc/oprofile.xml: document --smart-demangle 2003-03-06 Philippe Elie * module/ia64/op_pmu.c: * module/x86/op_nmi.c: remove #include 2003-03-06 John Levon * utils/opcontrol: sh != C. This is the last opcontrol bug, honest ! OK, maybe not. 2003-03-06 Philippe Elie * TODO: update * gui/oprof_start.cpp: save_config() gcc 2.95.3 warning work-around 2003-03-05 John Levon * utils/opcontrol: Make --setup optional (e.g. opcontrol --no-vmlinux). Fix a bug in the --setup exclusive arg testing. * doc/oprofile.xml: reflect the above 2003-03-05 John Levon * libutil++/string_manip.h: * libutil++/string_manip.cpp: cleanup, use s.find because older gcc's don't have the right s.compare 2003-03-04 John Levon * utils/opcontrol: only sleep 2 after dump on 2.4 2003-03-04 John Levon * configure.in: tweak the xsltproc test 2003-03-04 John Levon * configure.in: * doc/Makefile.am: don't try to build the docs if it will fail. 2003-03-04 John Levon * utils/opcontrol: * daemon/opd_kernel.h: * daemon/opd_image.c: * daemon/opd_kernel.c: * daemon/oprofiled.c: implement --no-vmlinux. Remove back compat for is_kernel. * gui/uioprof_start.base.ui: * gui/oprof_start.cpp: * gui/oprof_start_config.h: * gui/oprof_start_config.cpp: support the above * doc/oprofile.1.in: * doc/oprofile.xml: doc the above 2003-03-04 John Levon * utils/opcontrol: allow --version, --help early on 2003-03-04 John Levon * libop/op_events.c: alter the parser to give file/linenr on error, and handle more whitespace. 2003-03-04 John Levon * gui/oprof_start.cpp: * gui/oprof_start.h: * gui/oprof_start_config.cpp: * gui/oprof_start_config.h: * libutil++/string_manip.h: * libutil++/string_manip.cpp: add is_prefix(), make the trimmers take an argument 2003-03-04 John Levon * gui/oprof_start.cpp: * gui/oprof_start.h: * gui/oprof_start_config.cpp: * gui/oprof_start_config.h: * gui/persistent_config.h: * libutil++/string_manip.h: * libutil++/string_manip.cpp: add split(), tobool(), touint() * utils/opcontrol: don't write BUF_SIZE twice. Write RTC_VALUE properly. Write KERNEL_ONLY 2003-03-03 John Levon * gui/oprof_start.cpp: use --ctrX-event=none, --separate=none. --pid/pgrp-filter=0 was already being done. 2003-03-03 John Levon * doc/oprofile.1.in: * doc/oprofile.xml: * doc/opcontrol: add --ctrX-event=none 2003-03-03 Will Cohen * gui/oprof_start.cpp (oprof_start::on_start_profiler): Limit check to only utm_bitmask. 2003-03-03 Will Cohen * events/ia64.itanium2.events: * events/ia64.itanium2.unit_masks: Add Itanium 2 events. 2003-03-03 Will Cohen * libop/op_events.h: * libop/op_events.c: Correct checking for the number of unit masks. 2003-03-03 John Levon * doc/oprofile.1.in: * doc/oprofile.xml: another round of cleanups * pp/op_merge.cpp: --counter not --use-counter, for consistency 2003-03-03 John Levon Patch from Chris Moller, modified. * dae/opd_proc.c: * dae/opd_sample_files.c: * daemon/opd_image.c: * daemon/opd_sample_files.c: * libabi/abi_test.cpp: * libabi/op_import.cpp: * libdb/db_hash.h: * libdb/db_insert.c: * libdb/db_manage.c: * libdb/db_test.c: * pp/counter_profile.cpp: * pp/op_merge.cpp: push asserts in libdb down into the clients. 2003-03-03 John Levon * doc/oprofile.xml: * doc/oprofile.1.in: * utils/opcontrol: add --separate=none, --pid/pgrp-filter=non 2003-03-03 John Levon * configure.in: * doc/Makefile.am: * doc/oprofile.xml: * doc/xsl/xhtml-chunk.xsl.in: * doc/xsl/xhtml.xsl.in: * doc/xsl/xhtml-common.xsl: Add version to the docs. Some doc cleanups 2003-03-02 John Levon * utils/opcontrol: --separate=library should turn kernel off 2003-03-02 John Levon * events/Makefile.am: fix uninstall 2003-03-02 John Levon * doc/oprofile.xml: more re-workings prodded by aeb 2003-03-02 John Levon * daemon/opd_kernel.c: remove /proc/ksyms reading 2003-03-02 John Levon * libutil/op_fileio.c: change op_get_line to return NULL on EOF. Also bump up the default allocation some. * dae/opd_kernel.c: * dae/opd_parse_proc.c: * daemon/opd_kernel.c: * libop/op_events.c: changes from the above 2003-03-02 John Levon * configure.in: * Makefile.am: * events/: add text files describing the CPU counters and unit masks. Install them. * libop/op_events.h: * libop/op_events.c: remove the bletcherous hard coded descriptions. * module/ia64/op_pmu.c: * module/x86/op_nmi.c: remove another big of validation * libutil/op_list.h: make C++ friendly * libop/op_cpu_type.h: * libop/op_cpu_type.c: add op_get_cpu_name() * libop/Makefile: * libop/op_events_desc.h: * libop/op_events_desc.cpp: removed * libop++/op_print_event.cpp: * utils/Makefile.am: * utils/op_help.c: * gui/oprof_start.h: * gui/oprof_start.cpp: changes from above 2003-03-01 John Levon * doc/oprofile.xml: tweaks * utils/opcontrol: scale the default event count. Please test ... 2003-03-01 John Levon * utils/opcontrol: setup default events. Allow part-setting using --setup. Fix a help text. * doc/oprofile.xml: changes from the above 2003-03-01 John Levon * libop/op_cpu_type.c: fix alpha/ev4 mis-detection 2003-03-01 John Levon * doc/oprofile.xml: expand intro a little, small fixes 2003-03-01 John Levon * pp/format_output.cpp: use "%" not "%-age" 2003-02-28 John Levon * utils/opcontrol: fix IS_TIMER setting, noticed by Duncan Sands 2003-02-28 John Levon * configure.in: bump to 0.6cvs 2003-02-28 John Levon * doc/Makefile.am: tweak * libregex/Makefile.am: fix make dist 2003-02-27 John Levon * configure.in: bump to 0.5.1 2003-02-27 John Levon * doc/oprofile.xml: clarify --separate=kernel 2003-02-25 John Levon * configure.in: clarify --with-kernel-support * libop/op_events.c: * module/x86/op_nmi.c: * module/ia64/op_nmi.c: remove sanity checking - it's the wrong place to have such code, is a barrier to op_events cleanup, and makes life harder for NDAers. 2003-02-25 Will Cohen * utils/opcontrol (do_deinit): Correct search for /dev/oprofile. 2003-02-24 Dave Jones * module/x86/op_apic.[c|h]: move NMI gate setup to architecture specific SET_NMI_GATE macro. x86=no change. Make x86-64 use the kernels _set_gate instead of its own open coded variant. 2003-02-23 John Levon * version-1.h.in: another rename 2003-02-23 John Levon * configure.in: set up OP_DATADIR and OP_BINDIR * gui/oprof_start.cpp: * libregex/demangle_symbol.cpp: use the above * version_tpl.h.in: move to ... * version.h.in.in: ... here 2003-02-23 Philippe Elie * TODO: update * configure.in: add AX_COPY_IF_CHANGE() use it to generate version.h * .cvsignore: update * gui/Makefile.am: * gui/oprof_start.cpp: * libregex/Makefile.am: * libregex/demangle_symbol.cpp: don't use -DBINDIR, rather include version.h to get install path 2003-02-23 John Levon * README: quick start build insns 2003-02-23 Philippe Elie * TODO: update * libregex/Makefile.am: install stl.pat in $prefix/share/oprofile * libregex/demangle_symbol.cpp: use DATADIR not BINDIR * libregex/magle-name.txt: add test for pointer * libregex/stl.pat: partial support for pointer 2003-02-23 John Levon * autogen.sh: error out if options passed 2003-02-23 John Levon * libregex/op_regex.h: * libregex/regex_test.cpp: fix std:: 2003-02-23 Philippe Elie * libutil++/demangle_symbol.cpp: * libutil++/demangle_symbol.h: move to * libregex/demangle_symbol.cpp: * libregex/demangle_symbol.h: here to avoid circular reference between libutil++ and libregex * libregex/Makefile.am: * libutil++/Makefile.am: update according to file move * pp/Makefile.am: * pp/op_time.cpp: * pp/op_time_options.cpp: * pp/op_to_source.cpp: * pp/op_to_source_options.cpp: * pp/oprofpp.cpp: * pp/oprofpp_options.cpp: add -D --Demangle options enabling C++ demangled name filtering. 2003-02-23 Philippe Elie * libutil++/string_manip.h: * libutil++/string_manip.cpp: trim(), ltrim(), rtrim() new functions * Makefile.am: handle libregex directory * configure.in: handle libregex/Makefile * libregex/.cvsignore: * libregex/Makefile.am : * libregex/mangled-name.txt: * libregex/op_regex.cpp: * libregex/op_regex.h: * libregex/regex_test.cpp: * libregex/stl.pat: new file implementing a match and replace regular expression around glibc regex. Not used for now, next commit will use this for pp tools C++ name demangling. 2003-02-22 John Levon * configure.in: fix X, non-Qt build case 2003-02-22 John Levon * libutil++/Makefile.am: fix make dist 2003-02-21 Dave Jones * configure.in: Enable building on hammer again. 2003-02-21 John Levon * utils/opcontrol: "Params used" was lying 2003-02-20 John Levon * daemon/opd_image.c: Fixed a bitch of a bug with separate-kernel, now attribution of kernel samples should be more accurate 2003-02-20 John Levon * utils/opcontrol: set LIB_SAMPLES if KERNEL_SAMPLES in .daemonrc 2003-02-20 John Levon * dae/opd_stats.h: * dae/opd_stats.c: * daemon/opd_stats.h: * daemon/opd_stats.c: * dae/opd_proc.c: * daemon/opd_image.c: remove unused OPD_SAMPLE_COUNTS. Actually count samples for 2.5 2003-02-20 John Levon * libop/op_interface_25.h: * daemon/opd_kernel.c: implement module dropping * daemon/opd_image.c: * daemon/opd_kernel.c: attempt to make verbose logs less confusing 2003-02-22 Dave Jones * libop/op_events.c: segregload is utm_mask not utm_exclusive 2003-02-20 Philippe Elie * TODO: update * pp/output_format.h: * pp/output_format.cpp: * pp/op_time.cpp: * pp/oprofpp.cpp: * pp/opp_symbol.h: better handling of 64/32 bits bfd_vma in output 2003-02-20 John Levon * libutil++/op_exception.h: * libutil++/op_exception.cpp: throw() where needed 2003-02-19 Philippe Elie * TODO: update * daemon/opd_image.h: * daemon/opd_image.cpp: * daemon/opd_kernel.cpp: fix thinko with --separate=kernel resulting in duplicate opening of the same samples file. 2003-02-19 Philippe Elie * libutil++/op_exception.h: * libutil++/op_exception.cpp: new files, base class for exception. Not used for now. 2003-02-19 John Levon * acinclude.m4: update from upstream * gui/ui/oprof_start.base.ui: * gui/oprof_start.cpp: separate --setup,--start. Hide non-2.5 stuff in 2.5. 2003-02-18 Philippe Elie * TODO: update * dae/opd_sample_files.c: * daemon/opd_sample_files.c: opd_handle_old_sample_file() don't try to delete old samples files if they don't exist. 2003-02-18 Will Cohen * utils/opcontrol (do_options): Better option error checking. 2003-02-17 Will Cohen * pp/format_output.h (show_help): namespace std. 2003-02-17 Will Cohen * TODO: update. 2003-02-17 Philippe Elie From Anton Blanchard : * daemon/opd_image.c: cookie_t fix for 64 bits 2003-02-17 Philippe Elie * TODO: update * libopt++/popt_options.cpp: * libopt++/popt_options.h: handle an user specific additional help string * pp/output_format.h: * pp/output_format.cpp: * pp/op_time_options.cpp: * pp/oprofpp_options.cpp: use it to show in --output_format options details. 2003-02-14 Philippe Elie * doc/oprofile.1.in: * doc/oprofile.xml: * pp/oprofpp_options.cpp: allow --show-shared-libs with -s 2003-02-13 Philippe Elie * TODO: update * pp/output_format.h: * pp/output_format.cpp: fix #686272, crash when using oprofpp -s symb_name. 2003-02-13 Philippe Elie * dae/opd_kernel.h: * dae/opd_image.h: * dae/opd_image.c: don't use hash entry zero for kernel image fix #686175 2003-02-13 Will Cohen * daemon/opd_cookie.h(opd_nr_lookup_dcookie): Correct number. 2003-02-13 Will Cohen * daemon/opd_cookie.h(opd_nr_lookup_dcookie): Add x86_64. 2003-02-13 John Levon * dae/opd_image.c: little cleanup and fix error message to not lie 2003-02-12 Philippe Elie * doc/oprofile.1.in: * doc/oprofile.xml: enhance doc about --separate=kernel * utils/opcontrol: handle gracefully opcontrol --deinit if profiler was already shutdown. Avoid wrong warning when umount /dev/oprofile 2003-02-12 Will Cohen * gui/oprof_start.cpp (oprof_start::oprof_start, oprof_start::on_flush_profiler_data, oprof_start::on_start_profiler, oprof_start::on_stop_profiler): Use opcontrol. * gui/oprof_start_util.cpp (daemon_status::daemon_status): Allow reading interrupt info from new kernel interface. * libop/op_get_interface.c: New. * libop/Makefile.am: Add libop/op_get_interface.c. * libop/op_cpu_type.h: Add enum op_interface. I Added some bits. Phil * gui/oprof_start.cpp: correct --separate= handling * gui/oprof_start_util.cpp: read only the real number of interrupts 2003-02-12 Philippe Elie * utils/opcontrol: handle --note-table-size --kernel-only (2.4 kernel) 2003-02-12 Philippe Elie * utils/op_start: map --separate-samples to daemon option --separate-lib-samples. 2003-02-11 Philippe Elie * dae/opd_image.c: * dae/opd_kernel.c: * dae/opd_kernel.h: * dae/opd_parse_proc.c: * dae/opd_proc.c: * dae/opd_proc.h: * dae/opd_sample_files.c: * dae/oprofiled.c: * daemon/opd_image.c: * daemon/opd_image.h: * daemon/opd_kernel.c: * daemon/opd_kernel.h: * daemon/opd_sample_files.c: * daemon/oprofiled.c: per application kernel samples files * doc/oprofile.1.in: * doc/oprofile.xml: document opcontrol --separate=kernel * gui/oprof_start.cpp: * gui/oprof_start_config.cpp: * gui/oprof_start_config.h: * gui/ui/oprof_start.base.ui: remove ignore_daemon checkbox, handle --separate=[library|kernel] * libop/op_sample_file.h: add separate_kernel_samples field, file format is backward compatible * libabi/abi.cpp: * libabi/abi_test.cpp: * libabi/op_import.cpp: handle new samples file header field * pp/counter_profile.cpp: dump new sample files header field. * utils/opcontrol: handle --separate=kernel 2003-02-09 Will Cohen * utils/opcontrol: Add rtc-value option. 2003-02-09 John Levon * utils/opcontrol: stale lock file detection 2003-02-06 Will Cohen * utils/opcontrol (do_dump): Do not exit if no daemon. 2003-02-06 Will cohen * doc/oprofile.1.in: Update man page information. 2003-02-03 John Levon * configure.in: 0.6cvs 2003-02-02 John Levon * configure.in: bump to 0.5 2003-02-02 John Levon * configure.in: disable x86_64 2003-02-02 John Levon * pp/format_output.cpp: revert previous patch, Phil's x86 binutils is built with 64-bit bfd_vma 2003-02-01 John Levon * utils/opcontrol: rename --separate-samples to --separate=library for future proofing. * pp/format_output.cpp: output vma at a suitable width 2003-01-31 Will Cohen * utils/opcontrol(get_kernel_range): Match only .text segment. 2003-01-31 Graydon Hoare * libabi/abi.cpp * libabi/abi_test.cpp * libabi/op_import.cpp: Treat endianness as a property of the datum being imported, rather than the memory architecture. 2003-01-31 Dave Jones * module/x86/op_model_athlon.c: Don't poke reserved bits in the counter. Only rdmsr/wrmsr counters that we've enabled in the NMI handler. ulong->uint conversion. 2003-01-30 Philippe Elie From Randolph Chung : * daemon/opd_cookie.h: add parisc support 2003-01-30 John Levon From Anton Blanchard : * daemon/opd_cookie.h: add ppc32/64 * utils/op_start_25: fix start of kernel for ppc 2003-01-30 Will Cohen * utils/opcontrol(get_kernel_range): Avoid using perl arithmetic. 2003-01-29 Dave Jones * utils/opcontrol: Trying to use the options --pid-filter=pid and --pgmr-filter=pgmr, opcontrol returned "command not found. This was due to 2 missing 'test' statements. 2003-01-29 Philippe Elie * pp/op_to_source.cpp: read vma with strtoull not strtoul fixing 32/64 failure to read output of objdump 2003-01-29 Dave Jones * libop/op_cpu_type.c: Clue the user in on why the cpu type isn't recognised, by suggesting the module wasn't loaded. * libop/op_events.c: Doh, unit masks use bit numbers, not values. 2003-01-28 Philippe Elie * utils/op_help.c: get cpu type only if not forced on command line. Avoid wrong warning about unsupported cpu type. 2003-01-27 Will Cohen * daemon/opd_cookie.h(opd_nr_lookup_dcookie): Add ia64 version. 2003-01-27 Dave Jones * libop/op_events.c: K8 HT events are utm_exclusive, not utm_bitmask * libop/op_events.c: Add additional K8 unit masks. 2003-01-23 Philippe Elie * libop/op_interface_25.h: * daemon/opd_image.c: prepare drop modules support. exit() when receiving unknown escape code. 2003-01-23 Randolph Chung Added minor change: backward compatibility, u_int to uint, fix 32/64 bits escape code marker comparison. Phil * libop/op_interface_25.h: * daemon/opd_kernel.c: * daemon/opd_image.c: new scheme to recognize kernel or user space eip, now kernel module pass the relevent information through escape sequence. 2003-01-21 Dave Jones * libop/op_events.c: Add unit mask for Hypertransport events. 2003-01-21 Dave Jones * libop/op_events.c: Add x86-64 specific events. 2003-01-21 Philippe Elie * daemon/opd_kernel.c: use sscanf to parse /proc/modules 2003-01-20 Philippe Elie * daemon/opd_kernel.c: more robust /proc/modules parsing. 2003-01-20 Philippe Elie * daemon/opd_kernel.c: 2.5 modules support, for now I keep the code for /proc/ksyms parsing in daemon. Let's it living a few weeks please. 2003-01-18 Falk Hueffner I added to the original patch all %L to %ll, Phil * daemon/opd_image.c: * daemon/opd_kernel.c: * libutil/op_types.h: 64 bits printf/scanf safety. 2003-01-18 Falk Hueffner * libop/op_cpu_type.h: * libop/op_cpu_type.c: add Alpha CPU families. * libop/op_events.h: make op_event.cpu_mask u32, since we now have more than 16 CPU types * libop/op_hw_config.h: bump OP_MAX_COUNTERS to 20 for Alpha * libop/op_events.c: add Alpha events * daemon/opd_cookie.h: add dcookie syscall number for Alpha * utils/op_help.c (main): add help string for Alpha 2003-01-18 John Levon * module/Makefile.in: * module/x86/Makefile.in: * module/ia64/Makefile.in: kernel headers are too fubar for -Werror. So I'm taking my ball home. 2003-01-17 John Levon * HACKING: * doc/CodingStyle: add 2003-01-17 John Levon * TODO: some updates 2003-01-15 Philippe Elie * module/x86/op_model_p4.c: pmc_setup_one_p4_counter() show clearly than event == 0 is an error 2003-01-15 John Levon * utils/opcontrol: prefer oprofiled/op_help binaries in the same dir as opcontrol 2003-01-12 Philippe Elie * libop/op_events.c: rename OP_P4_HT2 to OP_P4_ALL 2003-01-12 Philippe Elie * libop++/op_print_event.cpp: no event,nor unit mask for CPU_TIMER_INT, problem reported by Ka Fai Lu. 2003-01-12 John Levon From Graydon Hoare * libop/op_cpu_type.h: * libop/op_cpu_type.c: add P4 HT * libop/op_events.c: tag P4 HT events 2003-01-11 Randolph Chung * daemon/oprofiled.c: fix ELF sniff 2003-01-11 John Levon * daemon/opd_image.c: bail out immediately on dcookie lookup failure. 2003-01-10 John Levon * daemon/opd_cookie.h: insulate against missing arch support for sys_lookup_dcookie * daemon/opd_image.c: use the above 2003-01-10 John Levon * daemon/opd_image.c: * daemon/oprofiled.c: move complete_dump to a better place 2003-01-10 John Levon * libutil/op_types.h: add cookie_t and vma_t * daemon/opd_image.c: * daemon/opd_image.h: * daemon/opd_kernel.c: * daemon/opd_kernel.h: use above types, and kernel_pointer_size * daemon/oprofiled.c: sniff /proc/kcore for kernel_pointer_size 2003-01-10 Philippe Elie * libopt++/popt_options.cpp: * libopt++/popt_options.h: work-around to support both gcc new parser and gcc 2.95 2003-01-08 John Levon * libop/op_type.cpp: support for ascii-string cpu types 2003-01-08 Philippe Elie * libutil++/op_bfd.cpp: * libutil++/op_bfd.h: * pp/oprofpp.cpp: more use of bfd_vma 2003-01-08 Philippe Elie * libdb/Makefile.am: fix include dir * libdb/db_test.c: don't assume than sizeof(struct opd_header) == 128 2003-01-06 Philippe Elie * libutil++/op_bfd.h: fix for 64 bits. 2003-01-06 Philippe Elie * libabi/abi.cpp: * libabi/op_import.cpp: broken by my last change in libdb. 2003-01-06 Philippe Elie * db/db_hash.h: do_hash() use db_key_t as parameter 2003-01-04 John Levon * pp/op_time.cpp: suggest opcontrol --dump instead * utils/opcontrol: implement --start-daemon. Fix a number of bugs * doc/oprofile.xml: * doc/oprofile.1.in: document --start-daemon 2003-01-03 Will Cohen * daemon/oprofiled.c (opd_do_samples): Typecast to match arguments. See ChangeLog-2002 for earlier changelogs.