2003-07-26  John Levon  <levon@movementarian.org>

	* utils/opcontrol: fix call of op_help

2003-07-26  John Levon  <levon@movementarian.org>

	* gui/oprof_start.cpp: replace folder icons with clearer
	red/green circles

2003-07-26  John Levon  <levon@movementarian.org>

	* gui/oprof_start.cpp: actually select and show the default
	event

2003-07-26  John Levon  <levon@movementarian.org>

	* gui/oprof_start.cpp: small string tweak, show "conflicts"
	message consistently

2003-07-26  John Levon  <levon@movementarian.org>

	* gui/oprof_start.cpp: don't use invalidated iterator

2003-07-26  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/oprof_start.cpp: fix for 2.91.66

	* libpp/profile.cpp: typo invoking an undefined behavior revealed
	  by gcc stl debug mode
	* libpp/profile.h: ensure we provide the right typedef to std::
	  for profile::const_iterator revealed by gcc stl debug mode at compile
	  time. The implementation is a bit tricky to work with old compiler
	* libpp/symbol_sort.cpp: compare must define a weak ordered relation
	  order, revealed by gcc stl debug mode.

2003-07-26  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/ui/oprof_start.base.ui:
	* gui/oprof_start.h:
	* gui/oprof_start.cpp: change UI to use the new counter allocation
	  API

	* libop/op_alloc_counter.h:
	* libop/op_alloc_counter.c:
	* utils/op_help.c: minor const-ness api change

2003-07-25  Will Cohen  <wcohen@redhat.com>

	* utils/opcontrol: Restrict the search path.

2003-07-25  Philippe Elie  <phil.el@wanadoo.fr>

	* libop/op_alloc_counter.c: use tabulation

	* libop/op_events.c:
	* libop/op_events.h: find_event_by_name() new
	* utils/op_help.c: use find_event_by_name()

2003-07-24  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/op_help.c: make valgrind happy + minor cleanup

2003-07-24  Philippe Elie  <phil.el@wanadoo.fr>

	* libop/op_alloc_counter.h:
	* libop/op_alloc_counter.c: new file providing mapping from an event 
	  list to hardware counter number
	* utils/op_help.c: use the above api

2003-07-24  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/op_help.c: fix hardware counter allocation order

2003-07-23  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: comment out --base-dir mention

2003-07-23  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: remove mention of oprof_start_event

2003-07-23  John Levon  <levon@movementarian.org>

	* dae/oprofiled.c:
	* daemon/oprofiled.c: don't uselessly try to unlink
	non-existent lockfile

	* daemon/opd_image.c:
	* daemon/oprofiled.c: clean up buffer read messages

2003-07-23  John Levon  <levon@movementarian.org>

	* utils/opcontrol: error out at --setup time if vmlinux is not
	valid. Cleanup the error message if so

	* daemon/opd_kernel.c: fix potential null deref

2003-07-21  John Levon  <levon@movementarian.org>

	* gui/oprof_start.cpp: select "No event" when switching counter
	if needed

2003-07-21  John Levon  <levon@movementarian.org>

	* gui/oprof_start.cpp: fix default event choosing when
	daemonrc exists

2003-07-21  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/oprof_start.cpp: thinko in has_unique_event(), don't warn for
	  no counter with CPU_TIMER_INT

2003-07-21  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/oprof_start.cpp: allow to de-select a counter

2003-07-21  John Levon  <levon@movementarian.org>

	* gui/oprof_start.cpp:
	* gui/oprof_start_util.h:
	* gui/oprof_start_util.cpp: remove uptime pretty printing.
	It's broken for 2.5 and ugly code

2003-07-21  John Levon  <levon@movementarian.org>

	* gui/oprof_start.h:
	* gui/oprof_start.cpp: use a default event if no
	events are set yet

2003-07-20  Philippe Elie  <phil.el@wanadoo.fr>

	* m4/compileroption.m4: fix for autoconf 2.13

2003-07-19  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/oprof_start.cpp:
	* libpp/format_output.cpp:
	* libpp/format_output.h:
	* pp/opannotate.cpp:
	* pp/opreport_options.cpp: minor tidy

2003-07-19  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/oprof_start.cpp: RTC mode was not working

2003-07-16  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/oprof_start_config.h:
	* gui/oprof_start_config.cpp: remove dead code, fix kernel_only read

2003-07-16  John Levon  <levon@movementarian.org>

	* utils/opcontrol: fix typo that was partly breaking
	CPU_TIMER_INT

2003-07-16  John Levon  <levon@movementarian.org>

	* gui/oprof_start.h:
	* gui/oprof_start.cpp: fixes for CPU_TIMER_INT

2003-07-16  John Levon  <levon@movementarian.org>

	* gui/ui/oprof_start.base.ui: remove add/remove event buttons,
	fix resize weirdness

	* gui/oprof_start.h:
	* gui/oprof_start.cpp: remove add/remove event buttons, allow
	short-form event descriptions

2003-07-15  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/persistent_config.h: remove
	* gui/oprof_start.h:
	* gui/oprof_start.cpp: debug, remove dead code, works better now, see
	  TODO

2003-07-15  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/oprof_start.h:
	* gui/oprof_start.cpp:
	* gui/oprof_start_util.cpp: re-enable partially the gui, sorta of
	  working if cautioulsy used

2003-07-15  John Levon  <levon@movementarian.org>

	* gui/ui/oprof_start_base.ui:
	* gui/oprof_start.h:
	* gui/oprof_start.cpp: some steps towards fixing gui for
	the new events stuff

2003-07-15  John Levon  <levon@movementarian.org>

	* libop/op_events.h:
	* libop/op_events.c: add op_default_event

	* utils/op_help.c: move default event stuff to libop,
	fix -c option

2003-07-15  John Levon  <levon@movementarian.org>

	* utils/op_help.c: fix default RTC event to be
	"RTC_INTERRUPTS"

2003-07-15  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/opcontrol
	* events/rtc..events: use RTC_INTERRUPTS as event name

2003-07-15  Philippe Elie  <phil.el@wanadoo.fr>

	* daemon/opd_sample_files.c: C89 compile fix

2003-07-15  John Levon  <levon@movementarian.org>

	* utils/opcontrol:
	* utils/op_help.c: move the default event strings into
	op_help.c instead of in opcontrol

2003-07-15  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: document event name for timer interrupt

	* daemon/opd_sample_files.c: handle CPU_TIMER_INT

	* utils/op_help.c: fix a core dump

2003-07-13  Philippe Elie  <phil.el@wanadoo.fr>

	* daemon/opd_image.c: verbprintf() when starting reading buffer not
	  printf

2003-07-12  Philippe Elie  <phil.el@wanadoo.fr>

	* from BRANCH_CALLGRAPH:
	* daemon/opd_image.c: printf -> verbprintf, fix comment
	* daemon/opd_kernel.c: kernel/module samples statistics was wrong

	* daemon/opd_image.c:
	* daemon/opd_image.h:
	* daemon/opd_kernel.c:
	* daemon/opd_kernel.h: import cleanup from branch, mainly don't handle
	  samples in opd_kernel.c but return (creating if neccessary) an
	  opd_image struct where the sample must go and let opd_image caller
	  in opd_image.c do sample insertion

2003-07-11  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/opcontrol: shows basename $0 with --version
	* libpp/op_header.cpp: formating
	
2003-07-11  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/opcontrol: don't try to save current if the directory doesn't
	  exist

2003-07-11  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/stream_util.h:
	* libutil++/stream_util.cpp: new file, io_state() save object
	* libutil++/Makefile.am: handle new file
	* libutil++/op_bfd.cpp:
	* pp/opreport.cpp:
	* libpp/op_header.cpp: use io_state

2003-07-09  Philippe Elie  <phil.el@wanadoo.fr>

	* module/x86/op_model_p4.c: reflect intel documentation fix.

2003-07-08  Will Cohen  <wcohen@redhat.com>

	* daemon/opd_kernel.c: Handle /proc/modules format.
	
2003-07-08  Will Cohen  <wcohen@redhat.com>

	* doc/oprofile.xml:
	* configure.in: --enable-gcov option and documentation.

2003-07-08  Will Cohen  <wcohen@redhat.com>

	* utils/opcontrol: Correct P4 default event.

2003-06-03  John Levon  <levon@movementarian.org>

	* from BRANCH_CALLGRAPH
	* libdb/odb_hash.h:
	* libdb/db_manage.c:
	* libdb/db_insert.c: namespace safety

	* libpp/partition_files.cpp:
	* libpp/profile.cpp: spacing, add a FIXME

2003-07-07  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opannotate.cpp:
	* pp/opgprof.cpp:
	* pp/opreport.cpp: cleanup walking through multimap with a
	  pair<iterator, iterator>

2003-07-05  Philippe Elie  <phil.el@wanadoo.fr>

	* daemon/opd_image.c:
	* libdb/db_insert.c: 64 bits arch compile fix, thanks to Falk Hueffner
	 <falk@debian.org>

2003-07-02  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opreport.cpp: honor options::show_header

2003-06-30  Graydon Hoare  <graydon@redhat.com>

	* libpp/op_header.cpp: Handle printing multiple bitmask values.

2003-06-19  John Levon  <levon@movementarian.org>

	* doc/Makefile.am: fix make distcheck

2003-06-18  John Levon  <levon@movementarian.org>

	* pp/opannotate_options.c: hide the unhandled
	--base-dir option

2003-06-18  John Levon  <levon@movementarian.org>

	* pp/Makefile.am: don't build opdiff

2003-06-17  Will Cohen  <wcohen@redhat.com>

	* daemon/opd_cookie.h: Add s390 syscall value.
	
2003-06-17  John Levon  <levon@movementarian.org>

	* utils/opcontrol: don't accept "-r" - it's too easy to typo

2003-06-17  John Levon  <levon@movementarian.org>

	* doc/srcdoc/Doxyfile: removed

	* doc/srcdoc/Doxyfile.in:
	* configure.in: generate doxygen version nr. automatically

2003-06-17  Philippe Elie  <phil.el@wanadoo.fr>

	* libdb/db_insert.cpp: missing initialization of error message on
	  error path

2003-06-17  John Levon  <levon@movementarian.org>

	* utils/opcontrol: accept some short forms for common
	operations

2003-06-17  John Levon  <levon@movementarian.org>

	* utils/opcontrol: accept --foo blah as well as
	--foo=blah

2003-06-16  John Levon  <levon@movementarian.org>

	* utils/opcontrol: "opcontrol" will show usage
	instead of doing nothing

2003-06-16  Will Cohen  <wcohen@nc.rr.com>

	* libabi/abi.cpp:
	* libabi/op_import.cpp: Add required include for cassert.

2003-06-16  John Levon  <levon@movementarian.org>

	* events/x86-64.hammer.unit_masks: remove some
	bogus FIXMEs

2003-06-15  John Levon  <levon@movementarian.org>

	* README: fix autogen.sh line

2003-06-15  John Levon  <levon@movementarian.org>

	* daemon/opd_image.c: 64 bit fixes

2003-06-15  John Levon  <levon@movementarian.org>

	* utils/op_help.c: c89 fix

2003-06-15  John Levon  <levon@movementarian.org>

	* daemon/opd_image.c: c89 fix

2003-06-15  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: document --event

	* utils/opcontrol:
	* utils/op_help.c: allow unit mask, kernel, user to be
	optional. Verify not too many events are passed.

2003-06-15  John Levon  <levon@movementarian.org>

	* libop/op_cpu_type.c: fix nr_counters cpu type check

	* utils/op_help: implement --check_events, event validation
	and counter allocation

	* utils/opcontrol: use the above, implement --event=default

2003-06-14  John Levon  <levon@movementarian.org>

	* daemon/opd_image.c: fix a stupid error in my previous TGID patch

2003-06-12  Graydon Hoare  <graydon@redhat.com>

	* libop/op_events.c (op_check_events): Check bitmasks as well as 
	exclusive values, for unit masks.

2003-06-12  John Levon  <levon@movementarian.org>

	* daemon/opd_image.c: we were not handling a truncated
	TGID entry properly

2003-06-12  John Levon  <levon@movementarian.org>

	* libutil++/unique_storage.h: missing typename

2003-06-11  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opannotate_options.cpp: typo in option name

2003-06-11  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/op_bfd.cpp: boring_symbol() new to get a better choice
	when eliminatiing symbol at identical vma

2003-06-11  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/opcontrol: fix rtc option checking, bug added after 0.5.3,
	no big deal

2003-06-11  Philippe Elie  <phil.el@wanadoo.fr>

	* libregex/op_regex.cpp:
	* libpp/profile.cpp: compile fix, tree was broken by my previous patch

2003-06-11  Jason Yeh  <jason.yeh@amd.com>

	* events/i386.athlon.events: add CPU_CLK_UNHALTED

	* utils/opcontrol: use the above by default

	* events/x86-64.hammer.events:
	* events/x86-64.hammer.unit_masks: various fixes

2003-06-11  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/op_header.cpp:
	* libpp/profile.cpp:
	* libpp/profile_spec.cpp:
	* libpp/symbol_sort.cpp:
	* libregex/op_regex.cpp:
	* libutil++/op_bfd.cpp: use exception rather exit(EXIT_FAILURE) in
	library code

2003-06-11  John Levon  <levon@movementarian.org>

	* daemon/opd_image.c: future-proof the code handlers

2003-06-11  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opannotate.cpp: output_asm() avoid output when the set of selected
	symbols doesn't contain any samples

2003-06-11  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/unique_storage.h: we don't need to check if key is present
	  before trying to insert it

2003-06-10  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/name_storage.h: minor tidy
	* libutil++/unique_storage.h: small efficiency improvement

2003-06-09  John Levon  <levon@movementarian.org>

	* pp/Makefile.am:
	* libutil/Makefile.am: fix make distcheck

2003-06-09  John Levon  <levon@movementarian.org>

	* libpp/opp_symbol.h: rename to ...

	* libpp/symbol.h: ... this

	* libpp/Makefile.am:
	* libpp/format_output.h:
	* libpp/format_output.cpp:
	* libpp/profile_container.h:
	* libpp/profile_container.cpp:
	* libpp/sample_container.h:
	* libpp/sample_container.cpp:
	* libpp/symbol_functors.h:
	* libpp/symbol_sort.cpp: fix up from above and some header
	cleanups

2003-06-09  John Levon  <levon@movementarian.org>

	* libpp/profile.h: std::pair not pair

2003-06-08  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/profile.cpp: don't underflow start offset when the vma range
	  is unknown
	* pp/opreport.cpp: use samples_range() not samples_range(0, ~0)

2003-06-08  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/profile.h:
	* libpp/profile.cpp: replace accumulate_samples() API by an iterator
	  interface
	* libpp/profile_container.h:
	* libpp/profilecontainer.cpp:
	* pp/opreport.cpp: use new API

2003-06-08  Philippe Elie  <phil.el@wanadoo.fr>

	* include/sstream: replace old version by the once shipped with
	  2.95.3, seekg() in the old was not working

2003-06-08  John Levon  <levon@movementarian.org>

	* libpp/name_storage.h: don't need to define the tag structs

	* libutil++/unique_storage.h: fix the comments,
	make get() public

2003-06-08  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/profile_container.cpp:
	* libutil++/string_manip.cpp: gcc 2.91.66 fix

2003-06-08  John Levon  <levon@movementarian.org>

	* libpp/name_storage.h:
	* libpp/name_storage.cpp:
	* libpp/opp_symbol.h:
	* libpp/profile_container.cpp:
	* libpp/symbol_functors.cpp:
	* libutil++/unique_storage.h: don't derive from I()
	at all for id_value, it's not needed. Hide .id and
	provide operator<(), operator==(), operator!=(), and
	set()

2003-06-08  John Levon  <levon@movementarian.org>

	* libutil++/unique_storage.h: make some of
	id_value only visible to unique_storage.

2003-06-08  John Levon  <levon@movementarian.org>

	* libpp/name_storage.h:
	* libutil++/unique_storage.h: move the ID class
	into unique_storage, and make it derive from the
	template parameter, to give simpler type safe support

2003-06-08  John Levon  <levon@movementarian.org>

	* libutil++/Makefile.am:
	* libutil++/unique_storage.h: add new template for
	unique storage of values

	* libpp/name_storage.h:
	* libpp/name_storage.cpp: use it

2003-06-07  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/profile_container.cpp: fix order of file output with opannoate
	--source to be consistent with other tools

2003-06-07  John Levon  <levon@movementarian.org>

	* libpp/profile_container.cpp: fix operator<

2003-06-07  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/profile.h:
	* libpp/profile.cpp: change API to walk through vma with non zero
	samples count rather looking for all vma. This is not very clean, an
	iterator interface will be perhaps a better idea. Measures shows it's
	to do it so for now I apply it.
	* libpp/profile_container.cpp: update according to above change.

2003-06-07  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/profile_container.h:
	* libpp/profile_container.cpp:
	* libpp/symbol_container.h:
	* libpp/symbol_container.cpp: remove dead api
	  find_symbol(string symbol_name)

2003-06-07  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/name_storage.h:
	* libpp/name_storage.cpp:
	* libpp/profile_container.cpp:
	* libpp/profile_container.h:
	* libpp/sample_container.h:
	* libpp/sample_container.cpp:
	* libpp/symbol_container.h:
	* libpp/symbol_container.cpp:
	* pp/opannotate.cpp: replace some use of string filename by
	  debug_name_id

2003-06-05  John Levon  <levon@movementarian.org>

	* daemon/Makefile.am:
	* daemon/opd_kernel.c:
	* daemon/p_module.h: remove p_module.h, unused

	* daemon/opd_cookie.h: use __NR_lookup_dcookie and
	use our definitions only if it's not defined

	* daemon/opd_image.c:
	* daemon/opd_kernel.c:
	* daemon/opd_sample_files.c:
	* daemon/oprofiled.c: pedantry

	* libabi/op_import.cpp:
	* libabi/abi_test.cpp: fix build from odb change

	* libop/op_config.h: move NR_CPUS to ...

	* libop/op_config_24.h: ... here

	* libop/op_hw_config.h: remove unused OP_COUNT_MAX

2003-06-03  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/op_header.cpp:
	* libpp/profile.cpp:
	* dae/opd_proc.c:
	* dae/opd_sample_files.c:
	* daemon/opd_image.c:
	* daemon/opd_sample_files.c:
	* libdb/odb_hash.h:
	* libdb/db_insert.c:
	* libdb/db_manage.c:
	* libdb/db_test.c: error message is now a field of a samples_odb_t

2003-06-03  John Levon  <levon@movementarian.org>

	* libutil++/child_reader.cpp:
	* libabi/abi.cpp:
	* libabi/abi.h:
	* libabi/abi_test.cpp:
	* libabi/op_api.h:
	* libabi/op_abi.cpp:
	* libabi/op_import.cpp: pedantry, remove unused code

2003-06-01  Philippe Elie  <phil.el@wanadoo.fr>

	* dae/oprofiled.c:
	* libop/oprofiled.c:
	* libop/op_cpu_type.c:
	* module/oprofile.c:
	* module/oprofile.h:
	* pp/opdiff.cpp: more static data and function

2003-05-31  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/oprof_start_util.h:
	* libdb/db_stat.c:
	* libdb/odb_hash.h:
	* libpp/format_output.h:
	* libpp/locate_image.h:
	* libpp/name_storage.h:
	* libpp/partition_files.h:
	* libpp/profile.h:
	* libutil++/op_bfd.h:
	* libutil++/op_bfd.cpp: improve doxygen comment

2003-05-31  Philippe Elie  <phil.el@wanadoo.fr>

	* configure.in: use AC_DEFINE_UNQUOTED() to define version string
	  in config.h not in version-1.h
	* Makefile.am: distclean-local: is no longer used
	* version-1.h.in: delete
	* libutil/op_version.h:
	* libutil/op_version.c: new file: package version output
	* libutil/Makefile.am:
	* dae/oprofiled.c:
	* daemon/oprofiled.c:
	* gui/oprof_start.h:
	* libop/op_events.c:
	* libopt++/popt_options.cpp:
	* libregex/demangle_sybol.cpp:
	* module/oprofile.c:
	* utils/op_help.c: tweak # include according

2003-05-30  Dan Zink  <Dan.Zink@hp.com>

	* module/x86/op_apic.c: really disable the apic if it was disabled

2003-05-29  John Levon  <levon@movementarian.org>

	* utils/opcontrol: don't allow --rtc-value if not RTC mode

2003-05-27  John Levon  <levon@movementarian.org>

	* libutil++/string_manip.h: add <stdexcept>

	* pp/opannotate.cpp: use '\n' not endl

	* pp/opreport.cpp: untie cout

2003-05-29  Philippe Elie  <phil.el@wanadoo.fr>

	* merge with pp-interface-branch: following ChangeLog was unmerged
	  to branch

	2003-05-27  John Levon  <levon@movementarian.org>

	* configure.in: oprofile 0.5.3 is released, back to
	0.6cvs

	2003-05-26  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: update docs for --no-vmlinux

	2003-05-26  John Levon  <levon@movementarian.org>

	* libop/op_interface_25.h:
	* daemon/opd_image.c: handle tgid for future
	compatibility, fix compile on older gccs

	2003-05-26  John Levon  <levon@movementarian.org>

	* libop/op_interface_25.h: add LAST_CODE

	* daemon/opd_stats.h:
	* daemon/opd_stats.c: count short reads of
	buffer and unplacable samples

	* daemon/opd_image.c: rewrite buffer parsing
	code, handle window where we can't place a
	sample

	2003-05-26  John Levon  <levon@movementarian.org>

	* libutil++/utility.h: fix typo

	* utils/opcontrol: fix typo

	2003-05-16  John Levon  <levon@movementarian.org>

	* pp/counter_profile.cpp: remove bogus cpu speed
	consistency check

	2003-05-09  John Levon  <levon@movementarian.org>

	* m4/Makefile.am:
	* m4/compileroption.m4: add a generalised compiler option
	tester

	* configure.in: use it, add -fno-common

	2003-05-09  John Levon  <levon@movementarian.org>

	* daemon/oprofiled.c:
	* dae/oprofiled.c: remove duplicate declaration found
	via -fno-common

	2003-05-04  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: fix validation errors from xmllint --valid
	

2003-05-28  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/profile_spec.cpp: make image:/path/to:image working

2003-05-28  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/string_manip.h:
	* libutil++/string_manip.cpp: specialize
	  lexical_cast_no_ws<unsigned int> to accept hexadecimal input

	* pp/common_option.cpp: missing << endl

2003-05-27  Philippe Elie  <phil.el@wanadoo.fr>

	* doc/oprofile.xml: update example in "Interpreting profiling results"
	section

2003-05-26  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: add new pp tools options

2003-05-26  John Levon  <levon@movementarian.org>

	* doc/opreport.1.in:
	* doc/opgprof.1.in:
	* doc/opannotate.1.in:
	* doc/op_help.1.in: complete

2003-05-26  John Levon  <levon@movementarian.org>

	* configure.in:
	* doc/Makefile.am:
	* doc/oprofile.1.in:
	* doc/op_help.1.in:
	* doc/opcontrol.1.in:
	* doc/opreport.1.in:
	* doc/opannotate.1.in:
	* doc/opgprof.1.in: re-organise and add manpages

2003-05-26  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: start to document the pp interface

2003-05-26  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opreport.cpp: remove automatic switch to --symbols mode

2003-05-26  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/symbol_sort.h:
	* pp/opannotate_options.cpp:
	* pp/opgprof_options.cpp:
	* pp/opreport_options.cpp: handle meaningless options combinations

2003-05-26  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opgprof_options.cpp: no need to use unmergeable_profile here

2003-05-25  Philippe Elie  <phil.el@wanadoo.fr>

	* events/i386.piii.unit_masks: tweak comment, change default unit mask
	  for kni instruction to 0 and type to exclusive

2003-05-25  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/profile_container.cpp: thinko
	* pp/opreport.cpp: typo

2003-05-25  John Levon  <levon@movementarian.org>

	* libopt++/popt_options.h:
	* libopt++/popt_options.cpp: obvious cleanup,
	remove some dead code

2003-05-25  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/format_flags: cf_image_name new column_flags flag
	* libpp/profile_container.cpp: use above flag. Don't compare app_name
	  by string but id
	* pp/opreport.cpp: hide image_name when un-neccessary

2003-05-24  Philippe Elie  <phil.el@wanadoo.fr>

	* doc/srcdoc/Doxyfile:
	* libpp/profile.h:
	* libpp/profile_container.h:
	* libutil++/utility.h: remove gcc 2.91 noncopyable as empty base class
	 work-around

2003-05-23  Philippe Elie  <phil.el@wanadoo.fr>

	* configure.in: do early check of libiberty

	* libpp/symbol_sort.cpp: 2.91 compile fix

2003-05-22  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/child_reader.h: minor #include fix

2003-05-22  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/name_storage.cpp: debug_name_storage::name() 
	  return an empty string when for zero id to avoid exception

2003-05-21  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/profile.cpp:
	* libpp/op_header.h:
	* libpp/op_header.cpp: when sample file differ ouput the sample
	  filename

	* pp/opannotate.cpp: remove spurious output

	* */Makefile.am:
	* configure.in: handle our own OP_CFLAGS, OP_CXXFLAGS to let user
	  free to use make CFLAGS=

2003-05-20  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/profile_spec.h:
	* libpp/profile_spec.cpp: remove lib_image_exclude, use image_exclude
	  instead. match() Handle image exclusion.

	* libregex/stl.pat.in: FIXME

	* libutil++/string_manip.h: compile fix

2003-05-19  John Levon  <levon@movementarian.org>

	* libutil++/comma_list.h:
	* libpp/filename_spec.cpp:
	* libutil++/string_manip.h:
	* libutil++/generic_spec.h: rename strict_convert<>
	to lexical_cast_no_ws<>

2003-05-19  John Levon  <levon@movementarian.org>

	* libutil++/generic_spec.h: move strict_convert<> to...

	* libutil++/string_manip.h: ...here

2003-05-19  John Levon  <levon@movementarian.org>

	* libutil++/generic_spec.h: comma_list isn't a friend
	any more

	* libutil++/comma_list.h: use generic_spec<>::match()
	directly

2003-05-19  John Levon  <levon@movementarian.org>

	* libpp/name_storage.h: s/name_map/stored_names/, it's not
	a map any more.

2003-05-19  Philippe Elie  <phil.el@wanadoo.fr>

	* libregex/mangled-name.txt:
	* libregex/stl.pat.in: partial handling of _Identity<> and
	  _Select1st<>, pattern fail if type are too complex

2003-05-19  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/format_output.cpp: small cleanup

	* libpp/name_storage.h:
	* libpp/name_storage.cpp: ensure type safety by providing distinct
	  type identifier for each name_storage based container

	* libpp/profile_container.cpp:
	* libpp/sample_container.cpp:
	* libpp/symbol_functors.cpp:
	* libpp/symbol_sort.cpp:
	* libpp/opp_symbol.h: use the name identifier api

	* libpp/op_header.cpp: 
	* libpp/partition_files.cpp: use a set<string> not a name_storage

	* libpp/format_output.cpp: small cleanup


2003-05-18  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/partition_files.cpp: merge partition entry when neccessary
	  fixing a corner case when a binary can be a dependent or a primary
	  image and was not merged

2003-05-18  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opreport_options.cpp:
	* pp/opannotate_options.cpp: remove conflicting options shortcut

2003-05-18  Philippe Elie  <phil.el@wanadoo.fr>

	* libregex/stl.pat.in: add list<T>::{const_}+iterator

2003-05-17  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/name_storage.cpp: basename() return an empty string for nil id

2003-05-17  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/op_bfd.cpp: get_linenr() init linenr to zero

	* libpp/name_storage.cpp: don't use id zero
	* libpp/opp_symbol.h: now we use id and not string we must provide
	  default ctor to initialize the id
	* libpp/profile_container.cpp: init debug info entry only if
	  get_linenr() succeed

2003-05-17  Philippe Elie  <phil.el@wanadoo.fr>

	* libdb/db_manage.c: better handling of zero sample file size when
	  opening in read only mode

	* module/x86/op_nmi.c: printk format fix

2003-05-17  John Levon  <levon@movementarian.org>

	* pp/opannotate_option.cpp:
	* pp/opreport_options.cpp: command line changes

2003-05-17  John Levon  <levon@movementarian.org>

	* libpp/name_storage.h:
	* libpp/name_storage.cpp: add present()

	* libpp/op_header.cpp:
	* libpp/partition_files.cpp: use a name store
	to track what we've warned about, and clean up
	the warnings a bit

2003-05-16  John Levon  <levon@movementarian.org>

	* libutil++/op_bfd.h:
	* libutil++/op_bfd.cpp: expose anonymous symbols
	to the world as "??sectionname". Useful for .plt
	and .fini, which are quite common.

	* libpp/name_storage.cpp: demangle anonymous symbols
	nicely.

2003-05-16  John Levon  <levon@movementarian.org>

	* libpp/symbol_sort.cpp: fix image-sorting

2003-05-16  John Levon  <levon@movementarian.org>

	* libpp/name_storage.h:
	* libpp/name_storage.cpp: make ID be per-container

2003-05-16  John Levon  <levon@movementarian.org>

	* libpp/name_storage.h:
	* libpp/name_storage.cpp: merge processed names
	into one string, remove the boolean

2003-05-16  John Levon  <levon@movementarian.org>

	* libpp/name_storage.h:
	* libpp/name_storage.cpp: whoops, use string
	not stored_name for the ID map

2003-05-16  John Levon  <levon@movementarian.org>

	* libpp/name_storage.h:
	* libpp/name_storage.cpp: split into three
	stores for debug filenames, symbols, and images

	* libpp/format_output.cpp:
	* libpp/profile_container.cpp:
	* libpp/sample_container.cpp:
	* libpp/symbol_container.cpp:
	* libpp/symbol_sort.cpp:
	* pp/opannotate.cpp: changes from above

2003-05-16  John Levon  <levon@movementarian.org>

	* libpp/Makefile.am:
	* libpp/name_storage.h:
	* libpp/name_storage.cpp: add shared storage
	and caching of symbol and file names

	* libpp/opp_symbol.h:
	* libpp/format_output.cpp:
	* libpp/profile_container.cpp:
	* libpp/sample_container.cpp:
	* libpp/symbol_container.cpp:
	* libpp/symbol_container.h:
	* libpp/symbol_sort.cpp:
	* libpp/symbol_sort.h:
	* pp/opannotate.cpp:
	* pp/opreport.cpp: use it

	* pp/opgprof_options.cpp: add unused demangle
	options to hack-fix the build

2003-05-16  John Levon  <levon@movementarian.org>

	* libpp/symbol_sort.cpp: fix --sort debug

2003-05-16  John Levon  <levon@movementarian.org>

	* libutil++/op_bfd.h:
	* libutil++/op_bfd.cpp: remove have_debug_info()

2003-05-16  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/op_header.cpp: remove cpu_speed checking

	* libutil++/op_bfd.h:
	* libutil++/op_bfd.cpp: bailout in get_linenr() if binary doesn't
	  contain any debug info. Speed up my test case opreport --debug-info
	  -l by 25

2003-05-16  John Levon  <levon@movementarian.org>

	* libutil++/op_bfd.cpp: clean up interesting_symbol
	a bit

2003-05-16  John Levon  <levon@movementarian.org>

	* libutil++/op_bfd.cpp: make sure linenr is
	always set to something

	* libpp/opp_symbol.h: linenr should be unsigned

	* libpp/profile_container.cpp: remove some unneeded
	copies
	
2003-05-16  John Levon  <levon@movementarian.org>

	* pp/opannotate.cpp: small renaming

2003-05-15  John Levon  <levon@movementarian.org>

	* libpp/symbol_container.h:
	* libpp/symbol_container.cpp: add begin(), end(),
	remove symbols_by_count()

	* libpp/profile_container.cpp: use symbol container
	iterator directly in select_symbols()

2003-05-15  John Levon  <levon@movementarian.org>

	* libpp/format_output.h:
	* libpp/format_output.cpp:
	* libpp/profile_container.h:
	* libpp/profile_container.cpp:
	* libpp/symbol_container.h:
	* libpp/symbol_container.cpp:
	* libpp/symbol_sort.h:
	* libpp/symbol_sort.cpp:
	* pp/opannotate.cpp:
	* pp/opreport.cpp:
	* pp/opgprof.cpp: move symbol_collection typedef
	  into global namespace, and use consistently

2003-05-15  John Levon  <levon@movementarian.org>

	* libpp/format_output.h:
	* libpp/format_output.cpp: add vma_format_64bit(),
	remove bool parameter from output()

	* pp/opreport.cpp: change from above, refactor flags
	code into get_format_flags() helper

2003-05-12  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/format_output.h:
	* libpp/format_output.cpp:
	* libpp/symbol_sort.h:
	* libpp/symbol_sort.cpp: handle reverse sort in sorting not in output
	* pp/opannotate.cpp:
	* pp/opreport.cpp: update according

2003-05-12  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/symbol_sort.h:
	* libpp/symbol_sort.cpp: handle sort order as specified on command line

	* pp/opgprof.cpp: sort symbol is not neccessary for gprof
	* pp/opreport.cpp:
	* pp/opreport_options.cpp:
	* pp/opannotate.cpp: use new sort API

2003-05-12  John Levon  <levon@movementarian.org>

	* libpp/symbol_sort.h:
	* libpp/symbol_sort.cpp: partial implementation
	of other sort options

2003-05-12  John Levon  <levon@movementarian.org>

	* libpp/Makefile.am:
	* libpp/symbol_sort.h:
	* libpp/symbol_sort.cpp: add sorting code

	* symbol_functors.h: move some less() into
	symbol_sort.cpp

	* libpp/profile_container.h:
	* libpp/profile_container.cpp: don't pass in
	sort option to select_symbols(), do it in caller

	* pp/opannotate.cpp:
	* pp/opgprof.cpp:
	* pp/opreport.cpp:
	* pp/opreport_options.h:
	* pp/opreport_options.cpp: from the above

2003-05-12  John Levon  <levon@movementarian.org>

	* format_flags.h: remove vma64_p. Add column_flags

	* libpp/profile_container.h:
	* libpp/profile_container.cpp: pass in a struct
	to select_symbols. Generate hints for 64-bit VMA
	and multiple apps in the profile.

	* pp/opannotate.cpp:
	* pp/opgprof.cpp:
	* pp/opreport.cpp: use the above

2003-05-12  John Levon  <levon@movementarian.org>

	* libpp/format_output.cpp:
	* libpp/format_flags.h:
	* pp/opreport.cpp: trivial renaming of flags

2003-05-11  John Levon  <levon@movementarian.org>

	* libpp/format_output.cpp:
	* libpp/format_flags.h: better output for
	the default of short filenames

2003-05-11  John Levon  <levon@movementarian.org>

	* pp/opreport.cpp: improve the app/image name column
	showing a bit

2003-05-11  John Levon  <levon@movementarian.org>

	* pp/opreport.cpp: default to -l if we were just
	going to show one image summary.

2003-05-11  John Levon  <levon@movementarian.org>

	* pp/opreport.cpp: move some code around that
	outputs the image summaries

2003-05-11  John Levon  <levon@movementarian.org>

	* libpp/format_output.h:
	* libpp/format_output.cpp:
	* pp/opreport.cpp:
	* pp/opreport_options.h:
	* pp/opreport_options.cpp: s/--short-filename/--long-filenames/

2003-05-11  John Levon  <levon@movementarian.org>

	* libpp/profile_spec.h:
	* libpp/profile_spec.cpp: take exclude_dependent not
	include_dependent

	* pp/opannotate_options.c:
	* pp/opgprof_options.c:
	* pp/opreport_options.h:
	* pp/opreport_options.c: change to use exclude_dependent,
	remove --hide-dependent

2003-05-11  John Levon  <levon@movementarian.org>

	* locate_images.h:
	* locate_images.cpp: extra_images can now use
	relative paths for its search dirs. Move most of 
	the warnings out of find_image_path, and make it
	also handle relative paths. Return the file
	even if it wasn't readable.

	* libpp/partition_files.cpp: give warnings when
	necessary.

	* libpp/profile_spec.h:
	* libpp/profile_spec.cpp: handle relative paths
	inside image specs, as stated in pp_interface; also
	use the extra images search path for resolution.

	* pp/opannotate_options.cpp:
	* pp/opreport_options.cpp:
	* pp/opgprof_options.cpp: changes from above

2003-05-11  John Levon  <levon@movementarian.org>

	* libpp/format_flags.h: source doc improvements

2003-05-11  John Levon  <levon@movementarian.org>

	* libpp/opp_symbol.h: move vma64_p to ...

	* libpp/format_flags.h: ... here

2003-05-11  John Levon  <levon@movementarian.org>

	* libpp/Makefile.am:
	* libpp/outsymbflags.h:
	* libpp/format_flags.h:
	* libpp/profile_container.h:
	* libpp/format_output.h:
	* libpp/format_output.cpp:
	* pp/opreport.cpp: rename outsymbflags to format_flags

2003-05-11  John Levon  <levon@movementarian.org>

	* profile_container.h:
	* profile_container.cpp:
	* opannotate.cpp: clean up select_filename() in a
	similar fashion

2003-05-11  John Levon  <levon@movementarian.org>

	* libpp/profile_container.h:
	* libpp/profile_container.cpp:
	* pp/opreport.cpp:
	* pp/opannotate.cpp:
	* pp/opgprof.cpp: another select_symbols() API cleanup

2003-05-11  John Levon  <levon@movementarian.org>

	* pp/opgprof.cpp: use select_symbols so we can
	handle --threshold

2003-05-11  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opannotate.cpp: use threshold for source output

2003-05-11  John Levon  <levon@movementarian.org>

	* pp/common_option.h:
	* pp/common_option.cpp:
	* pp/opannotate_options.cpp:
	* pp/opreport_options.cpp: make --threshold
	be a common option.

2003-05-11  John Levon  <levon@movementarian.org>

	* pp/profile_container.h:
	* pp/profile_container.cpp:
	* pp/opannotate.cpp:
	* pp/opreport.cpp: clean up select_symbols
	interface

2003-05-11  John Levon  <levon@movementarian.org>

	* pp/opreport.cpp: make --threshold work for
	image summaries too

2003-05-11  John Levon  <levon@movementarian.org>

	* pp/opreport_options.cpp: fix --threshold
	description to match reality

2003-05-11  John Levon  <levon@movementarian.org>

	* libpp/partition_files.h:
	* libpp/partition_files.cpp:
	* pp/opannotate_options.cpp:
	* pp/opgprof_options.cpp:
	* pp/opreport.cpp:
	* pp/opreport_options.cpp: rename merge_by members

2003-05-11  John Levon  <levon@movementarian.org>

	* pp/opreport.cpp: add some logic to not output
	duplicate lines for dep images when we've already
	shown all the possible details in the main image summary

2003-05-11  John Levon  <levon@movementarian.org>

	* pp/common_option.h: use std::

2003-05-11  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opreport_options.cpp: move handle_threshold()
	* pp/common_option.h:
	* pp/common_option.cpp: here
	* pp/opannotate_options.h:
	* pp/opannotate_options.cpp:
	* pp/opannotate.cpp: handle --threshold

2003-05-10  John Levon  <levon@movementarian.org>

	* libop/op_mangle.h:
	* libop/op_mangle.c: use a temp struct for
	passing the mangle parameters with a set of
	flags.

	* dae/opd_sample_files.c:
	* daemon/opd_sample_files.c: use it

2003-05-10  John Levon  <levon@movementarian.org>

	* Makefile.am:
	* HACKING:
	* libop++/:
	* pp/Makefile.am:
	* libpp/Makefile.am:
	* libpp/op_header.h:
	* libpp/op_header.cpp: remove libop++ after
	moving op_header into libpp

2003-05-10  John Levon  <levon@movementarian.org>

	* libop++/op_header.cpp: make CPU info take up
	one line not two

2003-05-10  John Levon  <levon@movementarian.org>

	* libop++/Makefile.am:
	* libop++/op_header.cpp:
	* libop++/op_print_event.h:
	* libop++/op_print_event.cpp: remove op_print_event
	files, making it a function local to op_header.cpp

2003-05-10  John Levon  <levon@movementarian.org>

	* libop++/op_header.h:
	* libop++/op_header.cpp: make output_header() be
	an operator<<
	
	* pp/opannotate.cpp:
	* pp/opreport.cpp: changes from the above

	* libpp/profile.h: small cleanup

2003-05-10  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/string_manip.h:
	* libutil++/string_manip.cpp: replace format_percent() by
	  format_double()

	* libpp/format_output.cpp:
	* pp/opannotate.cpp:
	* pp/opreport.cpp: use format_double()

2003-05-09  John Levon  <levon@movementarian.org>

	* libpp/opp_symbol.h: app name, image name should
	be in symbol not in file_location

	* libpp/format_output.cpp:
	* libpp/profile_container.h:
	* libpp/profile_container.cpp:
	* libpp/symbol_container.cpp:
	* libpp/symbol_functors.cpp: changes from above

2003-05-09  John Levon  <levon@movementarian.org>

	* libpp/format_output.h:
	* libpp/format_output.cpp: vma_64 doesn't need
	to be in field_datum. make one output() private

2003-05-09  John Levon  <levon@movementarian.org>

	* libpp/format_output.h:
	* libpp/format_output.cpp: pass a symbol ref
	not name down into the formatters

2003-05-09  John Levon  <levon@movementarian.org>

	* libutil++/string_manip.h:
	* libutil++/string_manip.cpp: sample_filename() is unused

2003-05-09  Philippe Elie  <phil.el@wanadoo.fr>

	* libop++/op_header.h:
	* libop++/op_header.cpp: read_header() new
	* libop++/Makefile.in: we depend on libdb

	* pp/opannotate.cpp:
	* pp/opreport.cpp: better way to get sample file header

2003-05-09  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/format_output.cpp: remove redudant map formater
	* pp/opannotate.cpp: spurious cout

2003-05-08  John Levon  <levon@movementarian.org>

	* pp/opreport.cpp:
	* pp/opreport_options.cpp:
	* pp/opreport_options.h: clean up cout stuff as
	suggested by Phil

2003-05-08  John Levon  <levon@movementarian.org>

	* libpp/profile_spec.h:
	* libpp/profile_spec.c: rename the set_p variables,
	remove pointless is_empty() function

	* pp/opreport.cpp: split collation and output into
	two separate functions. Rename the temporary structures
	so it's hopefully a bit more obvious what's happening.
	Add sourcedocs.

2003-05-08  John Levon  <levon@movementarian.org>

	* pp/opreport_options.h:
	* pp/opreport_options.cpp: add options::cout,
	  --output-file option

	* pp/opreport.cpp: use options::cout

2003-05-08  John Levon  <levon@movementarian.org>

	* pp/format_output.cpp: fix cumulative column widths

2003-05-08  John Levon  <levon@movementarian.org>

	* opreport_options.h: add accumulated

	* opreport.cpp: handle --accumulated

2003-05-08  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/symbol_container.cpp: minor tidy

	* libpp/profile.h:
	* libpp/profile.cpp: allow to cumulate sample file
	* libpp/profile_container.h:
	* libpp/profile_container.cpp: remove free function add_samples()

	* pp/annotate.cpp:
	* pp/opgprof.cpp:
	* pp/opreport.cpp: when possible cumulate samples into a profile_t
	  first before cumulating them in a profile_container

2003-05-07  John Levon  <levon@movementarian.org>

	* pp/opannotate.cpp: small cleanup

2003-05-07  John Levon  <levon@movementarian.org>

	* pp/opreport_options.cpp: remove unneeded include

2003-05-07  John Levon  <levon@movementarian.org>

	* libpp/Makefile.am:
	* libpp/parse_cmdline.h:
	* libpp/parse_cmdline.cpp: rename to ...

	* libpp/profile_spec.h:
	* libpp/profile_spec.cpp: this. Make handle_nonoptions()
	be a static factory create() method instead. Make
	select_sample_filenames() be a member generate_file_list()
	instead. Concomitant cleanups.

	* libpp/filename_spec.h:
	* pp/opannotate_options.cpp:
	* pp/opgprof_options.cpp:
	* pp/opreport_options.cpp: changes from above

2003-05-07  John Levon  <levon@movementarian.org>

	* libpp/profile.cpp: fix stupid error in last commit

2003-05-07  John Levon  <levon@movementarian.org>

	* libpp/profile.h:
	* libpp/profile.cpp: remove sample_filename member,
	bogus old spurious check, set_start_offset().

	* libpp/profile_container.cpp:
	* pp/opannotate.cpp:
	* pp/opreport.cpp: changes from above

2003-05-07  John Levon  <levon@movementarian.org>

	* libpp/derive_files.h:
	* libpp/derive_files.cpp: rename files as ...

	* libpp/locate_images.h:
	* libpp/locate_images.cpp: this.

	* libpp/Makefile.am:
	* libpp/partition_files.h:
	* pp/common_option.h:
	* pp/opgprof.cpp:
	* pp/opgprof_options.h:
	* pp/opreport_options.h: changes from above

2003-05-07  John Levon  <levon@movementarian.org>

	* libpp/derive_files.h:
	* libpp/derive_files.cpp: rework into extra_images
	class

	* libpp/partition_files.h:
	* libpp/partition_files.cpp:
	* pp/common_option.h:
	* pp/common_option.cpp:
	* pp/opannotate.cpp:
	* pp/opgprof.cpp:
	* pp/opreport.cpp: use the above

2003-05-07  John Levon  <levon@movementarian.org>

	* libpp/Makefile.am:
	* session.h:
	* session.cpp: remove session.{h,cpp}

2003-05-07  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/oprofpp.cpp pp/oprofpp_options.cpp pp/oprofpp_options.h:
	* pp/op_time.cpp pp/op_time_options.cpp pp/op_time_options.h:
	* pp/op_to_source.cpp pp/op_to_source_options.cpp:
	* pp/op_to_source_options.h pp/op_merge.cpp: removed files

	* pp/Makefile.am: update

2003-05-06  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opgprof.cpp: infamous typo

	* pp/opannotate.cpp: output sample file header


2003-05-06  Philippe Elie  <phil.el@wanadoo.fr>

	* libpop++/op_mangling.h:
	* libpop++/op_mangling.cpp: removed file
	* libop++/op_header.h:
	* libop++/op_header.cpp: new file, misc function acting on sample
	  file header stolen from libpp/profile.(cpp|h)
	* libop++/op_print_event.h: typo
	* libop++/op_print_event.cpp: save/restore ostream state
	* libop++/Makefile.am: update
	
	* libop/op_sample_file.h: remove dead #define OPD_MANGLE_CHAR

	* libpp/profile.h:
	* libpp/profile.cpp: move some member function to free function in
	  libop++/op_header.(cpp|h)
	* libpp/profile_container.cpp: minor call change

	* libpp/Makefile.am: op_merge can't be compiled currently inhibit build

	* libpp/opreport.cpp: output sample file header

2003-05-06  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/path_filter.h: default param to empty string not "*"

	* libpp/symbol_functors.h: remove dead code

	* pp/opgprof.cpp: off by one in histsize calculation

2003-05-04  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil/op_file.h:
	* libutil/op_file.c: sanitize create_path()

	* libutil++/path_filter.h: default ctor match all

	* libpp/profile_container.h:
	* libpp/profile_container.cpp:
	* libpp/sample_container.h:
	* libpp/sample_container.cpp:
	* libpp/symbol_container.h:
	* libpp/symbol_container.cpp: extend api to allow selecting symbol
	  restricted to one appication, ditto for retrieving samples

	* pp/opannotate_options.h:
	* pp/opannotate_options.cpp:
	* pp/opannotate.cpp: implement

	* pp/opgprof_options.h:
	* pp/opgprof_options.cpp:
	* pp/opreport_options.h:
	* pp/opreport_options.cpp: comment fix

	* pp/opreport.cpp: update to match new profile_container api

2003-05-03  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opreport.cpp: don't show dependent file if !--include-dependent

2003-05-02  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/partition_files.h:
	* libpp/partition_files.cpp: sort_by_image_name() new return a list
	  of sample filename sorted by bfd image name.
	* libpp/profile_container.cpp: add_samples() don't build op_bfd object
	  used here but pass it as parameters

	* pp/opgprof.cpp:
	* pp/opreport.cpp: use the above change to avoid opening multiple time
	  a bfd object.

	* pp/opannotate_options.cpp: add --(include|exclude)-symbols

	* libpp/parse_cmdline.cpp:
	* pp/opgprof_options.cpp:
	* pp/opreport.cpp: make a distinction in error message between no
	  sample available and sample file available but no one was selected

2003-05-01  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opannotate_options.h:
	* pp/opannotate_options.cpp:
	* pp/opdiff.cpp:
	* pp/opdiff_options.h:
	* pp/opdiff_options.cpp:
	* pp/opgprof.cpp:
	* pp/opgprof_options.h:
	* pp/opgprof_options.cpp:
	* pp/opreport.cpp:
	* pp/opreport_options.h:
	* pp/opreport_options.cpp: move common options handling ...
	* pp/common_option.h:
	* pp/common_option.cpp: here

	* pp/opannotate.cpp: add options

	* libpp/parse_cmdline.cpp: #include <iterator> ...

2003-05-01  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/counter_util.h:
	* libpp/counter_util.cpp: remove these files from cvs

	* libpp/derive_files.h:
	* libpp/derive_files.cpp: remove dead code derive_files() + typo

	* libpp/parse_cmdline.cpp: select_sample_filename() throw if empty
	  session after filtering

	* pp/common_option.cpp: catch invalid_argument, return failure on
	  catched excepton

2003-05-01  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/op_bfd.cpp: remove _init from excluded symbol
	* libpp/profile_container.cpp: tidy

	* pp/opgprof.cpp: fix capping samples

2003-04-30  John Levon  <levon@movementarian.org>

	* pp/opgprof.cpp:
	* pp/opgprof_options.cpp:
	* libpp/profile.cpp: tiny cleanups, fix compile

2003-04-30  Philippe Elie  <phil.el@wanadoo.fr>

	* libdb/db_stat.c: minor improvment to stat, usefull to track missed
	  sample by our tools.

	* pp/op_report.cpp: move matching_sample_filename() to ...
	* libpp/parse_cmdline.h:
	* libpp/parse_cmdline.cpp: here renamed select_sample_filename()

	* libpp/profile_container.h:
	* libpp/profile_container.cpp: expose begin() / end() from
	 sample_container

	* pp/common_option.h:
	* pp/common_option.cpp: move option which was not really common to ..
	* pp/opreport_options.h:
	* pp/opreport_options.cpp: here
	* pp/opannotate_options.h:
	* pp/opannotate_options.cpp: and here

	* pp/operport.cpp:
	* pp/opannotate.cpp: better to return a value from main() ...

	* pp/opgprof_options.h:
	* pp/opgprof_options.cpp:
	* pp/opgprof.cpp: implement opgprof

2003-04-29  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/parse_cmdline.h:
	* libpp/parse_cmdline.cpp: handle opreport /lib/libc-2.2.5.so, now
	  non tag, non option argument match either an image name or lib name

2003-04-29  John Levon  <levon@movementarian.org>

	* libutil++/op_bfd.cpp: remove "static " inside anon namespace

2003-04-28  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/format_output.h:
	* libpp/format_output.cpp: need header tweaking

	* pp/opannotate.cpp:
	* pp/opgprof.cpp: minor tidy

	* pp/opreport_options.h:
	* pp/opreport_options.cpp:
	* pp/opreport.cpp: handle -no-header and --image-path

2003-04-28  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/glob_filter.cpp:
	* libutil++/path_filter.cpp:
	* libutil++/string_filter.cpp: #include <algorithm>

2003-04-28  John Levon  <levon@movementarian.org>

	* libutil++/string_filter.cpp:
	* libutil++/string_filter.h:
	* libutil++/glob_filter.h:
	* libutil++/glob_filter.cpp:
	* libutil++/path_filter.h:
	* libutil++/path_filter.cpp: use std::find[_if],
	share some code

2003-04-28  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/op_bfd.cpp: replace a loop by a std::copy()

2003-04-28  John Levon  <levon@movementarian.org>

	* libutil++/op_bfd.h:
	* libutil++/op_bfd.cpp: cleanup of last fix

2003-04-28  John Levon  <levon@movementarian.org>

	* libutil++/op_bfd.h:
	* libutil++/op_bfd.cpp: make symbol filtering
	happen *after* adding of artificial symbol

2003-04-28  John Levon  <levon@movementarian.org>

	* libutil++/string_filter.cpp:
	* libutil++/glob_filter.cpp:
	* libutil++/path_filter.cpp: match as true if
	include_list is empty and not excluded

	* libutil++/op_bfd.h:
	* libutil++/op_bfd.cpp: use string_filter to
	filter symbols

	* libpp/profile_container.h:
	* libpp/profile_container.cpp:
	* pp/opreport_options.h:
	* pp/opreport_options.cpp:
	* pp/opreport.cpp: changes from using string_filter

2003-04-28  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opreport.cpp: finish to remove use of split_sample_filename

2003-04-28  John Levon  <levon@movementarian.org>

	* libutil++/filename_match.h:
	* libutil++/filename_match.cpp: replace with ...

	* libutil++/Makefile.am:
	* libutil++/string_filter.h:
	* libutil++/string_filter.cpp:
	* libutil++/glob_filter.h:
	* libutil++/glob_filter.cpp:
	* libutil++/path_filter.h:
	* libutil++/path_filter.cpp: .. split up variants
	of the filters

	* libpp/parse_cmdline.cpp: use glob_filter

	* pp/op_to_source.cpp: use path_filter

2003-04-28  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/partition_files.h:
	* libpp/partition_files.cpp:
	* libpp/split_sample_filename.h:
	* libpp/split_sample_filename.cpp:
	* pp/opreport.cpp: replace some use of std::string sample_filename
	  by a split_sample_filename struct

2003-04-28  John Levon  <levon@movementarian.org>

	* libutil++/filename_match.h:
	* libutil++/filename_match.cpp: use file-scope
	not private static member function

2003-04-27  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/format_output.h:
	* libpp/format_output.cpp: remove all string based output format flag

	* libpp/format_output.cpp: move options::demangle handling ...
	* libregx/demangle_symbol.cpp: here

	* libpp/profile_container.h:
	* libpp/profile_container.cpp:
	* pp/opreport_options.h:
	* pp/opreport_options.cpp:
	* pp/opreport.cpp: handle --include-symbols

2003-04-27  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opreport_options.h:
	* pp/opreport_options.cpp:
	* pp/opreport.cpp: handle --threshold, remove --ignore-symbols

2003-04-27  John Levon  <levon@movementarian.org>

	* libpp/<various>: minor spacing etc.

2003-04-27  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/outsymbflag.h: remove osf_short_xxx variant
	* libpp/format_output.h:
	* libpp/format_output.cpp: replace osf_short_xxx by a boolean
	* libpp/profile_container.cpp: update according

	* pp/opreport_options.h: export short_filename option
	* pp/opreport.cpp: use short_filename

2003-04-27  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/symbol_functors.h: add less_symbol predicate
	* libpp/symbol_functors.cpp: new file, less_symbol implementation
	* libpp/Makefile.am: symbol_functors.cpp

	* libpp/symbol_container.h:
	* libpp/symbol_container.cpp: use a node based container for symbols
	  ensuring validity of symbol pointer over a symbol_container life time
	* libpp/sample_container.h:
	* libpp/sample_container.cpp: ditto as above for samples
	* libpp/profile_container.h:
	* libpp/profile_container.cpp: use this new api to merge symbols
	  and sample.

	* libpp/format_output.h:
	* libpp/format_output.cpp: use new api to iterate over sample by symbol

	* pp/opreport.cpp: detailed output
	

2003-04-27  John Levon  <levon@movementarian.org>

	* pp/opreport.cpp: make opreport -l put largest results
	at the top like opreport does

2003-04-26  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/profile_container.h: comment

	* pp/opreport_options.h: more options export
	* pp/opreport.cpp: implement -l. Doen't works correctly: --merge=lib

2003-04-25  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/opreport_options.h: export global_percent
	* pp/opreport.cpp: finish to implement op_time like behavior. Remains
	  to implement op_time -l

2003-04-25  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/partition_files.cpp: fix a crash when profile spec is empty

	* pp/opreport_options.cpp: bailout if no samples files are found

2003-04-25  John Levon  <levon@movementarian.org>

	* pp/opreport_options.cpp: --hide-dependent should have 'h' as
	short form. Add a FIXME for a crash

2003-04-25  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/partition_files.cpp: thinko in sample filename partition

	* pp/opreport_options.h: export more options
	* pp/opreport_options.cpp: add --hide-dependent, change --merge to not
	  default to all
	* pp/opreport.cpp: handle --hide-dependent --include-dependent and
	  --merge=lib. Code is ugly, tidy incoming

2003-04-25  John Levon  <levon@movementarian.org>

	* libpp/format_output.cpp:
	* libpp/format_output.h:
	* libpp/outsymbflag.h: "immutable" not "imutable"

	* libpp/partition_files.cpp: include <iterator> to compile

2003-04-24  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/partition_files.h: typo
	* libpp/profile.cpp: difficult to get right result with a random value
	  in profile::start_offset

	* pp/opreport_options.h: export options::reverse_sort
	* pp/opreport_options.cpp: bailout if we get multiple counter

	* pp/opreport.cpp: raw output result for application (not symbol)
	  output.

2003-04-24  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/filename_spec.h:
	* libpp/filename_spec.cpp:
	* libpp/parse_cmdline.h:
	* libpp/parse_cmdline.cpp:
	* libpp/split_sample_filename.h:
	* libpp/split_sample_filename.cpp: s/unit_mask/unitmask

	* libpp/merge_spec.cpp:
	* libpp/merge_spec.h: rename to
	* libpp/partition_files.h:
	* libpp/partition_files.cpp: here. Add and merge_option.
	  partition_files is now a class.
	* pp/opreport_options.h:
	* pp/opreport_options.cpp:
	* pp/opreport.cpp: update according to the above. Add a roughly support
	  to count samples for plain op_time opreport like

2003-04-24  John Levon  <levon@movementarian.org>

	* libpp/profile_container.h:
	* libpp/profile_container.cpp: chop off the _t of the class name

	* libpp/format_output.cpp:
	* libpp/format_output.h:
	* libpp/symbol_container.cpp:
	* libpp/symbol_container.h:
	* pp/op_time.cpp:
	* pp/op_to_source.cpp:
	* pp/oprofpp.cpp: changes from the above

2003-04-24  John Levon  <levon@movementarian.org>

	* libpp/profile_container.h:
	* libpp/profile_container.cpp: pedantry for sample_container
	indices.

	* libpp/sample_container.h:
	* libpp/sample_container.cpp: various cleanups and docs. Add
	and use size_type.

	* libpp/symbol_container.h:
	* libpp/symbol_container.cpp: renamings. Add and use size_type.

2003-04-24  John Levon  <levon@movementarian.org>

	* libpp/symbol_container.h:
	* libpp/symbol_container.cpp: remove unused operator[].
	Add some docs. Some small cleanups

2003-04-24  John Levon  <levon@movementarian.org>

	* libpp/symbol_container_imp.h:
	* libpp/symbol_container_imp.cpp:
	* libpp/sample_container_imp.h:
	* libpp/sample_container_imp.cpp: These classes weren't using
	the pimpl idiom, so the _imp was spurious. Remove that as well
	as removing the _t from the names, and rename to ...

	* libpp/symbol_container.h:
	* libpp/symbol_container.cpp:
	* libpp/sample_container.h:
	* libpp/sample_container.cpp: ...files moved from the above with
	new names.

2003-04-23  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/generic_spec.h: minor formating tweak

	* libpp/parse_cmdline.h:
	* libpp/parse_cmdline.cpp: handle_non_options(): return parse_cmdline
	  by value

	* libpp/merge_spec.h:
	* libpp/merge_spec.cpp: new files: partition list of samples filename
	  according to merge options.
	* libpp/Makefile.am: update

	* pp/opreport_options.cpp: more options handling, use partition_files()

2003-04-22  John Levon  <levon@movementarian.org>

	* pp/opreport_options.cpp: compile fix

2003-04-21  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/filename_match.h:
	* libutil++/filename_match.cpp: add strict_match()

	* libutil++/generic_spec.cpp: generic_spec<string>::set() was not
	  setting is_all member leading to bad matching

	* libpp/filename_spec.cpp: minor tidy

	* libpp/parse_cmdline.h:
	* libpp/parse_cmdline.cpp: fix match()

	* libpp/split_sample_filename.h:
	* libpp/split_sample_filename.cpp: handle sample file base directory

	* libop++/op_print_event.h:
	* libop++/op_print_event.cpp:
	* libpp/format_output.h:
	* libpp/format_output.cpp:
	* libpp/opp_symbol.h:
	* libpp/profile.h:
	* libpp/profile.cpp:
	* libpp/profile_container.h:
	* libpp/profile_container.cpp:
	* libpp/sample_container_imp.h:
	* libpp/sample_container_imp.cpp:
	* libpp/symbol_container_imp.h:
	* libpp/symbol_container_imp.cpp:
	* libpp/symbol_functors.h: remove all use of counter number

	* libpp/counter_array.h:
	* libpp/counter_array.cpp:
	* libpp/counter_profile.h:
	* libpp/counter_profile.cpp: no longer used, move some bits to
	  libpp/profile.(h|cpp) and remove these files.
	* libpp/Makefile.am: update according

	* pp/op_merge.cpp: use profile_t not counter_profile_t
	* pp/makefile.am: correct lib for op_merge

	* pp/opreport_options.cpp: more options handling

2003-04-19  Philippe Elie  <phil.el@wanadoo.fr>

	* libopt++/popt_options.cpp: don't show help_str with --usage
	* libpp/format_output.cpp: typo
	* libutil/op_file.c: create dir with 755 not 700
	* pp/common_option.cpp: source formating

	* libpp/parse_cmdline.h:
	* libpp/parse_cmdline.cpp: handle_non_options() new
	* pp/opreport_options.cpp: handle more options

	* pp/opsummary.cpp:
	* pp/opsummary_options.h:
	* pp/opsummary_options.cpp: remove, opreport should do its job.
	* pp/Makefile.am: update

2003-04-18  Philippe Elie  <phil.el@wanadoo.fr>

	* libopt++/popt_options.cpp: allow "no-" prefix to long option name
	  implicitely specify the value must be negated
	* libopt++/popt_options.cpp: update doxygen documentation

	* libpp/format_output.h: missing #include
	* libpp/format_output.cpp: space + minor change

	* pp/opannotate_options.h:
	* pp/opannotate_options.cpp:
	* pp/opdiff_options.h:
	* pp/opdiff_options.cpp:
	* pp/opgprof_options.h:
	* pp/opgprof_options.cpp:
	* pp/opreport_options.h:
	* pp/opreport_options.cpp:
	* pp/opsummary_options.h:
	* pp/opsummary_options.cpp: new skeleton file

	* pp/opannotate.cpp:
	* pp/opdiff.cpp:
	* pp/opgprof.cpp:
	* pp/opreport.cpp:
	* pp/opsummary.cpp: update to handle options

	* pp/common_option.cpp: follow more closely pp_interface

	* pp/opsummary_options.cpp: start to handle opsummary option

	* pp/Makefile.am: update

2003-04-17  Philippe Elie  <phil.el@wanadoo.fr>

	* libpp/format_output.h:
	* libpp/format_output.cpp:
	* libpp/outsymbflag.h:
	* libpp/profile_container.h:
	* libpp/profile_container.cpp: osf_header/osf_details are no longer
	  flags but separate boolean.

2003-04-17  Philippe Elie  <phil.el@wanadoo.fr>

	* dae/opd_kernel.c:
	* daemon/opd_kernel.c: remove leading '/' on module name fixing 2.5
	 module not under {kern} and similar case for "no-vmlinux" with 2.4/2.5

	* libutil/op_file.c: tiny tidy

2003-04-17  Philippe Elie  <phil.el@wanadoo.fr>

	* libop/op_mangle.c: app_name and image was reversed, {dep} was missing

2003-04-17  John Levon  <levon@movementarian.org>

	* libpp/filename_spec.h:
	* libutil++/comma_list.h: compile fixes

2003-04-17  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/opcontrol: better --reset handling

2003-04-16  Philippe Elie  <phil.el@wanadoo.fr>

	* dae works, daemon compiles but not tested.

	* libop/op_config.h:
	* libpp/op_session.h:
	* libpp/session.cpp:
	* pp/op_merge: handle new path to samples files.

	* libutil++/file_manip.h:
	* libutil++/file_manip.cpp: move create_dir(), create_path() ...
	* libutil/op_file.h:
	* libutil/op_file.c: here. Remove op_move_regular_file()

	* daemon/opd_image.c:
	* daemon/opd_sample_files.h:
	* daemon/opd_sample_files.c:
	* dae/opd_image.c:
	* dae/opd_sample_files.h:
	* dae/opd_sample_files.c: use new filename scheme

	* daemon/oprofiled.c:
	* dae/oprofiled.c: remove samples files backup stuff

	* libop/op_mangle.h:
	* libop/op_mangle.c: ugly modification to handle new samples filename

	* utils/opcontrol: handle new samples files path, --save and --reset
	  are working too.

	* gui/oprof_start_util.cpp: use new create_path() API

2003-04-16  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/common_option.cpp:
	* pp/common_option.h:
	* libregex/demangle_symbol.cpp: rename demangle_and_shrink to
	  smart_demangle

2003-04-16  Philippe Elie  <phil.el@wanadoo.fr>

	* starting branch pp-interface-branch

	* Makefile.am:
	* configure.in: handle new sub dir libpp

	* libutil++/comma_list.h: new file handling of comma separated list of
	  items.
	* libutil++/generic_spec.cpp:
	* libutil++/generic_spec.h: new file
	* libutil++/Makefile.am: handle new file

	* pp/counter_array.*:
	* pp/counter_profile.*:
	* pp/counter_util.*:
	* pp/derive_files.*:
	* pp/format_output.*:
	* pp/opp_symbol.h:
	* pp/outsymbflag.h:
	* pp/profile.*:
	* pp/profile_container.*:
	* pp/sample_container_imp.*:
	* pp/session.*:
	* pp/symbol_container_imp.*:
	* pp/symbol_functors.*: move to

	* libpp/*: here
	* libpp/filename_spec.cpp:
	* libpp/filename_spec.h: new file handling of pp sample filename
	* libpp/parse_cmdline.cpp:
	* libpp/parse_cmdline.h: new file, handling of command line tag:value
	* libpp/Makefile.am: new file build libpp.a

	* pp/common_option.h:
	* pp/common_option.cpp: common option to pp tools. Implement common
	  entry point to pp tools.
	* pp/opannotate.cpp:
	* pp/opdiff.cpp:
	* pp/opgprof.cpp:
	* pp/opreport.cpp:
	* pp/opsummary.cpp: skeleton file for all pp tools.
	* pp/Makefile.am: remove old pp tools, add the news.

2003-04-28  Alex Tsariounov  <alext@fc.hp.com>

	* module/ia64/op_pmu.c: fix compile

2003-04-24  Philippe Elie  <phil.el@wanadoo.fr>

	* module/compat22.h: add cpuid_edx when linux version < 2.2.21

2003-04-24  Dave Jones <davej@codemonkey.org.uk>

	* events/x86-64.hammer.events:
	* events/x86-64.hammer.unit_masks: typo fixes from AMD.
	* module/x86/cpu_type.c: Check for APIC on Athlon before enabling it.

2003-04-15  Philippe Elie  <phil.el@wanadoo.fr>

	* events/i386-ht.events: all events allow only one counter, remove
	  three events due to ESCR restricton.
	* events/i386.events: add some comments.

	* module/x86/op_model_p4.c: synch with linux 2.5 mainline
	  - except events CTR_BPU_0 all virtual counter was not working.
	  - Prevents a segfault when using incorrect counter number.
	  - ESCR event select is 6 bits length not 5.
	  - Don't fail silently in p4_setup_ctrs().
	* module/x86/op_msr.h: match name used in linux.

2003-04-15  John Levon  <levon@movementarian.org>

	* doc/oprofile.1.in:
	* doc/oprofile.xml: small english fixes

2003-04-14  Philippe Elie  <phil.el@wanadoo.fr>

	* dae/opd_kernel.c:
	* dae/opd_proc.c:
	* dae/oprofiled.c:
	* utils/opcontrol:
	* doc/oprofile.1.in:
	* doc/oprofile.xml: handle --no-vmlinux

	* daemon/opd_kernel.c: use no-vmlinux not /no-vmlinux when user
	  specify --no-vmlinux

2003-04-08  John Levon  <levon@movementarian.org>

	* HACKING: describe what happens with oprofile-www

2003-04-08  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/op_bfd.cpp: check for #717720 and direct user to
	  FAQ if detected. Note than we don't detect all symptom of this bug.

2003-04-08  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/op_exception.h: op_runtime_error is no longer abstract

	* libregex/op_regex.h: comment and tidy
	* libregex/op_regex.cpp: tidy

2003-04-07  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/op_to_source.cpp: make each line be prefixed with the samples
	counts. It was too hard to find samples inside prevous format.

2003-04-07  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/string_manip.cpp: work around for gcc 2.95
	* p/op_to_source.cpp: minor cleanup

2003-04-07  John Levon  <levon@movementarian.org>

	* pp/op_to_source.cpp: cheat a bit to get
	better indentatioon on the default setup, by
	widening counter width to 7.

2003-04-07  John Levon  <levon@movementarian.org>

	* pp/op_to_source.cpp: append symbol summary
	annotations separate from the prolog samples on
	the same line.

2003-04-07  John Levon  <levon@movementarian.org>

	* pp/op_to_source.cpp: only output line 0 annotation
	if samples found there.

2003-04-07  John Levon  <levon@movementarian.org>

	* utils/opcontrol: make sure --ctrX-event=none gets noticed

2003-04-06  John Levon  <levon@movementarian.org>

	* libutil++/string_manip.h:
	* libutil++/string_manip.cpp: remove ws_prefix(). Add
	format_percent().

	* pp/op_to_source.cpp: make each line be prefixed with
	the sample counts, instead of on a line above, to preserve
	line numbering.

2003-04-06  John Levon  <levon@movementarian.org>

	* pp/op_to_source.cpp: some renamings for clarity

2003-04-06  John Levon  <levon@movementarian.org>

	* pp/op_to_source.cpp: move extract_blank_at_begin() to ...

	* libutil++/string_manip.cpp: ... here, and rename as
	ws_prefix().
	
2003-04-06  John Levon  <levon@movementarian.org>

	* pp/op_to_source.cpp: prefix comment lines.
	Output the general footer on each separate file.
	Output the info at the bottom when outputting
	separate files (towards maintaining line numbering).

2003-04-06  John Levon  <levon@movementarian.org>

	* pp/op_to_source.cpp: construct a file-scope
	cmdline string, instead of passing it around.

2003-04-06  John Levon  <levon@movementarian.org>

	* libregex/op_regexp.cpp: re-arrange a bit

2003-04-06  John Levon  <levon@movementarian.org>

	* configure.in:
	* all Makefile.am: don't blindly set $LIBS, use
	explicit mention of which libs are needed.

	* dae/Makefile.am:
	* daemon/Makefile.am: only link with C++ if needed.

2003-04-05  Philippe Elie  <phil.el@wanadoo.fr>

	* libop/op_config_24.h:
	* module/oprofile.c:
	* module/oprofile.c: make watermark size proportionnal to buffer size.

2003-04-05  Philippe Elie  <phil.el@wanadoo.fr>

	* libop/op_events.h:
	* libop/op_events.c: re-add op_min_count();

	* dae/oprofiled.c:
	* daemon/oprofiled.c: use op_min_count() fixing #715923

2003-04-01  John Levon  <levon@movementarian.org>

	* libdb/Makefile.am: fix make dist

	* daemon/opd_cookie.h: add SPARC syscall number.
	  The system call function is OK for sparc/sparc64

2003-03-31  Will Cohen  <wcohen@redhat.com>

	* libdb/odb_hash.h: Renamed db_hash.h.

	* dae/Makefile.am:
	* dae/opd_image.c:
	* dae/opd_image.h:
	* dae/opd_proc.c:
	* dae/opd_sample_files.c:
	* daemon/Makefile.am:
	* daemon/opd_image.c:
	* daemon/opd_image.h:
	* daemon/opd_sample_files.c:
	* libabi/Makefile.am:
	* libabi/abi.cpp:
	* libabi/abi_test.cpp:
	* libabi/op_import.cpp:
	* libdb/Makefile.am:
	* libdb/db_debug.c:
	* libdb/db_hash.h:
	* libdb/db_insert.c:
	* libdb/db_manage.c:
	* libdb/db_stat.c:
	* libdb/db_test.c:
	* libdb/db_travel.c:
	* pp/Makefile.am:
	* pp/counter_profile.cpp:
	* pp/counter_profile.h:
	* pp/op_merge.cpp: Change names to avoid libdb.a name conflicts.
	
2003-03-30  John Levon  <levon@movementarian.org>

	* configure.in: bump to 0.6cvs

	* doc/oprofile.xml: fix id. Add java etc. mention

	* utils/Makefile.am:
	* utils/op_start:
	* utils/op_start_25:
	* utils/op_stop:
	* utils/op_stop_25:
	* utils/op_dump:
	* utils/op_dump_25:
	* utils/op_session: finally remove the back compat crap

	* HACKING: add release-notes policy

2003-03-30  John Levon  <levon@movementarian.org>

	* configure.in: bump to 0.5.2

2003-03-30  John Levon  <levon@movementarian.org>

	* Makefile.am: remove op_arch.h for ia64

2003-03-27  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: several more examples and fixes

2003-03-26  John Levon  <levon@movementarian.org>

	From a patch by Bryan Rittmeyer.

	* module/oprofile.c:
	* module/oprofile.h: push "irq_enabled" test
	into arch code, don't pass struct pt_regs.

	* module/x86/op_arch.h: cleanups

	* module/x86/op_model_athlon.c:
	* module/x86/op_model_ppro.c:
	* module/x86/op_model_p4.c:
	* module/x86/op_rtc.c: changes from above

	* module/ia64/op_arch.h: remove
	* module/ia64/op_pmu.c: change from above

2003-03-24  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: document prologues, and inline functions

2003-03-24  Will Cohen  <wcohen@redhat.com>

	* libutil/op_fileio.c (op_get_line): Use lower cost getc().

2003-03-24  John Levon  <levon@movementarian.org>

	* m4/configmodule.m4: fix quoting problem for awk

2003-03-23  John Levon  <levon@movementarian.org>

	* configure.in:
	* m4/: move lots of stuff into separate .m4 files

	* m4/typedef.m4: improve configure message

2003-03-23  John Levon  <levon@movementarian.org>

	* configure.in:
	* m4/Makefile.am:
	* m4/copyifchange.m4:
	* m4/docbook.m4:
	* m4/kerneloption.m4:
	* m4/kernelversion.m4:
 	* m4/resultyn.m4: move configure.in macros to m4/

2003-03-23  John Levon  <levon@movementarian.org>

	* m4/ChangeLog: add comment

	* m4/typedef.m4: can't use AC_LANG_PUSH/POP

2003-03-23  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* m4/Makefile.am:
	* m4/typedef.m4: new file to get underlined type for a typedef.
	
	* configure.in: get at configure time the real underlined type
	  for size_t and ptrdiff_t

	* libregex/stl.pat: move to ...
	* libregex/stl.pat.in: here. Use @SIZE_T_TYPE@ ans @PTRDIFF_T_TYPE@
	* libregex/Makefile.am: update according
	* libregex/.cvsignore: ignore stl.pat

2003-03-22  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/opcontrol: use $OP_HELP not op_help
	* utils/op_help.c: remove short option for --get-cpu-frequency

2003-03-22  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* m4: new directory
	* m4/.cvsignore: new

	* acinclude.m4: move to
	* m4/qt.m4: here
	* m4/Makefile.am: new for EXTRA_DIST = all our .m4
	* Makefile.am:
	* configure.in:
	* autogen.sh: handle m4 subdir, add -I m4 to aclocal flags

2003-03-22  Philippe Elie  <phil.el@wanadoo.fr>

	  Suggested by John

	* libutil/op_cpufreq.c: typo in comment

	* utils/op_help.c: add --get-cpu-frequency, intentionnaly not
	  documented.
	* utils/opcontrol: use op_help --get-cpu-frequency and remove
	  ugly shell script doing the same thing.

2003-03-22  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil/op_cpufreq.h:
	* libutil/op_cpufreq.c: new file exporting op_cpu_frequency()
	* libutil/Makefile.am: update according

	* utils/opcontrol: handle other arch

	* gui/oprof_start_util.h:
	* gui/oprof_start_util.cpp: remove get_cpu_speed()
	* gui/oprof_start.h:
	* gui/oprof_start.cpp: and use instead op_cpu_frequency()

	* daemon/oprofiled.c:
	* dae/oprofiled.c: replace --cpu-speed option by a call to
	  op_cpu_frequencey()

2003-03-20  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: doc some 2.5 module stuff

2003-03-20  John Levon  <levon@movementarian.org>

	* utils/opcontrol: fix opcontrol --dump to do something

	* daemon/opd_image.c: give a printf when reading the buffer.

2003-03-19  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/op_bfd.cpp: correct get_vma_range()

	* pp/oprofpp.cpp: do_dump_gprof() this time it's right!

2003-03-18  John Levon  <levon@movementarian.org>

	* pp/profile.cpp: improve mtime warning for 2.5 modules

2003-03-18  John Levon  <levon@movementarian.org>

	* pp/derive_files.cpp: some more 2.5 modules derivation fixes

2003-03-18  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/derive_files.cpp: fix handling of 2.5 module name

2003-03-18  John Levon  <levon@movementarian.org>

	* daemon/opd_image.c:
	* libop/op_interface_25.h: rename to MODULE_LOADED_CODE

2003-03-18  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* pp/derive_files.cpp: special to retrieve 2.5 module

2003-03-18  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* pp/symbol_container_imp.h:
	* pp/symbol_container_imp.cpp:
	* pp/profile_container.h:
	* pp/profile_container.cpp: find(string symbol_name) return a vector
	  of symbol rather a a single symbol
	* pp/oprofpp.cpp: use above change so oprofpp -s will show all
	  symbol with the same name.

	* pp/symbol_functors.h: remove unused functors equal_symbol_by_name

2003-03-17  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* libutil/op_fileio.h:
	* libutil/op_fileio.c: op_write_u64() new
	* libutil/op_types.h: continue our silly typedef: add u64

	* libutil++/op_bfd.h:
	* libutil++/op_bfd.cpp: op_bfd::arch_bits_per_address() new allowing
	  to get, on a per-binary basis, the vma size.

	* pp/oprofpp.cpp: fix 64 bits arch gprof output. Fix multiplier and
	  get the multiplier of gprof file at runtime. Fix a very old bug
	  where we credit the samples to previous gprof bin having the effect
	  than sample at start of function was credited to the previous
	  function

2003-03-17  John Levon  <levon@movementarian.org>

	* daemon/opd_kernel.c:
	* daemon/opd_kernel.h:
	* daemon/opd_image.c:
	* daemon/oprofiled.c: don't try to reread the module
	list on a failed EIP match. We must have the module load
	notification instead.

2003-03-17  John Levon  <levon@movementarian.org>

	* daemon/opd_kernel.c: fix module accounting. Remove
	quick-drop code that can't work.

	* doc/oprofile.1.in:
	* doc/oprofile.xml: english tweaks

2003-03-17  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* doc/oprofile.1.in:
	* doc/oprofile.xml: remove documentaton about -P, update doc about -p

	* pp/derive_files.h:
	* pp/derive_files.cpp: check_image_name(), add_to_alternate_filename()
	  functions moved from op_time.cpp

	* pp/op_time_options.h:
	* pp/op_time_options.cpp:
	* pp/op_time.cpp: remove -P option, minor cleanup

	* pp/oprofpp_options.h:
	* pp/oprofpp_options.cpp:
	* pp/oprofpp.cpp: add -p option, minor cleanup
	
	* pp/op_to_source.cpp: minor cleanup

2003-03-16  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/opcontrol: check return code for --ctr??-event=none

2003-03-16  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/oprof_start.cpp: check for --separate=xxxx in the right order.
	  Old code do: if user set separate=library and separate=kernel only
	  separate=library was taken by opcontrol

2003-03-16  Philippe Elie  <phil.el@wanadoo.fr>

	* configure.in: typo

2003-03-16  John Levon  <levon@movementarian.org>

	* configure.in: more docbook macro fixes

2003-03-15  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil/op_libiberty.h: cut&paste typo breaking compilation on box
	  w/o libiberty.h

	* daemon/opd_image.c: remove bogus fprintf. compilation was broken
	  on alpha.

	* configure.in: xsltproc checking fix, was always accepted even
	 on box where xsltproc is not installed

2003-03-15  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: upate

	* Makefile.am: add ChangeLog-2002 in dist files
	* all Makefile.am: put one item by line for most  xxxx = blah
	* doc/CodingStyle: rationale for the above change

2003-03-15  Philippe Elie  <phil.el@wanadoo.fr>

	* libop/op_events.c: minor cleanup

2003-03-15  Dave Jones <davej@codemonkey.org.uk>

	* module/x86/op_nmi.c: Remove stale debug code from yesterdays commit.

2003-03-15  Philippe Elie  <phil.el@wanadoo.fr>

	* configure.in: add checking for existence of xmemdup()

	* libutil/Makefile.am:
	* libutil/op_string.h:
	* libutil/op_string.c: new, a few C string handling function

	* libutil/op_libiberty.h:
	* libutil/op_libiberty.c: xmemdup() new.

	* libop/op_events.h:
	* libop/op_events.c: tidy parser. Add op_free_events(). Fix minor
	  buglet.

	* dae/oprofiled.c:
	* daemon/oprofiled.c: fix memleak from parsing events files

	* gui/Makefile.am:
	* pp/Makefile.am: fix lib ordering, now libop depend on libutil

	* utils/op_help.c: error message if invalid cpu type. Fix op_help
	  when using timer interrupt.

2003-03-14  Andi Kleen <ak@suse.de>

	* module/x86/op_nmi.c: Fix another possible race condition.

2003-03-14  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* libregex/stl.pat: support for rb tree, set/map, anonymous namespace.
	  Fix incorrect pattern for gcc 3.2. Handle 2.95 vector/string
	  iterator and a few stl free function handling. add all C++ base type.
	* libregex/mangled-name.txt: test for the above change

2003-03-14  Philippe Elie  <phil.el@wanadoo.fr>

	* gui/oprof_start.cpp: gcc 2.91 warning work around

2003-03-14  Philippe Elie  <phil.el@wanadoo.fr>

	* libop/op_events.c: fix a daemon segfault depending on the used
	  libc version, added 2003-03-04 (0.5.1 is ok)

2003-03-13  Dave Jones <davej@codmeonkey.org.uk>

	* events/x86-64.hammer.events: Remove duplicate minimum tag
	  from RETIRED_INSNS counter.

2003-03-11  John Levon  <levon@movementarian.org>

	* module/ia64/op_pmu.c: include op_arch.h not arch.h

2003-03-10  Philippe Elie  <phil.el@wanadoo.fr>

	* configure.in: remove unsupported --warnnet, fix docbook root dir test
	* doc/oprofile.xml: typo

2003-03-10  John Levon  <levon@movementarian.org>

	* doc/Makefile.am:
	* configure.in:
	* doc/xsl/catalog-1.xml.in: more docbook changes

2003-03-10  John Levon  <levon@movementarian.org>

	* configure.in:
	* doc/Makefile.am:
	* doc/xsl/xhtml.xsl:
	* doc/xsl/xhtml-chunk.xsl:
	* doc/xsl/catalog-1.xml.in: Use a catalog for finding
	the XSL, so we only have one .in file now.

2003-03-08  Will Cohen  <wcohen@redhat.com>

	* doc/Makefile.am: Correct path for htmldir.

2003-03-08  John Levon  <levon@movementarian.org>

	* libop/op_cpu_type.c: improve error message

	* utils/op_help.c: show CPU name in events list. Show CPU
	 pretty name in op_help --get-cpu-type.

2003-03-08  John Levon  <levon@movementarian.org>

	* configure.in: specify distcheck ./configure flags.
	  Add version.h to distclean.

	* doc/Makefile.am: 
	* doc/xsl/xhtml-1.in:
	* doc/xsl/xhtml-chunk-1.in: fix make distcheck

2003-03-08  Philippe Elie  <phil.el@wanadoo.fr>

	* doc/xsl/.cvsignore: update

	* module/x86/cpu_type.c: <smpboot.h> is not necessary

2003-03-07  John Levon  <levon@movementarian.org>

	* README: document autogen.sh

2003-03-07  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* doc/xsl/xhtml.xsl.in: move to
	* doc/xsl/xhtml-1.xsl.in: here
	* doc/xsl/xhtml-chunk.xsl.in: move to
	* doc/xsl/xhtml-chunk-1.xsl.in: here
	* doc/Makefile.am; update according
	* configure.in: avoid to touch doc/xsl generated files

2003-03-07  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* daemon/opd_image.c:
	* daemon/op_stats.c:
	* daemon/opd_stats.h: add statistics for nil image whilst receiveing
	  user space samples.

2003-03-06  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* libdb/db_hash.h:
	* libdb/db_insert.c: get error message from db_insert()

	* libdb/db_test.c:
	* dae/opd_proc.c:
	* daemon/opd_image.c:
	* libabi/abi_test.cpp:
	* libabi/op_import.cpp:
	* pp/op_merge.cpp: update according to the new api

2003-03-06  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: pedantry

2003-03-06  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* doc/oprofile.1.in:
	* doc/oprofile.xml: document --smart-demangle

2003-03-06  Philippe Elie  <phil.el@wanadoo.fr>

	* module/ia64/op_pmu.c:
	* module/x86/op_nmi.c: remove #include <op_events.h>

2003-03-06  John Levon  <levon@movementarian.org>

	* utils/opcontrol: sh != C. This is the last opcontrol
	  bug, honest ! OK, maybe not.

2003-03-06  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* gui/oprof_start.cpp: save_config() gcc 2.95.3 warning work-around

2003-03-05  John Levon  <levon@movementarian.org>

	* utils/opcontrol: Make --setup optional (e.g.
	  opcontrol --no-vmlinux). Fix a bug in the --setup
	  exclusive arg testing.

	* doc/oprofile.xml: reflect the above

2003-03-05  John Levon  <levon@movementarian.org>

	* libutil++/string_manip.h:
	* libutil++/string_manip.cpp: cleanup, use s.find
	  because older gcc's don't have the right s.compare

2003-03-04  John Levon  <levon@movementarian.org>

	* utils/opcontrol: only sleep 2 after dump on 2.4

2003-03-04  John Levon  <levon@movementarian.org>

	* configure.in: tweak the xsltproc test

2003-03-04  John Levon  <levon@movementarian.org>

	* configure.in:
	* doc/Makefile.am: don't try to build the docs
	  if it will fail.

2003-03-04  John Levon  <levon@movementarian.org>

	* utils/opcontrol:
	* daemon/opd_kernel.h:
	* daemon/opd_image.c:
	* daemon/opd_kernel.c:
	* daemon/oprofiled.c: implement --no-vmlinux.
 	  Remove back compat for is_kernel.

	* gui/uioprof_start.base.ui:
	* gui/oprof_start.cpp:
	* gui/oprof_start_config.h:
	* gui/oprof_start_config.cpp: support the above

	* doc/oprofile.1.in:
	* doc/oprofile.xml: doc the above

2003-03-04  John Levon  <levon@movementarian.org>

	* utils/opcontrol: allow --version, --help early on

2003-03-04  John Levon  <levon@movementarian.org>

	* libop/op_events.c: alter the parser to give file/linenr on
	  error, and handle more whitespace.

2003-03-04  John Levon  <levon@movementarian.org>

	* gui/oprof_start.cpp:
	* gui/oprof_start.h:
	* gui/oprof_start_config.cpp:
	* gui/oprof_start_config.h:

	* libutil++/string_manip.h:
	* libutil++/string_manip.cpp: add is_prefix(),
	  make the trimmers take an argument

2003-03-04  John Levon  <levon@movementarian.org>

	* gui/oprof_start.cpp:
	* gui/oprof_start.h:
	* gui/oprof_start_config.cpp:
	* gui/oprof_start_config.h:
	* gui/persistent_config.h:

	* libutil++/string_manip.h:
	* libutil++/string_manip.cpp: add split(), tobool(), touint()

	* utils/opcontrol: don't write BUF_SIZE twice. Write
	  RTC_VALUE properly. Write KERNEL_ONLY

2003-03-03  John Levon  <levon@movementarian.org>

	* gui/oprof_start.cpp: use --ctrX-event=none,
	  --separate=none. --pid/pgrp-filter=0 was already
	  being done.

2003-03-03  John Levon  <levon@movementarian.org>

	* doc/oprofile.1.in:
	* doc/oprofile.xml:
	* doc/opcontrol: add --ctrX-event=none

2003-03-03  Will Cohen  <wcohen@redhat.com>

	* gui/oprof_start.cpp (oprof_start::on_start_profiler): Limit
	  check to onlyl utm_bitmask.

2003-03-03  Will Cohen  <wcohen@redhat.com>

    * events/ia64.itanium2.events:
    * events/ia64.itanium2.unit_masks: Add Itanium 2 events.

2003-03-03  Will Cohen  <wcohen@redhat.com>

    * libop/op_events.h:
    * libop/op_events.c: Correct checking for the number of unit
      masks.

2003-03-03  John Levon  <levon@movementarian.org>

	* doc/oprofile.1.in:
	* doc/oprofile.xml: another round of cleanups

	* pp/op_merge.cpp: --counter not --use-counter,
	  for consistency

2003-03-03  John Levon  <levon@movementarian.org>

	Patch from Chris Moller, modified.

	* dae/opd_proc.c:
	* dae/opd_sample_files.c:
	* daemon/opd_image.c:
	* daemon/opd_sample_files.c:
	* libabi/abi_test.cpp:
	* libabi/op_import.cpp:
	* libdb/db_hash.h:
	* libdb/db_insert.c:
	* libdb/db_manage.c:
	* libdb/db_test.c:
	* pp/counter_profile.cpp:
	* pp/op_merge.cpp: push asserts in libdb down into
	  the clients.

2003-03-03  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml:
	* doc/oprofile.1.in:
	* utils/opcontrol: add --separate=none, --pid/pgrp-filter=non

2003-03-03  John Levon  <levon@movementarian.org>

	* configure.in:
	* doc/Makefile.am:
	* doc/oprofile.xml:
	* doc/xsl/xhtml-chunk.xsl.in:
	* doc/xsl/xhtml.xsl.in:
	* doc/xsl/xhtml-common.xsl: Add version to the
	  docs. Some doc cleanups

2003-03-02  John Levon  <levon@movementarian.org>

	* utils/opcontrol: --separate=library should turn kernel off

2003-03-02  John Levon  <levon@movementarian.org>

	* events/Makefile.am: fix uninstall

2003-03-02  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: more re-workings prodded by aeb

2003-03-02  John Levon  <levon@movementarian.org>

	* daemon/opd_kernel.c: remove /proc/ksyms reading

2003-03-02  John Levon  <levon@movementarian.org>

	* libutil/op_fileio.c: change op_get_line to return
	  NULL on EOF. Also bump up the default allocation some.

	* dae/opd_kernel.c:
	* dae/opd_parse_proc.c:
	* daemon/opd_kernel.c:
	* libop/op_events.c: changes from the above

2003-03-02  John Levon  <levon@movementarian.org>

	* configure.in:
	* Makefile.am:
	* events/: add text files describing the CPU counters
	  and unit masks. Install them.

	* libop/op_events.h:
	* libop/op_events.c: remove the bletcherous hard coded
	  descriptions.

	* module/ia64/op_pmu.c:
	* module/x86/op_nmi.c: remove another big of validation

	* libutil/op_list.h: make C++ friendly

	* libop/op_cpu_type.h:
	* libop/op_cpu_type.c: add op_get_cpu_name()

	* libop/Makefile:
	* libop/op_events_desc.h:
	* libop/op_events_desc.cpp: removed

	* libop++/op_print_event.cpp:
	* utils/Makefile.am:
	* utils/op_help.c:
	* gui/oprof_start.h:
	* gui/oprof_start.cpp: changes from above

2003-03-01  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: tweaks

	* utils/opcontrol: scale the default event count. Please
	  test ...

2003-03-01  John Levon  <levon@movementarian.org>

	* utils/opcontrol: setup default events. Allow part-setting
	  using --setup. Fix a help text.

	* doc/oprofile.xml: changes from the above

2003-03-01  John Levon  <levon@movementarian.org>

	* libop/op_cpu_type.c: fix alpha/ev4 mis-detection

2003-03-01  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: expand intro a little, small fixes

2003-03-01  John Levon  <levon@movementarian.org>

	* pp/format_output.cpp: use "%" not "%-age"

2003-02-28  John Levon  <levon@movementarian.org>

	* utils/opcontrol: fix IS_TIMER setting, noticed by
	  Duncan Sands

2003-02-28  John Levon  <levon@movementarian.org>

	* configure.in: bump to 0.6cvs

2003-02-28  John Levon  <levon@movementarian.org>

	* doc/Makefile.am: tweak

	* libregex/Makefile.am: fix make dist

2003-02-27  John Levon  <levon@movementarian.org>

	* configure.in: bump to 0.5.1

2003-02-27  John Levon  <levon@movementarian.org>

	* doc/oprofile.xml: clarifiy --separate=kernel

2003-02-25  John Levon  <levon@movementarian.org>

	* configure.in: clarify --with-kernel-support

	* libop/op_events.c:
	* module/x86/op_nmi.c:
	* module/ia64/op_nmi.c: remove sanity checking - it's
	  the wrong place to have such code, is a barrier to op_events
	  cleanup, and makes life harder for NDAers.

2003-02-25  Will Cohen <wcohen@redhat.com>

	* utils/opcontrol (do_deinit): Correct search for /dev/oprofile.

2003-02-24  Dave Jones <davej@codemonkey.org.uk>

	* module/x86/op_apic.[c|h]: move NMI gate setup to architecture
	  specific SET_NMI_GATE macro. x86=no change.
	  Make x86-64 use the kernels _set_gate instead of its own open
	  coded variant.

2003-02-23  John Levon  <levon@movementarian.org>

	* version-1.h.in: another rename

2003-02-23  John Levon  <levon@movementarian.org>

	* configure.in: set up OP_DATADIR and OP_BINDIR

	* gui/oprof_start.cpp:
	* libregex/demangle_symbol.cpp: use the above

	* version_tpl.h.in: move to ...

	* version.h.in.in: ... here

2003-02-23  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* configure.in: add AX_COPY_IF_CHANGE() use it to generate version.h
	* .cvsignore: update

	* gui/Makefile.am:
	* gui/oprof_start.cpp:
	* libregex/Makefile.am:
	* libregex/demangle_symbol.cpp: don't use -DBINDIR, rather include
	  version.h to get install path

2003-02-23  John Levon  <levon@movementarian.org>

	* README: quick start build insns

2003-02-23  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* libregex/Makefile.am: install stl.pat in $prefix/share/oprofile
	* libregex/demangle_symbol.cpp: use DATADIR not BINDIR
	* libregex/magle-name.txt: add test for pointer
	* libregex/stl.pat: partial support for pointer

2003-02-23  John Levon  <levon@movementarian.org>

	* autogen.sh: error out if options passed

2003-02-23  John Levon  <levon@movementarian.org>

	* libregex/op_regex.h:
	* libregex/regex_test.cpp: fix std::

2003-02-23  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/demangle_symbol.cpp:
	* libutil++/demangle_symbol.h: move to
	* libregex/demangle_symbol.cpp:
	* libregex/demangle_symbol.h: here to avoid circular reference between
	  libutil++ and libregex
	* libregex/Makefile.am:
	* libutil++/Makefile.am: update according to file move

	* pp/Makefile.am:
	* pp/op_time.cpp:
	* pp/op_time_options.cpp:
	* pp/op_to_source.cpp:
	* pp/op_to_source_options.cpp:
	* pp/oprofpp.cpp:
	* pp/oprofpp_options.cpp: add -D --Demangle options enabling C++
	  demangled name filtering.

2003-02-23  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/string_manip.h:
	* libutil++/string_manip.cpp: trim(), ltrim(), rtrim() new functions

	* Makefile.am: handle libregex directory
	* configure.in: handle libregex/Makefile

	* libregex/.cvsignore:
	* libregex/Makefile.am :
	* libregex/mangled-name.txt:
	* libregex/op_regex.cpp:
	* libregex/op_regex.h:
	* libregex/regex_test.cpp:
	* libregex/stl.pat: new file implementing a match and replace regular
	  expression around glibc regex. Not used for now, next commit will
	  use this for pp tools C++ name demangling.

2003-02-22  John Levon  <levon@movementarian.org>

	* configure.in: fix X, non-Qt build case

2003-02-22  John Levon  <levon@movementarian.org>

	* libutil++/Makefile.am: fix make dist

2003-02-21  Dave Jones <davej@codemonkey.org.uk>

	* configure.in: Enable building on hammer again.

2003-02-21  John Levon  <levon@movementarian.org>

	* utils/opcontrol: "Params used" was lying

2003-02-20  John Levon  <levon@movementarian.org>

	* daemon/opd_image.c: Fixed a bitch of a bug with separate-kernel,
	  now attribution of kernel samples should be more accurate

2003-02-20  John Levon  <levon@movementarian.org>

	* utils/opcontrol: set LIB_SAMPLES if KERNEL_SAMPLES in .daemonrc

2003-02-20  John Levon  <levon@movementarian.org>

	* dae/opd_stats.h:
	* dae/opd_stats.c:
	* daemon/opd_stats.h:
	* daemon/opd_stats.c:
	* dae/opd_proc.c:
	* daemon/opd_image.c: remove unused OPD_SAMPLE_COUNTS. Actually
	  count samples for 2.5

2003-02-20  John Levon  <levon@movementarian.org>

	* libop/op_interface_25.h:
	* daemon/opd_kernel.c: implement module dropping

	* daemon/opd_image.c:
	* daemon/opd_kernel.c: attempt to make verbose logs
	  less confusing

2003-02-22  Dave Jones <davej@codemonkey.org.uk>

	* libop/op_events.c: segregload is utm_mask not utm_exclusive

2003-02-20  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* pp/output_format.h:
	* pp/output_format.cpp:
	* pp/op_time.cpp:
	* pp/oprofpp.cpp:
	* pp/opp_symbol.h: better handling of 64/32 bits bfd_vma
	  in output

2003-02-20  John Levon  <levon@movementarian.org>

	* libutil++/op_exception.h:
	* libutil++/op_exception.cpp: throw() where needed

2003-02-19  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* daemon/opd_image.h:
	* daemon/opd_image.cpp:
	* daemon/opd_kernel.cpp: fix thinko with --separate=kernel resulting
	  in duplicate opening of the same samples file.

2003-02-19  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/op_exception.h:
	* libutil++/op_exception.cpp: new files, base class for exception.
	  Not used for now.

2003-02-19  John Levon  <levon@movementarian.org>

	* acinclude.m4: update from upstream

	* gui/ui/oprof_start.base.ui:
	* gui/oprof_start.cpp: separate --setup,--start.
	  Hide non-2.5 stuff in 2.5.

2003-02-18  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* dae/opd_sample_files.c:
	* daemon/opd_sample_files.c: opd_handle_old_sample_file() don't
	  try to delete old samples files if they don't exist.

2003-02-18  Will Cohen  <wcohen@redhat.com>

	* utils/opcontrol (do_options): Better option error checking.

2003-02-17  Will Cohen  <wcohen@redhat.com>

	* pp/format_output.h (show_help): namespace std.

2003-02-17  Will Cohen  <wcohen@redhat.com>

	* TODO: update.

2003-02-17  Philippe Elie  <phil.el@wanadoo.fr>

	From Anton Blanchard :

	* daemon/opd_image.c: cookie_t fix for 64 bits

2003-02-17  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* libopt++/popt_options.cpp:
	* libopt++/popt_options.h: handle an user specific additional
	  help string

	* pp/output_format.h:
	* pp/output_format.cpp:
	* pp/op_time_options.cpp:
	* pp/oprofpp_options.cpp: use it to show in --output_format
	  options details.

2003-02-14  Philippe Elie  <phil.el@wanadoo.fr>

	* doc/oprofile.1.in:
	* doc/oprofile.xml:
	* pp/oprofpp_options.cpp: allow --show-shared-libs with -s

2003-02-13  Philippe Elie  <phil.el@wanadoo.fr>

	* TODO: update

	* pp/output_format.h:
	* pp/output_format.cpp: fix #686272, crash when using
	  oprofpp -s symb_name.

2003-02-13  Philippe Elie  <phil.el@wanadoo.fr>

	* dae/opd_kernel.h:
	* dae/opd_image.h:
	* dae/opd_image.c: don't use hash entry zero for kernel image
	 fix #686175

2003-02-13  Will Cohen  <wcohen@redhat.com>

	* daemon/opd_cookie.h(opd_nr_lookup_dcookie): Correct number.

2003-02-13  Will Cohen  <wcohen@redhat.com>

	* daemon/opd_cookie.h(opd_nr_lookup_dcookie): Add x86_64.

2003-02-13  John Levon  <levon@movementarian.org>

	* dae/opd_image.c: little cleanup and fix error message
	  to not lie

2003-02-12  Philippe Elie  <phil.el@wanadoo.fr>

	* doc/oprofile.1.in:
	* doc/oprofile.xml: enhance doc about --separate=kernel

	* utils/opcontrol: handle gracefully opcontrol --deinit if profiler
	  was already shutdown. Avoid wrong warning when umount /dev/oprofile

2003-02-12  Will Cohen  <wcohen@redhat.com>

	* gui/oprof_start.cpp (oprof_start::oprof_start,
	    oprof_start::on_flush_profiler_data,
	    oprof_start::on_start_profiler,
	    oprof_start::on_stop_profiler): Use opcontrol.
	* gui/oprof_start_util.cpp (daemon_status::daemon_status):
	    Allow reading interrupt info from new kernel interface.
	* libop/op_get_interface.c: New.
	* libop/Makefile.am: Add libop/op_get_interface.c.
	* libop/op_cpu_type.h: Add enum op_interface.

	I Added some bits. Phil
	* gui/oprof_start.cpp: correct --separate= handling
	* gui/oprof_start_util.cpp: read only the real number of interrupts

2003-02-12  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/opcontrol: handle --note-table-size --kernel-only (2.4 kernel)

2003-02-12  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/op_start: map --separate-samples to daemon option
	  --separate-lib-samples.

2003-02-11  Philippe Elie  <phil.el@wanadoo.fr>

	* dae/opd_image.c:
	* dae/opd_kernel.c:
	* dae/opd_kernel.h:
	* dae/opd_parse_proc.c:
	* dae/opd_proc.c:
	* dae/opd_proc.h:
	* dae/opd_sample_files.c:
	* dae/oprofiled.c:
	* daemon/opd_image.c:
	* daemon/opd_image.h:
	* daemon/opd_kernel.c:
	* daemon/opd_kernel.h:
	* daemon/opd_sample_files.c:
	* daemon/oprofiled.c: per application kernel samples files

	* doc/oprofile.1.in:
	* doc/oprofile.xml: document opcontrol --separate=kernel

	* gui/oprof_start.cpp:
	* gui/oprof_start_config.cpp:
	* gui/oprof_start_config.h:
	* gui/ui/oprof_start.base.ui: remove ignore_daemon checkbox, handle
	  --separate=[library|kernel]

	* libop/op_sample_file.h: add separate_kernel_samples field, file
	  format is backward compatible

	* libabi/abi.cpp:
	* libabi/abi_test.cpp:
	* libabi/op_import.cpp: handle new samples file header field

	* pp/counter_profile.cpp: dump new sample files header field.

	* utils/opcontrol: handle --separate=kernel

2003-02-09  Will Cohen  <wcohen@redhat.com>

	* utils/opcontrol: Add rtc-value option.

2003-02-09  John Levon  <levon@movementarian.org>

	* utils/opcontrol: stale lock file detection

2003-02-06  Will Cohen  <wcohen@redhat.com>

	* utils/opcontrol (do_dump): Do not exit if no daemon.

2003-02-06  Will cohen  <wcohen@redhat.com>

	* doc/oprofile.1.in: Update man page information.

2003-02-03  John Levon  <levon@movementarian.org>

	* configure.in: 0.6cvs

2003-02-02  John Levon  <levon@movementarian.org>

	* configure.in: bump to 0.5

2003-02-02  John Levon  <levon@movementarian.org>

	* configure.in: disable x86_64

2003-02-02  John Levon  <levon@movementarian.org>

	* pp/format_output.cpp: revert previous patch, Phil's
	  x86 binutils is built with 64-bit bfd_vma

2003-02-01  John Levon  <levon@movementarian.org>

	* utils/opcontrol: rename --separate-samples to --separate=library
	  for future proofing.

	* pp/format_output.cpp: output vma at a suitable width

2003-01-31  Will Cohen  <wcohen@redhat.com>

	* utils/opcontrol(get_kernel_range): Match only .text segment.

2003-01-31  Graydon Hoare  <graydon@redhat.com>

	* libabi/abi.cpp
	* libabi/abi_test.cpp
	* libabi/op_import.cpp: Treat endianness as a property of the datum
	being imported, rather than the memory architecture.

2003-01-31  Dave Jones <davej@codemonkey.org.uk>

	* module/x86/op_model_athlon.c: Don't poke reserved bits in the counter.
	  Only rdmsr/wrmsr counters that we've enabled in the NMI handler.
	  ulong->uint conversion.

2003-01-30  Philippe Elie  <phil.el@wanadoo.fr>

	From Randolph Chung :

	* daemon/opd_cookie.h: add parisc support

2003-01-30  John Levon  <levon@movementarian.org>

	From Anton Blanchard :

	* daemon/opd_cookie.h: add ppc32/64

	* utils/op_start_25: fix start of kernel for ppc

2003-01-30  Will Cohen  <wcohen@redhat.com>

	* utils/opcontrol(get_kernel_range): Avoid using perl arithmetic.

2003-01-29  Dave Jones <davej@codemonkey.org.uk>

	* utils/opcontrol: Trying to use the options --pid-filter=pid and
	  --pgmr-filter=pgmr, opcontrol returned "command not found.
	  This was due to 2 missing 'test' statements.
	
2003-01-29  Philippe Elie  <phil.el@wanadoo.fr>

	* pp/op_to_source.cpp: read vma with strtoull not strtoul fixing
	  32/64 failure to read output of objdump

2003-01-29  Dave Jones <davej@codemonkey.org.uk>

	* libop/op_cpu_type.c: Clue the user in on why the cpu type isn't
	  recognised, by suggesting the module wasn't loaded.
	* libop/op_events.c: Doh, unit masks use bit numbers, not values.

2003-01-28  Philippe Elie  <phil.el@wanadoo.fr>

	* utils/op_help.c: get cpu type only if not forced on command line.
	  Avoid wrong warning about unsupported cpu type.

2003-01-27  Will Cohen  <wcohen@redhat.com>

	* daemon/opd_cookie.h(opd_nr_lookup_dcookie): Add ia64 version.

2003-01-27  Dave Jones <davej@codemonkey.org.uk>

	* libop/op_events.c: K8 HT events are utm_exclusive, not utm_bitmask
	* libop/op_events.c: Add additional K8 unit masks.

2003-01-23  Philippe Elie  <phil.el@wanadoo.fr>

	* libop/op_interface_25.h:
	* daemon/opd_image.c: prepare drop modules support. exit() when
	  receiving unknown escape code.

2003-01-23   Randolph Chung  <tausq@debian.org>

	Added minor change: backward compatibility, u_int to uint, fix
	32/64 bits escape code marker comparison. Phil

	* libop/op_interface_25.h:
	* daemon/opd_kernel.c:
	* daemon/opd_image.c: new scheme to recognize kernel or user space
	  eip, now kernel module pass the relevent information through
	  escape sequence.

2003-01-21  Dave Jones <davej@codemonkey.org.uk>

	* libop/op_events.c: Add unit mask for Hypertransport events.

2003-01-21  Dave Jones <davej@codemonkey.org.uk>

	* libop/op_events.c: Add x86-64 specific events.

2003-01-21  Philippe Elie  <phil.el@wanadoo.fr>

	* daemon/opd_kernel.c: use sscanf to parse /proc/modules

2003-01-20  Philippe Elie  <phil.el@wanadoo.fr>

	* daemon/opd_kernel.c: more robust /proc/modules parsing.

2003-01-20  Philippe Elie  <phil.el@wanadoo.fr>

	* daemon/opd_kernel.c: 2.5 modules support, for now I keep
	  the code for /proc/ksyms parsing in daemon. Let's it living a few
	  weeks please.

2003-01-18  Falk Hueffner  <falk@debian.org>

	I added to the original patch all %L to %ll, Phil

	* daemon/opd_image.c:
	* daemon/opd_kernel.c:
	* libutil/op_types.h: 64 bits printf/scanf safety.

2003-01-18  Falk Hueffner  <falk@debian.org>

	* libop/op_cpu_type.h:
	* libop/op_cpu_type.c: add Alpha CPU families.
	* libop/op_events.h: make op_event.cpu_mask u32, since we now have
	  more than 16 CPU types
	* libop/op_hw_config.h: bump OP_MAX_COUNTERS to 20 for Alpha
	* libop/op_events.c: add Alpha events
	* daemon/opd_cookie.h: add dcookie syscall number for Alpha
	* utils/op_help.c (main): add help string for Alpha

2003-01-18  John Levon  <levon@movementarian.org>

	* module/Makefile.in:
	* module/x86/Makefile.in:
	* module/ia64/Makefile.in: kernel headers are too fubar
	  for -Werror. So I'm taking my ball home.

2003-01-17  John Levon  <levon@movementarian.org>

	* HACKING:
	* doc/CodingStyle: add

2003-01-17  John Levon  <levon@movementarian.org>

	* TODO: some updates

2003-01-15  Philippe Elie  <phil.el@wanadoo.fr>

	* module/x86/op_model_p4.c: pmc_setup_one_p4_counter() show clearly
	  than event == 0 is an error

2003-01-15  John Levon  <levon@movementarian.org>

	* utils/opcontrol: prefer oprofiled/op_help binaries in the same
	  dir as opcontrol

2003-01-12  Philippe Elie  <phil.el@wanadoo.fr>

	* libop/op_events.c: rename OP_P4_HT2 to OP_P4_ALL

2003-01-12  Philippe Elie  <phil.el@wanadoo.fr>

	* libop++/op_print_event.cpp: no event,nor unit mask for CPU_TIMER_INT,
	  problem reported by Ka Fai Lu.

2003-01-12  John Levon  <levon@movementarian.org>

	From Graydon Hoare

	* libop/op_cpu_type.h:
	* libop/op_cpu_type.c: add P4 HT

	* libop/op_events.c: tag P4 HT events

2003-01-11   Randolph Chung  <tausq@debian.org>

	* daemon/oprofiled.c: fix ELF sniff

2003-01-11  John Levon  <levon@movementarian.org>

	* daemon/opd_image.c: bail out immediately on dcookie
	  lookup failure.

2003-01-10  John Levon  <levon@movementarian.org>

	* daemon/opd_cookie.h: insulate against missing arch support
	  for sys_lookup_dcookie

	* daemon/opd_image.c: use the above

2003-01-10  John Levon  <levon@movementarian.org>

	* daemon/opd_image.c:
	* daemon/oprofiled.c: move complete_dump to a better place

2003-01-10  John Levon  <levon@movementarian.org>

	* libutil/op_types.h: add cookie_t and vma_t

	* daemon/opd_image.c:
	* daemon/opd_image.h:
	* daemon/opd_kernel.c:
	* daemon/opd_kernel.h: use above types, and kernel_pointer_size

	* daemon/oprofiled.c: sniff /proc/kcore for kernel_pointer_size

2003-01-10  Philippe Elie  <phil.el@wanadoo.fr>

	* libopt++/popt_options.cpp:
	* libopt++/popt_options.h: work-around to support both gcc new parser
	  and gcc 2.95

2003-01-08  John Levon  <levon@movementarian.org>

	* libop/op_type.cpp: support for ascii-string cpu types

2003-01-08  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/op_bfd.cpp:
	* libutil++/op_bfd.h:
	* pp/oprofpp.cpp: more use of bfd_vma

2003-01-08  Philippe Elie  <phil.el@wanadoo.fr>

	* libdb/Makefile.am: fix include dir
	* libdb/db_test.c: don't assume than sizeof(struct opd_header) == 128

2003-01-06  Philippe Elie  <phil.el@wanadoo.fr>

	* libutil++/op_bfd.h: fix for 64 bits.

2003-01-06  Philippe Elie  <phil.el@wanadoo.fr>

	* libabi/abi.cpp:
	* libabi/op_import.cpp: broken by my last change in libdb.

2003-01-06  Philippe Elie  <phil.el@wanadoo.fr>

	* db/db_hash.h: do_hash() use db_key_t as parameter

2003-01-04  John Levon  <levon@movementarian.org>

	* pp/op_time.cpp: suggest opcontrol --dump instead

	* utils/opcontrol: implement --start-daemon. Fix a number
	  of bugs

	* doc/oprofile.xml:
	* doc/oprofile.1.in: document --start-daemon

2003-01-03  Will Cohen  <wcohen@redhat.com>

	* daemon/oprofiled.c (opd_do_samples): Typecast to match
	  arguments.

See ChangeLog-2002 for earlier changelogs.
