1 2003-12-29 Philippe Elie <phil.el@wanadoo.fr>
3 * configure.in: my_op_prefix is not necessarily suffixed by a '/'
5 2003-12-29 John Levon <levon@movementarian.org>
8 * doc/*.1.in: add HTML docs to SEE ALSO
10 2003-12-29 John Levon <levon@movementarian.org>
13 * doc/oprofile.xml: minor language cleanups
15 * utils/opcontrol: only allow --verbose when it makes sense
17 2003-12-28 Philippe Elie <phil.el@wanadoo.fr>
19 * libutil++/tests/file_manip_tests.cpp: ensure filename passed to
22 2003-12-28 John Levon <levon@movementarian.org>
25 * libutil++/file_manip.h: fix typos
27 2003-12-16 Philippe Elie <phil.el@wanadoo.fr>
29 * utils/opcontrol: error message rewording
31 2003-12-16 Carlo Wood <carlo@alinoe.com>
33 * libregex/tests/Makefile.am: avoid to install mangled-name test file
35 2003-11-20 John Levon <levon@movementarian.org>
37 * libregex/op_regex.cpp: move global ctor out of namespace
40 2003-11-19 Philippe Elie <phil.el@wanadoo.fr>
42 * libpp/arrange_profiles.cpp: merge all unit mask before generating
43 event description string
45 2003-11-17 Philippe Elie <phil.el@wanadoo.fr>
47 * libpp/arrange_profiles.cpp: put unitmask in the same axis as
48 event:count, meaning than unitmask is now a part of the event
51 2003-12-19 Philippe Elie <phil.el@wanadoo.fr>
53 * daemon/opd_sfile.c: we reversed to/from pc in call graph sample
55 2003-11-23 Philippe Elie <phil.el@wanadoo.fr>
58 * pp/opgprof.cpp: oops a simplify a bit too cg handling in my last
59 patch, it was segfaulting each time no cg file was found...
61 2003-11-15 Philippe Elie <phil.el@wanadoo.fr>
63 * pp/opgprof.cpp: simplify a bit cg handling, we don't need to know
64 if we retrieved some cg files since the profile_t will be empty
67 2003-11-15 Philippe Elie <phil.el@wanadoo.fr>
69 * libpp/profile.h: iterator::vma() must return the full key not only
71 * pp/opgprof.cpp: implement merging of cg files.
73 2003-11-15 Philippe Elie <phil.el@wanadoo.fr>
75 * libpp/profile_spec.cpp:
76 * libpp/profile_spec.h:
77 * pp/opannotate_options.cpp:
78 * pp/opgprof_options.cpp:
79 * pp/opreport_options.cpp: filter call graph samples files
81 2003-11-14 Philippe Elie <phil.el@wanadoo.fr>
83 * daemon/opd_mangling.c: oops, it's better to really open the cg file
88 * daemon/liblegacy/opd_24_stats.c:
89 * daemon/liblegacy/opd_24_stats.h:
90 * daemon/liblegacy/opd_proc.c: log sample lost due to sample file open
93 2003-11-15 Philippe Elie <phil.el@wanadoo.fr>
95 * daemon/liblegacy/opd_parse_proc.c: always provide an image name
96 for parsed process in /proc
98 2003-11-15 Philippe Elie <phil.el@wanadoo.fr>
101 * libop/op_cpu_type.c: s/hammer/AMD64 processors/ for user visible
104 2003-11-13 John Levon <levon@movementarian.org>
107 * libutil/op_file.c: remove op_c_dirname(),
108 op_relative_to_absolute_path(), op_is_directory(),
109 op_follow_link(), in favour of using realpath(3)
111 * libutil/tests/file_tests.c: fixes for above changes
113 * libutil++/file_manip.h:
114 * libutil++/file_manip.cpp: changes from above. Add
117 * libutil++/tests/file_manip_tests.cpp: changes from
120 * daemon/oprofiled.c:
121 * daemon/liblegacy/opd_parse_proc.c:
122 * gui/oprof_start_util.cpp:
123 * libpp/locate_images.cpp:
124 * libpp/profile_spec.cpp:
125 * pp/opannotate.cpp: changes from above
127 2003-11-12 John Levon <levon@movementarian.org>
129 * configure.in: bump to 0.8cvs
131 2003-11-11 John Levon <levon@movementarian.org>
133 * configure.in: bump to 0.7.1
135 2003-11-11 Joseph VanAndel <unknown@unknown.org>
137 * daemon/liblegacy/init.c: fix #840046 (segfault when starting profiler
138 with --no-vmlinux setup), this bug was present in 0.7.0.
140 2003-11-11 Philippe Elie <phil.el@wanadoo.fr>
142 * libpp/profile_spec.cpp: more precise error message
143 * libutil++/tests/file_manip_tests.cpp: corner case test added
146 2003-11-11 Philippe Elie <phil.el@wanadoo.fr>
148 * libpp/arrange_profiles.cpp: report_error() shows only distinct
151 2003-11-10 Philippe Elie <phil.el@wanadoo.fr>
153 * doc/opcontrol.1.in: reverse kernel:user in event setting description.
156 2003-11-09 Philippe Elie <phil.el@wanadoo.fr>
159 * daemon/liblegacy/init.c: move opd_read_fs_int ...
160 * daemon/oprofiled.h:
161 * daemon/oprofiled.c: here
162 * daemon/liblegacy/opd_24_stats.c: dump kernel note buffer overflow and
165 2003-11-09 Philippe Elie <phil.el@wanadoo.fr>
167 * utils/op_help.c: do not use OP_MAX_COUNTERS but get counter number
170 2003-11-09 Philippe Elie <phil.el@wanadoo.fr>
172 * libutil++/tests/string_manip_tests.cpp: rtrim/ltrim/trim tests
174 2003-11-08 Philippe Elie <phil.el@wanadoo.fr>
176 * libop/tests/Makefile.am:
177 * libop/tests/mangle_tests.c: new tests: sample filename mangling
179 2003-11-08 Philippe Elie <phil.el@wanadoo.fr>
181 * module/x86/op_syscalls.c: fix build with 2.2 kernel
183 2003-11-06 Philippe Elie <phil.el@wanadoo.fr>
185 * Makefile.am: use .PHONY for module goal to not statisfy this goal
186 with the subdir named module
187 * m4/findkernel.m4: minor fix.
189 2003-11-06 John Levon <levon@movementarian.org>
191 * Makefile.am: minor cleanup
193 2003-11-06 John Levon <levon@movementarian.org>
195 * gui/Makefile.am: remove unused -DKVERSION
197 2003-11-06 John Levon <levon@movementarian.org>
199 * configure.in: add --disable-werror and --disable-optimization
201 * doc/oprofile.xml: document above. Remove docs for
202 * --enable-gcov (only useful to developers)
204 2003-11-06 Philippe Elie <phil.el@wanadoo.fr>
206 * daemon/opd_kernel.c:
207 * daemon/liblegacy/opd_kernel.c: be less paranoid about kernel range,
208 this is slightly different than the patch Thomas Spatzier tested but
209 it can't hurt (famous last words ...). This fixes s390x where kernel
210 start can be zero and was rejected.
212 2003-11-06 Thomas Spatzier <tspat@de.ibm.com>
214 * daemon/opd_cookie.c: changed an #if defined for selecting right
215 system call for IBM s390 or s390x, respectively
217 2003-11-04 Philippe Elie <phil.el@wanadoo.fr>
219 * libutil++/path_filter.cpp: remove 2 identical FIXME
220 * libutil++/tests/file_manip_tests.cpp:
221 * libutil++/tests/path_filter_tests.cpp: reflect the behavior by
224 2003-11-04 Philippe Elie <phil.el@wanadoo.fr>
227 * libop/op_events.h: -pedantic fix
229 2003-11-04 Philippe Elie <phil.el@wanadoo.fr>
231 * daemon/opd_sfile.c:
232 * daemon/liblegacy/opd_kernel.c:
233 * libutil/op_cpufreq.c:
234 * libutil/op_file.c: a few s/goto/break/
235 * libpp/format_output.cpp: padding never used after initialization
237 2003-11-04 Philippe Elie <phil.el@wanadoo.fr>
239 * libutil++/comma_list.h: don't accept cumulative behavior
240 * libutil++/string_manip.cpp: separate_token() return by value
241 * gui/oprof_start.cpp:
242 * libopt++/popt_options.cpp:
243 * libpp/parse_filename.cpp:
244 * libpp/profile_spec.cpp:
245 * libutil++/comma_list.h:
246 * libutil++/string_filter.cpp:
247 * libutil++/string_manip.cpp:
248 * libutil++/string_manip.h:
249 * libutil++/tests/comma_list_tests.cpp:
250 * libutil++/tests/string_manip_tests.cpp: update according
251 * libpp/profile_spec.cpp: remove all trace of defunct op_alias
253 2003-11-04 Philippe Elie <phil.el@wanadoo.fr>
255 * daemon/liblegacy/opd_image.c:
256 * daemon/liblegacy/opd_image.h:
257 * daemon/liblegacy/opd_mapping.c:
258 * daemon/liblegacy/opd_mapping.h:
259 * daemon/liblegacy/opd_proc.c:
260 * gui/oprof_start.cpp:
262 * gui/oprof_start_config.cpp:
263 * gui/oprof_start_util.cpp:
264 * libop/op_config_24.h:
265 * libpp/format_output.cpp:
266 * libpp/op_header.cpp:
268 * libpp/profile_container.cpp:
269 * libpp/profile_spec.cpp:
270 * libpp/profile_spec.h:
272 * libpp/symbol_sort.cpp:
273 * libutil++/stream_util.cpp:
274 * libutil++/stream_util.h:
275 * libutil++/utility.h:
276 * pp/common_option.cpp:
277 * pp/common_option.h:
278 * pp/opannotate_options.h:
280 * pp/opgprof_options.cpp:
281 * pp/opgprof_options.h:
282 * pp/opreport_options.cpp:
283 * pp/opreport_options.h:
284 * pp/populate.cpp: remove some .h dependencies
286 2003-11-03 Philippe Elie <phil.el@wanadoo.fr>
288 * libutil++/tests/Makefile.am:
289 * libutil++/tests/utility_tests.cpp: new test files convering most of
290 utility.h and op_exception.h
292 2003-11-02 Philippe Elie <phil.el@wanadoo.fr>
294 * libpp/parse_filename.cpp: avoid repetitive vector::erase(v.begin())
295 * libregex/stl.pat.in:
296 * libregex/tests/mangled-name.in: add (i|o)stream operator(>>|<<)
298 2003-11-02 Philippe Elie <phil.el@wanadoo.fr>
300 * daemon/liblegacy/opd_image.h:
301 * daemon/liblegacy/opd_image.c:
302 * daemon/liblegacy/opd_proc.c:
303 * daemon/liblegacy/opd_sample_files.c: sparse sample file array
306 2003-11-02 Philippe Elie <phil.el@wanadoo.fr>
308 * libutil++/glob_filter.h:
309 * libutil++/path_filter.h:
310 * libutil++/string_filter.h: comment fix to match implementation
311 * libutil++/tests/path_filter_tests.cpp: new file test
312 * libutil++/tests/Makefile.am: upate build
313 * libutil++/tests/string_filter_tests.cpp: test white space at start
316 2003-11-02 Philippe Elie <phil.el@wanadoo.fr>
318 * libutil++/string_manip.cpp: format_double can only format percent
319 * libutil++/string_manip.h:
320 * libpp/format_output.cpp:
321 * libutil++/tests/string_manip_tests.cpp:
323 * pp/opreport.cpp: s/format_double/format_percent/
325 2003-11-02 Philippe Elie <phil.el@wanadoo.fr>
327 * libutil++/glob_filter.h:
328 * libutil++/string_filter.h:
329 * libutil++/tests/string_filter_tests.cpp: minor tidy
331 * libutil++/tests/glob_filter_tests.cpp: new file
332 * libutil++/tests/Makefile.am: update build
334 2003-11-01 Philippe Elie <phil.el@wanadoo.fr>
336 * libpp/arrange_profiles.cpp: typo
337 * libutil++/generic_spec.cpp: removed file
338 * libutil++/Makefile.am: update according
339 * libutil++/generic_spec.h: ensure generic_spec<string> will not link
340 * libutil++/path_filter.cpp: minor tidy
342 2003-11-01 Philippe Elie <phil.el@wanadoo.fr>
344 * libutil++/tests/string_manip_tests.cpp: ehance output on failure
346 * module/oprofile.c: two new read-only sysctl: nr_buffer_overflow and
347 nr_note_buffer_overflow
349 2003-11-01 Philippe Elie <phil.el@wanadoo.fr>
351 * libutil++/tests/Makefile.am:
352 * libutil++/tests/file_manip_tests.cpp: don't use getcwd nor __FILE__
353 but ${topdir} and hard coded filename
355 2003-11-01 John Levon <levon@movementarian.org>
357 * daemon/liblegacy/opd_parse_proc.c: use op_follow_link
360 * libutil/op_file.h: make op_get_link() static, rename
361 op_basename to op_c_basename
363 * libutil++/file_manip.cpp:
364 * libutil++/file_manip.h: rename to op_basename()/op_dirname().
365 Use op_follow_link() for follow_link().
367 * libutil++/tests/file_manip_tests.cpp:
368 * gui/oprof_start_util.cpp:
369 * libpp/locate_images.cpp:
370 * libpp/name_storage.cpp:
371 * libutil++/path_filter.cpp:
373 * pp/opreport.cpp: fixup from above changes
375 2003-11-01 Philippe Elie <phil.el@wanadoo.fr>
377 * libutil++/op_bfd.h: has_debug_info() new member
380 * pp/opannotate.cpp: use it to error out when --assembly is not
381 requested and no debug information exists
383 2003-10-31 Philippe Elie <phil.el@wanadoo.fr>
385 * pp/common_option.cpp: don't exit() if merge_by.lib is set through
388 2003-10-31 Philippe Elie <phil.el@wanadoo.fr>
390 * pp/opreport_options.cpp: move handle_merge_option() ...
391 * pp/common_option.h:
392 * pp/common_option.cpp: here
393 * pp/opannotate_options.cpp: use it but disallow --merge=lib
395 2003-10-31 Philippe Elie <phil.el@wanadoo.fr>
398 * libutil/op_file.h: implement dirname(), is_directory() and
400 * daemon/oprofiled.c: follow symlink for image filter
401 * libutil++/file_manip.cpp:
402 * libutil++/file_manip.h:
403 * gui/oprof_start_util.cpp:
404 * libpp/profile_spec.cpp: rename op_follow_link() to follow_link()
406 2003-10-31 Philippe Elie <phil.el@wanadoo.fr>
408 * libutil/tests/file_tests.c: "//usr" --> "//usr"
409 * libutil++/tests/.cvsignore:
410 * libutil++/tests/Makefile.am:
411 * libutil++/tests/file_manip_tests.cpp: new tests file.
413 2003-10-31 John Levon <levon@movementarian.org>
415 * daemon/opd_perfmon.c: fix compilation
417 2003-10-30 John Levon <levon@movementarian.org>
419 * libpp/profile_spec.cpp: introduce a helper function
420 to make the comma_list matching clear
422 2003-10-30 Philippe Elie <phil.el@wanadoo.fr>
424 * libutil++/comma_list.h: is_set() new member
425 * libpp/profile_spec.cpp: fix matching logic for cpu/tid/tgid
427 2003-10-30 John Levon <levon@movementarian.org>
429 * libutil++/generic_spec.h: add value() and
430 is_set(), remove bool parameter from T value
431 match() (it was never set to true)
433 * libutil++/comma_list.h: do not accept
434 generic_spec, the behaviour was to implicitly
435 not match an "all" generic_spec. Instead:
437 * libpp/profile_spec.cpp: encode the matching
438 behaviour explicitly, and add a comment.
440 * libutil++/tests/comma_list_tests.cpp: fix to
443 2003-10-30 John Levon <levon@movementarian.org>
445 * Makefile.am: re-order build subdirs
447 * libabi/Makefile.am: only build abitest on
450 * pp/Makefile.am: pp_common not pp_commons
452 2003-10-30 John Levon <levon@movementarian.org>
454 * libutil++/tests/Makefile.am:
455 * libutil++/tests/comma_list_tests.cpp: Add.
457 2003-10-30 John Levon <levon@movementarian.org>
459 * doc/Makefile.am: improve chunk rules
461 2003-10-30 John Levon <levon@movementarian.org>
463 * libutil++/tests/Makefile.am:
464 * libutil++/tests/string_filter_tests.cpp: Add.
466 * libutil++/tests/string_manip_tests.cpp: fix header include
468 2003-10-30 John Levon <levon@movementarian.org>
470 * libutil++/tests/string_manip_tests.cpp: fix tobool test
471 ("33" is not castable to bool)
473 2003-10-30 Philippe Elie <phil.el@wanadoo.fr>
475 * libutil++/string_manip.cpp:
476 * libutil++/string_manip.h: remove tostr()/tobool/touint(), rename
477 lexical_cast_no_ws<> to op_lexical_cast<>
479 * gui/oprof_start.cpp:
480 * gui/oprof_start_config.cpp:
481 * libpp/arrange_profiles.cpp:
482 * libpp/filename_spec.cpp:
483 * libpp/op_header.cpp:
484 * libutil++/comma_list.h:
485 * libutil++/generic_spec.h:
486 * libutil++/tests/string_manip_tests.cpp: use op_lexical_cast<>
488 2003-10-29 John Levon <levon@movementarian.org>
490 * pp/common_option.h: use std namespace
492 2003-10-28 Jason Lunz <lunz@falooley.org>
494 * doc/oprofile.1.in: document cpu,tid,tgid in profile
497 2003-10-29 Philippe Elie <phil.el@wanadoo.fr>
499 * libpp/profile_spec.cpp: error out for all tag:value specified
502 2003-10-29 Philippe Elie <phil.el@wanadoo.fr>
504 * doc/opannotate.1.in:
507 * libregex/demangle_symbol.cpp:
508 * libregex/demangle_symbol.h:
509 * pp/common_option.cpp:
510 * pp/common_option.h:
511 * pp/opannotate_options.cpp:
512 * pp/opannotate_options.h:
513 * pp/opreport_options.cpp:
514 * pp/opreport_options.h: remove --no-demangle, --smart-demangle and
515 --demangle, replace them with --demangle=none|smart|normal
517 2003-10-29 Philippe Elie <phil.el@wanadoo.fr>
519 * libutil++/tests: new directory
520 * libutil++/tests/string_manip_tests.cpp: new tests file
522 * libutil++/Makefile.am:
523 * libutil++/tests/.cvsignore:
524 * libutil++/tests/Makefile.am: handle new test
526 * libutil++/string_manip.h:
527 * libutil++/string_manip.cpp: correct implementation of separate_token
528 to match the documentation
529 * daemon/liblegacy/opd_image.c: fix comment
531 2003-10-28 Philippe Elie <phil.el@wanadoo.fr>
533 * libpp/count_array.cpp:
534 * libpp/count_array.h:
535 * libpp/locate_images.h:
536 * libpp/parse_filename.cpp:
539 * libpp/profile_spec.cpp:
540 * libpp/symbol_sort.cpp: minor tidy
542 2003-10-28 Jason Lunz <lunz@falooley.org>
544 * doc/opcontrol.1.in: better wording for --separate=
545 * doc/oprofile.1.in: typo
547 2003-10-28 Philippe Elie <phil.el@wanadoo.fr>
549 * daemon/liblegacy/init.c:
550 * daemon/liblegacy/opd_24_stats.c:
551 * daemon/liblegacy/opd_24_stats.h:
552 * daemon/liblegacy/opd_image.c:
553 * daemon/liblegacy/opd_image.h:
554 * daemon/liblegacy/opd_kernel.c:
555 * daemon/liblegacy/opd_kernel.h:
556 * daemon/liblegacy/opd_mapping.c:
557 * daemon/liblegacy/opd_mapping.h:
558 * daemon/liblegacy/opd_parse_proc.c:
559 * daemon/liblegacy/opd_parse_proc.h:
560 * daemon/liblegacy/opd_proc.c:
561 * daemon/liblegacy/opd_proc.h:
562 * daemon/liblegacy/opd_sample_files.c:
563 * daemon/liblegacy/opd_sample_files.h: move doygen comment from *.c to
564 *.h. Add some doxygen comment.
566 2003-10-27 Philippe Elie <phil.el@wanadoo.fr>
568 * daemon/liblegacy/opd_24_stats.c:
569 * daemon/liblegacy/opd_image.h:
570 * daemon/liblegacy/opd_image.h: nr_images static
572 2003-10-27 John Levon <levon@movementarian.org>
574 * doc/opcontrol.1.in: document --image=
577 * utils/opcontrol: make user specify "--image=all"
578 to reset. Clean up help message. Ensure note table
579 size is given a value. Add '-t' for '--stop', and
582 2003-10-27 John Levon <levon@movementarian.org>
584 * doc/oprofile.xml: document opcontrol --image=
586 2003-10-27 John Levon <levon@movementarian.org>
588 * daemon/opd_events.h:
589 * daemon/opd_events.c: move code for handling
590 event descriptions here, and share find_counter_event(),
593 * daemon/opd_mangling.c:
594 * daemon/opd_perfmon.c:
595 * daemon/oprofiled.c:
596 * daemon/oprofiled.h:
597 * daemon/liblegacy/opd_proc.c:
598 * daemon/liblegacy/opd_sample_files.c: changes from
601 2003-10-27 John Levon <levon@movementarian.org>
603 * daemon/oprofiled.c: fix help text
605 * daemon/liblegacy/init.c:
606 * daemon/liblegacy/opd_proc.h:
607 * daemon/liblegacy/opd_proc.c: clean up headers
610 2003-10-27 Philippe Elie <phil.el@wanadoo.fr>
612 * gui/oprof_start.cpp: check we can get kernel interface
614 2003-10-27 John Levon <levon@movementarian.org>
616 * daemon/liblegacy/Makefile.am: remove unneeded
619 2003-10-27 John Levon <levon@movementarian.org>
622 * daemon/opd_perfmon.c: move timer interrupt checks
625 2003-10-27 John Levon <levon@movementarian.org>
627 * daemon/oprofiled.c: use op_get_interface()
629 * libop/op_get_interface.c: simplify
631 2003-10-26 Philippe Elie <phil.el@wanadoo.fr>
633 * gui/ui/oprof_start.base.ui:
634 * gui/oprof_start.cpp:
635 * gui/oprof_start.h: check separate_lib checkbox when
636 separate_kernel_cb is checked
638 2003-10-26 Philippe Elie <phil.el@wanadoo.fr>
640 * utils/opcontrol: allow to reset --image through empty --image=
643 2003-10-26 John Levon <levon@movementarian.org>
645 * daemon/opd_cookie.c: reduce the hash table size somewhat
647 * various: fixes for doxygen
649 2003-10-26 John Levon <levon@movementarian.org>
654 * dae/: move all of 2.4 daemon code to ...
656 * daemon/liblegacy/: here
658 * daemon/Makefile.am:
660 * daemon/opd_util.c: move to ...
662 * daemon/oprofiled.h:
663 * daemon/oprofiled.c: here, and call the right operations
664 depending upon oprofile kernel version.
667 * daemon/liblegacy/init.c: init and running for each version
669 2003-10-26 John Levon <levon@movementarian.org>
671 * daemon/opd_cookie.c: make sure to create the
672 cookie for the ignore value if it's not found
674 * daemon/opd_sfile.c: simplify ignored logic
676 2003-10-26 John Levon <levon@movementarian.org>
679 * doc/buffers.png: add a diagram
681 2003-10-26 Philippe Elie <phil.el@wanadoo.fr>
683 implement image filtering:
685 * dae/opd_image.h: add a field filtered
686 * dae/opd_image.c: set it at image creation
687 * dae/opd_proc.c: don't record sample when !image->filtered
689 * daemon/opd_cookie.h: add a field filtered
690 * daemon/opd_cookie.c: set it a cookie_entry creation.
691 * daemon/opd_sfile.h: add a field filtered
692 * daemon/opd_file.c: set it a opd_sfile struct creation
693 * daemon/opd_trans.c: record sample if filtered
695 * daemon/opd_util.h: export opd_hash_name(), is_image_filtered()
696 * daemon/opd_util.c: implement --image=xxx
698 * oprofiled.c: #include "config.h" not <>
700 * utils/opcontrol: handle --image
702 2003-10-26 John Levon <levon@movementarian.org>
704 * doc/oprofile.xml: remove some outdated stuff
706 2003-10-25 John Levon <levon@movementarian.org>
708 * doc/internals.xml: more docs
710 2003-10-25 John Levon <levon@movementarian.org>
712 * daemon/opd_perfmon.c: cleanups
714 2003-10-24 John Levon <levon@movementarian.org>
716 * doc/internals.xml: write some more
718 2003-10-23 John Levon <levon@movementarian.org>
720 * configure.in: bump to 0.7.1cvs
722 2003-10-22 John Levon <levon@movementarian.org>
724 * libop/tests/Makefile.am:
725 * libop/tests/load_events_files_tests.c:
726 * libop/tests/alloc_counter_tests.c: fix
729 * configure.in: bump to 0.7
731 2003-10-22 John Levon <levon@movementarian.org>
733 * daemon/Makefile.am:
734 * daemon/opd_perfmon.h:
735 * daemon/opd_perfmon.c: re-enable. Wait for children.
736 More safety checking.
738 * daemon/oprofiled.c: only use perfmon if !timer
740 2003-10-20 Philippe Elie <phil.el@wanadoo.fr>
743 * doc/oprofile.1.in: s/physical CPU/CPU/
745 2003-10-20 John Levon <levon@movementarian.org>
747 * daemon/Makefile.am:
748 * daemon/opd_perfmon.h: disable perfmon nicely
750 * gui/oprof_start.cpp:
751 * gui/oprof_start_config.h:
752 * gui/oprof_start_config.cpp:
753 * gui/ui/oprof_start.base.ui: Fix reading of separate
754 parameters. Add CPU and thread separation
756 2003-10-20 Philippe Elie <phil.el@wanadoo.fr>
758 * libpp/profile_spec.cpp: relative path are relative to current dir
761 2003-10-20 John Levon <levon@movementarian.org>
764 * doc/opreport.1.in: fix --merge docs and profile specs
766 2003-10-20 John Levon <levon@movementarian.org>
768 * dae/opd_sample_files.c:
769 * daemon/opd_mangling.c:
771 * libabi/abi_test.cpp:
772 * libabi/op_import.cpp:
774 * libop/op_sample_file.h:
775 * libpp/op_header.cpp: remove ctr and separate_* from
776 header. Re-arrange it a little, and make it 64 bytes
777 on ILP32. Bump the version.
779 2003-10-20 John Levon <levon@movementarian.org>
781 * libpp/arrange_profiles.cpp: rework the clashing-axes
782 error message to be nicer to the user
784 2003-10-20 John Levon <levon@movementarian.org>
786 * libpp/arrange_profiles.cpp: if tid == tgid for
787 every profile class, allow axes of both TID and TGID
788 - there is no actual difference, only theoretical
790 2003-10-20 Philippe Elie <phil.el@wanadoo.fr>
792 * dae/oprofiled.c: correct an error message
793 * libop/op_alloc_counter.h: remove bogus FIXME
794 * libutil++/child_reader.cpp: avoid quadratic behaviour if child does a
795 lot of output in stderr
796 * libpp/opgprof.cpp: fix comment
798 2003-10-19 Philippe Elie <phil.el@wanadoo.fr>
800 * gui/oprof_start.cpp: redundant return
802 2003-10-19 John Levon <levon@movementarian.org>
804 * libop/op_events.c: move to a fixed value for the default
807 2003-10-19 Philippe Elie <phil.el@wanadoo.fr>
810 * libpp/format_output.h: remove first_output bool member
811 * libpp/format_output.cpp: call output_header from the right place
812 * libpp/op_header.h: remove bogus FIXME
814 * libregex/tests/Makefile.am: fix dependencies on mangled-name file,
816 * libregex/tests/mangled-name.in: simplify a bit and remove a bogus
818 * libregex/tests/regex_test.cpp: fix comment
820 * module/ia64/op_syscalls.c:
821 * module/x86/hammer_op_syscalls.c:
822 * module/x86/op_syscalls.c: remove some FIXME
824 2003-10-17 Philippe Elie <phil.el@wanadoo.fr>
826 * libpp/arrange_profiles.cpp: clarify suggestion.
827 * pp/opreport_options.cpp: update options help string for --merge.
829 * libpp/profile_container.cpp:
830 * libpp/profile_spec.cpp:
831 * pp/common_option.cpp:
832 * pp/populate.cpp: ';' are not necessary to end namespace
834 2003-10-17 Philippe Elie <phil.el@wanadoo.fr>
836 * libpp/arrange_profiles.cpp: use a set<profile_classes> instead
837 of a vector<...> to replace a O(N*M) by a O(N*log(M)) behavior.
838 (N number of samples files, M number of class).
840 2003-10-17 Philippe Elie <phil.el@wanadoo.fr>
842 * libutil++/op_bfd.cpp: show filename when warning about no debug
843 information available. get_linenr(): s/filename/source_filename/
845 2003-10-16 Philippe Elie <phil.el@wanadoo.fr>
847 * events/ia64/itanium/events: counter 0,1 not 2,3 for IA64_INST_RETIRED
849 * daemon/opd_util.c: opd_parse_events() fix use after free.
851 2003-10-16 John Levon <levon@movementarian.org>
853 * daemon/opd_perfmon.c: disable the code
855 2003-10-15 John Levon <levon@movementarian.org>
857 * daemon/opd_perfmon.c: fflushes to improve
860 2003-10-15 John Levon <levon@movementarian.org>
862 * daemon/opd_perfmon.c: fix dumb allocation typo;
863 handle signals correctly; wait for children to
864 come up before returning
866 2003-10-15 Philippe Elie <phil.el@wanadoo.fr>
868 * dae/opd_sample_files.c:
869 * daemon/opd_mangling.c:
870 * daemon/opd_perfmon.c:
871 * daemon/opd_util.c: check we not overflow op_nr_counters
873 2003-10-15 Philippe Elie <phil.el@wanadoo.fr>
875 * events/ia64/itanium/events: correct counter available according
878 2003-10-15 John Levon <levon@movementarian.org>
883 * dae/opd_sample_files.c:
885 * daemon/opd_kernel.c:
886 * daemon/opd_mangling.c:
887 * daemon/opd_sfile.c:
888 * daemon/opd_trans.c:
891 * daemon/oprofiled.c: merge the options handling
894 2003-10-15 Philippe Elie <phil.el@wanadoo.fr>
896 * daemon/opd_perfmon.c:
897 * module/ia64/op_pmu.c: bit mask for event select field is 8 bits not 7
899 2003-10-14 John Levon <levon@movementarian.org>
903 * utils/opcontrol: 2.5 refs -> 2.6
905 2003-10-14 John Levon <levon@movementarian.org>
907 * utils/opcontrol: merge some 2.4/6 code
909 2003-10-14 John Levon <levon@movementarian.org>
912 * dae/opd_sample_files.c:
914 * utils/opcontrol: use --events for 2.4 daemon
917 * daemon/opd_perfmon.c:
918 * daemon/opd_mangling.c: fix counter numbering
921 2003-10-14 John Levon <levon@movementarian.org>
923 * configure.in: xmemdup not xmemdump
925 2003-10-14 John Levon <levon@movementarian.org>
927 * daemon/opd_perfmon.c: propagate a SIGTERM
930 2003-10-14 John Levon <levon@movementarian.org>
933 * configure.in: remove pfmlib checks
937 * daemon/opd_mangling.c:
938 * daemon/oprofiled.c: parse more detailed events
939 passed on command line
941 * daemon/opd_perfmon.h:
942 * daemon/opd_perfmon.c: don't use libpfm at all,
945 * utils/opcontrol: pass more of the events info to
948 2003-10-14 John Levon <levon@movementarian.org>
951 * configure.in: look for pfmlib 3
953 * daemon/Makefile.am:
954 * daemon/opd_perfmon.h:
955 * daemon/opd_perfmon.c: interface to perfmon on 2.6 IA64
957 * daemon/opd_mangling.c:
958 * daemon/oprofiled.c: read event descriptions from command
962 * daemon/opd_util.c: receive SIGUSR1/2 for perfmon
964 * utils/opcontrol: handle multiple oprofileds. Send SIGUSR1/2
965 on start/stop. Pass in events list to oprofiled on 2.6. Don't
966 attempt to fill in oprofilefs with event info if using perfmon.
968 2003-10-14 Philippe Elie <phil.el@wanadoo.fr>
970 * daemon/opd_mangling.c:
971 * daemon/opd_sfile.c:
972 * daemon/opd_sfile.h: protect the sfile we are acting on to be freed
976 * libdb/odb_hash.h: Do not put hash->descr in an inconsistent state
977 when a failure occur.
979 2003-10-13 Philippe Elie <phil.el@wanadoo.fr>
981 * module/oprofile.c: don't restore syscall and stop counter twice
983 2003-10-13 Will Cohen <wcohen@redhat.com>
985 * libop/op_parse_event.c(parse_events): Correct fprintf.
987 2003-10-13 Philippe Elie <phil.el@wanadoo.fr>
989 * module/x86/hammer_op_syscalls.c: pass tgid to daemon. Not tested!
991 2003-10-12 John Levon <levon@movementarian.org>
993 * utils/opcontrol: share --separate-cpu/thread code now
995 2003-10-12 Philippe Elie <phil.el@wanadoo.fr>
997 * configure.in: add libregex/tests/mangled-name.in
998 * libregex/tests/mangled-name.txt: move ...
999 * libregex/tests/mangled-name.in: here, tune to support different arch
1000 * libregex/tests/Makefile.am: s/mangled-name.txt/mangled-name.in
1001 * libregex/stl.pat.in: fix iterator<... ptrdiff_t>
1002 * libregex/tests/Makefile.am: update according to filename change
1004 * libregex/tests/regex_test.cpp: really fails on exception.
1006 2003-10-12 Philippe Elie <phil.el@wanadoo.fr>
1008 * dae/oprofiled.c: don't set cpu_number when !--separate=cpu
1010 * libop/tests/alloc_counter_tests.c: printf format for 64 bits arch
1011 * libop/tests/cpu_type_tests.c: #include <string.h>
1012 * libop/tests/parse_event_tests.c: #include <string.h>
1014 2003-10-11 Philippe Elie <phil.el@wanadoo.fr>
1016 * libop/op_interface.h: struct op_sample: remove packed attribute
1018 2003-10-11 Philippe Elie <phil.el@wanadoo.fr>
1021 * dae/opd_image.h: reference count opd_image. Remove modification time
1022 checking. Remove hash field. Tidy
1023 * dae/opd_kernel.c: pass tid, tgid to op_get_kernel_image()
1024 * dae/opd_mapping.c:
1025 * dae/opd_mapping.h: use module hash code for image name to index
1026 a cache of name, this hash code is no longer used elsewhere. When
1027 killing map delete associated image, reference count of image
1028 will check for a real delete.
1029 * dae/opd_parse_proc.c: get tgid from /proc/pid/status
1030 * dae/opd_proc.c: create an opd_proc by process when
1031 separate_thread == true. Tidy by adding an opd_for_each_proc()
1032 * dae/opd_proc.h: add tid/tgid to opd_proc struct
1033 * dae/opd_sample_files.c:
1034 * dae/opd_sample_files.h: lru all samples files, allowing to cleanup
1035 a part of the lru if we go out of resource. Remove
1036 opd_handle_old_sample_files() since we no longer check for image
1039 * dae/opd_stats.h: statistics for opd_image struct depth search
1040 * dae/oprofiled.c: add --separate-cpu and --separate-thread
1041 * libop/op_interface.h: add tgid to samples struct passed from module
1043 * module/compat22.h:
1044 * module/compat24.h: op_get_tgid() return tgid, fall back to return
1046 * module/oprofile.c:
1047 * module/ia64/op_syscalls.c: pass tgid to daemon. NOT TESTED but I
1048 think it's ok. Note than even if it's broken ia64 should work w/o
1050 * module/x86/op_syscalls.c: pass tgid to daemon.
1051 * utils/opcontrol: enable 2.4 thread/cpu separation
1053 * libdb/tests/db_test.c: verbose on when we provide filename of db file
1054 to test on command line.
1056 2003-10-11 Philippe Elie <phil.el@wanadoo.fr>
1058 * libop/op_cpu_type.h:
1059 * libop/op_cpu_type.c: constification
1060 * utils/op_help.c: check only if CPU_NO_GOOD not range
1062 * libutil/tests/Makefile.am:
1063 * libregex/tests/Makefile.am:
1064 * libdb/tests/Makefile.am: s/TEST = (.*)/TESTS = ${check_PROGRAMS}/
1066 * libop/tests/alloc_counter_tests.c: comment fix
1068 * libop/tests/Makefile.am:
1069 * libop/tests/cpu_type_tests.c: new file, test libop/op_cpu_type.c
1071 2003-10-10 Will Cohen <wcohen@redhat.com>
1073 * libop/op_cpu_type.h (op_get_cpu_number): Clarify comment.
1074 * libop/op_cpu_type.c (op_get_cpu_number): Check number.
1075 * utils/op_help.c (main): Make check with CPU_NO_GOOD.
1077 2003-10-10 Will Cohen <wcohen@redhat.com>
1079 * libop/op_cpu_type.h (op_get_cpu_number): Declare.
1080 * libop/op_cpu_type.c (op_get_cpu_number): New.
1081 (op_get_cpu_type): Use op_get_cpu_number.
1082 * utils/op_help.c (main): Use op_get_cpu_number.
1084 2003-10-10 John Levon <levon@movementarian.org>
1086 * libop/op_parse_event.c: fix compile for IA64
1088 2003-10-09 John Levon <levon@movementarian.org>
1090 * doc/oprofile.xml: document "no results" and
1093 2003-10-08 John Levon <levon@movementarian.org>
1095 * utils/op_help.c: standardise name
1097 * gui/oprof_start.cpp: Qt 2.3.1 compile fix
1100 2003-10-07 Philippe Elie <phil.el@wanadoo.fr>
1102 * dae/opd_kernel.c: memory leak
1104 * dae/opd_mapping.c:
1105 * dae/opd_mapping.h:
1106 * dae/opd_parse_proc.c:
1108 * dae/opd_proc.h: use a list of struct opd_map instead of an array,
1109 remove last_map optimization.
1111 * dae/oprofiled.c: memory leak
1113 * libutil/op_cpufreq.c: memory leak, FILE* leak
1114 * libutil/op_list.h: fix @author
1116 2003-10-06 Philippe Elie <phil.el@wanadoo.fr>
1120 * dae/opd_proc.c: use struct list_head to chain opd_proc struct in hash
1123 * utils/op_help.c: comment fix
1125 2003-10-06 John Levon <levon@movementarian.org>
1127 * utils/opcontrol: work around 2.6 daemon's signal
1128 handling race that could cause it to hang during
1131 2003-10-05 Philippe Elie <phil.el@wanadoo.fr>
1133 * events/i386/p4/events:
1134 * events/i386/p4-ht/events: put GLOBAL_POWER_EVENTS on top
1136 * events/i386/pii/unit_masks:
1137 * events/i386/piii/unit_masks: typo in help string
1139 * utils/op_help.c: show "counter: all" instead an enumeration of all
1142 2003-10-02 Philippe Elie <phil.el@wanadoo.fr>
1144 * events/*.events *.unit_masks: move these files to subdir named
1145 arch/processor_name/events and arch/processor_name/unit_masks
1146 * events/Makefile.am: update according
1148 * libop/op_events.c: now it's safe to allow loading events file from a
1149 directory provided through environment var OPROFILE_EVENTS_FILE_DIR
1150 * libop/tests/alloc_counter_tests.c: use it
1151 * libop/tests/load_events_files_tests.c: use it
1153 2003-10-02 Philippe Elie <phil.el@wanadoo.fr>
1155 * libop/op_events.c: revert last commit (allowed to find events files
1156 description directory in alternate directory)
1158 * libop/tests/Makefile.am:
1159 * libop/tests/load_events_files_tests.c: new files. Validate events
1160 description file by loading them.
1162 * libutil/op_cpufreq.c: comment why we don't have any code handling
1165 2003-10-01 Philippe Elie <phil.el@wanadoo.fr>
1168 * libop/Makefile.am: new subdir
1169 * libop/op_events.c: allow to retrieve events file dir through
1170 environment variable
1171 * utils/op_help.c: move parse_events() and parsed_event struct to ...
1172 * libop/op_parse_event.h:
1173 * libop/op_parse_event.c: these new files
1175 * libop/tests/Makefile.am: new tests subdir
1176 * libop/tests/alloc_counter_tests.c: events mapping to counter nr tests
1177 * libop/tests/parse_event_tests.c: event parsing tests
1179 2003-10-01 Philippe Elie <phil.el@wanadoo.fr>
1181 * libop/op_alloc_counter.c: add forward declaration
1182 * libop/op_alloc_counter.c: alloc counter in increasing number order,
1183 it's less surprising.
1185 2003-10-01 Philippe Elie <phil.el@wanadoo.fr>
1187 * libdb/tests/db_test.c: if previous tests fails a corrupted samples
1188 file can exist in test dir and will be re-used, remove() it.
1190 2003-10-01 John Levon <levon@movementarian.org>
1192 * daemon/opd_sfile.c:
1193 * libabi/op_import.cpp:
1194 * libop/op_interface.h:
1195 * libpp/locate_images.h: small cleanups
1197 * pp/opreport_options.cpp: don't complain about
1200 2003-09-28 Philippe Elie <phil.el@wanadoo.fr>
1202 * libutil/op_file.c:
1203 * libutil/tests/file_tests.c: honor posix "//" filename namespace
1205 2003-09-28 Philippe Elie <phil.el@wanadoo.fr>
1207 * libop/op_alloc_counter.h:
1208 * libop/op_alloc_counter.c: change allocator by a backtracking
1209 algorithm walking only through possible solution.
1211 2003-09-26 Philippe Elie <phil.el@wanadoo.fr>
1213 * libdb/tests/db_test.c: success must be silent
1215 * daemon/oprofiled.c:
1216 * libutil/op_deviceio.c:
1217 * libutil/op_deviceio.h: op_open_device(): remove unused parameter
1220 2003-09-26 Philippe Elie <phil.el@wanadoo.fr>
1222 * libutil/tests/file_tests.c: Fix some test: in some case the pathname
1223 component must be valid since we lstat() them. Fix a segfault due
1226 2003-09-26 John Levon <levon@movementarian.org>
1228 * libdb/tests/Makefile.am:
1229 * libregex/tests/Makefile.am:
1230 * libutil/tests/Makefile.am: don't build tests
1233 2003-09-26 John Levon <levon@movementarian.org>
1235 * libutil/op_file.c: don't test for NULL path
1236 passed in, we want to crash here instead of
1240 * libutil/Makefile.am:
1241 * libutil/tests/Makefile.am:
1242 * libutil/tests/file_tests.c:
1243 * libutil/tests/string_tests.c: add some unit tests
1244 for libutil string and path handling
1246 2003-09-26 Philippe Elie <phil.el@wanadoo.fr>
1248 * libdb/db_debug.c: remove useless display interface
1249 * libdb/db_db_travel.c: remove callback interface
1250 * libdb/odb_hash.h: remove display/callback interface
1251 * libdb/db_test.cpp: move to tests subdir
1252 * libdb/Makefile.am: update according
1253 * libdb/tests: new dir
1254 * libdb/tests/.cvsignore:
1255 * libdb/tests/Makefile.am: new files
1256 * libdb/tests/db_test.cpp: shorter tests
1258 * libregex/mangled-name.txt:
1259 * libregex/regex_testc.cpp: move to ...
1260 * libregex/tests: new directory
1261 * libdb/Makefile.am: update according
1262 * libregex/tests/.cvsignore:
1263 * libregex/tests/Makefile.am: new files
1265 2003-09-26 John Levon <levon@movementarian.org>
1267 * libabi/abi_test.cpp:
1268 * libabi/op_import.cpp: small cleanups
1270 2003-09-25 John Levon <levon@movementarian.org>
1272 * daemon/opd_cookie.c:
1273 * daemon/opd_kernel.c:
1274 * daemon/opd_sfile.c:
1275 * daemon/opd_trans.c:
1276 * daemon/oprofiled.c: trivial cleanups
1278 2003-09-25 Marc Herbert <marc.herbert@ens-lyon.fr>
1280 * configure.in: fix prefix stuff to allow stow
1283 2003-09-25 Philippe Elie <phil.el@wanadoo.fr>
1286 * Makefile.am: update according
1287 * configure.in: no longer need for conditional enable_pch
1288 * m4/precompiledheader.m4: don't use -Winvalid-pch
1290 2003-09-25 Philippe Elie <phil.el@wanadoo.fr>
1292 * daemon/opd_sfile.c: sfile_lru_clear() return 0 if lru is empty
1293 * daemon/opd_mangling.c: abort() if lru was empty (not tested)
1294 * daemon/oprofiled.c: likewise; opd_alarm(): don't sfile_lru_clear()
1297 * daemon/opd_sfile.h:
1298 * daemon/opd_cookie.h: s/()/(void)/ in some function prototype and
1301 * daemon/opd_cookie.c: s/"not looked up"/"not hashed"/
1303 2003-09-25 John Levon <levon@movementarian.org>
1305 * daemon/oprofiled.c: push rlimit down back to 2048.
1306 This gives a running RSS of about 10Mb when thread
1307 profiling on my box, which seems reasonable (at 8192
1308 it was hitting 40Mb)
1310 2003-09-25 Philippe Elie <phil.el@wanadoo.fr>
1312 * doc/oprofile.xml: clarify what means a configured kernel.
1314 2003-09-25 John Levon <levon@movementarian.org>
1316 * daemon/opd_sfile.c: bump LRU_AMOUNT to 1000
1318 2003-09-24 John Levon <levon@movementarian.org>
1320 * doc/opcontrol.1.in:
1321 * doc/oprofile.xml: document thread and cpu
1324 * daemon/opd_mangling.c:
1325 * daemon/opd_sfile.c:
1326 * daemon/oprofiled.c:
1327 * utils/opcontrol: implement per-CPU profiling,
1330 2003-09-24 John Levon <levon@movementarian.org>
1333 * dae/opd_sample_files.c:
1334 * daemon/opd_mangling.c:
1335 * daemon/opd_sfile.c:
1336 * libabi/abi_test.cpp:
1337 * libabi/op_import.cpp:
1338 * libdb/db_insert.c:
1339 * libdb/db_manage.c:
1342 * libpp/op_header.cpp:
1343 * libpp/profile.cpp: remove samples_odb_t.err_msg
1344 entirely - prefer UNIX-style errno returns. Modify
1345 error messages to match
1347 2003-09-24 John Levon <levon@movementarian.org>
1349 * dae/opd_sample_files.c:
1350 * daemon/opd_sample_files.c:
1351 * libpp/op_header.cpp:
1352 * libpp/profile.cpp:
1353 * libabi/abi_test.cpp:
1354 * libabi/op_import.cpp:
1357 * libdb/odb_manage.c: make odb_open return errno
1358 instead of EXIT_FAILURE/SUCCESS to allow EMFILE
1359 handling. Also do not leak fd's on failure.
1361 * libutil/op_types.h: cookie_t moved into daemon/
1363 * daemon/: major rewrite: move to a hash on all
1364 parameters of struct transient. Lots of readability
1365 cleanups, plus resistance to cookie lookup failures,
1366 and hitting open file limits. Additionally thread
1367 profiling for kernel threads is enabled now.
1369 2003-09-24 John Levon <levon@movementarian.org>
1371 * daemon/opd_image.c: remove support for missing
1374 2003-09-24 John Levon <levon@movementarian.org>
1376 * daemon/oprofiled.c: remove /proc/kcore support
1378 2003-09-22 Philippe Elie <phil.el@wanadoo.fr>
1380 * dae/opd_parse_proc.c: both op_file.h and op_fileio.h are needed
1382 2003-09-22 John Levon <levon@movementarian.org>
1384 * doc/CodingStyle: document doxygen placing rule
1386 * libop/op_alloc_counter.h:
1387 * libop/op_get_interface.c:
1388 * libutil++/file_manip.cpp:
1389 * libutil++/file_manip.h:
1390 * libutil++/op_bfd.cpp:
1391 * libutil++/op_bfd.h:
1392 * libutil/op_deviceio.c:
1393 * libutil/op_deviceio.h:
1394 * libutil/op_get_time.c:
1395 * libutil/op_get_time.h:
1396 * libutil/op_libiberty.c:
1397 * libutil/op_libiberty.h:
1398 * libutil/op_lockfile.c:
1399 * libutil/op_lockfile.h:
1400 * libutil/op_popt.c:
1401 * libutil/op_popt.h: follow the above
1403 * libutil/op_file.c:
1404 * libutil/op_file.h:
1405 * libutil/op_fileio.c:
1406 * libutil/op_fileio.h:
1407 * dae/opd_parse_proc.c:
1408 * libutil++/string_manip.cpp: move op_get_link to
1411 2003-09-22 John Levon <levon@movementarian.org>
1413 * libutil/op_fileio.h:
1414 * libutil/op_fileio.c: warn about op_get_link()
1417 * libutil++/file_manip.h:
1418 * libutil++/file_manip.cpp: s/op_read_link/op_follow_link,
1419 and behaviour change to match
1421 * libpp/profile_spec.cpp:
1422 * gui/oprof_start_util.cpp: use op_follow_link
1424 2003-09-22 Philippe Elie <phil.el@wanadoo.fr>
1426 * dae/makefile.am: missing AM_CFLAGS setting
1429 * daemon/oprofiled.c: handle signal in read loop
1430 * daemon/opd_util.h:
1431 * daemon/opd_util.c: move opd_setup_signal() from dae/ daemon/
1433 2003-09-22 John Levon <levon@movementarian.org>
1436 * daemon/oprofiled.c: mask SIGTERM too to prevent
1437 the possibility of empty sample files
1439 2003-09-21 Philippe Elie <phil.el@wanadoo.fr>
1441 * libpp/format_output.h:
1442 * libpp/format_output.cpp:
1443 * pp/opreport.cpp: format_output::show_header no hide_header
1445 2003-09-21 Philippe Elie <phil.el@wanadoo.fr>
1447 * doc/opreport.1.in:
1449 * libpp/format_output.h:
1450 * libpp/format_output.cpp:
1451 * pp/opreport.cpp: --global_percent must be effective for detailed
1454 2003-09-21 John Levon <levon@movementarian.org>
1456 * pp/opreport_options.cpp: prevent --global-percent
1459 2003-09-21 John Levon <levon@movementarian.org>
1461 * Makefile.am: back out broken make clean change
1463 2003-09-21 John Levon <levon@movementarian.org>
1465 * Makefile.am: make clean now removes *.html
1467 * internals.xml: add some outline sections
1469 2003-09-21 John Levon <levon@movementarian.org>
1471 * doc/internals.xml: provide a short overview
1472 and start a glossary
1474 * libpp/count_array.h:
1475 * libpp/format_output.cpp:
1476 * libpp/format_output.h:
1477 * libpp/profile.cpp:
1479 * libpp/profile_container.cpp:
1480 * libpp/profile_container.h:
1481 * pp/opreport.cpp: replace residual references to
1482 count groups with profile class concept
1484 2003-09-21 John Levon <levon@movementarian.org>
1487 * doc/internals.xml: start an internals manual ...
1489 2003-09-19 John Levon <levon@movementarian.org>
1491 * pp/image_errors.cpp: missing include
1493 2003-09-19 John Levon <levon@movementarian.org>
1495 * libopt++/popt_options.h:
1496 * libopt++/popt_options.cpp: remove additional_help
1497 stuff, unused for some time
1499 2003-09-18 John Levon <levon@movementarian.org>
1501 * libutil++/Makefile.am:
1502 * libutil++/image_flags.h: move to ...
1504 * libpp/Makefile.am:
1505 * libpp/image_error.h: ... here, and rename
1507 * libutil++/op_bfd.h:
1508 * libutil++/op_bfd.cpp: take an in-out bool
1509 instead of image_flags
1511 * libpp/arrange_profiles.cpp:
1512 * libpp/arrange_profiles.h:
1513 * libpp/locate_images.cpp:
1514 * libpp/locate_images.h:
1515 * libpp/profile_spec.cpp:
1516 * pp/image_errors.cpp:
1518 * pp/populate.cpp: changes from above
1520 2003-09-18 John Levon <levon@movementarian.org>
1522 * libutil++/Makefile.am:
1523 * libutil++/image_flags.h: flags for image read failure
1525 * libpp/profile_spec.cpp:
1526 * libpp/locate_images.h:
1527 * libpp/locate_images.cpp:
1528 * libpp/arrange_profiles.h:
1529 * libpp/arrange_profiles.cpp: use image_flags
1531 * libutil++/op_bfd.h:
1532 * libutil++/op_bfd.cpp: use image_flags, no longer error
1533 out on format failure
1536 * pp/image_errors.cpp:
1537 * pp/image_errors.h: errors previously reported in locate_images
1538 are now reported here by the client
1540 * pp/opannotate.cpp:
1542 * pp/opgprof_options.cpp:
1545 * pp/populate.cpp: use the above
1547 2003-09-18 Philippe Elie <phil.el@wanadoo.fr>
1549 * libpp/format_output.cpp: use 9 not 12 for % field width
1550 * libutil++/string_manip.cpp: shrink 100.0000 to 100.000
1551 * pp/opreport.cpp: s/" "/' '
1553 2003-09-18 John Levon <levon@movementarian.org>
1555 * pp/opannotate_options.cpp:
1556 * pp/opreport_options.cpp: clean up error messages
1558 * pp/opgprof_options.h:
1559 * pp/opgprof_options.cpp:
1560 * pp/opgprof.cpp: use inverted_profile API
1562 2003-09-18 Philippe Elie <phil.el@wanadoo.fr>
1564 * utils/opcontrol: overwrite all current settings with --separate,
1565 this change behavior of --separate=kernel,library now we really setup
1568 2003-09-18 John Levon <levon@movementarian.org>
1570 * libpp/locate_images.cpp: rewrite a little
1572 * libutil++/op_bfd.cpp: set fsize to default to -1,
1573 for fake artificial symbol
1575 2003-09-18 Philippe Elie <phil.el@wanadoo.fr>
1577 * libpp/locate_images.h:
1578 * libpp/locate_images.cpp: find_module_path() extra bool parameter
1579 to know if we fail to retrieve the image.
1580 * libpp/arrange_profiles.h:
1581 * libpp/arrange_profiles.cpp: use it and save this bool in
1582 inverted_profile struct
1583 * libpp/profile_spec.cpp: update caller according
1585 * libutil++/op_bfd.h:
1586 * libutil++/op_bfd.cpp: use the above change to create fake op_bfd
1588 * pp/opgprof_options.cpp:
1589 * pp/opgprof.cpp: update caller but never allow fake op_bfd
1591 * pp/populate.cpp: allow to create fake op_bfd
1594 2003-09-18 John Levon <levon@movementarian.org>
1598 * dae/opd_sample_files.c:
1600 * daemon/opd_image.c:
1601 * daemon/opd_image.h:
1602 * daemon/opd_kernel.c:
1603 * daemon/opd_sample_files.c:
1604 * daemon/oprofiled.c:
1605 * gui/oprof_start.cpp:
1606 * gui/oprof_start_config.cpp:
1607 * gui/oprof_start_config.h:
1608 * gui/ui/oprof_start.base.ui:
1610 * libabi/abi_test.cpp:
1611 * libabi/op_import.cpp:
1612 * libop/op_sample_file.h:
1613 * libpp/op_header.cpp:
1614 * utils/opcontrol: renamings of separate stuff
1616 2003-09-17 Philippe Elie <phil.el@wanadoo.fr>
1618 * dae/opd_kernel.c: thinko in opd_get_module_info(): we must take
1619 care to re-use a previously created module not to create a new
1621 2003-09-17 John Levon <levon@movementarian.org>
1623 * daemon/opd_kernel.c: logging improvements
1625 2003-09-17 Philippe Elie <phil.el@wanadoo.fr>
1628 * daemon/opd_kernel.c: fix use after free of module
1630 2003-09-17 John Levon <levon@movementarian.org>
1632 * daemon/opd_image.c: fix thread profiling when
1633 --separate-library=0
1635 2003-09-17 Philippe Elie <phil.el@wanadoo.fr>
1637 * dae/opd_kernel.c: add module to list of module ...
1638 * daemon/opd_kernel.c: s/print/verbprintf
1640 2003-09-17 Philippe Elie <phil.el@wanadoo.fr>
1642 * libop/op_config.h: remove OPD_MAX_MODULEs
1644 * daemon/opd_kernel.c: remove fixed array of modules replaced by
1645 a list. Unify the way we create opd_module
1646 * utils/opcontrol: don't use --thread-profiling for 2.4
1648 2003-09-17 Ka Fai Lu <kafai0928@yahoo.com>
1650 I adapted slightly this patch Phil.
1651 * daemon/opd_image.c:
1652 * daemon/opd_image.h:
1653 * daemon/opd_kernel.c:
1654 * daemon/opd_sample_files.c:
1655 * daemon/oprofiled.c:
1656 * utils/opcontrol: implement per thread profiling
1658 2003-09-16 Philippe Elie <phil.el@wanadoo.fr>
1660 * libopt++/popt_options.h:
1661 * libpp/locate_images.cpp: minor tidy
1663 2003-09-16 John Levon <levon@movementarian.org>
1665 * utils/opcontrol: don't pass pid/pgrp filter
1669 * daemon/oprofiled.c: setrlimit to 8192 (lame
1670 workaround for now), minor cleanups
1672 2003-09-15 John Levon <levon@movementarian.org>
1674 * common_option.cpp: rename the array to
1675 avoid a link error in GCC 3.4
1677 2003-09-15 John Levon <levon@movementarian.org>
1679 * libop/Makefile.am:
1680 * libop/op_interface_25.h: move to ...
1682 * daemon/Makefile.am:
1683 * daemon/opd_interface.h: ... here
1685 * daemon/opd_image.c:
1686 * daemon/oprofiled.c: use above. Remove pointless
1687 command line options.
1689 * libop/op_config_25.h: remove.
1691 * libop/op_hw_config.h: move DCOOKIE_SHIFT to
1694 2003-09-15 John Levon <levon@movementarian.org>
1696 * configure.in: use -Wdeclaration-after-statement
1700 * daemon/opd_util.c:
1701 * daemon/opd_util.h:
1702 * doc/opannotate.1.in:
1704 * doc/opreport.1.in:
1705 * doc/oprofile.1.in:
1707 * gui/oprof_start.cpp:
1708 * gui/oprof_start_util.cpp:
1709 * libop/op_cpu_type.c:
1710 * libop/op_cpu_type.h:
1711 * libop/op_get_interface.c:
1712 * libpp/locate_images.cpp: remove references to
1713 2.5, replaced with 2.6
1715 2003-09-15 John Levon <levon@movementarian.org>
1717 * doc/opreport.1.in: document --show-address
1719 2003-09-15 John Levon <levon@movementarian.org>
1721 * libpp/arrange_profiles.cpp:
1722 * libpp/arrange_profiles.h:
1723 * pp/populate.cpp: more commentary
1725 2003-09-14 Philippe Elie <phil.el@wanadoo.fr>
1727 * pp/opreport.cpp: handle 2.95 right io manipulator and the lack
1728 of a proper setw(w) << std::string
1730 2003-09-14 John Levon <levon@movementarian.org>
1732 * pp/opreport.cpp: re-add header for image summary
1734 2003-09-14 John Levon <levon@movementarian.org>
1736 * libpp/arrange_profiles.cpp: throw an exception
1737 if there are two many unmerged profiles, with details
1740 * pp/opgprof_options.cpp:
1741 * pp/common_option.cpp: clean up error messages
1743 2003-09-14 John Levon <levon@movementarian.org>
1745 * libpp/arrange_profiles.h:
1746 * libpp/arrange_profiles.cpp: add location of
1747 images when inverting profiles
1749 * libpp/locate_images.cpp: return empty string
1750 if file isn't readable
1752 * pp/opannotate.cpp: use the above
1754 * pp/opreport.cpp: use the above; place warnings
1755 before any other output
1757 2003-09-14 John Levon <levon@movementarian.org>
1759 * pp/opgprof_options.cpp: use locate_image_path
1761 2003-09-14 John Levon <levon@movementarian.org>
1765 * populate.cpp: shared code for populating from
1769 * opannotate.cpp: use above
1771 2003-09-14 John Levon <levon@movementarian.org>
1773 * libpp/arrange_profiles.h:
1774 * libpp/arrange_profiles.cpp: add invert_profiles
1776 * pp/opreport.cpp: use it
1778 2003-09-14 John Levon <levon@movementarian.org>
1782 * pp/opreport_options.cpp:
1783 * pp/opreport_options.h: Turn off VMA report by
1784 default, add --show-address
1786 2003-09-14 John Levon <levon@movementarian.org>
1788 * pp/opreport.cpp: nice formatting of image report
1789 column headers, respect --no-header
1791 2003-09-14 Philippe Elie <phil.el@wanadoo.fr>
1793 * libpp/arrange_profiles.cpp: use string::erase() not string::clear()
1796 * libutil++/generic_spec.h: allow to ignore "all" match
1797 * libutil++/comma_list.h: use it
1799 2003-09-14 John Levon <levon@movementarian.org>
1801 * pp/opreport.cpp: output column headers for
1804 2003-09-14 John Levon <levon@movementarian.org>
1806 * libpp/op_header.h:
1807 * libpp/op_header.cpp: output header info to
1808 a string not a stream
1810 * libpp/arrange_profiles.h:
1811 * libpp/arrange_profiles.cpp: give classes a long
1812 name, and fill in global event/cpu info
1814 * pp/opannotate.cpp:
1815 * pp/opannotate_options.cpp:
1816 * pp/opannotate_options.h:
1817 * pp/opgprof_options.cpp:
1819 * pp/opreport_options.cpp:
1820 * pp/opreport_options.h: use the class long names
1823 2003-09-14 Philippe Elie <phil.el@wanadoo.fr>
1825 * libpp/profile_spec.cpp: handle symlink
1827 2003-09-14 John Levon <levon@movementarian.org>
1829 * arrange_profiles.h:
1830 * arrange_profiles.cpp: Add code to give short names
1831 to each class, unused yet
1833 2003-09-14 Philippe Elie <phil.el@wanadoo.fr>
1835 * libpp/arrange_profiles.cpp: missing include<> with gcc 2.95
1837 2003-09-14 John Levon <levon@movementarian.org>
1839 * libpp/Makefile.am:
1840 * libpp/split_sample_filename.cpp:
1841 * libpp/split_sample_filename.h: rename as ...
1843 * libpp/parse_filename.cpp:
1844 * libpp/parse_filename.h: ... this
1846 * libpp/filename_spec.cpp:
1847 * libpp/arrange_profiles.cpp:
1848 * libpp/arrange_profiles.h: sort classes for niceness,
1851 * pp/opreport.cpp: remove needless double check of
1854 * libutil++/string_manip.cpp: touint should init to 0
1855 in case of parse failure
1857 2003-09-14 Philippe Elie <phil.el@wanadoo.fr>
1859 * configure.in: fix maximum template depth to 50
1860 * libutil/op_fileio.c: op_get_link() don't truncate silently results
1861 * m4/sstream.m4: use OP_CXXFLAGS not CXXFLAGS
1863 2003-09-14 John Levon <levon@movementarian.org>
1865 * pp/partition_files.h:
1866 * pp/partition_files.cpp: remove, now unused
1868 2003-09-14 John Levon <levon@movementarian.org>
1870 * pp/opannotate.cpp:
1871 * pp/opannotate_options.cpp:
1872 * pp/opannotate_options.h: use arrange_profiles API
1874 2003-09-14 John Levon <levon@movementarian.org>
1876 * pp/opgprof_options.h:
1877 * pp/opgprof_options.cpp:
1878 * pp/opgprof.cpp: use arrange_profiles API
1880 2003-09-14 John Levon <levon@movementarian.org>
1882 * libpp/Makefile.am:
1883 * libpp/arrange_profiles.cpp:
1884 * libpp/arrange_profiles.h: introduce new
1885 code for partitioning profiles and handling
1888 * libpp/partition_files.h:
1889 * pp/opreport_options.cpp:
1890 * pp/opreport_options.h:
1891 * pp/opreport.cpp: use the above code
1893 * libpp/format_flags.h:
1894 * libpp/profile_container.cpp: remove unneeded
1897 * libpp/count_array.cpp:
1898 * libpp/count_array.h: remove unnecessary code
1900 2003-09-14 John Levon <levon@movementarian.org>
1902 * configure.in: back to 0.7cvs
1904 2003-09-14 John Levon <levon@movementarian.org>
1906 * pp/opannotate.cpp: gcc 2.91 workaround
1909 2003-09-14 John Levon <levon@movementarian.org>
1911 * configure.in: bump to 0.6.1
1913 2003-09-13 John Levon <levon@movementarian.org>
1915 * doc/oprofile.xml: document "incorrect source attribution"
1918 2003-09-12 Philippe Elie <phil.el@wanadoo.fr>
1920 * libpp/op_header.cpp: typo in comment
1922 2003-09-11 John Levon <levon@movementarian.org>
1924 * configure.in: check for -lintl, tweak -ldl check
1926 2003-09-11 John Levon <levon@movementarian.org>
1929 * daemon/oprofiled.c:
1930 * libdb/db_manage.c:
1931 * libdb/db_test.c: correct headers
1933 2003-09-11 John Levon <levon@movementarian.org>
1935 * op_lockfile.c: use correct headers
1937 2003-09-07 Philippe Elie <phil.el@wanadoo.fr>
1939 * utils/op_help.c: check than all events are distincts
1941 2003-09-06 Philippe Elie <phil.el@wanadoo.fr>
1944 * m4/precompiledheader.m4: new file to handle precompiled header
1947 * Makefile.am: handle precompiled header
1949 2003-09-05 John Levon <levon@movementarian.org>
1951 * opd_image.c: cleanup of ctx_switch_set_image()
1953 2003-09-05 Philippe Elie <phil.el@wanadoo.fr>
1955 * daemon/opd_image.c: After a context switch ensure we update correctly
1958 2003-09-04 Philippe Elie <phil.el@wanadoo.fr>
1961 * pp/opannotate.cpp: catch op_bfd exception and recover gracefully
1963 2003-09-04 Philippe Elie <phil.el@wanadoo.fr>
1965 * utils/opcontrol: tweak "signaling daemon " message as suggested
1968 2003-09-04 John Levon <levon@movementarian.org>
1970 * doc/oprofile.xml: mention --reset in
1973 2003-09-03 John Levon <levon@movementarian.org>
1975 * libop/op_events.c:
1976 * libpp/op_header.cpp:
1977 * dae/opd_sample_files.c:
1978 * daemon/opd_sample_files.c: propagate event
1979 error back up to caller
1981 * libdb/odb_hash.h: fix comment
1983 2003-09-02 John Levon <levon@movementarian.org>
1988 * daemon/opd_image.c: use abort() not exit()
1989 on "can't happen" errors
1991 2003-09-02 John Levon <levon@movementarian.org>
1994 * daemon/opd_image.c: fix error message
1996 2003-08-28 Philippe Elie <phil.el@wanadoo.fr>
1998 * events/alpha.ev6.events: fix duplicate um tag
2000 2003-08-28 John Levon <levon@movementarian.org>
2002 * events/i386.athlon.events: fix duplicate minimum tag
2004 * daemon/opd_image.c:
2005 * libop/op_events.c: check for duplicate tags
2007 2003-08-28 John Levon <levon@movementarian.org>
2010 2003-08-27 Will Cohen <wcohen@redhat.com>
2012 * utils/op_help.c (resolve_events): Typecast printf argument.
2014 2003-08-25 Philippe Elie <phil.el@wanadoo.fr>
2016 * pp/opannotate_options.cpp:
2017 * pp/opannotate_options.h:
2018 * pp/opannotate.cpp: enable multiple events
2020 * pp/opreport_options.cpp: remove #if 0 .... #endif
2022 2003-08-25 Philippe Elie <phil.el@wanadoo.fr>
2024 * libpp/count_array.cpp: avoid to access invalid memory
2026 2003-08-25 Philippe Elie <phil.el@wanadoo.fr>
2029 * m4/builtinexpect.m4:
2030 * m4/configmodule.m4:
2031 * module/Makefile.in:
2032 * module/ia64/Makefile.in:
2033 * module/x86/makefile.in: always use EXTRA_CFLAGS_MODULE not
2034 EXTRA_CFLAGS for module build flags
2036 2003-08-23 Philippe Elie <phil.el@wanadoo.fr>
2038 * libregex/op_regex.h:
2039 * libregex/op_regex.cpp: tidy
2041 * libutil++/op_bfd.cpp: remove obsolete comment
2043 2003-08-23 Philippe Elie <phil.el@wanadoo.fr>
2045 * libutil++/file_manip.h:
2046 * libutil++/file_manip.cpp: is_directory(dirname): return true if
2048 * pp/common_option.cpp: validate --image-path parameters
2050 2003-08-22 Philippe Elie <phil.el@wanadoo.fr>
2052 * events/i386.p4.events: clarify than 128BIT_MMX_UOP count only integer
2054 * pp/opreport.cpp: minor spacing change in output
2056 2003-08-22 John Levon <levon@movementarian.org>
2058 * daemon/oprofiled.c: report the kernel pointer size
2060 2003-08-22 John Levon <levon@movementarian.org>
2062 * daemon/oprofiled.c: read new /dev/oprofile/pointer_size
2063 in preference to kcore. kcore code will eventually go.
2065 2003-08-21 John Levon <levon@movementarian.org>
2067 * libutil++/op_bfd.cpp: update gcc2_compiled. comment
2070 2003-08-19 Philippe Elie <phil.el@wanadoo.fr>
2072 * pp/opreport.cpp: really merge when --merge=lib and image name are
2075 2003-08-16 Philippe Elie <phil.el@wanadoo.fr>
2077 * pp/opannotate.cpp: output threshold percent when necessary.
2079 2003-08-16 Philippe Elie <phil.el@wanadoo.fr>
2081 * libutil++/op_bfd.cpp: remove ELF-based symbol size code
2083 2003-08-15 William Cohen <wcohen@redhat.com>
2085 * doc/opcontrol.1.in:
2086 * doc/oprofile.1.in:
2087 * doc/oprofile.xml: Correct path to /root/.oprofile/daemonrc.
2089 2003-08-15 Thomas Spatzier <TSPAT@de.ibm.com>
2091 * daemon/opd_cookie.h: fix s390 syscall
2093 2003-08-14 Philippe Elie <phil.el@wanadoo.fr>
2095 * libutil++/string_manip.cpp: erase_to_last_of() is not a ltrim()
2097 2003-08-14 Philippe Elie <phil.el@wanadoo.fr>
2099 Dave Jones suggested this change.
2101 * module/x86/op_model_p4.c: remove superflous ';' at end of some macro
2103 2003-08-14 Philippe Elie <phil.el@wanadoo.fr>
2105 * libutil++/string_manip.h: remove erase_from_last_of()
2106 * libutil++/string_manip.cpp: and tidy erase_to_last_of(), rtrim() and
2109 2003-08-13 Philippe Elie <phil.el@wanadoo.fr>
2111 * libutil++/op_bfd.h:
2112 * libpp/profile_container.cpp: remove nil_symbol_index
2114 2003-08-13 John Levon <levon@movementarian.org>
2116 * libpp/profile_container.cpp:
2117 * libpp/profile_container.h: remove "base_vma" parameter
2118 to add_samples(), we can just re-grab it straight from
2121 2003-08-13 John Levon <levon@movementarian.org>
2123 * libpp/profile_container.cpp:
2124 * libpp/profile_container.h: remove unused "zero samples"
2125 optimization hint: it's always false
2127 * pp/opannotate.cpp:
2129 * pp/opreport.cpp: from above
2131 2003-08-12 John Levon <levon@movementarian.org>
2133 * pp/opreport.cpp: small trivialities
2135 2003-08-12 Philippe Elie <phil.el@wanadoo.fr>
2137 * libregex/stl.pat.in: minor fix/improvements
2138 * libregex/mangled-name.txt: add tests
2140 2003-08-12 Philippe Elie <phil.el@wanadoo.fr>
2142 * pp/opreport.cpp: fix thinko when --merge=lib
2144 2003-08-12 John Levon <levon@movementarian.org>
2146 * pp/opreport.cpp: s/count_groups_summary/summary_container/g
2148 2003-08-12 John Levon <levon@movementarian.org>
2150 * doc/oprofile.xml: document opreport's side-by-side a little
2153 2003-08-12 John Levon <levon@movementarian.org>
2155 * pp/opreport.cpp: s/group_summary/app_summary/, and
2156 a lot of other renamings to clarify the count groups
2159 2003-08-12 John Levon <levon@movementarian.org>
2161 * utils/op_help.c: add --unit-mask
2163 * utils/opcontrol: use --unit-mask
2165 2003-08-12 Philippe Elie <phil.el@wanadoo.fr>
2167 * pp/opreport.cpp: re write using count_array_t
2169 2003-08-11 John Levon <levon@movementarian.org>
2171 * libpp/count_array.cpp:
2172 * libpp/count_array.h: auto-resize the number of groups
2173 based on how we index.
2175 * libpp/profile_container.cpp: remove check
2177 * pp/opannotate.cpp: count_array.zero() not .empty()
2179 2003-08-11 John Levon <levon@movementarian.org>
2181 * libpp/filename_spec.h:
2182 * libpp/profile_spec.cpp:
2183 * libpp/profile_spec.h: add comments, allow comma lists
2184 for event, count, and unit mask
2186 * libutil++/comma_list.h: implement missing method
2188 2003-08-11 John Levon <levon@movementarian.org>
2190 * libpp/format_output.cpp:
2191 * libpp/format_output.h: add set_nr_groups(), remove
2194 * libpp/profile_container.cpp:
2195 * libpp/profile_container.h:
2196 * pp/opannotate.cpp:
2198 * pp/opreport.cpp: count_group not counter
2200 2003-08-11 John Levon <levon@movementarian.org>
2202 * libpp/Makefile.am:
2203 * libpp/counter_array.cpp:
2204 * libpp/counter_array.h: rename to ...
2206 * libpp/count_array.h:
2207 * libpp/count_array.cpp: ... this ...
2209 * libpp/format_output.cpp:
2210 * libpp/format_output.h:
2211 * libpp/profile.cpp:
2213 * libpp/profile_container.cpp:
2214 * libpp/profile_container.h:
2215 * libpp/sample_container.cpp:
2216 * libpp/sample_container.h:
2218 * pp/opannotate.cpp:
2220 * pp/opreport.cpp: ... and several renamings to starting
2221 change the notion from "counters" to the more general notion
2224 2003-08-10 Philippe Elie <phil.el@wanadoo.fr>
2226 Multiple counter support for pp tools.
2228 * libpp/counter_array.h:
2229 * libpp/counter_array.cpp: resurrected from pp-interface-branch, for
2230 now memory use is inefficient.
2231 * libpp/Makefile.am: add counter_array.cpp .h
2232 * libpp/format_out.h:
2233 * libpp/format_out.cpp: handle multiple counter + a general tidy
2234 * libpp/format_flags.h: remove ff_immutable_mask and some nasty
2235 requisite on flags value
2236 * libpp/profile_container.h:
2237 * libpp/profile_container.cpp:
2238 * libpp/sample_container.h:
2239 * libpp/sample_container.cpp:
2241 * libpp/symbol_container.cpp:
2242 * libpp/symbol_sort.cpp:
2243 * pp/opreport.cpp: handle multiple counter
2244 * pp/opannotate.cpp: partial handling of multiple counter
2246 * pp/opreport.cpp: minor bits
2248 2003-08-08 Will Cohen <wcohen@redhat.com>
2251 * daemon/Makefile.am: Correct library linking order.
2252 * daemon/opd_util.c: Add needed include files.
2254 2003-08-08 Philippe Elie <phil.el@wanadoo.fr>
2256 * utils/opcontrol: move_and_remove() do nothing if source doesn't exist
2258 2003-08-08 Philippe Elie <phil.el@wanadoo.fr>
2260 revert the previous patch
2262 * dae/opd_sample_files.h:
2263 * dae/opd_sample_files.c:
2264 * daemon/Makefile.am:
2265 * daemon/opd_sample_files.c: un-share opd_sample_files
2268 2003-08-08 John Levon <levon@movementarian.org>
2271 * dae/opd_sample_files.h:
2272 * dae/opd_sample_files.c:
2273 * daemon/Makefile.am:
2274 * daemon/opd_sample_files.c: share opd_sample_files
2277 2003-08-08 John Levon <levon@movementarian.org>
2280 * daemon/oprofiled.c:
2281 * daemon/opd_util.h:
2282 * daemon/opd_util.c: share opd_write_abi()
2284 2003-08-08 Philippe Elie <phil.el@wanadoo.fr>
2286 * libop/op_alloc_counter.c:
2287 * libop/op_events.h: minor doxygen fix
2289 2003-08-08 John Levon <levon@movementarian.org>
2293 * daemon/Makefile.am:
2294 * daemon/oprofiled.c:
2295 * daemon/opd_util.h:
2296 * daemon/opd_util.c: share some small bits of code
2299 2003-08-08 John Levon <levon@movementarian.org>
2302 * daemon/oprofiled.c: remove mypid, unused
2304 2003-08-08 John Levon <levon@movementarian.org>
2307 * dae/opd_printf.h: remove duplicate header
2308 and use daemon/opd_printf.h
2310 2003-08-08 John Levon <levon@movementarian.org>
2313 * dae/opd_sample_files.h:
2314 * dae/opd_sample_files.c:
2315 * daemon/opd_image.c:
2316 * daemon/opd_sample_files.h:
2317 * daemon/opd_sample_files.c: remove "create" bool
2318 from opd_mangle_filename(): only one callsite needs
2319 that functionality, open code the create instead
2322 * dae/opd_sample_files.h:
2323 * dae/opd_sample_files.c:
2324 * daemon/opd_sample_files.h:
2325 * daemon/opd_sample_files.c: return error from
2326 opd_open_sample_filename(). Do not fail when odb_open
2327 fails due to --reset races.
2330 * daemon/oprofiled.c: a little more verbosity.
2332 * libutil/op_file.h:
2333 * libutil/op_file.c: fix create_dir/path() comments,
2336 * utils/opcontrol: reduce chance of --reset races
2338 2003-08-06 Philippe Elie <phil.el@wanadoo.fr>
2340 * libpp/symbol_sort.h:
2341 * libpp/symbol_sort.cpp: add app_name sort order, force sort order
2342 for criteria unspecified by user.
2343 * pp/opreport_options.cpp: update --sort option help string.
2345 2003-08-04 John Levon <levon@movementarian.org>
2348 * doc/opannotate.1.in:
2349 * pp/opannotate.cpp:
2350 * pp/opannotate_options.h:
2351 * pp/opannotate_options.cpp: add --base-dirs
2353 2003-08-04 John Levon <levon@movementarian.org>
2356 * doc/opannotate.1.in:
2357 * pp/opannotate.cpp:
2358 * pp/opannotate_options.h:
2359 * pp/opannotate_options.cpp: add --search-dirs
2361 2003-08-04 John Levon <levon@movementarian.org>
2364 * doc/opannotate.1.in:
2365 * pp/opannotate.cpp:
2366 * pp/opannotate_options.h:
2367 * pp/opannotate_options.cpp: remove --source-dir and --base-dir,
2368 they're confusing and not useful in the current form
2370 2003-08-03 John Levon <levon@movementarian.org>
2372 * utils/opcontrol: avoid using ps, it's very slow with kallsyms
2374 2003-08-03 Philippe Elie <phil.el@wanadoo.fr>
2376 * libutil++/op_bfd.cpp: c++ static function doesn't get a mangled name
2377 in debug info (see gcc #11774). Try to recover through a not
2378 completely reliable mechanism but better than ignoring the problem
2380 2003-08-02 Philippe Elie <phil.el@wanadoo.fr>
2382 * pp/opreport.cpp: minor: more consistency about function ordering
2384 2003-08-02 Philippe Elie <phil.el@wanadoo.fr>
2387 * libpp/profile.cpp: profile::sample_count() new to allow raw access
2389 * pp/opreport.cpp: use above function to implement opreport (w/o -l
2390 or --details options). opreport is roughly twice faster.
2392 2003-08-02 Philippe Elie <phil.el@wanadoo.fr>
2394 * pp/opreport.cpp: clarify multiple counter support
2396 2003-08-01 John Levon <levon@movementarian.org>
2398 * libregex/stl.pat.in: fix _List_iterator regex
2401 2003-07-31 Philippe Elie <phil.el@wanadoo.fr>
2403 * pp/opannotate.cpp: output cpu type and cpu speed.
2405 2003-07-30 John Levon <levon@movementarian.org>
2407 * libpp/partition_files.cpp: remove some apparently
2410 2003-07-30 John Levon <levon@movementarian.org>
2412 * events/i386.p4.unit_masks: make flame_uops value
2413 mandatory, Yuan.Lu@rrze.uni-erlangen.de does not
2414 see any events without setting the unit mask
2416 2003-07-30 John Levon <levon@movementarian.org>
2418 * libutil++/op_bfd.h:
2419 * libutil++/op_bfd.cpp: bfd_openr() keeps a copy of
2420 the passed in char * around, sickenly enough. Ensure lifetimes
2421 will always be correct by adding a filename data member to
2424 2003-07-29 Philippe Elie <phil.el@wanadoo.fr>
2426 * libpp/op_header.h:
2427 * libpp/op_header.cpp: separate output of cpu_type, cpu_speed
2430 * libpp/partition_files.h:
2431 * libpp/partition_files.cpp: unmergeable_profile() split profile
2434 * pp/opreport_options.h:
2435 * pp/opreport_options.cpp:
2436 * pp/opreport.cpp: initial multiple counter output, multiple counter
2437 with -l is not yet available.
2439 2003-07-29 John Levon <levon@movementarian.org>
2441 * doc/opcontrol.1.in: update for --event
2443 2003-07-29 John Levon <levon@movementarian.org>
2446 * doc/srcdoc/Doxyfile.in:
2447 * oprof_report/: remove badly out of date oprof_report
2449 2003-07-28 John Levon <levon@movementarian.org>
2451 * configure.in: bump to 0.7cvs
2453 2003-07-26 John Levon <levon@movementarian.org>
2455 * configure.in: bump to 0.6
2457 2003-07-26 John Levon <levon@movementarian.org>
2459 * utils/opcontrol: fix call of op_help
2461 2003-07-26 John Levon <levon@movementarian.org>
2463 * gui/oprof_start.cpp: replace folder icons with clearer
2466 2003-07-26 John Levon <levon@movementarian.org>
2468 * gui/oprof_start.cpp: actually select and show the default
2471 2003-07-26 John Levon <levon@movementarian.org>
2473 * gui/oprof_start.cpp: small string tweak, show "conflicts"
2474 message consistently
2476 2003-07-26 John Levon <levon@movementarian.org>
2478 * gui/oprof_start.cpp: don't use invalidated iterator
2480 2003-07-26 Philippe Elie <phil.el@wanadoo.fr>
2482 * gui/oprof_start.cpp: fix for 2.91.66
2484 * libpp/profile.cpp: typo invoking an undefined behavior revealed
2485 by gcc stl debug mode
2486 * libpp/profile.h: ensure we provide the right typedef to std::
2487 for profile::const_iterator revealed by gcc stl debug mode at compile
2488 time. The implementation is a bit tricky to work with old compiler
2489 * libpp/symbol_sort.cpp: compare must define a weak ordered relation
2490 order, revealed by gcc stl debug mode.
2492 2003-07-26 Philippe Elie <phil.el@wanadoo.fr>
2494 * gui/ui/oprof_start.base.ui:
2495 * gui/oprof_start.h:
2496 * gui/oprof_start.cpp: change UI to use the new counter allocation
2499 * libop/op_alloc_counter.h:
2500 * libop/op_alloc_counter.c:
2501 * utils/op_help.c: minor const-ness api change
2503 2003-07-25 Will Cohen <wcohen@redhat.com>
2505 * utils/opcontrol: Restrict the search path.
2507 2003-07-25 Philippe Elie <phil.el@wanadoo.fr>
2509 * libop/op_alloc_counter.c: use tabulation
2511 * libop/op_events.c:
2512 * libop/op_events.h: find_event_by_name() new
2513 * utils/op_help.c: use find_event_by_name()
2515 2003-07-24 Philippe Elie <phil.el@wanadoo.fr>
2517 * utils/op_help.c: make valgrind happy + minor cleanup
2519 2003-07-24 Philippe Elie <phil.el@wanadoo.fr>
2521 * libop/op_alloc_counter.h:
2522 * libop/op_alloc_counter.c: new file providing mapping from an event
2523 list to hardware counter number
2524 * utils/op_help.c: use the above api
2526 2003-07-24 Philippe Elie <phil.el@wanadoo.fr>
2528 * utils/op_help.c: fix hardware counter allocation order
2530 2003-07-23 John Levon <levon@movementarian.org>
2532 * doc/oprofile.xml: comment out --base-dir mention
2534 2003-07-23 John Levon <levon@movementarian.org>
2536 * doc/oprofile.xml: remove mention of oprof_start_event
2538 2003-07-23 John Levon <levon@movementarian.org>
2541 * daemon/oprofiled.c: don't uselessly try to unlink
2542 non-existent lockfile
2544 * daemon/opd_image.c:
2545 * daemon/oprofiled.c: clean up buffer read messages
2547 2003-07-23 John Levon <levon@movementarian.org>
2549 * utils/opcontrol: error out at --setup time if vmlinux is not
2550 valid. Cleanup the error message if so
2552 * daemon/opd_kernel.c: fix potential null deref
2554 2003-07-21 John Levon <levon@movementarian.org>
2556 * gui/oprof_start.cpp: select "No event" when switching counter
2559 2003-07-21 John Levon <levon@movementarian.org>
2561 * gui/oprof_start.cpp: fix default event choosing when
2564 2003-07-21 Philippe Elie <phil.el@wanadoo.fr>
2566 * gui/oprof_start.cpp: thinko in has_unique_event(), don't warn for
2567 no counter with CPU_TIMER_INT
2569 2003-07-21 Philippe Elie <phil.el@wanadoo.fr>
2571 * gui/oprof_start.cpp: allow to de-select a counter
2573 2003-07-21 John Levon <levon@movementarian.org>
2575 * gui/oprof_start.cpp:
2576 * gui/oprof_start_util.h:
2577 * gui/oprof_start_util.cpp: remove uptime pretty printing.
2578 It's broken for 2.5 and ugly code
2580 2003-07-21 John Levon <levon@movementarian.org>
2582 * gui/oprof_start.h:
2583 * gui/oprof_start.cpp: use a default event if no
2586 2003-07-20 Philippe Elie <phil.el@wanadoo.fr>
2588 * m4/compileroption.m4: fix for autoconf 2.13
2590 2003-07-19 Philippe Elie <phil.el@wanadoo.fr>
2592 * gui/oprof_start.cpp:
2593 * libpp/format_output.cpp:
2594 * libpp/format_output.h:
2595 * pp/opannotate.cpp:
2596 * pp/opreport_options.cpp: minor tidy
2598 2003-07-19 Philippe Elie <phil.el@wanadoo.fr>
2600 * gui/oprof_start.cpp: RTC mode was not working
2602 2003-07-16 Philippe Elie <phil.el@wanadoo.fr>
2604 * gui/oprof_start_config.h:
2605 * gui/oprof_start_config.cpp: remove dead code, fix kernel_only read
2607 2003-07-16 John Levon <levon@movementarian.org>
2609 * utils/opcontrol: fix typo that was partly breaking
2612 2003-07-16 John Levon <levon@movementarian.org>
2614 * gui/oprof_start.h:
2615 * gui/oprof_start.cpp: fixes for CPU_TIMER_INT
2617 2003-07-16 John Levon <levon@movementarian.org>
2619 * gui/ui/oprof_start.base.ui: remove add/remove event buttons,
2620 fix resize weirdness
2622 * gui/oprof_start.h:
2623 * gui/oprof_start.cpp: remove add/remove event buttons, allow
2624 short-form event descriptions
2626 2003-07-15 Philippe Elie <phil.el@wanadoo.fr>
2628 * gui/persistent_config.h: remove
2629 * gui/oprof_start.h:
2630 * gui/oprof_start.cpp: debug, remove dead code, works better now, see
2633 2003-07-15 Philippe Elie <phil.el@wanadoo.fr>
2635 * gui/oprof_start.h:
2636 * gui/oprof_start.cpp:
2637 * gui/oprof_start_util.cpp: re-enable partially the gui, sorta of
2638 working if cautioulsy used
2640 2003-07-15 John Levon <levon@movementarian.org>
2642 * gui/ui/oprof_start_base.ui:
2643 * gui/oprof_start.h:
2644 * gui/oprof_start.cpp: some steps towards fixing gui for
2645 the new events stuff
2647 2003-07-15 John Levon <levon@movementarian.org>
2649 * libop/op_events.h:
2650 * libop/op_events.c: add op_default_event
2652 * utils/op_help.c: move default event stuff to libop,
2655 2003-07-15 John Levon <levon@movementarian.org>
2657 * utils/op_help.c: fix default RTC event to be
2660 2003-07-15 Philippe Elie <phil.el@wanadoo.fr>
2663 * events/rtc..events: use RTC_INTERRUPTS as event name
2665 2003-07-15 Philippe Elie <phil.el@wanadoo.fr>
2667 * daemon/opd_sample_files.c: C89 compile fix
2669 2003-07-15 John Levon <levon@movementarian.org>
2672 * utils/op_help.c: move the default event strings into
2673 op_help.c instead of in opcontrol
2675 2003-07-15 John Levon <levon@movementarian.org>
2677 * doc/oprofile.xml: document event name for timer interrupt
2679 * daemon/opd_sample_files.c: handle CPU_TIMER_INT
2681 * utils/op_help.c: fix a core dump
2683 2003-07-13 Philippe Elie <phil.el@wanadoo.fr>
2685 * daemon/opd_image.c: verbprintf() when starting reading buffer not
2688 2003-07-12 Philippe Elie <phil.el@wanadoo.fr>
2690 * from BRANCH_CALLGRAPH:
2691 * daemon/opd_image.c: printf -> verbprintf, fix comment
2692 * daemon/opd_kernel.c: kernel/module samples statistics was wrong
2694 * daemon/opd_image.c:
2695 * daemon/opd_image.h:
2696 * daemon/opd_kernel.c:
2697 * daemon/opd_kernel.h: import cleanup from branch, mainly don't handle
2698 samples in opd_kernel.c but return (creating if necessary) an
2699 opd_image struct where the sample must go and let opd_image caller
2700 in opd_image.c do sample insertion
2702 2003-07-11 Philippe Elie <phil.el@wanadoo.fr>
2704 * utils/opcontrol: shows basename $0 with --version
2705 * libpp/op_header.cpp: formating
2707 2003-07-11 Philippe Elie <phil.el@wanadoo.fr>
2709 * utils/opcontrol: don't try to save current if the directory doesn't
2712 2003-07-11 Philippe Elie <phil.el@wanadoo.fr>
2714 * libutil++/stream_util.h:
2715 * libutil++/stream_util.cpp: new file, io_state() save object
2716 * libutil++/Makefile.am: handle new file
2717 * libutil++/op_bfd.cpp:
2719 * libpp/op_header.cpp: use io_state
2721 2003-07-09 Philippe Elie <phil.el@wanadoo.fr>
2723 * module/x86/op_model_p4.c: reflect intel documentation fix.
2725 2003-07-08 Will Cohen <wcohen@redhat.com>
2727 * daemon/opd_kernel.c: Handle /proc/modules format.
2729 2003-07-08 Will Cohen <wcohen@redhat.com>
2732 * configure.in: --enable-gcov option and documentation.
2734 2003-07-08 Will Cohen <wcohen@redhat.com>
2736 * utils/opcontrol: Correct P4 default event.
2738 2003-06-03 John Levon <levon@movementarian.org>
2740 * from BRANCH_CALLGRAPH
2742 * libdb/db_manage.c:
2743 * libdb/db_insert.c: namespace safety
2745 * libpp/partition_files.cpp:
2746 * libpp/profile.cpp: spacing, add a FIXME
2748 2003-07-07 Philippe Elie <phil.el@wanadoo.fr>
2750 * pp/opannotate.cpp:
2752 * pp/opreport.cpp: cleanup walking through multimap with a
2753 pair<iterator, iterator>
2755 2003-07-05 Philippe Elie <phil.el@wanadoo.fr>
2757 * daemon/opd_image.c:
2758 * libdb/db_insert.c: 64 bits arch compile fix, thanks to Falk Hueffner
2761 2003-07-02 Philippe Elie <phil.el@wanadoo.fr>
2763 * pp/opreport.cpp: honor options::show_header
2765 2003-06-30 Graydon Hoare <graydon@redhat.com>
2767 * libpp/op_header.cpp: Handle printing multiple bitmask values.
2769 2003-06-19 John Levon <levon@movementarian.org>
2771 * doc/Makefile.am: fix make distcheck
2773 2003-06-18 John Levon <levon@movementarian.org>
2775 * pp/opannotate_options.c: hide the unhandled
2778 2003-06-18 John Levon <levon@movementarian.org>
2780 * pp/Makefile.am: don't build opdiff
2782 2003-06-17 Will Cohen <wcohen@redhat.com>
2784 * daemon/opd_cookie.h: Add s390 syscall value.
2786 2003-06-17 John Levon <levon@movementarian.org>
2788 * utils/opcontrol: don't accept "-r" - it's too easy to typo
2790 2003-06-17 John Levon <levon@movementarian.org>
2792 * doc/srcdoc/Doxyfile: removed
2794 * doc/srcdoc/Doxyfile.in:
2795 * configure.in: generate doxygen version nr. automatically
2797 2003-06-17 Philippe Elie <phil.el@wanadoo.fr>
2799 * libdb/db_insert.cpp: missing initialization of error message on
2802 2003-06-17 John Levon <levon@movementarian.org>
2804 * utils/opcontrol: accept some short forms for common
2807 2003-06-17 John Levon <levon@movementarian.org>
2809 * utils/opcontrol: accept --foo blah as well as
2812 2003-06-16 John Levon <levon@movementarian.org>
2814 * utils/opcontrol: "opcontrol" will show usage
2815 instead of doing nothing
2817 2003-06-16 Will Cohen <wcohen@nc.rr.com>
2820 * libabi/op_import.cpp: Add required include for cassert.
2822 2003-06-16 John Levon <levon@movementarian.org>
2824 * events/x86-64.hammer.unit_masks: remove some
2827 2003-06-15 John Levon <levon@movementarian.org>
2829 * README: fix autogen.sh line
2831 2003-06-15 John Levon <levon@movementarian.org>
2833 * daemon/opd_image.c: 64 bit fixes
2835 2003-06-15 John Levon <levon@movementarian.org>
2837 * utils/op_help.c: c89 fix
2839 2003-06-15 John Levon <levon@movementarian.org>
2841 * daemon/opd_image.c: c89 fix
2843 2003-06-15 John Levon <levon@movementarian.org>
2845 * doc/oprofile.xml: document --event
2848 * utils/op_help.c: allow unit mask, kernel, user to be
2849 optional. Verify not too many events are passed.
2851 2003-06-15 John Levon <levon@movementarian.org>
2853 * libop/op_cpu_type.c: fix nr_counters cpu type check
2855 * utils/op_help: implement --check_events, event validation
2856 and counter allocation
2858 * utils/opcontrol: use the above, implement --event=default
2860 2003-06-14 John Levon <levon@movementarian.org>
2862 * daemon/opd_image.c: fix a stupid error in my previous TGID patch
2864 2003-06-12 Graydon Hoare <graydon@redhat.com>
2866 * libop/op_events.c (op_check_events): Check bitmasks as well as
2867 exclusive values, for unit masks.
2869 2003-06-12 John Levon <levon@movementarian.org>
2871 * daemon/opd_image.c: we were not handling a truncated
2874 2003-06-12 John Levon <levon@movementarian.org>
2876 * libutil++/unique_storage.h: missing typename
2878 2003-06-11 Philippe Elie <phil.el@wanadoo.fr>
2880 * pp/opannotate_options.cpp: typo in option name
2882 2003-06-11 Philippe Elie <phil.el@wanadoo.fr>
2884 * libutil++/op_bfd.cpp: boring_symbol() new to get a better choice
2885 when eliminating symbol at identical vma
2887 2003-06-11 Philippe Elie <phil.el@wanadoo.fr>
2889 * utils/opcontrol: fix rtc option checking, bug added after 0.5.3,
2892 2003-06-11 Philippe Elie <phil.el@wanadoo.fr>
2894 * libregex/op_regex.cpp:
2895 * libpp/profile.cpp: compile fix, tree was broken by my previous patch
2897 2003-06-11 Jason Yeh <jason.yeh@amd.com>
2899 * events/i386.athlon.events: add CPU_CLK_UNHALTED
2901 * utils/opcontrol: use the above by default
2903 * events/x86-64.hammer.events:
2904 * events/x86-64.hammer.unit_masks: various fixes
2906 2003-06-11 Philippe Elie <phil.el@wanadoo.fr>
2908 * libpp/op_header.cpp:
2909 * libpp/profile.cpp:
2910 * libpp/profile_spec.cpp:
2911 * libpp/symbol_sort.cpp:
2912 * libregex/op_regex.cpp:
2913 * libutil++/op_bfd.cpp: use exception rather exit(EXIT_FAILURE) in
2916 2003-06-11 John Levon <levon@movementarian.org>
2918 * daemon/opd_image.c: future-proof the code handlers
2920 2003-06-11 Philippe Elie <phil.el@wanadoo.fr>
2922 * pp/opannotate.cpp: output_asm() avoid output when the set of selected
2923 symbols doesn't contain any samples
2925 2003-06-11 Philippe Elie <phil.el@wanadoo.fr>
2927 * libutil++/unique_storage.h: we don't need to check if key is present
2928 before trying to insert it
2930 2003-06-10 Philippe Elie <phil.el@wanadoo.fr>
2932 * libpp/name_storage.h: minor tidy
2933 * libutil++/unique_storage.h: small efficiency improvement
2935 2003-06-09 John Levon <levon@movementarian.org>
2938 * libutil/Makefile.am: fix make distcheck
2940 2003-06-09 John Levon <levon@movementarian.org>
2942 * libpp/opp_symbol.h: rename to ...
2944 * libpp/symbol.h: ... this
2946 * libpp/Makefile.am:
2947 * libpp/format_output.h:
2948 * libpp/format_output.cpp:
2949 * libpp/profile_container.h:
2950 * libpp/profile_container.cpp:
2951 * libpp/sample_container.h:
2952 * libpp/sample_container.cpp:
2953 * libpp/symbol_functors.h:
2954 * libpp/symbol_sort.cpp: fix up from above and some header
2957 2003-06-09 John Levon <levon@movementarian.org>
2959 * libpp/profile.h: std::pair not pair
2961 2003-06-08 Philippe Elie <phil.el@wanadoo.fr>
2963 * libpp/profile.cpp: don't underflow start offset when the vma range
2965 * pp/opreport.cpp: use samples_range() not samples_range(0, ~0)
2967 2003-06-08 Philippe Elie <phil.el@wanadoo.fr>
2970 * libpp/profile.cpp: replace accumulate_samples() API by an iterator
2972 * libpp/profile_container.h:
2973 * libpp/profilecontainer.cpp:
2974 * pp/opreport.cpp: use new API
2976 2003-06-08 Philippe Elie <phil.el@wanadoo.fr>
2978 * include/sstream: replace old version by the once shipped with
2979 2.95.3, seekg() in the old was not working
2981 2003-06-08 John Levon <levon@movementarian.org>
2983 * libpp/name_storage.h: don't need to define the tag structs
2985 * libutil++/unique_storage.h: fix the comments,
2988 2003-06-08 Philippe Elie <phil.el@wanadoo.fr>
2990 * libpp/profile_container.cpp:
2991 * libutil++/string_manip.cpp: gcc 2.91.66 fix
2993 2003-06-08 John Levon <levon@movementarian.org>
2995 * libpp/name_storage.h:
2996 * libpp/name_storage.cpp:
2997 * libpp/opp_symbol.h:
2998 * libpp/profile_container.cpp:
2999 * libpp/symbol_functors.cpp:
3000 * libutil++/unique_storage.h: don't derive from I()
3001 at all for id_value, it's not needed. Hide .id and
3002 provide operator<(), operator==(), operator!=(), and
3005 2003-06-08 John Levon <levon@movementarian.org>
3007 * libutil++/unique_storage.h: make some of
3008 id_value only visible to unique_storage.
3010 2003-06-08 John Levon <levon@movementarian.org>
3012 * libpp/name_storage.h:
3013 * libutil++/unique_storage.h: move the ID class
3014 into unique_storage, and make it derive from the
3015 template parameter, to give simpler type safe support
3017 2003-06-08 John Levon <levon@movementarian.org>
3019 * libutil++/Makefile.am:
3020 * libutil++/unique_storage.h: add new template for
3021 unique storage of values
3023 * libpp/name_storage.h:
3024 * libpp/name_storage.cpp: use it
3026 2003-06-07 Philippe Elie <phil.el@wanadoo.fr>
3028 * libpp/profile_container.cpp: fix order of file output with opannotate
3029 --source to be consistent with other tools
3031 2003-06-07 John Levon <levon@movementarian.org>
3033 * libpp/profile_container.cpp: fix operator<
3035 2003-06-07 Philippe Elie <phil.el@wanadoo.fr>
3038 * libpp/profile.cpp: change API to walk through vma with non zero
3039 samples count rather looking for all vma. This is not very clean, an
3040 iterator interface will be perhaps a better idea. Measures shows it's
3041 to do it so for now I apply it.
3042 * libpp/profile_container.cpp: update according to above change.
3044 2003-06-07 Philippe Elie <phil.el@wanadoo.fr>
3046 * libpp/profile_container.h:
3047 * libpp/profile_container.cpp:
3048 * libpp/symbol_container.h:
3049 * libpp/symbol_container.cpp: remove dead api
3050 find_symbol(string symbol_name)
3052 2003-06-07 Philippe Elie <phil.el@wanadoo.fr>
3054 * libpp/name_storage.h:
3055 * libpp/name_storage.cpp:
3056 * libpp/profile_container.cpp:
3057 * libpp/profile_container.h:
3058 * libpp/sample_container.h:
3059 * libpp/sample_container.cpp:
3060 * libpp/symbol_container.h:
3061 * libpp/symbol_container.cpp:
3062 * pp/opannotate.cpp: replace some use of string filename by
3065 2003-06-05 John Levon <levon@movementarian.org>
3067 * daemon/Makefile.am:
3068 * daemon/opd_kernel.c:
3069 * daemon/p_module.h: remove p_module.h, unused
3071 * daemon/opd_cookie.h: use __NR_lookup_dcookie and
3072 use our definitions only if it's not defined
3074 * daemon/opd_image.c:
3075 * daemon/opd_kernel.c:
3076 * daemon/opd_sample_files.c:
3077 * daemon/oprofiled.c: pedantry
3079 * libabi/op_import.cpp:
3080 * libabi/abi_test.cpp: fix build from odb change
3082 * libop/op_config.h: move NR_CPUS to ...
3084 * libop/op_config_24.h: ... here
3086 * libop/op_hw_config.h: remove unused OP_COUNT_MAX
3088 2003-06-03 Philippe Elie <phil.el@wanadoo.fr>
3090 * libpp/op_header.cpp:
3091 * libpp/profile.cpp:
3093 * dae/opd_sample_files.c:
3094 * daemon/opd_image.c:
3095 * daemon/opd_sample_files.c:
3097 * libdb/db_insert.c:
3098 * libdb/db_manage.c:
3099 * libdb/db_test.c: error message is now a field of a samples_odb_t
3101 2003-06-03 John Levon <levon@movementarian.org>
3103 * libutil++/child_reader.cpp:
3106 * libabi/abi_test.cpp:
3108 * libabi/op_abi.cpp:
3109 * libabi/op_import.cpp: pedantry, remove unused code
3111 2003-06-01 Philippe Elie <phil.el@wanadoo.fr>
3114 * libop/oprofiled.c:
3115 * libop/op_cpu_type.c:
3116 * module/oprofile.c:
3117 * module/oprofile.h:
3118 * pp/opdiff.cpp: more static data and function
3120 2003-05-31 Philippe Elie <phil.el@wanadoo.fr>
3122 * gui/oprof_start_util.h:
3125 * libpp/format_output.h:
3126 * libpp/locate_image.h:
3127 * libpp/name_storage.h:
3128 * libpp/partition_files.h:
3130 * libutil++/op_bfd.h:
3131 * libutil++/op_bfd.cpp: improve doxygen comment
3133 2003-05-31 Philippe Elie <phil.el@wanadoo.fr>
3135 * configure.in: use AC_DEFINE_UNQUOTED() to define version string
3136 in config.h not in version-1.h
3137 * Makefile.am: distclean-local: is no longer used
3138 * version-1.h.in: delete
3139 * libutil/op_version.h:
3140 * libutil/op_version.c: new file: package version output
3141 * libutil/Makefile.am:
3143 * daemon/oprofiled.c:
3144 * gui/oprof_start.h:
3145 * libop/op_events.c:
3146 * libopt++/popt_options.cpp:
3147 * libregex/demangle_sybol.cpp:
3148 * module/oprofile.c:
3149 * utils/op_help.c: tweak # include according
3151 2003-05-30 Dan Zink <Dan.Zink@hp.com>
3153 * module/x86/op_apic.c: really disable the apic if it was disabled
3155 2003-05-29 John Levon <levon@movementarian.org>
3157 * utils/opcontrol: don't allow --rtc-value if not RTC mode
3159 2003-05-27 John Levon <levon@movementarian.org>
3161 * libutil++/string_manip.h: add <stdexcept>
3163 * pp/opannotate.cpp: use '\n' not endl
3165 * pp/opreport.cpp: untie cout
3167 2003-05-29 Philippe Elie <phil.el@wanadoo.fr>
3169 * merge with pp-interface-branch: following ChangeLog was unmerged
3172 2003-05-27 John Levon <levon@movementarian.org>
3174 * configure.in: oprofile 0.5.3 is released, back to
3177 2003-05-26 John Levon <levon@movementarian.org>
3179 * doc/oprofile.xml: update docs for --no-vmlinux
3181 2003-05-26 John Levon <levon@movementarian.org>
3183 * libop/op_interface_25.h:
3184 * daemon/opd_image.c: handle tgid for future
3185 compatibility, fix compile on older gccs
3187 2003-05-26 John Levon <levon@movementarian.org>
3189 * libop/op_interface_25.h: add LAST_CODE
3191 * daemon/opd_stats.h:
3192 * daemon/opd_stats.c: count short reads of
3193 buffer and unplaceable samples
3195 * daemon/opd_image.c: rewrite buffer parsing
3196 code, handle window where we can't place a
3199 2003-05-26 John Levon <levon@movementarian.org>
3201 * libutil++/utility.h: fix typo
3203 * utils/opcontrol: fix typo
3205 2003-05-16 John Levon <levon@movementarian.org>
3207 * pp/counter_profile.cpp: remove bogus cpu speed
3210 2003-05-09 John Levon <levon@movementarian.org>
3213 * m4/compileroption.m4: add a generalised compiler option
3216 * configure.in: use it, add -fno-common
3218 2003-05-09 John Levon <levon@movementarian.org>
3220 * daemon/oprofiled.c:
3221 * dae/oprofiled.c: remove duplicate declaration found
3224 2003-05-04 John Levon <levon@movementarian.org>
3226 * doc/oprofile.xml: fix validation errors from xmllint --valid
3229 2003-05-28 Philippe Elie <phil.el@wanadoo.fr>
3231 * libpp/profile_spec.cpp: make image:/path/to:image working
3233 2003-05-28 Philippe Elie <phil.el@wanadoo.fr>
3235 * libutil++/string_manip.h:
3236 * libutil++/string_manip.cpp: specialize
3237 lexical_cast_no_ws<unsigned int> to accept hexadecimal input
3239 * pp/common_option.cpp: missing << endl
3241 2003-05-27 Philippe Elie <phil.el@wanadoo.fr>
3243 * doc/oprofile.xml: update example in "Interpreting profiling results"
3246 2003-05-26 John Levon <levon@movementarian.org>
3248 * doc/oprofile.xml: add new pp tools options
3250 2003-05-26 John Levon <levon@movementarian.org>
3252 * doc/opreport.1.in:
3254 * doc/opannotate.1.in:
3255 * doc/op_help.1.in: complete
3257 2003-05-26 John Levon <levon@movementarian.org>
3261 * doc/oprofile.1.in:
3263 * doc/opcontrol.1.in:
3264 * doc/opreport.1.in:
3265 * doc/opannotate.1.in:
3266 * doc/opgprof.1.in: re-organise and add manpages
3268 2003-05-26 John Levon <levon@movementarian.org>
3270 * doc/oprofile.xml: start to document the pp interface
3272 2003-05-26 Philippe Elie <phil.el@wanadoo.fr>
3274 * pp/opreport.cpp: remove automatic switch to --symbols mode
3276 2003-05-26 Philippe Elie <phil.el@wanadoo.fr>
3278 * libpp/symbol_sort.h:
3279 * pp/opannotate_options.cpp:
3280 * pp/opgprof_options.cpp:
3281 * pp/opreport_options.cpp: handle meaningless options combinations
3283 2003-05-26 Philippe Elie <phil.el@wanadoo.fr>
3285 * pp/opgprof_options.cpp: no need to use unmergeable_profile here
3287 2003-05-25 Philippe Elie <phil.el@wanadoo.fr>
3289 * events/i386.piii.unit_masks: tweak comment, change default unit mask
3290 for kni instruction to 0 and type to exclusive
3292 2003-05-25 Philippe Elie <phil.el@wanadoo.fr>
3294 * libpp/profile_container.cpp: thinko
3295 * pp/opreport.cpp: typo
3297 2003-05-25 John Levon <levon@movementarian.org>
3299 * libopt++/popt_options.h:
3300 * libopt++/popt_options.cpp: obvious cleanup,
3301 remove some dead code
3303 2003-05-25 Philippe Elie <phil.el@wanadoo.fr>
3305 * libpp/format_flags: cf_image_name new column_flags flag
3306 * libpp/profile_container.cpp: use above flag. Don't compare app_name
3308 * pp/opreport.cpp: hide image_name when un-necessary
3310 2003-05-24 Philippe Elie <phil.el@wanadoo.fr>
3312 * doc/srcdoc/Doxyfile:
3314 * libpp/profile_container.h:
3315 * libutil++/utility.h: remove gcc 2.91 noncopyable as empty base class
3318 2003-05-23 Philippe Elie <phil.el@wanadoo.fr>
3320 * configure.in: do early check of libiberty
3322 * libpp/symbol_sort.cpp: 2.91 compile fix
3324 2003-05-22 Philippe Elie <phil.el@wanadoo.fr>
3326 * libutil++/child_reader.h: minor #include fix
3328 2003-05-22 Philippe Elie <phil.el@wanadoo.fr>
3330 * libpp/name_storage.cpp: debug_name_storage::name()
3331 return an empty string when for zero id to avoid exception
3333 2003-05-21 Philippe Elie <phil.el@wanadoo.fr>
3335 * libpp/profile.cpp:
3336 * libpp/op_header.h:
3337 * libpp/op_header.cpp: when sample file differ output the sample
3340 * pp/opannotate.cpp: remove spurious output
3343 * configure.in: handle our own OP_CFLAGS, OP_CXXFLAGS to let user
3344 free to use make CFLAGS=
3346 2003-05-20 Philippe Elie <phil.el@wanadoo.fr>
3348 * libpp/profile_spec.h:
3349 * libpp/profile_spec.cpp: remove lib_image_exclude, use image_exclude
3350 instead. match() Handle image exclusion.
3352 * libregex/stl.pat.in: FIXME
3354 * libutil++/string_manip.h: compile fix
3356 2003-05-19 John Levon <levon@movementarian.org>
3358 * libutil++/comma_list.h:
3359 * libpp/filename_spec.cpp:
3360 * libutil++/string_manip.h:
3361 * libutil++/generic_spec.h: rename strict_convert<>
3362 to lexical_cast_no_ws<>
3364 2003-05-19 John Levon <levon@movementarian.org>
3366 * libutil++/generic_spec.h: move strict_convert<> to...
3368 * libutil++/string_manip.h: ...here
3370 2003-05-19 John Levon <levon@movementarian.org>
3372 * libutil++/generic_spec.h: comma_list isn't a friend
3375 * libutil++/comma_list.h: use generic_spec<>::match()
3378 2003-05-19 John Levon <levon@movementarian.org>
3380 * libpp/name_storage.h: s/name_map/stored_names/, it's not
3383 2003-05-19 Philippe Elie <phil.el@wanadoo.fr>
3385 * libregex/mangled-name.txt:
3386 * libregex/stl.pat.in: partial handling of _Identity<> and
3387 _Select1st<>, pattern fail if type are too complex
3389 2003-05-19 Philippe Elie <phil.el@wanadoo.fr>
3391 * libpp/format_output.cpp: small cleanup
3393 * libpp/name_storage.h:
3394 * libpp/name_storage.cpp: ensure type safety by providing distinct
3395 type identifier for each name_storage based container
3397 * libpp/profile_container.cpp:
3398 * libpp/sample_container.cpp:
3399 * libpp/symbol_functors.cpp:
3400 * libpp/symbol_sort.cpp:
3401 * libpp/opp_symbol.h: use the name identifier api
3403 * libpp/op_header.cpp:
3404 * libpp/partition_files.cpp: use a set<string> not a name_storage
3406 * libpp/format_output.cpp: small cleanup
3409 2003-05-18 Philippe Elie <phil.el@wanadoo.fr>
3411 * libpp/partition_files.cpp: merge partition entry when necessary
3412 fixing a corner case when a binary can be a dependent or a primary
3413 image and was not merged
3415 2003-05-18 Philippe Elie <phil.el@wanadoo.fr>
3417 * pp/opreport_options.cpp:
3418 * pp/opannotate_options.cpp: remove conflicting options shortcut
3420 2003-05-18 Philippe Elie <phil.el@wanadoo.fr>
3422 * libregex/stl.pat.in: add list<T>::{const_}+iterator
3424 2003-05-17 Philippe Elie <phil.el@wanadoo.fr>
3426 * libpp/name_storage.cpp: basename() return an empty string for nil id
3428 2003-05-17 Philippe Elie <phil.el@wanadoo.fr>
3430 * libutil++/op_bfd.cpp: get_linenr() init linenr to zero
3432 * libpp/name_storage.cpp: don't use id zero
3433 * libpp/opp_symbol.h: now we use id and not string we must provide
3434 default ctor to initialize the id
3435 * libpp/profile_container.cpp: init debug info entry only if
3436 get_linenr() succeed
3438 2003-05-17 Philippe Elie <phil.el@wanadoo.fr>
3440 * libdb/db_manage.c: better handling of zero sample file size when
3441 opening in read only mode
3443 * module/x86/op_nmi.c: printk format fix
3445 2003-05-17 John Levon <levon@movementarian.org>
3447 * pp/opannotate_option.cpp:
3448 * pp/opreport_options.cpp: command line changes
3450 2003-05-17 John Levon <levon@movementarian.org>
3452 * libpp/name_storage.h:
3453 * libpp/name_storage.cpp: add present()
3455 * libpp/op_header.cpp:
3456 * libpp/partition_files.cpp: use a name store
3457 to track what we've warned about, and clean up
3460 2003-05-16 John Levon <levon@movementarian.org>
3462 * libutil++/op_bfd.h:
3463 * libutil++/op_bfd.cpp: expose anonymous symbols
3464 to the world as "??sectionname". Useful for .plt
3465 and .fini, which are quite common.
3467 * libpp/name_storage.cpp: demangle anonymous symbols
3470 2003-05-16 John Levon <levon@movementarian.org>
3472 * libpp/symbol_sort.cpp: fix image-sorting
3474 2003-05-16 John Levon <levon@movementarian.org>
3476 * libpp/name_storage.h:
3477 * libpp/name_storage.cpp: make ID be per-container
3479 2003-05-16 John Levon <levon@movementarian.org>
3481 * libpp/name_storage.h:
3482 * libpp/name_storage.cpp: merge processed names
3483 into one string, remove the boolean
3485 2003-05-16 John Levon <levon@movementarian.org>
3487 * libpp/name_storage.h:
3488 * libpp/name_storage.cpp: whoops, use string
3489 not stored_name for the ID map
3491 2003-05-16 John Levon <levon@movementarian.org>
3493 * libpp/name_storage.h:
3494 * libpp/name_storage.cpp: split into three
3495 stores for debug filenames, symbols, and images
3497 * libpp/format_output.cpp:
3498 * libpp/profile_container.cpp:
3499 * libpp/sample_container.cpp:
3500 * libpp/symbol_container.cpp:
3501 * libpp/symbol_sort.cpp:
3502 * pp/opannotate.cpp: changes from above
3504 2003-05-16 John Levon <levon@movementarian.org>
3506 * libpp/Makefile.am:
3507 * libpp/name_storage.h:
3508 * libpp/name_storage.cpp: add shared storage
3509 and caching of symbol and file names
3511 * libpp/opp_symbol.h:
3512 * libpp/format_output.cpp:
3513 * libpp/profile_container.cpp:
3514 * libpp/sample_container.cpp:
3515 * libpp/symbol_container.cpp:
3516 * libpp/symbol_container.h:
3517 * libpp/symbol_sort.cpp:
3518 * libpp/symbol_sort.h:
3519 * pp/opannotate.cpp:
3520 * pp/opreport.cpp: use it
3522 * pp/opgprof_options.cpp: add unused demangle
3523 options to hack-fix the build
3525 2003-05-16 John Levon <levon@movementarian.org>
3527 * libpp/symbol_sort.cpp: fix --sort debug
3529 2003-05-16 John Levon <levon@movementarian.org>
3531 * libutil++/op_bfd.h:
3532 * libutil++/op_bfd.cpp: remove have_debug_info()
3534 2003-05-16 Philippe Elie <phil.el@wanadoo.fr>
3536 * libpp/op_header.cpp: remove cpu_speed checking
3538 * libutil++/op_bfd.h:
3539 * libutil++/op_bfd.cpp: bail out in get_linenr() if binary doesn't
3540 contain any debug info. Speed up my test case opreport --debug-info
3543 2003-05-16 John Levon <levon@movementarian.org>
3545 * libutil++/op_bfd.cpp: clean up interesting_symbol
3548 2003-05-16 John Levon <levon@movementarian.org>
3550 * libutil++/op_bfd.cpp: make sure linenr is
3551 always set to something
3553 * libpp/opp_symbol.h: linenr should be unsigned
3555 * libpp/profile_container.cpp: remove some unneeded
3558 2003-05-16 John Levon <levon@movementarian.org>
3560 * pp/opannotate.cpp: small renaming
3562 2003-05-15 John Levon <levon@movementarian.org>
3564 * libpp/symbol_container.h:
3565 * libpp/symbol_container.cpp: add begin(), end(),
3566 remove symbols_by_count()
3568 * libpp/profile_container.cpp: use symbol container
3569 iterator directly in select_symbols()
3571 2003-05-15 John Levon <levon@movementarian.org>
3573 * libpp/format_output.h:
3574 * libpp/format_output.cpp:
3575 * libpp/profile_container.h:
3576 * libpp/profile_container.cpp:
3577 * libpp/symbol_container.h:
3578 * libpp/symbol_container.cpp:
3579 * libpp/symbol_sort.h:
3580 * libpp/symbol_sort.cpp:
3581 * pp/opannotate.cpp:
3583 * pp/opgprof.cpp: move symbol_collection typedef
3584 into global namespace, and use consistently
3586 2003-05-15 John Levon <levon@movementarian.org>
3588 * libpp/format_output.h:
3589 * libpp/format_output.cpp: add vma_format_64bit(),
3590 remove bool parameter from output()
3592 * pp/opreport.cpp: change from above, refactor flags
3593 code into get_format_flags() helper
3595 2003-05-12 Philippe Elie <phil.el@wanadoo.fr>
3597 * libpp/format_output.h:
3598 * libpp/format_output.cpp:
3599 * libpp/symbol_sort.h:
3600 * libpp/symbol_sort.cpp: handle reverse sort in sorting not in output
3601 * pp/opannotate.cpp:
3602 * pp/opreport.cpp: update according
3604 2003-05-12 Philippe Elie <phil.el@wanadoo.fr>
3606 * libpp/symbol_sort.h:
3607 * libpp/symbol_sort.cpp: handle sort order as specified on command line
3609 * pp/opgprof.cpp: sort symbol is not necessary for gprof
3611 * pp/opreport_options.cpp:
3612 * pp/opannotate.cpp: use new sort API
3614 2003-05-12 John Levon <levon@movementarian.org>
3616 * libpp/symbol_sort.h:
3617 * libpp/symbol_sort.cpp: partial implementation
3618 of other sort options
3620 2003-05-12 John Levon <levon@movementarian.org>
3622 * libpp/Makefile.am:
3623 * libpp/symbol_sort.h:
3624 * libpp/symbol_sort.cpp: add sorting code
3626 * symbol_functors.h: move some less() into
3629 * libpp/profile_container.h:
3630 * libpp/profile_container.cpp: don't pass in
3631 sort option to select_symbols(), do it in caller
3633 * pp/opannotate.cpp:
3636 * pp/opreport_options.h:
3637 * pp/opreport_options.cpp: from the above
3639 2003-05-12 John Levon <levon@movementarian.org>
3641 * format_flags.h: remove vma64_p. Add column_flags
3643 * libpp/profile_container.h:
3644 * libpp/profile_container.cpp: pass in a struct
3645 to select_symbols. Generate hints for 64-bit VMA
3646 and multiple apps in the profile.
3648 * pp/opannotate.cpp:
3650 * pp/opreport.cpp: use the above
3652 2003-05-12 John Levon <levon@movementarian.org>
3654 * libpp/format_output.cpp:
3655 * libpp/format_flags.h:
3656 * pp/opreport.cpp: trivial renaming of flags
3658 2003-05-11 John Levon <levon@movementarian.org>
3660 * libpp/format_output.cpp:
3661 * libpp/format_flags.h: better output for
3662 the default of short filenames
3664 2003-05-11 John Levon <levon@movementarian.org>
3666 * pp/opreport.cpp: improve the app/image name column
3669 2003-05-11 John Levon <levon@movementarian.org>
3671 * pp/opreport.cpp: default to -l if we were just
3672 going to show one image summary.
3674 2003-05-11 John Levon <levon@movementarian.org>
3676 * pp/opreport.cpp: move some code around that
3677 outputs the image summaries
3679 2003-05-11 John Levon <levon@movementarian.org>
3681 * libpp/format_output.h:
3682 * libpp/format_output.cpp:
3684 * pp/opreport_options.h:
3685 * pp/opreport_options.cpp: s/--short-filename/--long-filenames/
3687 2003-05-11 John Levon <levon@movementarian.org>
3689 * libpp/profile_spec.h:
3690 * libpp/profile_spec.cpp: take exclude_dependent not
3693 * pp/opannotate_options.c:
3694 * pp/opgprof_options.c:
3695 * pp/opreport_options.h:
3696 * pp/opreport_options.c: change to use exclude_dependent,
3697 remove --hide-dependent
3699 2003-05-11 John Levon <levon@movementarian.org>
3702 * locate_images.cpp: extra_images can now use
3703 relative paths for its search dirs. Move most of
3704 the warnings out of find_image_path, and make it
3705 also handle relative paths. Return the file
3706 even if it wasn't readable.
3708 * libpp/partition_files.cpp: give warnings when
3711 * libpp/profile_spec.h:
3712 * libpp/profile_spec.cpp: handle relative paths
3713 inside image specs, as stated in pp_interface; also
3714 use the extra images search path for resolution.
3716 * pp/opannotate_options.cpp:
3717 * pp/opreport_options.cpp:
3718 * pp/opgprof_options.cpp: changes from above
3720 2003-05-11 John Levon <levon@movementarian.org>
3722 * libpp/format_flags.h: source doc improvements
3724 2003-05-11 John Levon <levon@movementarian.org>
3726 * libpp/opp_symbol.h: move vma64_p to ...
3728 * libpp/format_flags.h: ... here
3730 2003-05-11 John Levon <levon@movementarian.org>
3732 * libpp/Makefile.am:
3733 * libpp/outsymbflags.h:
3734 * libpp/format_flags.h:
3735 * libpp/profile_container.h:
3736 * libpp/format_output.h:
3737 * libpp/format_output.cpp:
3738 * pp/opreport.cpp: rename outsymbflags to format_flags
3740 2003-05-11 John Levon <levon@movementarian.org>
3742 * profile_container.h:
3743 * profile_container.cpp:
3744 * opannotate.cpp: clean up select_filename() in a
3747 2003-05-11 John Levon <levon@movementarian.org>
3749 * libpp/profile_container.h:
3750 * libpp/profile_container.cpp:
3752 * pp/opannotate.cpp:
3753 * pp/opgprof.cpp: another select_symbols() API cleanup
3755 2003-05-11 John Levon <levon@movementarian.org>
3757 * pp/opgprof.cpp: use select_symbols so we can
3760 2003-05-11 Philippe Elie <phil.el@wanadoo.fr>
3762 * pp/opannotate.cpp: use threshold for source output
3764 2003-05-11 John Levon <levon@movementarian.org>
3766 * pp/common_option.h:
3767 * pp/common_option.cpp:
3768 * pp/opannotate_options.cpp:
3769 * pp/opreport_options.cpp: make --threshold
3772 2003-05-11 John Levon <levon@movementarian.org>
3774 * pp/profile_container.h:
3775 * pp/profile_container.cpp:
3776 * pp/opannotate.cpp:
3777 * pp/opreport.cpp: clean up select_symbols
3780 2003-05-11 John Levon <levon@movementarian.org>
3782 * pp/opreport.cpp: make --threshold work for
3785 2003-05-11 John Levon <levon@movementarian.org>
3787 * pp/opreport_options.cpp: fix --threshold
3788 description to match reality
3790 2003-05-11 John Levon <levon@movementarian.org>
3792 * libpp/partition_files.h:
3793 * libpp/partition_files.cpp:
3794 * pp/opannotate_options.cpp:
3795 * pp/opgprof_options.cpp:
3797 * pp/opreport_options.cpp: rename merge_by members
3799 2003-05-11 John Levon <levon@movementarian.org>
3801 * pp/opreport.cpp: add some logic to not output
3802 duplicate lines for dep images when we've already
3803 shown all the possible details in the main image summary
3805 2003-05-11 John Levon <levon@movementarian.org>
3807 * pp/common_option.h: use std::
3809 2003-05-11 Philippe Elie <phil.el@wanadoo.fr>
3811 * pp/opreport_options.cpp: move handle_threshold()
3812 * pp/common_option.h:
3813 * pp/common_option.cpp: here
3814 * pp/opannotate_options.h:
3815 * pp/opannotate_options.cpp:
3816 * pp/opannotate.cpp: handle --threshold
3818 2003-05-10 John Levon <levon@movementarian.org>
3820 * libop/op_mangle.h:
3821 * libop/op_mangle.c: use a temp struct for
3822 passing the mangle parameters with a set of
3825 * dae/opd_sample_files.c:
3826 * daemon/opd_sample_files.c: use it
3828 2003-05-10 John Levon <levon@movementarian.org>
3834 * libpp/Makefile.am:
3835 * libpp/op_header.h:
3836 * libpp/op_header.cpp: remove libop++ after
3837 moving op_header into libpp
3839 2003-05-10 John Levon <levon@movementarian.org>
3841 * libop++/op_header.cpp: make CPU info take up
3844 2003-05-10 John Levon <levon@movementarian.org>
3846 * libop++/Makefile.am:
3847 * libop++/op_header.cpp:
3848 * libop++/op_print_event.h:
3849 * libop++/op_print_event.cpp: remove op_print_event
3850 files, making it a function local to op_header.cpp
3852 2003-05-10 John Levon <levon@movementarian.org>
3854 * libop++/op_header.h:
3855 * libop++/op_header.cpp: make output_header() be
3858 * pp/opannotate.cpp:
3859 * pp/opreport.cpp: changes from the above
3861 * libpp/profile.h: small cleanup
3863 2003-05-10 Philippe Elie <phil.el@wanadoo.fr>
3865 * libutil++/string_manip.h:
3866 * libutil++/string_manip.cpp: replace format_percent() by
3869 * libpp/format_output.cpp:
3870 * pp/opannotate.cpp:
3871 * pp/opreport.cpp: use format_double()
3873 2003-05-09 John Levon <levon@movementarian.org>
3875 * libpp/opp_symbol.h: app name, image name should
3876 be in symbol not in file_location
3878 * libpp/format_output.cpp:
3879 * libpp/profile_container.h:
3880 * libpp/profile_container.cpp:
3881 * libpp/symbol_container.cpp:
3882 * libpp/symbol_functors.cpp: changes from above
3884 2003-05-09 John Levon <levon@movementarian.org>
3886 * libpp/format_output.h:
3887 * libpp/format_output.cpp: vma_64 doesn't need
3888 to be in field_datum. make one output() private
3890 2003-05-09 John Levon <levon@movementarian.org>
3892 * libpp/format_output.h:
3893 * libpp/format_output.cpp: pass a symbol ref
3894 not name down into the formatters
3896 2003-05-09 John Levon <levon@movementarian.org>
3898 * libutil++/string_manip.h:
3899 * libutil++/string_manip.cpp: sample_filename() is unused
3901 2003-05-09 Philippe Elie <phil.el@wanadoo.fr>
3903 * libop++/op_header.h:
3904 * libop++/op_header.cpp: read_header() new
3905 * libop++/Makefile.in: we depend on libdb
3907 * pp/opannotate.cpp:
3908 * pp/opreport.cpp: better way to get sample file header
3910 2003-05-09 Philippe Elie <phil.el@wanadoo.fr>
3912 * libpp/format_output.cpp: remove redundant map formater
3913 * pp/opannotate.cpp: spurious cout
3915 2003-05-08 John Levon <levon@movementarian.org>
3918 * pp/opreport_options.cpp:
3919 * pp/opreport_options.h: clean up cout stuff as
3922 2003-05-08 John Levon <levon@movementarian.org>
3924 * libpp/profile_spec.h:
3925 * libpp/profile_spec.c: rename the set_p variables,
3926 remove pointless is_empty() function
3928 * pp/opreport.cpp: split collation and output into
3929 two separate functions. Rename the temporary structures
3930 so it's hopefully a bit more obvious what's happening.
3933 2003-05-08 John Levon <levon@movementarian.org>
3935 * pp/opreport_options.h:
3936 * pp/opreport_options.cpp: add options::cout,
3937 --output-file option
3939 * pp/opreport.cpp: use options::cout
3941 2003-05-08 John Levon <levon@movementarian.org>
3943 * pp/format_output.cpp: fix cumulative column widths
3945 2003-05-08 John Levon <levon@movementarian.org>
3947 * opreport_options.h: add accumulated
3949 * opreport.cpp: handle --accumulated
3951 2003-05-08 Philippe Elie <phil.el@wanadoo.fr>
3953 * libpp/symbol_container.cpp: minor tidy
3956 * libpp/profile.cpp: allow to cumulate sample file
3957 * libpp/profile_container.h:
3958 * libpp/profile_container.cpp: remove free function add_samples()
3962 * pp/opreport.cpp: when possible cumulate samples into a profile_t
3963 first before cumulating them in a profile_container
3965 2003-05-07 John Levon <levon@movementarian.org>
3967 * pp/opannotate.cpp: small cleanup
3969 2003-05-07 John Levon <levon@movementarian.org>
3971 * pp/opreport_options.cpp: remove unneeded include
3973 2003-05-07 John Levon <levon@movementarian.org>
3975 * libpp/Makefile.am:
3976 * libpp/parse_cmdline.h:
3977 * libpp/parse_cmdline.cpp: rename to ...
3979 * libpp/profile_spec.h:
3980 * libpp/profile_spec.cpp: this. Make handle_nonoptions()
3981 be a static factory create() method instead. Make
3982 select_sample_filenames() be a member generate_file_list()
3983 instead. Concomitant cleanups.
3985 * libpp/filename_spec.h:
3986 * pp/opannotate_options.cpp:
3987 * pp/opgprof_options.cpp:
3988 * pp/opreport_options.cpp: changes from above
3990 2003-05-07 John Levon <levon@movementarian.org>
3992 * libpp/profile.cpp: fix stupid error in last commit
3994 2003-05-07 John Levon <levon@movementarian.org>
3997 * libpp/profile.cpp: remove sample_filename member,
3998 bogus old spurious check, set_start_offset().
4000 * libpp/profile_container.cpp:
4001 * pp/opannotate.cpp:
4002 * pp/opreport.cpp: changes from above
4004 2003-05-07 John Levon <levon@movementarian.org>
4006 * libpp/derive_files.h:
4007 * libpp/derive_files.cpp: rename files as ...
4009 * libpp/locate_images.h:
4010 * libpp/locate_images.cpp: this.
4012 * libpp/Makefile.am:
4013 * libpp/partition_files.h:
4014 * pp/common_option.h:
4016 * pp/opgprof_options.h:
4017 * pp/opreport_options.h: changes from above
4019 2003-05-07 John Levon <levon@movementarian.org>
4021 * libpp/derive_files.h:
4022 * libpp/derive_files.cpp: rework into extra_images
4025 * libpp/partition_files.h:
4026 * libpp/partition_files.cpp:
4027 * pp/common_option.h:
4028 * pp/common_option.cpp:
4029 * pp/opannotate.cpp:
4031 * pp/opreport.cpp: use the above
4033 2003-05-07 John Levon <levon@movementarian.org>
4035 * libpp/Makefile.am:
4037 * session.cpp: remove session.{h,cpp}
4039 2003-05-07 Philippe Elie <phil.el@wanadoo.fr>
4041 * pp/oprofpp.cpp pp/oprofpp_options.cpp pp/oprofpp_options.h:
4042 * pp/op_time.cpp pp/op_time_options.cpp pp/op_time_options.h:
4043 * pp/op_to_source.cpp pp/op_to_source_options.cpp:
4044 * pp/op_to_source_options.h pp/op_merge.cpp: removed files
4046 * pp/Makefile.am: update
4048 2003-05-06 Philippe Elie <phil.el@wanadoo.fr>
4050 * pp/opgprof.cpp: infamous typo
4052 * pp/opannotate.cpp: output sample file header
4055 2003-05-06 Philippe Elie <phil.el@wanadoo.fr>
4057 * libpop++/op_mangling.h:
4058 * libpop++/op_mangling.cpp: removed file
4059 * libop++/op_header.h:
4060 * libop++/op_header.cpp: new file, misc function acting on sample
4061 file header stolen from libpp/profile.(cpp|h)
4062 * libop++/op_print_event.h: typo
4063 * libop++/op_print_event.cpp: save/restore ostream state
4064 * libop++/Makefile.am: update
4066 * libop/op_sample_file.h: remove dead #define OPD_MANGLE_CHAR
4069 * libpp/profile.cpp: move some member function to free function in
4070 libop++/op_header.(cpp|h)
4071 * libpp/profile_container.cpp: minor call change
4073 * libpp/Makefile.am: op_merge can't be compiled currently inhibit build
4075 * libpp/opreport.cpp: output sample file header
4077 2003-05-06 Philippe Elie <phil.el@wanadoo.fr>
4079 * libutil++/path_filter.h: default param to empty string not "*"
4081 * libpp/symbol_functors.h: remove dead code
4083 * pp/opgprof.cpp: off by one in histsize calculation
4085 2003-05-04 Philippe Elie <phil.el@wanadoo.fr>
4087 * libutil/op_file.h:
4088 * libutil/op_file.c: sanitize create_path()
4090 * libutil++/path_filter.h: default ctor match all
4092 * libpp/profile_container.h:
4093 * libpp/profile_container.cpp:
4094 * libpp/sample_container.h:
4095 * libpp/sample_container.cpp:
4096 * libpp/symbol_container.h:
4097 * libpp/symbol_container.cpp: extend api to allow selecting symbol
4098 restricted to one application, ditto for retrieving samples
4100 * pp/opannotate_options.h:
4101 * pp/opannotate_options.cpp:
4102 * pp/opannotate.cpp: implement
4104 * pp/opgprof_options.h:
4105 * pp/opgprof_options.cpp:
4106 * pp/opreport_options.h:
4107 * pp/opreport_options.cpp: comment fix
4109 * pp/opreport.cpp: update to match new profile_container api
4111 2003-05-03 Philippe Elie <phil.el@wanadoo.fr>
4113 * pp/opreport.cpp: don't show dependent file if !--include-dependent
4115 2003-05-02 Philippe Elie <phil.el@wanadoo.fr>
4117 * libpp/partition_files.h:
4118 * libpp/partition_files.cpp: sort_by_image_name() new return a list
4119 of sample filename sorted by bfd image name.
4120 * libpp/profile_container.cpp: add_samples() don't build op_bfd object
4121 used here but pass it as parameters
4124 * pp/opreport.cpp: use the above change to avoid opening multiple time
4127 * pp/opannotate_options.cpp: add --(include|exclude)-symbols
4129 * libpp/parse_cmdline.cpp:
4130 * pp/opgprof_options.cpp:
4131 * pp/opreport.cpp: make a distinction in error message between no
4132 sample available and sample file available but no one was selected
4134 2003-05-01 Philippe Elie <phil.el@wanadoo.fr>
4136 * pp/opannotate_options.h:
4137 * pp/opannotate_options.cpp:
4139 * pp/opdiff_options.h:
4140 * pp/opdiff_options.cpp:
4142 * pp/opgprof_options.h:
4143 * pp/opgprof_options.cpp:
4145 * pp/opreport_options.h:
4146 * pp/opreport_options.cpp: move common options handling ...
4147 * pp/common_option.h:
4148 * pp/common_option.cpp: here
4150 * pp/opannotate.cpp: add options
4152 * libpp/parse_cmdline.cpp: #include <iterator> ...
4154 2003-05-01 Philippe Elie <phil.el@wanadoo.fr>
4156 * libpp/counter_util.h:
4157 * libpp/counter_util.cpp: remove these files from cvs
4159 * libpp/derive_files.h:
4160 * libpp/derive_files.cpp: remove dead code derive_files() + typo
4162 * libpp/parse_cmdline.cpp: select_sample_filename() throw if empty
4163 session after filtering
4165 * pp/common_option.cpp: catch invalid_argument, return failure on
4168 2003-05-01 Philippe Elie <phil.el@wanadoo.fr>
4170 * libutil++/op_bfd.cpp: remove _init from excluded symbol
4171 * libpp/profile_container.cpp: tidy
4173 * pp/opgprof.cpp: fix capping samples
4175 2003-04-30 John Levon <levon@movementarian.org>
4178 * pp/opgprof_options.cpp:
4179 * libpp/profile.cpp: tiny cleanups, fix compile
4181 2003-04-30 Philippe Elie <phil.el@wanadoo.fr>
4183 * libdb/db_stat.c: minor improvement to stat, useful to track missed
4184 sample by our tools.
4186 * pp/op_report.cpp: move matching_sample_filename() to ...
4187 * libpp/parse_cmdline.h:
4188 * libpp/parse_cmdline.cpp: here renamed select_sample_filename()
4190 * libpp/profile_container.h:
4191 * libpp/profile_container.cpp: expose begin() / end() from
4194 * pp/common_option.h:
4195 * pp/common_option.cpp: move option which was not really common to ..
4196 * pp/opreport_options.h:
4197 * pp/opreport_options.cpp: here
4198 * pp/opannotate_options.h:
4199 * pp/opannotate_options.cpp: and here
4202 * pp/opannotate.cpp: better to return a value from main() ...
4204 * pp/opgprof_options.h:
4205 * pp/opgprof_options.cpp:
4206 * pp/opgprof.cpp: implement opgprof
4208 2003-04-29 Philippe Elie <phil.el@wanadoo.fr>
4210 * libpp/parse_cmdline.h:
4211 * libpp/parse_cmdline.cpp: handle opreport /lib/libc-2.2.5.so, now
4212 non tag, non option argument match either an image name or lib name
4214 2003-04-29 John Levon <levon@movementarian.org>
4216 * libutil++/op_bfd.cpp: remove "static " inside anon namespace
4218 2003-04-28 Philippe Elie <phil.el@wanadoo.fr>
4220 * libpp/format_output.h:
4221 * libpp/format_output.cpp: need header tweaking
4223 * pp/opannotate.cpp:
4224 * pp/opgprof.cpp: minor tidy
4226 * pp/opreport_options.h:
4227 * pp/opreport_options.cpp:
4228 * pp/opreport.cpp: handle -no-header and --image-path
4230 2003-04-28 Philippe Elie <phil.el@wanadoo.fr>
4232 * libutil++/glob_filter.cpp:
4233 * libutil++/path_filter.cpp:
4234 * libutil++/string_filter.cpp: #include <algorithm>
4236 2003-04-28 John Levon <levon@movementarian.org>
4238 * libutil++/string_filter.cpp:
4239 * libutil++/string_filter.h:
4240 * libutil++/glob_filter.h:
4241 * libutil++/glob_filter.cpp:
4242 * libutil++/path_filter.h:
4243 * libutil++/path_filter.cpp: use std::find[_if],
4246 2003-04-28 Philippe Elie <phil.el@wanadoo.fr>
4248 * libutil++/op_bfd.cpp: replace a loop by a std::copy()
4250 2003-04-28 John Levon <levon@movementarian.org>
4252 * libutil++/op_bfd.h:
4253 * libutil++/op_bfd.cpp: cleanup of last fix
4255 2003-04-28 John Levon <levon@movementarian.org>
4257 * libutil++/op_bfd.h:
4258 * libutil++/op_bfd.cpp: make symbol filtering
4259 happen *after* adding of artificial symbol
4261 2003-04-28 John Levon <levon@movementarian.org>
4263 * libutil++/string_filter.cpp:
4264 * libutil++/glob_filter.cpp:
4265 * libutil++/path_filter.cpp: match as true if
4266 include_list is empty and not excluded
4268 * libutil++/op_bfd.h:
4269 * libutil++/op_bfd.cpp: use string_filter to
4272 * libpp/profile_container.h:
4273 * libpp/profile_container.cpp:
4274 * pp/opreport_options.h:
4275 * pp/opreport_options.cpp:
4276 * pp/opreport.cpp: changes from using string_filter
4278 2003-04-28 Philippe Elie <phil.el@wanadoo.fr>
4280 * pp/opreport.cpp: finish to remove use of split_sample_filename
4282 2003-04-28 John Levon <levon@movementarian.org>
4284 * libutil++/filename_match.h:
4285 * libutil++/filename_match.cpp: replace with ...
4287 * libutil++/Makefile.am:
4288 * libutil++/string_filter.h:
4289 * libutil++/string_filter.cpp:
4290 * libutil++/glob_filter.h:
4291 * libutil++/glob_filter.cpp:
4292 * libutil++/path_filter.h:
4293 * libutil++/path_filter.cpp: .. split up variants
4296 * libpp/parse_cmdline.cpp: use glob_filter
4298 * pp/op_to_source.cpp: use path_filter
4300 2003-04-28 Philippe Elie <phil.el@wanadoo.fr>
4302 * libpp/partition_files.h:
4303 * libpp/partition_files.cpp:
4304 * libpp/split_sample_filename.h:
4305 * libpp/split_sample_filename.cpp:
4306 * pp/opreport.cpp: replace some use of std::string sample_filename
4307 by a split_sample_filename struct
4309 2003-04-28 John Levon <levon@movementarian.org>
4311 * libutil++/filename_match.h:
4312 * libutil++/filename_match.cpp: use file-scope
4313 not private static member function
4315 2003-04-27 Philippe Elie <phil.el@wanadoo.fr>
4317 * libpp/format_output.h:
4318 * libpp/format_output.cpp: remove all string based output format flag
4320 * libpp/format_output.cpp: move options::demangle handling ...
4321 * libregx/demangle_symbol.cpp: here
4323 * libpp/profile_container.h:
4324 * libpp/profile_container.cpp:
4325 * pp/opreport_options.h:
4326 * pp/opreport_options.cpp:
4327 * pp/opreport.cpp: handle --include-symbols
4329 2003-04-27 Philippe Elie <phil.el@wanadoo.fr>
4331 * pp/opreport_options.h:
4332 * pp/opreport_options.cpp:
4333 * pp/opreport.cpp: handle --threshold, remove --ignore-symbols
4335 2003-04-27 John Levon <levon@movementarian.org>
4337 * libpp/<various>: minor spacing etc.
4339 2003-04-27 Philippe Elie <phil.el@wanadoo.fr>
4341 * libpp/outsymbflag.h: remove osf_short_xxx variant
4342 * libpp/format_output.h:
4343 * libpp/format_output.cpp: replace osf_short_xxx by a boolean
4344 * libpp/profile_container.cpp: update according
4346 * pp/opreport_options.h: export short_filename option
4347 * pp/opreport.cpp: use short_filename
4349 2003-04-27 Philippe Elie <phil.el@wanadoo.fr>
4351 * libpp/symbol_functors.h: add less_symbol predicate
4352 * libpp/symbol_functors.cpp: new file, less_symbol implementation
4353 * libpp/Makefile.am: symbol_functors.cpp
4355 * libpp/symbol_container.h:
4356 * libpp/symbol_container.cpp: use a node based container for symbols
4357 ensuring validity of symbol pointer over a symbol_container life time
4358 * libpp/sample_container.h:
4359 * libpp/sample_container.cpp: ditto as above for samples
4360 * libpp/profile_container.h:
4361 * libpp/profile_container.cpp: use this new api to merge symbols
4364 * libpp/format_output.h:
4365 * libpp/format_output.cpp: use new api to iterate over sample by symbol
4367 * pp/opreport.cpp: detailed output
4370 2003-04-27 John Levon <levon@movementarian.org>
4372 * pp/opreport.cpp: make opreport -l put largest results
4373 at the top like opreport does
4375 2003-04-26 Philippe Elie <phil.el@wanadoo.fr>
4377 * libpp/profile_container.h: comment
4379 * pp/opreport_options.h: more options export
4380 * pp/opreport.cpp: implement -l. Doesn't works correctly: --merge=lib
4382 2003-04-25 Philippe Elie <phil.el@wanadoo.fr>
4384 * pp/opreport_options.h: export global_percent
4385 * pp/opreport.cpp: finish to implement op_time like behavior. Remains
4386 to implement op_time -l
4388 2003-04-25 Philippe Elie <phil.el@wanadoo.fr>
4390 * libpp/partition_files.cpp: fix a crash when profile spec is empty
4392 * pp/opreport_options.cpp: bail out if no samples files are found
4394 2003-04-25 John Levon <levon@movementarian.org>
4396 * pp/opreport_options.cpp: --hide-dependent should have 'h' as
4397 short form. Add a FIXME for a crash
4399 2003-04-25 Philippe Elie <phil.el@wanadoo.fr>
4401 * libpp/partition_files.cpp: thinko in sample filename partition
4403 * pp/opreport_options.h: export more options
4404 * pp/opreport_options.cpp: add --hide-dependent, change --merge to not
4406 * pp/opreport.cpp: handle --hide-dependent --include-dependent and
4407 --merge=lib. Code is ugly, tidy incoming
4409 2003-04-25 John Levon <levon@movementarian.org>
4411 * libpp/format_output.cpp:
4412 * libpp/format_output.h:
4413 * libpp/outsymbflag.h: "immutable" not "imutable"
4415 * libpp/partition_files.cpp: include <iterator> to compile
4417 2003-04-24 Philippe Elie <phil.el@wanadoo.fr>
4419 * libpp/partition_files.h: typo
4420 * libpp/profile.cpp: difficult to get right result with a random value
4421 in profile::start_offset
4423 * pp/opreport_options.h: export options::reverse_sort
4424 * pp/opreport_options.cpp: bail out if we get multiple counter
4426 * pp/opreport.cpp: raw output result for application (not symbol)
4429 2003-04-24 Philippe Elie <phil.el@wanadoo.fr>
4431 * libpp/filename_spec.h:
4432 * libpp/filename_spec.cpp:
4433 * libpp/parse_cmdline.h:
4434 * libpp/parse_cmdline.cpp:
4435 * libpp/split_sample_filename.h:
4436 * libpp/split_sample_filename.cpp: s/unit_mask/unitmask
4438 * libpp/merge_spec.cpp:
4439 * libpp/merge_spec.h: rename to
4440 * libpp/partition_files.h:
4441 * libpp/partition_files.cpp: here. Add and merge_option.
4442 partition_files is now a class.
4443 * pp/opreport_options.h:
4444 * pp/opreport_options.cpp:
4445 * pp/opreport.cpp: update according to the above. Add a roughly support
4446 to count samples for plain op_time opreport like
4448 2003-04-24 John Levon <levon@movementarian.org>
4450 * libpp/profile_container.h:
4451 * libpp/profile_container.cpp: chop off the _t of the class name
4453 * libpp/format_output.cpp:
4454 * libpp/format_output.h:
4455 * libpp/symbol_container.cpp:
4456 * libpp/symbol_container.h:
4458 * pp/op_to_source.cpp:
4459 * pp/oprofpp.cpp: changes from the above
4461 2003-04-24 John Levon <levon@movementarian.org>
4463 * libpp/profile_container.h:
4464 * libpp/profile_container.cpp: pedantry for sample_container
4467 * libpp/sample_container.h:
4468 * libpp/sample_container.cpp: various cleanups and docs. Add
4471 * libpp/symbol_container.h:
4472 * libpp/symbol_container.cpp: renamings. Add and use size_type.
4474 2003-04-24 John Levon <levon@movementarian.org>
4476 * libpp/symbol_container.h:
4477 * libpp/symbol_container.cpp: remove unused operator[].
4478 Add some docs. Some small cleanups
4480 2003-04-24 John Levon <levon@movementarian.org>
4482 * libpp/symbol_container_imp.h:
4483 * libpp/symbol_container_imp.cpp:
4484 * libpp/sample_container_imp.h:
4485 * libpp/sample_container_imp.cpp: These classes weren't using
4486 the pimpl idiom, so the _imp was spurious. Remove that as well
4487 as removing the _t from the names, and rename to ...
4489 * libpp/symbol_container.h:
4490 * libpp/symbol_container.cpp:
4491 * libpp/sample_container.h:
4492 * libpp/sample_container.cpp: ...files moved from the above with
4495 2003-04-23 Philippe Elie <phil.el@wanadoo.fr>
4497 * libutil++/generic_spec.h: minor formating tweak
4499 * libpp/parse_cmdline.h:
4500 * libpp/parse_cmdline.cpp: handle_non_options(): return parse_cmdline
4503 * libpp/merge_spec.h:
4504 * libpp/merge_spec.cpp: new files: partition list of samples filename
4505 according to merge options.
4506 * libpp/Makefile.am: update
4508 * pp/opreport_options.cpp: more options handling, use partition_files()
4510 2003-04-22 John Levon <levon@movementarian.org>
4512 * pp/opreport_options.cpp: compile fix
4514 2003-04-21 Philippe Elie <phil.el@wanadoo.fr>
4516 * libutil++/filename_match.h:
4517 * libutil++/filename_match.cpp: add strict_match()
4519 * libutil++/generic_spec.cpp: generic_spec<string>::set() was not
4520 setting is_all member leading to bad matching
4522 * libpp/filename_spec.cpp: minor tidy
4524 * libpp/parse_cmdline.h:
4525 * libpp/parse_cmdline.cpp: fix match()
4527 * libpp/split_sample_filename.h:
4528 * libpp/split_sample_filename.cpp: handle sample file base directory
4530 * libop++/op_print_event.h:
4531 * libop++/op_print_event.cpp:
4532 * libpp/format_output.h:
4533 * libpp/format_output.cpp:
4534 * libpp/opp_symbol.h:
4536 * libpp/profile.cpp:
4537 * libpp/profile_container.h:
4538 * libpp/profile_container.cpp:
4539 * libpp/sample_container_imp.h:
4540 * libpp/sample_container_imp.cpp:
4541 * libpp/symbol_container_imp.h:
4542 * libpp/symbol_container_imp.cpp:
4543 * libpp/symbol_functors.h: remove all use of counter number
4545 * libpp/counter_array.h:
4546 * libpp/counter_array.cpp:
4547 * libpp/counter_profile.h:
4548 * libpp/counter_profile.cpp: no longer used, move some bits to
4549 libpp/profile.(h|cpp) and remove these files.
4550 * libpp/Makefile.am: update according
4552 * pp/op_merge.cpp: use profile_t not counter_profile_t
4553 * pp/makefile.am: correct lib for op_merge
4555 * pp/opreport_options.cpp: more options handling
4557 2003-04-19 Philippe Elie <phil.el@wanadoo.fr>
4559 * libopt++/popt_options.cpp: don't show help_str with --usage
4560 * libpp/format_output.cpp: typo
4561 * libutil/op_file.c: create dir with 755 not 700
4562 * pp/common_option.cpp: source formating
4564 * libpp/parse_cmdline.h:
4565 * libpp/parse_cmdline.cpp: handle_non_options() new
4566 * pp/opreport_options.cpp: handle more options
4569 * pp/opsummary_options.h:
4570 * pp/opsummary_options.cpp: remove, opreport should do its job.
4571 * pp/Makefile.am: update
4573 2003-04-18 Philippe Elie <phil.el@wanadoo.fr>
4575 * libopt++/popt_options.cpp: allow "no-" prefix to long option name
4576 implicitly specify the value must be negated
4577 * libopt++/popt_options.cpp: update doxygen documentation
4579 * libpp/format_output.h: missing #include
4580 * libpp/format_output.cpp: space + minor change
4582 * pp/opannotate_options.h:
4583 * pp/opannotate_options.cpp:
4584 * pp/opdiff_options.h:
4585 * pp/opdiff_options.cpp:
4586 * pp/opgprof_options.h:
4587 * pp/opgprof_options.cpp:
4588 * pp/opreport_options.h:
4589 * pp/opreport_options.cpp:
4590 * pp/opsummary_options.h:
4591 * pp/opsummary_options.cpp: new skeleton file
4593 * pp/opannotate.cpp:
4597 * pp/opsummary.cpp: update to handle options
4599 * pp/common_option.cpp: follow more closely pp_interface
4601 * pp/opsummary_options.cpp: start to handle opsummary option
4603 * pp/Makefile.am: update
4605 2003-04-17 Philippe Elie <phil.el@wanadoo.fr>
4607 * libpp/format_output.h:
4608 * libpp/format_output.cpp:
4609 * libpp/outsymbflag.h:
4610 * libpp/profile_container.h:
4611 * libpp/profile_container.cpp: osf_header/osf_details are no longer
4612 flags but separate boolean.
4614 2003-04-17 Philippe Elie <phil.el@wanadoo.fr>
4617 * daemon/opd_kernel.c: remove leading '/' on module name fixing 2.5
4618 module not under {kern} and similar case for "no-vmlinux" with 2.4/2.5
4620 * libutil/op_file.c: tiny tidy
4622 2003-04-17 Philippe Elie <phil.el@wanadoo.fr>
4624 * libop/op_mangle.c: app_name and image was reversed, {dep} was missing
4626 2003-04-17 John Levon <levon@movementarian.org>
4628 * libpp/filename_spec.h:
4629 * libutil++/comma_list.h: compile fixes
4631 2003-04-17 Philippe Elie <phil.el@wanadoo.fr>
4633 * utils/opcontrol: better --reset handling
4635 2003-04-16 Philippe Elie <phil.el@wanadoo.fr>
4637 * dae works, daemon compiles but not tested.
4639 * libop/op_config.h:
4640 * libpp/op_session.h:
4641 * libpp/session.cpp:
4642 * pp/op_merge: handle new path to samples files.
4644 * libutil++/file_manip.h:
4645 * libutil++/file_manip.cpp: move create_dir(), create_path() ...
4646 * libutil/op_file.h:
4647 * libutil/op_file.c: here. Remove op_move_regular_file()
4649 * daemon/opd_image.c:
4650 * daemon/opd_sample_files.h:
4651 * daemon/opd_sample_files.c:
4653 * dae/opd_sample_files.h:
4654 * dae/opd_sample_files.c: use new filename scheme
4656 * daemon/oprofiled.c:
4657 * dae/oprofiled.c: remove samples files backup stuff
4659 * libop/op_mangle.h:
4660 * libop/op_mangle.c: ugly modification to handle new samples filename
4662 * utils/opcontrol: handle new samples files path, --save and --reset
4665 * gui/oprof_start_util.cpp: use new create_path() API
4667 2003-04-16 Philippe Elie <phil.el@wanadoo.fr>
4669 * pp/common_option.cpp:
4670 * pp/common_option.h:
4671 * libregex/demangle_symbol.cpp: rename demangle_and_shrink to
4674 2003-04-16 Philippe Elie <phil.el@wanadoo.fr>
4676 * starting branch pp-interface-branch
4679 * configure.in: handle new sub dir libpp
4681 * libutil++/comma_list.h: new file handling of comma separated list of
4683 * libutil++/generic_spec.cpp:
4684 * libutil++/generic_spec.h: new file
4685 * libutil++/Makefile.am: handle new file
4687 * pp/counter_array.*:
4688 * pp/counter_profile.*:
4689 * pp/counter_util.*:
4690 * pp/derive_files.*:
4691 * pp/format_output.*:
4695 * pp/profile_container.*:
4696 * pp/sample_container_imp.*:
4698 * pp/symbol_container_imp.*:
4699 * pp/symbol_functors.*: move to
4702 * libpp/filename_spec.cpp:
4703 * libpp/filename_spec.h: new file handling of pp sample filename
4704 * libpp/parse_cmdline.cpp:
4705 * libpp/parse_cmdline.h: new file, handling of command line tag:value
4706 * libpp/Makefile.am: new file build libpp.a
4708 * pp/common_option.h:
4709 * pp/common_option.cpp: common option to pp tools. Implement common
4710 entry point to pp tools.
4711 * pp/opannotate.cpp:
4715 * pp/opsummary.cpp: skeleton file for all pp tools.
4716 * pp/Makefile.am: remove old pp tools, add the news.
4718 2003-04-28 Alex Tsariounov <alext@fc.hp.com>
4720 * module/ia64/op_pmu.c: fix compile
4722 2003-04-24 Philippe Elie <phil.el@wanadoo.fr>
4724 * module/compat22.h: add cpuid_edx when linux version < 2.2.21
4726 2003-04-24 Dave Jones <davej@codemonkey.org.uk>
4728 * events/x86-64.hammer.events:
4729 * events/x86-64.hammer.unit_masks: typo fixes from AMD.
4730 * module/x86/cpu_type.c: Check for APIC on Athlon before enabling it.
4732 2003-04-15 Philippe Elie <phil.el@wanadoo.fr>
4734 * events/i386-ht.events: all events allow only one counter, remove
4735 three events due to ESCR restriction.
4736 * events/i386.events: add some comments.
4738 * module/x86/op_model_p4.c: synch with linux 2.5 mainline
4739 - except events CTR_BPU_0 all virtual counter was not working.
4740 - Prevents a segfault when using incorrect counter number.
4741 - ESCR event select is 6 bits length not 5.
4742 - Don't fail silently in p4_setup_ctrs().
4743 * module/x86/op_msr.h: match name used in linux.
4745 2003-04-15 John Levon <levon@movementarian.org>
4747 * doc/oprofile.1.in:
4748 * doc/oprofile.xml: small english fixes
4750 2003-04-14 Philippe Elie <phil.el@wanadoo.fr>
4756 * doc/oprofile.1.in:
4757 * doc/oprofile.xml: handle --no-vmlinux
4759 * daemon/opd_kernel.c: use no-vmlinux not /no-vmlinux when user
4760 specify --no-vmlinux
4762 2003-04-08 John Levon <levon@movementarian.org>
4764 * HACKING: describe what happens with oprofile-www
4766 2003-04-08 Philippe Elie <phil.el@wanadoo.fr>
4768 * libutil++/op_bfd.cpp: check for #717720 and direct user to
4769 FAQ if detected. Note than we don't detect all symptom of this bug.
4771 2003-04-08 Philippe Elie <phil.el@wanadoo.fr>
4773 * libutil++/op_exception.h: op_runtime_error is no longer abstract
4775 * libregex/op_regex.h: comment and tidy
4776 * libregex/op_regex.cpp: tidy
4778 2003-04-07 Philippe Elie <phil.el@wanadoo.fr>
4780 * pp/op_to_source.cpp: make each line be prefixed with the samples
4781 counts. It was too hard to find samples inside previous format.
4783 2003-04-07 Philippe Elie <phil.el@wanadoo.fr>
4785 * libutil++/string_manip.cpp: work around for gcc 2.95
4786 * p/op_to_source.cpp: minor cleanup
4788 2003-04-07 John Levon <levon@movementarian.org>
4790 * pp/op_to_source.cpp: cheat a bit to get
4791 better indentation on the default setup, by
4792 widening counter width to 7.
4794 2003-04-07 John Levon <levon@movementarian.org>
4796 * pp/op_to_source.cpp: append symbol summary
4797 annotations separate from the prolog samples on
4800 2003-04-07 John Levon <levon@movementarian.org>
4802 * pp/op_to_source.cpp: only output line 0 annotation
4803 if samples found there.
4805 2003-04-07 John Levon <levon@movementarian.org>
4807 * utils/opcontrol: make sure --ctrX-event=none gets noticed
4809 2003-04-06 John Levon <levon@movementarian.org>
4811 * libutil++/string_manip.h:
4812 * libutil++/string_manip.cpp: remove ws_prefix(). Add
4815 * pp/op_to_source.cpp: make each line be prefixed with
4816 the sample counts, instead of on a line above, to preserve
4819 2003-04-06 John Levon <levon@movementarian.org>
4821 * pp/op_to_source.cpp: some renamings for clarity
4823 2003-04-06 John Levon <levon@movementarian.org>
4825 * pp/op_to_source.cpp: move extract_blank_at_begin() to ...
4827 * libutil++/string_manip.cpp: ... here, and rename as
4830 2003-04-06 John Levon <levon@movementarian.org>
4832 * pp/op_to_source.cpp: prefix comment lines.
4833 Output the general footer on each separate file.
4834 Output the info at the bottom when outputting
4835 separate files (towards maintaining line numbering).
4837 2003-04-06 John Levon <levon@movementarian.org>
4839 * pp/op_to_source.cpp: construct a file-scope
4840 cmdline string, instead of passing it around.
4842 2003-04-06 John Levon <levon@movementarian.org>
4844 * libregex/op_regexp.cpp: re-arrange a bit
4846 2003-04-06 John Levon <levon@movementarian.org>
4849 * all Makefile.am: don't blindly set $LIBS, use
4850 explicit mention of which libs are needed.
4853 * daemon/Makefile.am: only link with C++ if needed.
4855 2003-04-05 Philippe Elie <phil.el@wanadoo.fr>
4857 * libop/op_config_24.h:
4858 * module/oprofile.c:
4859 * module/oprofile.c: make watermark size proportional to buffer size.
4861 2003-04-05 Philippe Elie <phil.el@wanadoo.fr>
4863 * libop/op_events.h:
4864 * libop/op_events.c: re-add op_min_count();
4867 * daemon/oprofiled.c: use op_min_count() fixing #715923
4869 2003-04-01 John Levon <levon@movementarian.org>
4871 * libdb/Makefile.am: fix make dist
4873 * daemon/opd_cookie.h: add SPARC syscall number.
4874 The system call function is OK for sparc/sparc64
4876 2003-03-31 Will Cohen <wcohen@redhat.com>
4878 * libdb/odb_hash.h: Renamed db_hash.h.
4884 * dae/opd_sample_files.c:
4885 * daemon/Makefile.am:
4886 * daemon/opd_image.c:
4887 * daemon/opd_image.h:
4888 * daemon/opd_sample_files.c:
4889 * libabi/Makefile.am:
4891 * libabi/abi_test.cpp:
4892 * libabi/op_import.cpp:
4893 * libdb/Makefile.am:
4896 * libdb/db_insert.c:
4897 * libdb/db_manage.c:
4900 * libdb/db_travel.c:
4902 * pp/counter_profile.cpp:
4903 * pp/counter_profile.h:
4904 * pp/op_merge.cpp: Change names to avoid libdb.a name conflicts.
4906 2003-03-30 John Levon <levon@movementarian.org>
4908 * configure.in: bump to 0.6cvs
4910 * doc/oprofile.xml: fix id. Add java etc. mention
4912 * utils/Makefile.am:
4914 * utils/op_start_25:
4919 * utils/op_session: finally remove the back compat crap
4921 * HACKING: add release-notes policy
4923 2003-03-30 John Levon <levon@movementarian.org>
4925 * configure.in: bump to 0.5.2
4927 2003-03-30 John Levon <levon@movementarian.org>
4929 * Makefile.am: remove op_arch.h for ia64
4931 2003-03-27 John Levon <levon@movementarian.org>
4933 * doc/oprofile.xml: several more examples and fixes
4935 2003-03-26 John Levon <levon@movementarian.org>
4937 From a patch by Bryan Rittmeyer.
4939 * module/oprofile.c:
4940 * module/oprofile.h: push "irq_enabled" test
4941 into arch code, don't pass struct pt_regs.
4943 * module/x86/op_arch.h: cleanups
4945 * module/x86/op_model_athlon.c:
4946 * module/x86/op_model_ppro.c:
4947 * module/x86/op_model_p4.c:
4948 * module/x86/op_rtc.c: changes from above
4950 * module/ia64/op_arch.h: remove
4951 * module/ia64/op_pmu.c: change from above
4953 2003-03-24 John Levon <levon@movementarian.org>
4955 * doc/oprofile.xml: document prologues, and inline functions
4957 2003-03-24 Will Cohen <wcohen@redhat.com>
4959 * libutil/op_fileio.c (op_get_line): Use lower cost getc().
4961 2003-03-24 John Levon <levon@movementarian.org>
4963 * m4/configmodule.m4: fix quoting problem for awk
4965 2003-03-23 John Levon <levon@movementarian.org>
4968 * m4/: move lots of stuff into separate .m4 files
4970 * m4/typedef.m4: improve configure message
4972 2003-03-23 John Levon <levon@movementarian.org>
4976 * m4/copyifchange.m4:
4978 * m4/kerneloption.m4:
4979 * m4/kernelversion.m4:
4980 * m4/resultyn.m4: move configure.in macros to m4/
4982 2003-03-23 John Levon <levon@movementarian.org>
4984 * m4/ChangeLog: add comment
4986 * m4/typedef.m4: can't use AC_LANG_PUSH/POP
4988 2003-03-23 Philippe Elie <phil.el@wanadoo.fr>
4993 * m4/typedef.m4: new file to get underlined type for a typedef.
4995 * configure.in: get at configure time the real underlined type
4996 for size_t and ptrdiff_t
4998 * libregex/stl.pat: move to ...
4999 * libregex/stl.pat.in: here. Use @SIZE_T_TYPE@ and @PTRDIFF_T_TYPE@
5000 * libregex/Makefile.am: update according
5001 * libregex/.cvsignore: ignore stl.pat
5003 2003-03-22 Philippe Elie <phil.el@wanadoo.fr>
5005 * utils/opcontrol: use $OP_HELP not op_help
5006 * utils/op_help.c: remove short option for --get-cpu-frequency
5008 2003-03-22 Philippe Elie <phil.el@wanadoo.fr>
5013 * m4/.cvsignore: new
5015 * acinclude.m4: move to
5017 * m4/Makefile.am: new for EXTRA_DIST = all our .m4
5020 * autogen.sh: handle m4 subdir, add -I m4 to aclocal flags
5022 2003-03-22 Philippe Elie <phil.el@wanadoo.fr>
5026 * libutil/op_cpufreq.c: typo in comment
5028 * utils/op_help.c: add --get-cpu-frequency, intentionnaly not
5030 * utils/opcontrol: use op_help --get-cpu-frequency and remove
5031 ugly shell script doing the same thing.
5033 2003-03-22 Philippe Elie <phil.el@wanadoo.fr>
5035 * libutil/op_cpufreq.h:
5036 * libutil/op_cpufreq.c: new file exporting op_cpu_frequency()
5037 * libutil/Makefile.am: update according
5039 * utils/opcontrol: handle other arch
5041 * gui/oprof_start_util.h:
5042 * gui/oprof_start_util.cpp: remove get_cpu_speed()
5043 * gui/oprof_start.h:
5044 * gui/oprof_start.cpp: and use instead op_cpu_frequency()
5046 * daemon/oprofiled.c:
5047 * dae/oprofiled.c: replace --cpu-speed option by a call to
5050 2003-03-20 John Levon <levon@movementarian.org>
5052 * doc/oprofile.xml: doc some 2.5 module stuff
5054 2003-03-20 John Levon <levon@movementarian.org>
5056 * utils/opcontrol: fix opcontrol --dump to do something
5058 * daemon/opd_image.c: give a printf when reading the buffer.
5060 2003-03-19 Philippe Elie <phil.el@wanadoo.fr>
5062 * libutil++/op_bfd.cpp: correct get_vma_range()
5064 * pp/oprofpp.cpp: do_dump_gprof() this time it's right!
5066 2003-03-18 John Levon <levon@movementarian.org>
5068 * pp/profile.cpp: improve mtime warning for 2.5 modules
5070 2003-03-18 John Levon <levon@movementarian.org>
5072 * pp/derive_files.cpp: some more 2.5 modules derivation fixes
5074 2003-03-18 Philippe Elie <phil.el@wanadoo.fr>
5076 * pp/derive_files.cpp: fix handling of 2.5 module name
5078 2003-03-18 John Levon <levon@movementarian.org>
5080 * daemon/opd_image.c:
5081 * libop/op_interface_25.h: rename to MODULE_LOADED_CODE
5083 2003-03-18 Philippe Elie <phil.el@wanadoo.fr>
5087 * pp/derive_files.cpp: special to retrieve 2.5 module
5089 2003-03-18 Philippe Elie <phil.el@wanadoo.fr>
5093 * pp/symbol_container_imp.h:
5094 * pp/symbol_container_imp.cpp:
5095 * pp/profile_container.h:
5096 * pp/profile_container.cpp: find(string symbol_name) return a vector
5097 of symbol rather a a single symbol
5098 * pp/oprofpp.cpp: use above change so oprofpp -s will show all
5099 symbol with the same name.
5101 * pp/symbol_functors.h: remove unused functors equal_symbol_by_name
5103 2003-03-17 Philippe Elie <phil.el@wanadoo.fr>
5107 * libutil/op_fileio.h:
5108 * libutil/op_fileio.c: op_write_u64() new
5109 * libutil/op_types.h: continue our silly typedef: add u64
5111 * libutil++/op_bfd.h:
5112 * libutil++/op_bfd.cpp: op_bfd::arch_bits_per_address() new allowing
5113 to get, on a per-binary basis, the vma size.
5115 * pp/oprofpp.cpp: fix 64 bits arch gprof output. Fix multiplier and
5116 get the multiplier of gprof file at runtime. Fix a very old bug
5117 where we credit the samples to previous gprof bin having the effect
5118 than sample at start of function was credited to the previous
5121 2003-03-17 John Levon <levon@movementarian.org>
5123 * daemon/opd_kernel.c:
5124 * daemon/opd_kernel.h:
5125 * daemon/opd_image.c:
5126 * daemon/oprofiled.c: don't try to reread the module
5127 list on a failed EIP match. We must have the module load
5128 notification instead.
5130 2003-03-17 John Levon <levon@movementarian.org>
5132 * daemon/opd_kernel.c: fix module accounting. Remove
5133 quick-drop code that can't work.
5135 * doc/oprofile.1.in:
5136 * doc/oprofile.xml: english tweaks
5138 2003-03-17 Philippe Elie <phil.el@wanadoo.fr>
5142 * doc/oprofile.1.in:
5143 * doc/oprofile.xml: remove documentation about -P, update doc about -p
5145 * pp/derive_files.h:
5146 * pp/derive_files.cpp: check_image_name(), add_to_alternate_filename()
5147 functions moved from op_time.cpp
5149 * pp/op_time_options.h:
5150 * pp/op_time_options.cpp:
5151 * pp/op_time.cpp: remove -P option, minor cleanup
5153 * pp/oprofpp_options.h:
5154 * pp/oprofpp_options.cpp:
5155 * pp/oprofpp.cpp: add -p option, minor cleanup
5157 * pp/op_to_source.cpp: minor cleanup
5159 2003-03-16 Philippe Elie <phil.el@wanadoo.fr>
5161 * utils/opcontrol: check return code for --ctr??-event=none
5163 2003-03-16 Philippe Elie <phil.el@wanadoo.fr>
5165 * gui/oprof_start.cpp: check for --separate=xxxx in the right order.
5166 Old code do: if user set separate=library and separate=kernel only
5167 separate=library was taken by opcontrol
5169 2003-03-16 Philippe Elie <phil.el@wanadoo.fr>
5171 * configure.in: typo
5173 2003-03-16 John Levon <levon@movementarian.org>
5175 * configure.in: more docbook macro fixes
5177 2003-03-15 Philippe Elie <phil.el@wanadoo.fr>
5179 * libutil/op_libiberty.h: cut&paste typo breaking compilation on box
5182 * daemon/opd_image.c: remove bogus fprintf. compilation was broken
5185 * configure.in: xsltproc checking fix, was always accepted even
5186 on box where xsltproc is not installed
5188 2003-03-15 Philippe Elie <phil.el@wanadoo.fr>
5192 * Makefile.am: add ChangeLog-2002 in dist files
5193 * all Makefile.am: put one item by line for most xxxx = blah
5194 * doc/CodingStyle: rationale for the above change
5196 2003-03-15 Philippe Elie <phil.el@wanadoo.fr>
5198 * libop/op_events.c: minor cleanup
5200 2003-03-15 Dave Jones <davej@codemonkey.org.uk>
5202 * module/x86/op_nmi.c: Remove stale debug code from yesterdays commit.
5204 2003-03-15 Philippe Elie <phil.el@wanadoo.fr>
5206 * configure.in: add checking for existence of xmemdup()
5208 * libutil/Makefile.am:
5209 * libutil/op_string.h:
5210 * libutil/op_string.c: new, a few C string handling function
5212 * libutil/op_libiberty.h:
5213 * libutil/op_libiberty.c: xmemdup() new.
5215 * libop/op_events.h:
5216 * libop/op_events.c: tidy parser. Add op_free_events(). Fix minor
5220 * daemon/oprofiled.c: fix memleak from parsing events files
5223 * pp/Makefile.am: fix lib ordering, now libop depend on libutil
5225 * utils/op_help.c: error message if invalid cpu type. Fix op_help
5226 when using timer interrupt.
5228 2003-03-14 Andi Kleen <ak@suse.de>
5230 * module/x86/op_nmi.c: Fix another possible race condition.
5232 2003-03-14 Philippe Elie <phil.el@wanadoo.fr>
5236 * libregex/stl.pat: support for rb tree, set/map, anonymous namespace.
5237 Fix incorrect pattern for gcc 3.2. Handle 2.95 vector/string
5238 iterator and a few stl free function handling. add all C++ base type.
5239 * libregex/mangled-name.txt: test for the above change
5241 2003-03-14 Philippe Elie <phil.el@wanadoo.fr>
5243 * gui/oprof_start.cpp: gcc 2.91 warning work around
5245 2003-03-14 Philippe Elie <phil.el@wanadoo.fr>
5247 * libop/op_events.c: fix a daemon segfault depending on the used
5248 libc version, added 2003-03-04 (0.5.1 is ok)
5250 2003-03-13 Dave Jones <davej@codmeonkey.org.uk>
5252 * events/x86-64.hammer.events: Remove duplicate minimum tag
5253 from RETIRED_INSNS counter.
5255 2003-03-11 John Levon <levon@movementarian.org>
5257 * module/ia64/op_pmu.c: include op_arch.h not arch.h
5259 2003-03-10 Philippe Elie <phil.el@wanadoo.fr>
5261 * configure.in: remove unsupported --warnnet, fix docbook root dir test
5262 * doc/oprofile.xml: typo
5264 2003-03-10 John Levon <levon@movementarian.org>
5268 * doc/xsl/catalog-1.xml.in: more docbook changes
5270 2003-03-10 John Levon <levon@movementarian.org>
5274 * doc/xsl/xhtml.xsl:
5275 * doc/xsl/xhtml-chunk.xsl:
5276 * doc/xsl/catalog-1.xml.in: Use a catalog for finding
5277 the XSL, so we only have one .in file now.
5279 2003-03-08 Will Cohen <wcohen@redhat.com>
5281 * doc/Makefile.am: Correct path for htmldir.
5283 2003-03-08 John Levon <levon@movementarian.org>
5285 * libop/op_cpu_type.c: improve error message
5287 * utils/op_help.c: show CPU name in events list. Show CPU
5288 pretty name in op_help --get-cpu-type.
5290 2003-03-08 John Levon <levon@movementarian.org>
5292 * configure.in: specify distcheck ./configure flags.
5293 Add version.h to distclean.
5296 * doc/xsl/xhtml-1.in:
5297 * doc/xsl/xhtml-chunk-1.in: fix make distcheck
5299 2003-03-08 Philippe Elie <phil.el@wanadoo.fr>
5301 * doc/xsl/.cvsignore: update
5303 * module/x86/cpu_type.c: <smpboot.h> is not necessary
5305 2003-03-07 John Levon <levon@movementarian.org>
5307 * README: document autogen.sh
5309 2003-03-07 Philippe Elie <phil.el@wanadoo.fr>
5313 * doc/xsl/xhtml.xsl.in: move to
5314 * doc/xsl/xhtml-1.xsl.in: here
5315 * doc/xsl/xhtml-chunk.xsl.in: move to
5316 * doc/xsl/xhtml-chunk-1.xsl.in: here
5317 * doc/Makefile.am; update according
5318 * configure.in: avoid to touch doc/xsl generated files
5320 2003-03-07 Philippe Elie <phil.el@wanadoo.fr>
5324 * daemon/opd_image.c:
5325 * daemon/op_stats.c:
5326 * daemon/opd_stats.h: add statistics for nil image whilst receiving
5329 2003-03-06 Philippe Elie <phil.el@wanadoo.fr>
5334 * libdb/db_insert.c: get error message from db_insert()
5338 * daemon/opd_image.c:
5339 * libabi/abi_test.cpp:
5340 * libabi/op_import.cpp:
5341 * pp/op_merge.cpp: update according to the new api
5343 2003-03-06 John Levon <levon@movementarian.org>
5345 * doc/oprofile.xml: pedantry
5347 2003-03-06 Philippe Elie <phil.el@wanadoo.fr>
5351 * doc/oprofile.1.in:
5352 * doc/oprofile.xml: document --smart-demangle
5354 2003-03-06 Philippe Elie <phil.el@wanadoo.fr>
5356 * module/ia64/op_pmu.c:
5357 * module/x86/op_nmi.c: remove #include <op_events.h>
5359 2003-03-06 John Levon <levon@movementarian.org>
5361 * utils/opcontrol: sh != C. This is the last opcontrol
5362 bug, honest ! OK, maybe not.
5364 2003-03-06 Philippe Elie <phil.el@wanadoo.fr>
5368 * gui/oprof_start.cpp: save_config() gcc 2.95.3 warning work-around
5370 2003-03-05 John Levon <levon@movementarian.org>
5372 * utils/opcontrol: Make --setup optional (e.g.
5373 opcontrol --no-vmlinux). Fix a bug in the --setup
5374 exclusive arg testing.
5376 * doc/oprofile.xml: reflect the above
5378 2003-03-05 John Levon <levon@movementarian.org>
5380 * libutil++/string_manip.h:
5381 * libutil++/string_manip.cpp: cleanup, use s.find
5382 because older gcc's don't have the right s.compare
5384 2003-03-04 John Levon <levon@movementarian.org>
5386 * utils/opcontrol: only sleep 2 after dump on 2.4
5388 2003-03-04 John Levon <levon@movementarian.org>
5390 * configure.in: tweak the xsltproc test
5392 2003-03-04 John Levon <levon@movementarian.org>
5395 * doc/Makefile.am: don't try to build the docs
5398 2003-03-04 John Levon <levon@movementarian.org>
5401 * daemon/opd_kernel.h:
5402 * daemon/opd_image.c:
5403 * daemon/opd_kernel.c:
5404 * daemon/oprofiled.c: implement --no-vmlinux.
5405 Remove back compat for is_kernel.
5407 * gui/uioprof_start.base.ui:
5408 * gui/oprof_start.cpp:
5409 * gui/oprof_start_config.h:
5410 * gui/oprof_start_config.cpp: support the above
5412 * doc/oprofile.1.in:
5413 * doc/oprofile.xml: doc the above
5415 2003-03-04 John Levon <levon@movementarian.org>
5417 * utils/opcontrol: allow --version, --help early on
5419 2003-03-04 John Levon <levon@movementarian.org>
5421 * libop/op_events.c: alter the parser to give file/linenr on
5422 error, and handle more whitespace.
5424 2003-03-04 John Levon <levon@movementarian.org>
5426 * gui/oprof_start.cpp:
5427 * gui/oprof_start.h:
5428 * gui/oprof_start_config.cpp:
5429 * gui/oprof_start_config.h:
5431 * libutil++/string_manip.h:
5432 * libutil++/string_manip.cpp: add is_prefix(),
5433 make the trimmers take an argument
5435 2003-03-04 John Levon <levon@movementarian.org>
5437 * gui/oprof_start.cpp:
5438 * gui/oprof_start.h:
5439 * gui/oprof_start_config.cpp:
5440 * gui/oprof_start_config.h:
5441 * gui/persistent_config.h:
5443 * libutil++/string_manip.h:
5444 * libutil++/string_manip.cpp: add split(), tobool(), touint()
5446 * utils/opcontrol: don't write BUF_SIZE twice. Write
5447 RTC_VALUE properly. Write KERNEL_ONLY
5449 2003-03-03 John Levon <levon@movementarian.org>
5451 * gui/oprof_start.cpp: use --ctrX-event=none,
5452 --separate=none. --pid/pgrp-filter=0 was already
5455 2003-03-03 John Levon <levon@movementarian.org>
5457 * doc/oprofile.1.in:
5459 * doc/opcontrol: add --ctrX-event=none
5461 2003-03-03 Will Cohen <wcohen@redhat.com>
5463 * gui/oprof_start.cpp (oprof_start::on_start_profiler): Limit
5464 check to only utm_bitmask.
5466 2003-03-03 Will Cohen <wcohen@redhat.com>
5468 * events/ia64.itanium2.events:
5469 * events/ia64.itanium2.unit_masks: Add Itanium 2 events.
5471 2003-03-03 Will Cohen <wcohen@redhat.com>
5473 * libop/op_events.h:
5474 * libop/op_events.c: Correct checking for the number of unit
5477 2003-03-03 John Levon <levon@movementarian.org>
5479 * doc/oprofile.1.in:
5480 * doc/oprofile.xml: another round of cleanups
5482 * pp/op_merge.cpp: --counter not --use-counter,
5485 2003-03-03 John Levon <levon@movementarian.org>
5487 Patch from Chris Moller, modified.
5490 * dae/opd_sample_files.c:
5491 * daemon/opd_image.c:
5492 * daemon/opd_sample_files.c:
5493 * libabi/abi_test.cpp:
5494 * libabi/op_import.cpp:
5496 * libdb/db_insert.c:
5497 * libdb/db_manage.c:
5499 * pp/counter_profile.cpp:
5500 * pp/op_merge.cpp: push asserts in libdb down into
5503 2003-03-03 John Levon <levon@movementarian.org>
5506 * doc/oprofile.1.in:
5507 * utils/opcontrol: add --separate=none, --pid/pgrp-filter=non
5509 2003-03-03 John Levon <levon@movementarian.org>
5514 * doc/xsl/xhtml-chunk.xsl.in:
5515 * doc/xsl/xhtml.xsl.in:
5516 * doc/xsl/xhtml-common.xsl: Add version to the
5517 docs. Some doc cleanups
5519 2003-03-02 John Levon <levon@movementarian.org>
5521 * utils/opcontrol: --separate=library should turn kernel off
5523 2003-03-02 John Levon <levon@movementarian.org>
5525 * events/Makefile.am: fix uninstall
5527 2003-03-02 John Levon <levon@movementarian.org>
5529 * doc/oprofile.xml: more re-workings prodded by aeb
5531 2003-03-02 John Levon <levon@movementarian.org>
5533 * daemon/opd_kernel.c: remove /proc/ksyms reading
5535 2003-03-02 John Levon <levon@movementarian.org>
5537 * libutil/op_fileio.c: change op_get_line to return
5538 NULL on EOF. Also bump up the default allocation some.
5541 * dae/opd_parse_proc.c:
5542 * daemon/opd_kernel.c:
5543 * libop/op_events.c: changes from the above
5545 2003-03-02 John Levon <levon@movementarian.org>
5549 * events/: add text files describing the CPU counters
5550 and unit masks. Install them.
5552 * libop/op_events.h:
5553 * libop/op_events.c: remove the bletcherous hard coded
5556 * module/ia64/op_pmu.c:
5557 * module/x86/op_nmi.c: remove another big of validation
5559 * libutil/op_list.h: make C++ friendly
5561 * libop/op_cpu_type.h:
5562 * libop/op_cpu_type.c: add op_get_cpu_name()
5565 * libop/op_events_desc.h:
5566 * libop/op_events_desc.cpp: removed
5568 * libop++/op_print_event.cpp:
5569 * utils/Makefile.am:
5571 * gui/oprof_start.h:
5572 * gui/oprof_start.cpp: changes from above
5574 2003-03-01 John Levon <levon@movementarian.org>
5576 * doc/oprofile.xml: tweaks
5578 * utils/opcontrol: scale the default event count. Please
5581 2003-03-01 John Levon <levon@movementarian.org>
5583 * utils/opcontrol: setup default events. Allow part-setting
5584 using --setup. Fix a help text.
5586 * doc/oprofile.xml: changes from the above
5588 2003-03-01 John Levon <levon@movementarian.org>
5590 * libop/op_cpu_type.c: fix alpha/ev4 mis-detection
5592 2003-03-01 John Levon <levon@movementarian.org>
5594 * doc/oprofile.xml: expand intro a little, small fixes
5596 2003-03-01 John Levon <levon@movementarian.org>
5598 * pp/format_output.cpp: use "%" not "%-age"
5600 2003-02-28 John Levon <levon@movementarian.org>
5602 * utils/opcontrol: fix IS_TIMER setting, noticed by
5605 2003-02-28 John Levon <levon@movementarian.org>
5607 * configure.in: bump to 0.6cvs
5609 2003-02-28 John Levon <levon@movementarian.org>
5611 * doc/Makefile.am: tweak
5613 * libregex/Makefile.am: fix make dist
5615 2003-02-27 John Levon <levon@movementarian.org>
5617 * configure.in: bump to 0.5.1
5619 2003-02-27 John Levon <levon@movementarian.org>
5621 * doc/oprofile.xml: clarify --separate=kernel
5623 2003-02-25 John Levon <levon@movementarian.org>
5625 * configure.in: clarify --with-kernel-support
5627 * libop/op_events.c:
5628 * module/x86/op_nmi.c:
5629 * module/ia64/op_nmi.c: remove sanity checking - it's
5630 the wrong place to have such code, is a barrier to op_events
5631 cleanup, and makes life harder for NDAers.
5633 2003-02-25 Will Cohen <wcohen@redhat.com>
5635 * utils/opcontrol (do_deinit): Correct search for /dev/oprofile.
5637 2003-02-24 Dave Jones <davej@codemonkey.org.uk>
5639 * module/x86/op_apic.[c|h]: move NMI gate setup to architecture
5640 specific SET_NMI_GATE macro. x86=no change.
5641 Make x86-64 use the kernels _set_gate instead of its own open
5644 2003-02-23 John Levon <levon@movementarian.org>
5646 * version-1.h.in: another rename
5648 2003-02-23 John Levon <levon@movementarian.org>
5650 * configure.in: set up OP_DATADIR and OP_BINDIR
5652 * gui/oprof_start.cpp:
5653 * libregex/demangle_symbol.cpp: use the above
5655 * version_tpl.h.in: move to ...
5657 * version.h.in.in: ... here
5659 2003-02-23 Philippe Elie <phil.el@wanadoo.fr>
5663 * configure.in: add AX_COPY_IF_CHANGE() use it to generate version.h
5664 * .cvsignore: update
5667 * gui/oprof_start.cpp:
5668 * libregex/Makefile.am:
5669 * libregex/demangle_symbol.cpp: don't use -DBINDIR, rather include
5670 version.h to get install path
5672 2003-02-23 John Levon <levon@movementarian.org>
5674 * README: quick start build insns
5676 2003-02-23 Philippe Elie <phil.el@wanadoo.fr>
5680 * libregex/Makefile.am: install stl.pat in $prefix/share/oprofile
5681 * libregex/demangle_symbol.cpp: use DATADIR not BINDIR
5682 * libregex/magle-name.txt: add test for pointer
5683 * libregex/stl.pat: partial support for pointer
5685 2003-02-23 John Levon <levon@movementarian.org>
5687 * autogen.sh: error out if options passed
5689 2003-02-23 John Levon <levon@movementarian.org>
5691 * libregex/op_regex.h:
5692 * libregex/regex_test.cpp: fix std::
5694 2003-02-23 Philippe Elie <phil.el@wanadoo.fr>
5696 * libutil++/demangle_symbol.cpp:
5697 * libutil++/demangle_symbol.h: move to
5698 * libregex/demangle_symbol.cpp:
5699 * libregex/demangle_symbol.h: here to avoid circular reference between
5700 libutil++ and libregex
5701 * libregex/Makefile.am:
5702 * libutil++/Makefile.am: update according to file move
5706 * pp/op_time_options.cpp:
5707 * pp/op_to_source.cpp:
5708 * pp/op_to_source_options.cpp:
5710 * pp/oprofpp_options.cpp: add -D --Demangle options enabling C++
5711 demangled name filtering.
5713 2003-02-23 Philippe Elie <phil.el@wanadoo.fr>
5715 * libutil++/string_manip.h:
5716 * libutil++/string_manip.cpp: trim(), ltrim(), rtrim() new functions
5718 * Makefile.am: handle libregex directory
5719 * configure.in: handle libregex/Makefile
5721 * libregex/.cvsignore:
5722 * libregex/Makefile.am :
5723 * libregex/mangled-name.txt:
5724 * libregex/op_regex.cpp:
5725 * libregex/op_regex.h:
5726 * libregex/regex_test.cpp:
5727 * libregex/stl.pat: new file implementing a match and replace regular
5728 expression around glibc regex. Not used for now, next commit will
5729 use this for pp tools C++ name demangling.
5731 2003-02-22 John Levon <levon@movementarian.org>
5733 * configure.in: fix X, non-Qt build case
5735 2003-02-22 John Levon <levon@movementarian.org>
5737 * libutil++/Makefile.am: fix make dist
5739 2003-02-21 Dave Jones <davej@codemonkey.org.uk>
5741 * configure.in: Enable building on hammer again.
5743 2003-02-21 John Levon <levon@movementarian.org>
5745 * utils/opcontrol: "Params used" was lying
5747 2003-02-20 John Levon <levon@movementarian.org>
5749 * daemon/opd_image.c: Fixed a bitch of a bug with separate-kernel,
5750 now attribution of kernel samples should be more accurate
5752 2003-02-20 John Levon <levon@movementarian.org>
5754 * utils/opcontrol: set LIB_SAMPLES if KERNEL_SAMPLES in .daemonrc
5756 2003-02-20 John Levon <levon@movementarian.org>
5760 * daemon/opd_stats.h:
5761 * daemon/opd_stats.c:
5763 * daemon/opd_image.c: remove unused OPD_SAMPLE_COUNTS. Actually
5764 count samples for 2.5
5766 2003-02-20 John Levon <levon@movementarian.org>
5768 * libop/op_interface_25.h:
5769 * daemon/opd_kernel.c: implement module dropping
5771 * daemon/opd_image.c:
5772 * daemon/opd_kernel.c: attempt to make verbose logs
5775 2003-02-22 Dave Jones <davej@codemonkey.org.uk>
5777 * libop/op_events.c: segregload is utm_mask not utm_exclusive
5779 2003-02-20 Philippe Elie <phil.el@wanadoo.fr>
5783 * pp/output_format.h:
5784 * pp/output_format.cpp:
5787 * pp/opp_symbol.h: better handling of 64/32 bits bfd_vma
5790 2003-02-20 John Levon <levon@movementarian.org>
5792 * libutil++/op_exception.h:
5793 * libutil++/op_exception.cpp: throw() where needed
5795 2003-02-19 Philippe Elie <phil.el@wanadoo.fr>
5799 * daemon/opd_image.h:
5800 * daemon/opd_image.cpp:
5801 * daemon/opd_kernel.cpp: fix thinko with --separate=kernel resulting
5802 in duplicate opening of the same samples file.
5804 2003-02-19 Philippe Elie <phil.el@wanadoo.fr>
5806 * libutil++/op_exception.h:
5807 * libutil++/op_exception.cpp: new files, base class for exception.
5810 2003-02-19 John Levon <levon@movementarian.org>
5812 * acinclude.m4: update from upstream
5814 * gui/ui/oprof_start.base.ui:
5815 * gui/oprof_start.cpp: separate --setup,--start.
5816 Hide non-2.5 stuff in 2.5.
5818 2003-02-18 Philippe Elie <phil.el@wanadoo.fr>
5822 * dae/opd_sample_files.c:
5823 * daemon/opd_sample_files.c: opd_handle_old_sample_file() don't
5824 try to delete old samples files if they don't exist.
5826 2003-02-18 Will Cohen <wcohen@redhat.com>
5828 * utils/opcontrol (do_options): Better option error checking.
5830 2003-02-17 Will Cohen <wcohen@redhat.com>
5832 * pp/format_output.h (show_help): namespace std.
5834 2003-02-17 Will Cohen <wcohen@redhat.com>
5838 2003-02-17 Philippe Elie <phil.el@wanadoo.fr>
5840 From Anton Blanchard :
5842 * daemon/opd_image.c: cookie_t fix for 64 bits
5844 2003-02-17 Philippe Elie <phil.el@wanadoo.fr>
5848 * libopt++/popt_options.cpp:
5849 * libopt++/popt_options.h: handle an user specific additional
5852 * pp/output_format.h:
5853 * pp/output_format.cpp:
5854 * pp/op_time_options.cpp:
5855 * pp/oprofpp_options.cpp: use it to show in --output_format
5858 2003-02-14 Philippe Elie <phil.el@wanadoo.fr>
5860 * doc/oprofile.1.in:
5862 * pp/oprofpp_options.cpp: allow --show-shared-libs with -s
5864 2003-02-13 Philippe Elie <phil.el@wanadoo.fr>
5868 * pp/output_format.h:
5869 * pp/output_format.cpp: fix #686272, crash when using
5870 oprofpp -s symb_name.
5872 2003-02-13 Philippe Elie <phil.el@wanadoo.fr>
5876 * dae/opd_image.c: don't use hash entry zero for kernel image
5879 2003-02-13 Will Cohen <wcohen@redhat.com>
5881 * daemon/opd_cookie.h(opd_nr_lookup_dcookie): Correct number.
5883 2003-02-13 Will Cohen <wcohen@redhat.com>
5885 * daemon/opd_cookie.h(opd_nr_lookup_dcookie): Add x86_64.
5887 2003-02-13 John Levon <levon@movementarian.org>
5889 * dae/opd_image.c: little cleanup and fix error message
5892 2003-02-12 Philippe Elie <phil.el@wanadoo.fr>
5894 * doc/oprofile.1.in:
5895 * doc/oprofile.xml: enhance doc about --separate=kernel
5897 * utils/opcontrol: handle gracefully opcontrol --deinit if profiler
5898 was already shutdown. Avoid wrong warning when umount /dev/oprofile
5900 2003-02-12 Will Cohen <wcohen@redhat.com>
5902 * gui/oprof_start.cpp (oprof_start::oprof_start,
5903 oprof_start::on_flush_profiler_data,
5904 oprof_start::on_start_profiler,
5905 oprof_start::on_stop_profiler): Use opcontrol.
5906 * gui/oprof_start_util.cpp (daemon_status::daemon_status):
5907 Allow reading interrupt info from new kernel interface.
5908 * libop/op_get_interface.c: New.
5909 * libop/Makefile.am: Add libop/op_get_interface.c.
5910 * libop/op_cpu_type.h: Add enum op_interface.
5912 I Added some bits. Phil
5913 * gui/oprof_start.cpp: correct --separate= handling
5914 * gui/oprof_start_util.cpp: read only the real number of interrupts
5916 2003-02-12 Philippe Elie <phil.el@wanadoo.fr>
5918 * utils/opcontrol: handle --note-table-size --kernel-only (2.4 kernel)
5920 2003-02-12 Philippe Elie <phil.el@wanadoo.fr>
5922 * utils/op_start: map --separate-samples to daemon option
5923 --separate-lib-samples.
5925 2003-02-11 Philippe Elie <phil.el@wanadoo.fr>
5930 * dae/opd_parse_proc.c:
5933 * dae/opd_sample_files.c:
5935 * daemon/opd_image.c:
5936 * daemon/opd_image.h:
5937 * daemon/opd_kernel.c:
5938 * daemon/opd_kernel.h:
5939 * daemon/opd_sample_files.c:
5940 * daemon/oprofiled.c: per application kernel samples files
5942 * doc/oprofile.1.in:
5943 * doc/oprofile.xml: document opcontrol --separate=kernel
5945 * gui/oprof_start.cpp:
5946 * gui/oprof_start_config.cpp:
5947 * gui/oprof_start_config.h:
5948 * gui/ui/oprof_start.base.ui: remove ignore_daemon checkbox, handle
5949 --separate=[library|kernel]
5951 * libop/op_sample_file.h: add separate_kernel_samples field, file
5952 format is backward compatible
5955 * libabi/abi_test.cpp:
5956 * libabi/op_import.cpp: handle new samples file header field
5958 * pp/counter_profile.cpp: dump new sample files header field.
5960 * utils/opcontrol: handle --separate=kernel
5962 2003-02-09 Will Cohen <wcohen@redhat.com>
5964 * utils/opcontrol: Add rtc-value option.
5966 2003-02-09 John Levon <levon@movementarian.org>
5968 * utils/opcontrol: stale lock file detection
5970 2003-02-06 Will Cohen <wcohen@redhat.com>
5972 * utils/opcontrol (do_dump): Do not exit if no daemon.
5974 2003-02-06 Will cohen <wcohen@redhat.com>
5976 * doc/oprofile.1.in: Update man page information.
5978 2003-02-03 John Levon <levon@movementarian.org>
5980 * configure.in: 0.6cvs
5982 2003-02-02 John Levon <levon@movementarian.org>
5984 * configure.in: bump to 0.5
5986 2003-02-02 John Levon <levon@movementarian.org>
5988 * configure.in: disable x86_64
5990 2003-02-02 John Levon <levon@movementarian.org>
5992 * pp/format_output.cpp: revert previous patch, Phil's
5993 x86 binutils is built with 64-bit bfd_vma
5995 2003-02-01 John Levon <levon@movementarian.org>
5997 * utils/opcontrol: rename --separate-samples to --separate=library
5998 for future proofing.
6000 * pp/format_output.cpp: output vma at a suitable width
6002 2003-01-31 Will Cohen <wcohen@redhat.com>
6004 * utils/opcontrol(get_kernel_range): Match only .text segment.
6006 2003-01-31 Graydon Hoare <graydon@redhat.com>
6009 * libabi/abi_test.cpp
6010 * libabi/op_import.cpp: Treat endianness as a property of the datum
6011 being imported, rather than the memory architecture.
6013 2003-01-31 Dave Jones <davej@codemonkey.org.uk>
6015 * module/x86/op_model_athlon.c: Don't poke reserved bits in the counter.
6016 Only rdmsr/wrmsr counters that we've enabled in the NMI handler.
6017 ulong->uint conversion.
6019 2003-01-30 Philippe Elie <phil.el@wanadoo.fr>
6021 From Randolph Chung :
6023 * daemon/opd_cookie.h: add parisc support
6025 2003-01-30 John Levon <levon@movementarian.org>
6027 From Anton Blanchard :
6029 * daemon/opd_cookie.h: add ppc32/64
6031 * utils/op_start_25: fix start of kernel for ppc
6033 2003-01-30 Will Cohen <wcohen@redhat.com>
6035 * utils/opcontrol(get_kernel_range): Avoid using perl arithmetic.
6037 2003-01-29 Dave Jones <davej@codemonkey.org.uk>
6039 * utils/opcontrol: Trying to use the options --pid-filter=pid and
6040 --pgmr-filter=pgmr, opcontrol returned "command not found.
6041 This was due to 2 missing 'test' statements.
6043 2003-01-29 Philippe Elie <phil.el@wanadoo.fr>
6045 * pp/op_to_source.cpp: read vma with strtoull not strtoul fixing
6046 32/64 failure to read output of objdump
6048 2003-01-29 Dave Jones <davej@codemonkey.org.uk>
6050 * libop/op_cpu_type.c: Clue the user in on why the cpu type isn't
6051 recognised, by suggesting the module wasn't loaded.
6052 * libop/op_events.c: Doh, unit masks use bit numbers, not values.
6054 2003-01-28 Philippe Elie <phil.el@wanadoo.fr>
6056 * utils/op_help.c: get cpu type only if not forced on command line.
6057 Avoid wrong warning about unsupported cpu type.
6059 2003-01-27 Will Cohen <wcohen@redhat.com>
6061 * daemon/opd_cookie.h(opd_nr_lookup_dcookie): Add ia64 version.
6063 2003-01-27 Dave Jones <davej@codemonkey.org.uk>
6065 * libop/op_events.c: K8 HT events are utm_exclusive, not utm_bitmask
6066 * libop/op_events.c: Add additional K8 unit masks.
6068 2003-01-23 Philippe Elie <phil.el@wanadoo.fr>
6070 * libop/op_interface_25.h:
6071 * daemon/opd_image.c: prepare drop modules support. exit() when
6072 receiving unknown escape code.
6074 2003-01-23 Randolph Chung <tausq@debian.org>
6076 Added minor change: backward compatibility, u_int to uint, fix
6077 32/64 bits escape code marker comparison. Phil
6079 * libop/op_interface_25.h:
6080 * daemon/opd_kernel.c:
6081 * daemon/opd_image.c: new scheme to recognize kernel or user space
6082 eip, now kernel module pass the relevent information through
6085 2003-01-21 Dave Jones <davej@codemonkey.org.uk>
6087 * libop/op_events.c: Add unit mask for Hypertransport events.
6089 2003-01-21 Dave Jones <davej@codemonkey.org.uk>
6091 * libop/op_events.c: Add x86-64 specific events.
6093 2003-01-21 Philippe Elie <phil.el@wanadoo.fr>
6095 * daemon/opd_kernel.c: use sscanf to parse /proc/modules
6097 2003-01-20 Philippe Elie <phil.el@wanadoo.fr>
6099 * daemon/opd_kernel.c: more robust /proc/modules parsing.
6101 2003-01-20 Philippe Elie <phil.el@wanadoo.fr>
6103 * daemon/opd_kernel.c: 2.5 modules support, for now I keep
6104 the code for /proc/ksyms parsing in daemon. Let's it living a few
6107 2003-01-18 Falk Hueffner <falk@debian.org>
6109 I added to the original patch all %L to %ll, Phil
6111 * daemon/opd_image.c:
6112 * daemon/opd_kernel.c:
6113 * libutil/op_types.h: 64 bits printf/scanf safety.
6115 2003-01-18 Falk Hueffner <falk@debian.org>
6117 * libop/op_cpu_type.h:
6118 * libop/op_cpu_type.c: add Alpha CPU families.
6119 * libop/op_events.h: make op_event.cpu_mask u32, since we now have
6120 more than 16 CPU types
6121 * libop/op_hw_config.h: bump OP_MAX_COUNTERS to 20 for Alpha
6122 * libop/op_events.c: add Alpha events
6123 * daemon/opd_cookie.h: add dcookie syscall number for Alpha
6124 * utils/op_help.c (main): add help string for Alpha
6126 2003-01-18 John Levon <levon@movementarian.org>
6128 * module/Makefile.in:
6129 * module/x86/Makefile.in:
6130 * module/ia64/Makefile.in: kernel headers are too fubar
6131 for -Werror. So I'm taking my ball home.
6133 2003-01-17 John Levon <levon@movementarian.org>
6136 * doc/CodingStyle: add
6138 2003-01-17 John Levon <levon@movementarian.org>
6140 * TODO: some updates
6142 2003-01-15 Philippe Elie <phil.el@wanadoo.fr>
6144 * module/x86/op_model_p4.c: pmc_setup_one_p4_counter() show clearly
6145 than event == 0 is an error
6147 2003-01-15 John Levon <levon@movementarian.org>
6149 * utils/opcontrol: prefer oprofiled/op_help binaries in the same
6152 2003-01-12 Philippe Elie <phil.el@wanadoo.fr>
6154 * libop/op_events.c: rename OP_P4_HT2 to OP_P4_ALL
6156 2003-01-12 Philippe Elie <phil.el@wanadoo.fr>
6158 * libop++/op_print_event.cpp: no event,nor unit mask for CPU_TIMER_INT,
6159 problem reported by Ka Fai Lu.
6161 2003-01-12 John Levon <levon@movementarian.org>
6165 * libop/op_cpu_type.h:
6166 * libop/op_cpu_type.c: add P4 HT
6168 * libop/op_events.c: tag P4 HT events
6170 2003-01-11 Randolph Chung <tausq@debian.org>
6172 * daemon/oprofiled.c: fix ELF sniff
6174 2003-01-11 John Levon <levon@movementarian.org>
6176 * daemon/opd_image.c: bail out immediately on dcookie
6179 2003-01-10 John Levon <levon@movementarian.org>
6181 * daemon/opd_cookie.h: insulate against missing arch support
6182 for sys_lookup_dcookie
6184 * daemon/opd_image.c: use the above
6186 2003-01-10 John Levon <levon@movementarian.org>
6188 * daemon/opd_image.c:
6189 * daemon/oprofiled.c: move complete_dump to a better place
6191 2003-01-10 John Levon <levon@movementarian.org>
6193 * libutil/op_types.h: add cookie_t and vma_t
6195 * daemon/opd_image.c:
6196 * daemon/opd_image.h:
6197 * daemon/opd_kernel.c:
6198 * daemon/opd_kernel.h: use above types, and kernel_pointer_size
6200 * daemon/oprofiled.c: sniff /proc/kcore for kernel_pointer_size
6202 2003-01-10 Philippe Elie <phil.el@wanadoo.fr>
6204 * libopt++/popt_options.cpp:
6205 * libopt++/popt_options.h: work-around to support both gcc new parser
6208 2003-01-08 John Levon <levon@movementarian.org>
6210 * libop/op_type.cpp: support for ascii-string cpu types
6212 2003-01-08 Philippe Elie <phil.el@wanadoo.fr>
6214 * libutil++/op_bfd.cpp:
6215 * libutil++/op_bfd.h:
6216 * pp/oprofpp.cpp: more use of bfd_vma
6218 2003-01-08 Philippe Elie <phil.el@wanadoo.fr>
6220 * libdb/Makefile.am: fix include dir
6221 * libdb/db_test.c: don't assume than sizeof(struct opd_header) == 128
6223 2003-01-06 Philippe Elie <phil.el@wanadoo.fr>
6225 * libutil++/op_bfd.h: fix for 64 bits.
6227 2003-01-06 Philippe Elie <phil.el@wanadoo.fr>
6230 * libabi/op_import.cpp: broken by my last change in libdb.
6232 2003-01-06 Philippe Elie <phil.el@wanadoo.fr>
6234 * db/db_hash.h: do_hash() use db_key_t as parameter
6236 2003-01-04 John Levon <levon@movementarian.org>
6238 * pp/op_time.cpp: suggest opcontrol --dump instead
6240 * utils/opcontrol: implement --start-daemon. Fix a number
6244 * doc/oprofile.1.in: document --start-daemon
6246 2003-01-03 Will Cohen <wcohen@redhat.com>
6248 * daemon/oprofiled.c (opd_do_samples): Typecast to match
6251 See ChangeLog-2002 for earlier changelogs.