-*-Mode: outline-*-

* News for v0.4
*** switched over to perfmon v2.2 (does not work with v2.0 anymore)
*** support AMD64, P6 cores, Pentium M (no call graph due to HW limitation)

* News for v0.3
*** q-syscollect: added support for Itanium2 9000 (Montecito)
*** q-syscollect: restructured code to split each PMU model for BTB support

* News for v0.2:

** New features

*** q-syscollect: Add support for interruption-level code-sampling (-i option).
*** q-tools now builds and works out-of-the-box for SuSE (SLES 9).

** Bug fixes

*** q-syscollect: Make it robust against small RLIMIT_MEMLOCK values.
*** q-syscollect: Fix bug which could cause killing of "random" processes.
*** q-syscollect: Fix bug which could cause live-lock when the
		  sampling-buffer filled up.
*** q-syscollect: Fix a memory leak.
*** q-syscollect: Fix handling of backslashes in argument vectors.
*** q-view: Ignore non-function symbols to avoid confusion when a function
	    contains a local lable.
*** q-view: Fix topological sort of the call-graph for good.
*** q-view: Ensure weird symbols such as "operator|=" get parsed properly.
*** q-view: Display fully-qualified kernel symbols as SYMNAME<kernel> for
	    consistency.
*** q-view: Build symbol table more carefully, e.g., suppressing duplicates
	    and use unwind-info to detect procedure-boundaries in stripped
	    binaries.
*** q-view: Allow for multiple kallsyms-formated symbol-files to enable,
	    e.g., firmware symbol-tables.

* News for v0.1:

** New features

*** q-syscollect command line is now captured, too

The command-line with which q-syscollect was invoked is now also
dumped into each .info file.  The tag under which the command
line is stored is:

     q:syscollect-cmdline

*** The format of fully-qualified symbols changed in q-view

q-view now displays fully-qualified symbols as:

  SYMBOLNAME<OBJECTNAME>

instead of

  OBJECTNAME:SYMBOLNAME

For example, instead of "libunwind.so.1:run_script" it would print
"run_script<libunwind.so.1>".  This enhancement is believed to improve
the readability of the output.

*** New option -m/--merge-unknown

With this option turned on, processes that are too short-lived for
q-syscollect to capture their info (/proc/PID/maps and
command-line-info) will have their profile data gathered into a single
file called "unknown-cpuN.info".  This avoids creating hundreds of
separate files when there are hundreds of too short-lived processes.

*** New program q-grab-mappings

See README for description.

** Bug fixes

*** q-view: Fix a bug which occasionally caused a symbol to get lost.
*** q-view: Fix a potential division-by-zero bug.
*** q-syscollect: Fix file-descriptor leak in elf_valid_file().
*** q-syscollect: Don't dump coare if sysconf(_SC_NPROCESSOR_ONLN) lies

*** q-syscollect: Don't ignore anonymous mappings entirely

This fixes a performance bug in which dynamically-generated code could
lead to /proc/PID/maps being re-read way too frequently (XFree86 was a
good way to trigger this problem, due to it's in-house dynamic
loader).

* News for v0.0:

Initial release.
