resetting manifest requested domain to floor
[platform/upstream/sysprof.git] / ChangeLog
index 426e744..e69de29 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-Mon Jan 22 17:42:29 2007  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-icon-32.png
-       * sysprof.c: Add a 32x32 version (also from Diana) of the icon.
-
-Mon Jan 22 16:37:12 2007  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-icon-16/24/48.png:
-       * sysprof.c: Add new icons from Diana.
-
-2007-01-05  Behdad Esfahbod  <behdad@gnome.org>
-
-       * module/Makefile: Correct $PWD usage, so make install works from
-       inside module/.
-
-2006-12-09  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * module/sysprof-module.c: Add forgotten put_cpu_var(). 
-       * sfile.c (build_instructions): Parse in chunks of 65536 to
-       improve locality.
-
-2006-11-23  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * process.c (read_maps): Set inode for vdso to 0.
-
-       * binfile.c (read_inode): Return -1 on error, 0 on vdso
-       (bin_file_new): Only read the inode if the file actually exists
-       and is an elf file.
-       (bin_file_check_inode): Return FALSE if there is no file.
-
-2006-11-22  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * sfile.c (sfile_load): Use GMappedFile instead
-       g_file_get_contents().
-       (build_instructions): Pass length instead of -1.
-       (sfile_output_save): Use g_file_set_contents() instead of
-       cut-and-pasted copy.
-
-2006-11-22  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * profile.c (add_trace_to_tree): Move match to front
-       (add_trace_to_tree): Break as soon as a recursive call is found.
-
-       * stackstash.c (do_callback): Manual tail call optimization.
-
-2006-11-20  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * sysprof.c (ensure_profile): reset the collector after generating
-       the profile.
-
-       * stackstash.c (struct StackStash): Add cached_nodes and blocks. 
-       (stack_node_new): Allocate stack nodes in blocks.
-
-2006-11-19  Soren Sandmann <sandmann@redhat.com>
-
-       * profile.c (profile_load): Use stack allocated variables to avoid
-       taking addresses of bitfields.
-
-       * stackstash.h (struct StackNode): Store toplevel as bitfield
-
-2006-11-19  Soren Sandmann <sandmann@redhat.com>
-
-       * profile.c (profile_load): Use stack_node_new() o
-       (profile_load): Use set_root() instead of new_from_root();
-       
-       * stackstash.c (stack_stash_new_from_root): Delete this function
-       (stack_stash_set_root): Add this function
-       (stack_node_new): Export this function
-
-2006-11-19   Soren Sandmann <sandmann@redhat.com>
-
-       * binparser.h: Declare bin_parser_free();
-
-       * elfparser.c (elf_parser_get_crc32): Use madvise(DONT_NEED) on
-       the file.
-       
-       * process.c (struct Process): Remove do_offset.
-
-Thu Nov  9 17:55:24 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO (-): udpate
-
-Thu Nov  9 17:31:17 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * binfile.c (get_debug_file): Start with "/usr", not
-       "usr". Pointed out by Tim Rowley.
-
-       * binparser.c (bin_parser_align): Pass byte_width on instead of
-       hardcoding 4. 
-
-Thu Nov  9 16:47:35 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       Look in the correct directory for debug info files. (Tim Rowley)
-       
-       * binfile.c (N_TRIES): Add this instead of hardcoding '3'
-
-       * binfile.c (get_debug_file): Also look in "/usr/lib/debug", in
-       addition to "$(libdir)/debug".
-
-       * binfile.c: Comment out the debug spew.
-
-Thu Nov  9 16:17:11 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * binfile.c: Add debug spew.
-
-Thu Nov  9 16:01:47 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-text.c (main): Die immediately if the output file is a
-       directory.
-
-       * autogen.sh (DIE): Also work when automake-1.9 is installed. 
-
-2006-11-02  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * sysprof.c (disable_g_slice): New function
-
-       * sysprof.c (main): Call it from here.
-
-2006-11-02  Soren Sandmann <sandmann@daimi.au.dk>
-
-       Valgrind:
-       
-       * binparser.c (bin_parser_free): Add this function
-       
-       * elfparser.c (elf_parser_free): Call bin_parser_free()
-
-       * sysprof.c (compute_text_width, add_text): Plug leaks
-
-       * collector.c (add_trace_to_stash): Copy n_addresses to a stack
-       variable instead of reading it out of the mmap'ed area all the
-       time. (That way if there is an overrun, we won't write too much
-       into the address array).
-
-2006-10-26  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * module/sysprof-module.h (struct SysprofStackTrace): Increase the
-       max number of addresses to 1021, reorganise SysprofMmapArea to
-       make the traces naturally page aligned.
-
-       * TODO: Update
-
-2006-10-26  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * collector.c (resolve_symbols): Combine processes with identical
-       commandlines here.
-
-2006-10-25  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * profile.c (add_trace_to_tree): Make the pointer array static to
-       improve cache behavior and reduce calls to malloc().
-
-       * process.c (lookup_kernel_symbol): Remove obsolete comment.
-
-2006-10-25  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * process.c (free_maps): Take a pointer to a variable that will be
-       set to 0.
-
-       * process.c: Stop coalescing processes with the same cmdline. 
-
-       * TODO: updates.
-
-2006-10-24  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * process.c (page_size): replace PAGE_SIZE macro with this function.
-
-       * binfile.c: Remove obsolete comment.
-
-2006-10-24  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * process.c (struct Process): Use an array instead of list of
-       maps.
-
-2006-10-23  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * module/sysprof-module.c (init_module): Use PAGE_SIZE - 1 instead
-       of 4096.
-
-2006-10-22  Soren Sandmann <sandmann@daimi.au.dk>
-
-       Communicate traces to userspace through shared memory instead of 
-       copying.
-       
-       * module/sysprof-module.c: Store the traces in a SysprofMmapArea.
-       (sysprof_mmap): Implement this method.
-       (sysprof_nopage): Implement this. 
-       (sysprof_read): Just reset the tail pointer and return zero.
-
-       * module/sysprof-module.h (struct SysprofMmapArea): New
-       structure. 
-
-       * collector.c (collector_stop): Unmap the device
-       (in_dead_period): New function
-       (on_read): Read the traces out of mmap()ed area instead of reading
-       them. Call read() to prevent poll() from firing. 
-       (struct Collector): New members map_area and current.
-
-       * Makefile.am (insert-module): Prefix modprobe with /sbin
-
-       * collector.c (open_fd): mmap() the sysprof device. 
-
-2006-10-11  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * profile.c (profile_list_callers): Skip nodes that don't have a
-       parent.
-
-2006-10-09  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * profile.c (profile_list_callers): Make this function return a
-       list of immediate callers again. 
-
-       * sysprof.c (build_gui): Change label back to "Callers"
-
-       * process.c (get_kernel_symbols): Only attempt to read the kernel
-       symbols once.
-
-2006-10-09  Soren Sandmann <sandmann@redhat.com>
-
-       * binfile.c (bin_file_get_inode): Remove this function
-
-       * binfile.c (bin_file_check_inode): New function. Only print inode
-       warning once per BinFile.
-
-       * process.c (process_get_vdso_bytes): Remove debug spew
-
-2006-10-09  Soren Sandmann  <ssp@localhost.localdomain>
-
-       * process.c (process_get_vdso_bytes): New function.
-
-       * elfparser.c (parser_new_from_data): export this function as
-       elf_parser_new_from_data(). 
-
-       * binfile.c (read_inode): Don't stat if filename is
-       '[vdso]'. Instead just return -1;
-       (bin_file_new): Use elf_parser_new_from_data() when the file is
-       [vdso]. 
-
-       * process.c (read_maps): Change the offset of the vdso map to 0
-       and the inode to -1.
-
-       * elfparser.c (elf_parser_lookup_symbol): Remove unused 'size'
-       variable.
-
-       * binfile.c (find_separate_debug_file): Deal with cycles in the
-       debuglink graph.
-
-       * configure.ac: Set version to 1.1.0. Print warning about HEAD.
-
-2006-10-08  Soren Sandmann  <ssp@localhost.localdomain>
-
-       * binfile.c: Don't include bfd.h
-
-2006-10-08  Soren Sandmann <sandmann@redhat.com> 
-
-       * sysprof.c (process_options): New function to support --version option
-
-2006-10-08  Soren Sandmann  <sandmann@redhat.com>
-
-       * elfparser.c (struct ElfParser): Add a cache of the text section.
-
-       * binparser.c (struct BinParser): Add a cache of a bin record to
-       get rid of malloc()/free() overhead.
-
-       * elfparser.c (struct ElfSym): Cache the size of the symbol
-
-2006-10-08  Soren Sandmann <sandmann@redhat.com>
-
-       * elfparser.c: Remove now unused load-address heuristic
-
-       * comment out debug spew
-
-2006-10-08  Soren Sandmann <sandmann@redhat.com>
-
-       * elfparser.c (read_symbols): Use "SHT_DYNSYM" for ".dynsym".
-
-2006-10-08  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * binfile.c (find_separate_debug_file): Support _debuglink
-       recursions.
-
-       * elfparser.c: Check that the sections have valid types before
-       using them. 
-
-2006-10-08  Soren Sandmann  <sandmann@daimi.au.dk>
-
-       * Delete various debug spew
-
-2006-10-07  Soren Sandmann  <sandmann@daimi.au.dk>
-
-       Deal with address offsets. Address lookup is now:
-
-       - First convert the address to an offset into the file
-       - Then convert to an offset into the text segment
-       - Then add the load address of the text segment (found in the
-       debug binary)
-       - Then finally lookup the result in the symbol table.
-       
-       * elfparser.c (elf_parser_get_text_offset): New function
-
-       * elfparser.c (elf_parser_lookup_symbol): Treat addresses as
-       offsets into the text segment.
-
-       * binfile.c (bin_file_new): Store the offset of the text section
-       of the actual binary (not the debug one)
-
-       (bin_file_lookup_symbol): Subtract text_offset before passing
-       address to elf parser. 
-
-       * module/sysprof-module.c: Remove include of linux/config.h
-
-2006-08-27  Soren Sandmann <sandmann@redhat.com>
-
-       * binparser.c: Remove old commented out code
-       * module/sysprof-module.c: Add commented out code accessing entire
-       stack. 
-
-2006-08-27  Soren Sandmann  <sandmann@redhat.com>
-
-       * module/Makefile ($(MODULE).o): Add dependency on sysprof-module.h
-
-       * elfparser.c (elf_parser_get_eh_frame): Add this function.
-       Remove some commented out code.
-
-Sat Aug 26 19:05:51 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * Formatting fixes in header files.
-
-2006-08-26  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * elfparser.c: Update to new API
-       
-       * binparser.h: Delete commented out declarations. Add new
-       functions.
-
-       * binparser.c: Delete ParserFrame, replace with one current
-       offset. 
-       (convert_uint): Make static
-       (bin_parser_get_uint): Delete this function
-       (bin_parser_get_string): Change this function to use current
-       offset instead of frame offset.
-       (bin_parser_goto): New function
-       (bin_parser_align): New function
-       (bin_parser_get_uint32): New function
-       (bin_parser_begin): Delete this function
-       (bin_parser_end): Delete this function
-       (bin_parser_index): Delete this function
-       (bin_record_get_string_indirect): Make this function use _goto()
-       instead of _begin()/_end()
-       (bin_parser_get_offset): Make this function return current offset
-
-2006-08-26  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * binparser.[ch]: Add new struct BinRecord. Comment out functions
-       related to formats. Add new functions to get fields out of
-       BinRecords.
-
-       * elfparser.c: Update to new API.
-
-2006-08-26  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * binparser.h: Add new bin_record() functions
-       * binparser.c: Implement them.
-
-2006-08-22  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * collector.c (unique_dup): Demangle instead of strdup.
-
-2006-08-21  Soren Sandmann <sandmann@redhat.com>
-
-       * elfparser.[ch]
-       (elf_parser_get_sym_name): Rename elf_sym_get_* to
-       elf_parser_get_sym_* and make these functions take a parser.
-       (parser_from_sym): Delete this function.
-       (elf_parser_new): Don't add to all_elf_parsers
-       (elf_parser_free): Don't remove from all_elf_parsers
-       (elf_parser_new): Rename to parser_new_from_file()
-       (elf_parser_new_from_file): Rename to elf_parser_new
-
-       * binfile.c: Update for new elfparser API
-
-       * TODO: updates
-
-2006-08-21  Soren Sandmann <sandmann@redhat.com>
-
-       * binfile.c (struct BinFile): Add ref_count and filename
-       (bin_files): Add map from filenames to BinFiles
-       (bin_file_new): First look for BinFile in the cache.
-       (bin_file_free): If refcount reaches 0, remove BinFile from cache.
-       
-       * TODO: Updates
-
-2006-08-21  Soren Sandmann <sandmann@redhat.com>
-
-       * process.c (process_lookup_symbol): Pass map->bin_file to
-       bin_symbol_get_name.
-
-       * binfile.h (bin_symbol_get_name): Add BinFile parameter
-
-       * elfparser.c (elf_demangle): Use options DMGL_PARAMS | DMGL_ANSI
-
-       * TODO: Updates
-
-       * binfile.c: Rewrite this file to use ElfParser instead of libbfd.
-
-       * configure.ac: Drop dependencies on libbfd and libiberty.
-
-2006-08-21  Soren Sandmann <sandmann@redhat.com>
-
-       * TODO: Update
-
-       * elfparser.c (elf_parser_lookup_symbol): Change sense of size
-       check.
-
-2006-08-20  Soren Sandmann <sandmann@redhat.com>
-
-       * elfparser.c (elf_parser_get_crc32): Initialize crc to 0xffffffff
-       and invert it before returning.
-
-       * elfparser.h: Declare elf_parser_get_debug_link()
-
-2006-08-20  Soren Sandmann  <sandmann@daimi.au.dk>
-
-       * elfparser.c (elf_parser_get_load_address): Comment out debug spew.
-       (elf_parser_lookup_symbol): Add check that address is actually
-       within the bounds of the found function.
-
-2006-08-20  Soren Sandmann  <sandmann@daimi.au.dk>
-
-       * process.h: Make process_lookup_symbol() return a string. Delete
-       process_lookup_symbol_with_filename().
-
-       * process.c (struct Process): Make "undefined" a string
-       (lookup_kernel_symbol): Return a string 
-       (process_lookup_symbol): Return a string, not a symbol
-
-       * collector.c (unique_dup): Take a string instead of a
-       Symbol. 
-       (lookup_symbol): Make sym a string instead of a Symbol.
-
-       * binfile.c (bin_symbol_get_name): New function.
-
-       * binfile.[ch] (struct BinSymbol): Rename Symbol to BinSymbol and
-       make it an opaque structure.
-
-       * binfile.[ch]: Remove unused symbol operations
-
-2006-08-20  Soren Sandmann <sandmann@daimi.au.dk>
-
-       * elfparser.c (elf_parser_new_from_file): New function
-
-2006-08-20   Soren Sandmann <sandmann@daimi.au.dk>
-
-       * elfparser.c (elf_parser_get_debug_link): New function
-
-       * elfparser.c: Delete SymbolTable typedef
-
-       * binparser.[ch] (bin_parser_get_data): New function
-       (bin_parser_get_length): New function
-
-       * elfparser.[ch] (elf_parser_get_crc32): New function
-
-       * TODO: Updates
-
-       * elfparser.c (elf_parser_lookup_symbol): Offset passed in
-       addresses by the load address.
-
-       * elfparser.c (elf_parser_get_load_address): New function to
-       compute the load address of the beginning of the file.
-
-2006-08-20  Soren Sandmann  <sandmann@redhat.com>
-
-       * elfparser.c (elf_sym_get_name): Read the name out of the file
-       instead of out of the struct.
-
-       * elfparser.c (struct ElfSym): Store an offset instead of the
-       name. 
-
-       * elfparser.c (all_elf_parsers): Keep track of all elf parsers
-       created.
-       
-2006-08-20  Soren Sandmann  <sandmann@redhat.com>
-
-       * Makefile.am, demangle.c: New file, made out of files from
-       libiberty in binutils.
-
-       * binfile.c: Use the new sysprof_cplus_demangle() function
-       
-       * elfparser.[ch]: Add code to lookup symbols. Add demangling
-       function
-
-       * testelf.c: Various tests
-
-2006-08-19  Soren Sandmann  <sandmann@redhat.com>
-
-       * elfparser.c: Many cleanups.
-
-2006-08-16  Soren Sandmann  <sandmann@redhat.com>
-
-       * testelf.c: Really add this file.
-
-2006-08-15  Soren Sandmann  <sandmann@redhat.com>
-
-       Add beginning of an ELF parser.
-       
-       * binparser.[ch]: New files
-       * elfparser.[ch]: New files
-       * testelf.c: New file
-       * Makefile.am (testelf_SOURCES): Add new testelf program.
-
-Sat Aug 12 16:13:05 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c: Make n_samples per-cpu. Add an atomic
-       variable in_timer_notify and use it to lock out simultaneous timer
-       interrupts.
-
-       * stackstash.c (decorate_node): Make decorate_node() static
-
-       * TODO
-
-Fri Aug 11 11:41:15 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-2006-08-08  Soren Sandmann  <ssp@localhost.localdomain>
-
-       * sysprof.c (main): Make the load_file() idle low priority to
-       avoid weird toolbar flash. 
-
-       * TODO, NEWS, README: updates.
-
-2006-07-31  Paolo Borelli  <pborelli@katamail.com>
-
-       * sysprof.c (expand_descendants_tree): small cleanup.
-
-2006-07-31  Soren Sandmann <sandmann@redhat.com>
-
-       * stackstash.[ch]: Add a destroy notifier to StackStash
-
-       * collector.c (collector_create_profile): Pass g_free as destroy
-       notifier.
-
-       * collector.c (collector_reset): Pass NULL as destroy notifier
-
-       * profile.c (profile_load): Pass g_free here.
-
-       * profile.c (struct Profile): Remove unused "Node" typedef 
-
-       * collector.c (resolve_symbols): Free the array here.
-
-       * TODO: various updates.
-       
-2006-07-30  Soren Sandmann <sandmann@redhat.com>
-
-       * signal-handler.c: Simplify this file a bit, and make it not rely
-       on atomic pointer writes.
-
-2006-07-18  Bastien Nocera  <hadess@hadess.net>
-
-       * configure.ac: we need at least glib 2.6.0 for the gstdio.h functions
-
-2006-06-05  Soren Sandmann <sandmann@redhat.com>
-
-       * TODO: Updates
-
-Sat Apr 22 15:08:01 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: updates
-       * profile.c, sfile.c, sformat.c: Various formatting fixes.
-
-Wed Apr  5 11:26:30 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: updates
-
-Mon Mar 27 23:04:30 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates.
-
-       * sfile.c (handle_{begin,end}_element): Don't generate begin/end
-       instructions for value elements.
-
-       * sfile.c (build_instructions): Remove debugging spew.
-
-Mon Mar 27 21:44:04 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sformat.[ch]: New files containing a simplified and sanitized
-       version of the state machine and type system from sfile.c.
-       
-       * sfile.c: Move the state machine and type management to separate
-       files. Make the amount of memory used during loading and saving
-       less obscene.
-
-       * stackstash.c (stack_stash_new_from_root): Make this function
-       store the root again.
-
-Mon Mar 27 09:55:01 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: updates
-
-2006-03-11 Soren Sandmann <sandmann@redhat.com>
-
-       * TODO: updates
-       
-       * stackstash.[ch]: Make stackstash refcounted
-
-       * collector.c, profile.c: Update for refcounted stackstash, plug
-       leak.
-
-       * collector.c (open_fd): Remove FIXME comment
-
-2006-03-05 Soeren Sandmann <sandmann@redhat.com>
-
-       * sysprof-text.c, collector.c, sysprof.c: Do proper
-       error-handling.
-
-Fri Mar  3 22:28:03 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * process.c (process_lookup_symbol): Check that the inodes match.
-
-       * binfile.c (read_symbols): Read the inode of the file
-
-       * binfile.c (read_symbols): Close the bfd if the symbol table
-       could not be read.
-
-Thu Mar  2 22:54:37 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * treeviewutils.c (tree_view_foreach_visible): Handle NULL models.
-
-       * sysprof.glade, sysprof.c: Revert back to three pane layout.
-
-2006-02-17  Bastien Nocera  <hadess@hadess.net>
-
-       * configure.ac:
-       * module/sysprof-module.c: (timer_notify), (sysprof_open),
-       (sysprof_release): more ifdef's to make it work with Red Hat
-       Enterprise Linux 4's 2.6.9-based kernel
-
-Sat Feb  4 23:53:05 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.glade: Remove ancestors pane in favor of radiobuttons in
-       the right pane.
-
-       * sysprof.c: Corresponding changes.
-
-       * TODO: Updates
-
-Wed Jan 25 11:24:04 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-Mon Jan 16 11:12:13 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-Sun Jan 15 20:22:20 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c (init_module): Print out sysprof version
-       at module load time.
-
-Sun Jan 15 00:24:02 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-       * sysprof.c (build_gui): Rename 'callers' column 'ancestors'
-
-       * profile.c (profile_list_callers): Make this function list all
-       ancestors of the function. Also make it report correct numbers
-       again. 
-
-       * profile.c (profile_create_descendants): Remove debug spew
-
-Sat Jan 14 18:24:43 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * configure.ac, Makefile.am: Only build GUI when the necessary
-       dependencies are found.
-
-       * sysprof.c (compute_text_width): Remove unused variable
-
-       * profile.c (build_object_list): Follow next instead of siblings.
-
-Fri Jan 13 23:11:33 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: updates
-
-Fri Jan 13 22:59:48 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c (sysprof_open): Initialize retval.
-
-       * module/sysprof-module.c (sysprof_read): Copy contents of trace,
-       not tail to the buffer.
-
-Wed Jan 11 20:31:11 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * process.c (read_maps): Also make offset a gulong (Samuel Mimram)
-
-Wed Jan 11 17:51:54 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * collector.c: Remove debug spew. 
-
-       * TODO: updates
-
-Mon Jan  9 09:58:25 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c (timer_notify): Remove START_OF_STACK
-       check.
-
-Mon Jan  9 00:59:21 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * process.c (read_maps): Use gulong for addresses. Bug reported by
-       Martin Reddy.
-
-Sun Jan  8 03:22:22 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * process.c (process_flush_caches): Resurrect this function.
-
-       * collector.c (collector_reset): Call it from here
-
-Sun Jan  8 02:19:34 2006  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: update
-
-Thu Jan  5 17:52:10 2006  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: small updates
-       * sysprof.c: cosmetic updates
-       * module/sysprof-module.c: cosmetic updates
-
-2005-12-20  Kristian Høgsberg  <krh@redhat.com>
-
-       * module/sysprof-module.c: Remove left over debug print out and
-       add support for multiple clients (readers).
-
-Tue Dec 20 16:03:29 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-       * sysprof-text.c (main): Make it try and load the module before
-       complaining.
-
-2005-12-20  Kristian Høgsberg  <krh@redhat.com>
-
-       * Makefile.am: Dist and install udev rule.
-
-       * collector.c: (open_fd):
-       * sysprof-text.c: (no_module):
-       * sysprof.c: (on_start_toggled): Update device filename.
-
-       * 60-sysprof.rules: New udev rule file to set permissions for
-       sysprof char device.
-
-       * module/sysprof-module.c: Switch kernel module to use a misc char
-       device instead.  Start and stop the timer on device open and
-       close instead of module load and unload.
-
-Tue Dec 20 12:19:34 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * configure.ac: Add backslashes, pointed out by Ralph Siemsen.
-
-Mon Dec 19 17:39:09 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (add_text): Make the tree tree-shapeed.
-
-Mon Dec 19 15:15:48 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c (timer_notify): A few formatting
-       fixes. Hopefully make it work with x86-64.
-
-2005-11-29  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (on_descendants_row_expanded_or_collapsed): New
-       function. Update screenshot window when rows are expanded and
-       collapsed.
-
-2005-11-23  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (update_screenshot_window): Update the screenshot
-       window.
-
-Wed Nov 23 00:44:34 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c: Various cleanups
-
-       * TODO: updates
-
-Tue Nov 22 23:38:09 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c: Remove unused pages_present()
-       function. 
-
-2005-11-18  Matthias Clasen  <mclasen@redhat.com>
-
-       * configure.ac: Make configure work.
-
-2005-11-13  Soeren Sandmann  <sandmann@redhat.com>
-
-       * process.c: Add some experimental (and unused) code to look up
-       kernel symbols.
-
-Sat Nov 12 23:39:29 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (set_sizes): Put the vertical splitter at 3/8 *
-       screen_width.
-
-       * configure.ac: Disable warning.
-
-Sat Nov 12 19:44:43 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c (read_frame): New function that uses
-       copy_from_user_inatomic() as check_user_pages_readable() has
-       disappeared in recent kernels.
-       
-       * module/sysprof-module.c (timer_notify): Use it here.
-       
-       * TODO: Updates
-
-       * configure.ac: Change the wording of the CVS HEAD warning as this
-       change seems to also have fixed the lockup with rawhide kernels.
-
-Wed Nov  9 00:24:11 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * treeviewutils.[ch]: Add new tree_view_foreach_visible()
-       function.
-
-       * sysprof.c: Add update_screenshot_window() function.
-
-Mon Nov  7 23:42:26 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c: Add beginning of a screenshot
-       window.
-
-       * sysprof.glade: Add screenshot window plus menu items.
-
-       * stackstash.c: Remove unused function stack_node_list_leaves()
-
-       * xmlstore.c: Various crack
-
-Sun Nov  6 23:03:49 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * profile.c (add_trace_to_tree): Test for !prev instead of !next.
-
-Sun Nov  6  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: updates
-
-       * collector.c (on_read): Only call back when a new sample actually
-       arrived.
-
-       * collector.c (collector_stop): close the filedescriptor
-
-       * sysprof.c (on_start_toggled): Change sense of test.
-
-       * sysprof.c (ensure_profile): Stop the collector.
-
-       * sysprof.c (on_reset_clicked): Stop the collector when state
-       becomes INITIAL.
-
-Sun Nov  6 18:31:23 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * stackstash.c (stack_stash_foreach): 
-       * stackstash.c (stack_node_foreach_trace): Make these function
-       call back with GLists rather than GSLists.
-
-       * profile.c (add_trace_to_tree): Iterate backwards instead of
-       copying the list.
-
-Sun Nov  6 17:06:52 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * profile.c (add_trace_to_tree): Turn this function into a
-       StackFunction. 
-
-       * stackstash.c (stack_node_foreach_trace): Make this function take
-       a StackFunction, and reimplement with do_callback().
-
-Sat Nov  5 18:06:40 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * profile.c (profile_create_descendants): Use callbacks from
-       stackstash.
-
-       * stackstash.c (stack_node_foreach_trace): New function
-       * stackstash.c (do_node_callback): New function
-
-Sat Nov  5 12:39:33 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * profile.c (add_trace_to_tree): Don't compute the total field.
-
-       * profile.h (struct ProfileDescendant): Remove 'total' field. 
-
-       * sysprof.c: Delete DESCENDANTS_TOTAL column and everything
-       related to it.
-
-       * profile.c: Remove commented out code
-
-       * sfile.c (handle_text): Don't copy the text
-
-2005-11-04  Soren Sandmann  <sandmann@redhat.com>
-
-       * collector.[ch]: Add copyright statement.
-
-       * collector.c (on_read): Handle time getting set backwards.
-
-       * collector.c: Remove unused empty_filedescriptor() function.
-
-2005-11-03  Soren Sandmann  <sandmann@redhat.com>
-
-       * configure.ac: Make the message about the kernel source package
-       more informative. Code from Kjetil Torgrim Homme.
-
-       * sysprof.c (on_start_toggled): Only delete the data if the 
-       profiling can actually be started.
-
-2005-11-01  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (on_start_toggled): Update GUI after showing error
-       message.
-
-       * sysprof.glade: Rename File menu Profiler, move
-       Start/Profile/Reset here, delete View menu.
-
-Mon Oct 31 23:41:33 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * stackstash.h (struct StackNode): Add "total" field.
-
-       * stackstash.c (stack_stash_add_trace): Keep track of the
-       aggregate size.
-
-       * profile.c (profile_get_size): Sum the totals of the siblings
-       instead of all the children.
-
-       * profile.c (build_object_list): Correctly compute obj->self
-
-       * profile.c (profile_load): Don't ignore the node->total field.
-
-       * profile.c (serialize_call_tree): Save node->total instead of the
-       computed total
-
-       * profile.c (compute_total): Use n->total instead of computing it
-       from scratch.
-
-       * profile.c: Remove unused sum_children() function.
-
-       * TODO: Updates
-
-       * process.c (process_get_from_pid): Plug leak.
-
-Mon Oct 31 21:36:37 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (fill_main_list): free the profile objects.
-
-       * sysprof.c (struct Application): Remove unused variable.
-
-Mon Oct 31 00:22:58 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (set_application_title): Use APPLICATION_NAME macro
-
-       * sysprof.c (load_file): Don't leak the FileOpenData
-
-       * TODO: updates
-
-2005-10-30  Soren Sandmann <sandmann@redhat.com>
-
-       * configure.ac, Makefile.am: Don't link sysprof-text to gtk+.
-
-2005-10-30  Soren Sandmann <sandmann@redhat.com>
-
-       * Merge stackstash-reorg branch into HEAD
-
-2005-10-30  Soren Sandmann <sandmann@redhat.com>
-
-       * Makefile.am, sysprof.c, sysprof-text.c, collector.[ch]: Rename
-       profiler -> collector
-
-2005-10-30  Soren Sandmann <sandmann@redhat.com>
-
-       * profile.c (profile_load): Reenable loading. 
-
-2005-10-30  Soren Sandmann <sandmann@redhat.com>
-
-       * profile.c (profile_save): Reenable saving.
-
-Sat Oct 29 21:37:42 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * stackstash.c (stack_stash_foreach): Rename
-       stack_stash_foreach_reversed() to stack_stash_foreach(). Delete
-       the old, unused stack_stash_foreach().
-
-       * stackstash.h: Remove stack_stash_foreach_reversed(). 
-
-       * profiler.c: Use new name.     
-
-Sat Oct 29 18:37:37 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-Sat Oct 29 17:38:01 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * stackstash.[ch]: Add stack_stash_get_root(). 
-
-       * profile.c (profile_get_size): Make this function work again. 
-
-Sat Oct 29 16:58:22 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * profile.c: Delete all the obsolete stuff related to call tree.
-
-       * TODO: update
-
-Sat Oct 29 16:52:32 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-       * profile.c: Comment out a lot of unused stuff. Also temporarily
-       comment out loading and saving.
-
-Sat Oct 29 16:45:34 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * profile.c (compute_total): New function.
-
-       * profile.c (profile_list_callers): Port this function over to use
-       StackNodes instead.
-
-Sat Oct 29 16:22:28 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * profile.c (build_object_list): Make this function allocate
-       the ProfileObjects.
-
-       * stackstash.[ch]: Add stack_stash_foreach_by_address()
-
-       * profile.c (profile_get_objects): Use it here to reimplement 
-       profile_get_objects() in terms of the stackstash.
-
-Sat Oct 29 15:33:07 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * profile.c (profile_new): Add stash field to profile.
-
-       * stackstash.[ch]: Add stack_node_list_leaves();
-
-       * profile.c (profile_create_descendants): Port this function over
-       to use StackNodes instead.
-
-Sat Oct 29 14:43:00 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       Fix crash pointed reported by Rudi Chiarito. 
-       
-       * stackstash.c (stack_stash_add_trace): Just return if
-       n_addrs is 0. 
-
-       * sysprof.c (on_read): Only trace if n_addresses != 0. 
-
-Sat Oct 29 03:47:03 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * profile.[ch], sysprof.c: Get rid of ProfileObject for callers
-       and descendants.
-
-       * TODO: updates.
-
-Sat Oct 29 02:57:34 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * stackstash.[ch]: Export the StackNode struct, add new
-       nodes_by_data hashtable to StackStash object, keep track of
-       whether objects are toplevels.
-
-       * TODO: some updates.
-
-Sat Oct 29 14:29:55 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * README, TODO: updates
-
-Fri Oct 14 11:44:43 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * configure.ac: Add a warning about known bugs in the kernel
-       module in this branch.
-
-       * TODO: updates.
-
-Tue Oct 11 22:40:24 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c (SAMPLES_PER_SECOND): Add back these
-       constants, but this time make sure we won't divide by 0 or
-       anything like that.
-
-Mon Oct 10 22:50:57 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * Merge in changes from HEAD
-
-Thu Oct  6 22:28:39 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * stackstash.c (do_callback): Call stack func if node->size > 0,
-       not if node->children != NULL
-       * stackstash.c (do_reversed_callback): same
-       * profile.c (generate_presentation_name): Delete this function
-       * profile.c (generate_key): Delete this function.
-
-Wed Oct  5 23:57:08 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-       * profile.c (generate_call_tree): Delete all the process stuff
-
-       * profile.c (node_add_trace): Delete process argument
-
-       * profile.c (lookup_profile_object): Don't generate a string key,
-       just use the address directly.
-
-       * profile.c (ensure_profile_object): Use the address as
-       presentation name.
-
-       * profiler.c (profiler_create_profile): Pass in the resolved
-       stash. 
-
-Sun Oct  2 21:08:16 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (on_delete): Work around glib bug 317775
-
-       * sysprof-text.c (signal_handler): Work around glib bug 317775
-
-Sun Oct  2 16:31:37 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * stackstash.c (stack_stash_foreach_reversed): Add this function
-
-       * process.c: Add a per-process undefined symbol.
-
-       * profiler.c (resolve_symbols): Add code to do symbol resolution
-       here.
-
-       * TODO: Updates
-
-Sat Oct  1 18:32:52 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * profile.h, sysprof.c: Remove some unnecessary includes.
-
-Sat Oct  1 18:12:44 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * profiler.[ch]: Add profiler_get_n_samples(); add unused
-       empty_file_descriptor()
-
-       * profile.h: Add include guards
-       
-       * process.[ch]: Delete process_flush_caches();
-
-       * helper.[ch]: Remove these files
-
-       * sysprof.c: Use the new profiler class.
-
-       * sysprof-text.c: Use the new profiler class
-
-       * Makefile.am: Various cleanups.
-
-Sat Oct  1 17:05:43 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * profiler.[ch]: New files containing a profiler class with code
-       that can be shared between gui and command line.
-       
-       * sysprof.c (main): Remove some commented out code
-
-       * stackstash.c (do_callback): Store the trace on the stack instead
-       of allocating it dynamically.
-
-Sat Oct  1 01:50:15 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * stackstash.c (sstack_stash_add_trace): Simplify this function a
-       lot.
-
-       * helper.c: Include "process.h"
-
-Sat Oct  1 01:29:06 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * profile.c (generate_object_table, generate_call_tree): Don't
-       take the process as an argument. Instead dig it out of the
-       stacktrace.
-       
-       * helper.c (add_trace_to_stash): New file, that adds a stacktrace
-       and a process to a stackstash.
-       
-       * stackstash.[ch]: Remove all traces of the concept of
-       Process. Simplify stack_node_add_trace() somewhat.
-
-Mon Oct 10 22:49:03 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c: Delete lots of commented-out code.
-
-Mon Oct 10 14:33:50 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * configure.ac: Add --disable-kernel-module option. Patch from
-       Pascal Terjan. 
-
-Mon Oct 10 13:00:20 2005  Robert Love  <rml@novell.com>
-
-       * module/sysprof-module.c: Don't use INTERVAL or SAMPLES_PER_SECOND
-         now that we use register_timer_hook(), which hits off the timer
-         interrupt at HZ freqency (1/250 second on x86).
-
-Sat Oct  1 01:21:57 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Update
-
-Wed Sep 28 12:08:32 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-text.c: Add my name to the copyright statement
-
-Tue Sep 27 01:33:33 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * process.c (process_lookup_symbol): If the address is 0x01, treat
-       as kernel, regardless of whether we have a map for that address or
-       not.
-
-       * module/sysprof-module.c (timer_notify): Take a stack trace of
-       the current process, even when we are in kernel mode. This way we
-       can assign kernel activity to individual user space stacktraces.
-
-       * TODO: updates.
-       
-Sat Sep 24 14:41:23 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * configure.ac: Bump version number to 1.1.0
-
-       * signal-handler.c: Many, mostly cosmetic, cleanups
-
-       * sysprof-text.c: uninstall signal handlers when exiting
-
-Sat Sep 24 00:01:42 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * Nakefile.am, sysprof-text.c: New non-GUI version, written
-       by Lorenzo Colitti, with some changes by me.
-
-       * signal-handler.[ch]: New files that provide a way to get UNIX
-       signals into a glib main loop.
-
-       * README: add Lorenzo to credits
-       
-Fri Sep 23 20:46:40 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (build_gui): If the glade file doesn't exists pop up 
-       an alert suggesting running 'make install'
-
-       * sysprof.c: Remove some commented out code
-
-Sat Sep 17 14:35:32 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * Release 1.0 (this comment was added post facto)
-       
-       * Bump version numbers
-       * README: update
-       * TODO: Updates
-
-Sun Sep  4 19:38:51 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-Tue Aug 30 16:57:33 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * configure.ac: Complain if we can't find /lib/modules/`uname
-       -r`/build/Makefile. 
-
-       * process.c (process_lookup_symbol): Take an address of 0x1 to
-       mean "in kernel".
-
-       * module/sysprof-module.c (timer_notify): When reporting in-kernel
-       time, give the current pid instead of -1.
-
-       * TODO: updates
-
-Mon Aug 15 20:39:11 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * binfile.c, process.c, profile.c: Fix some warnings.
-
-Mon Aug  1 23:49:51 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c (REG_INS_PTR): Add support for
-       amd64/x86-64. Patch from Mike Frysinger.
-
-Sun Jul 10 10:51:52 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * binfile.c: Various minor clean-ups
-
-Sat Jul  9 23:20:39 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * binfile.c (bin_file_new): Cache BinFiles by filename.
-
-       * stackstash.c (stack_stash_free): Plug leak
-
-       * process.c (process_free_maps): Plug leak
-
-       * module/Makefile (install): Check that depmod exists before
-       running it.
-
-Sun Jun 19 15:42:34 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c (SAMPLES_PER_SECOND): Set to 200.
-
-       * sysprof.c (on_about_activated): Add version information
-
-       * configure.ac: Bump version to 0.91
-       
-       * README: Updates
-
-Sat Jun 18 22:45:04 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-       * configure.ac: Check for Linux 2.6.11
-
-       * process.c (get_pidname): Present pid=-1 as [kernel].
-
-       * module/sysprof-module.c: Use register_timer_hook() instead of
-       a kernel timer. Set trace.pid to -1 if interrupt happens in
-       kernel.
-
-Sun Jun 12 20:30:37 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (build_gui): Disable type-ahead search for all the
-       tree views.
-       
-       * sysprof.c (on_object_selection_changed): Call it from here
-
-       * sysprof.c (expand_descendants_tree): New function that
-       determines what nodes to expand in the descendatns view. 
-
-Sun Jun 12 13:37:15 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-Thu Jun  9 13:28:33 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-Thu May 26 01:10:45 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (on_callers_row_activated): Grab focus on the callers
-       view, not the descendants view.
-       
-       * sysprof.c (on_read): Add a short "dead" period after a reset,
-       so that 'samples' will actually be 0 for a while.
-       
-Mon May 23 01:37:26 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * README: Remove comment about auto* stuff, link to
-
-               http://www.daimi.au.dk/~sandmann/sysprof/
-
-Sun May 23 16:10:00 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       -=-=-=-=-=- Release v. 0.9 -=-=-=-=-=-
-       
-Sun May 22 21:06:36 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-Sat May 21 20:58:59 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: update
-       
-       * sysprof.c (on_menu_item_activated): New function. 
-
-       * sysprof.c (build_gui): Hook up menu items.
-
-       * module/sysprof-module.c (init_module): Remove module_init/exit
-       as they cause build failure on kernels < 2.6.11.
-
-Sat May 21 00:59:38 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: update
-
-Wed May 18 22:21:52 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c: Remove ref-counting since it didn't
-       actually do any good.
-
-       * sysprof.c (load_module): Use g_spawn_command_line_sync() instaed
-       of system().
-
-Sun May 15 11:56:30 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * module/sysprof-module.c: First attempt at making module robust
-       agains unloading when in use.
-
-Sun May 15 10:24:09 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * Makefile.am, module/Makefile: Do more-or-less what the automake
-       manual suggests about foreign subdirectories.
-
-Sat May 14 16:36:32 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (set_application_title): Update the title bar on
-       load/save
-
-       * treeviewutils.c, sfile.c: Fix compiler warnings
-
-       * Makefile.am: define PIXMAPDIR
-       
-Sat May 14 15:49:52 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       Auto*ify.
-       
-       * TODO: updates
-
-       * AUTHORS, INSTALL, Makefile.am, NEWS, configure.ac: New files
-
-       * module/Makefile: New file
-
-       * module/sysprof-module.c, module/sysprof-module.h: Move these
-       files to their own directy, as the kernel build system does not
-       work very well with auto*.
-
-       * sysprof.c, autogen.sh: Some auto* changes.
-       
-Sun May  8 16:31:32 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: more updates
-
-       * sysprof.c: Try loading the module before complaining
-
-Sun May  8 15:45:08 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-module.c (do_generate): Restore lost wake_up().
-
-       * sfile.c: Comment out use of bz2.
-
-       * Makefile: Add an install target. Add GLADE_DIR and PIXMAP_DIR
-
-       * sysprof.c (build_gui): use GLADE_DIR and PIXMAP_DIR here.
-
-       * TODO: Updates.
-
-Sat May  7 13:57:17 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sfile.c (sfile_output_free): Implement this function
-       
-       * sfile.c (sfile_input_free): Implement this function
-
-Fri May  6 23:38:48 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-module.c (do_generate): Another desparate hack to try
-       and prevent the oops.
-
-Sat Apr 30 16:57:23 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * process.c (PAGE_SIZE): Use getpagesize()
-
-       * TODO: More updates
-
-Sat Apr 30 15:44:12 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-       * sysprof-module.c (get_regs): Change the way we get registers for
-       a task so that it works with 2.6.11
-
-Sat Apr 23 19:17:18 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-Sat Apr 23 19:12:52 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * profile.c: Store a pointer to the root of the call tree
-
-       * profile.c (profile_load): Call sfile_input_free()
-
-       * sfile.c (sformat_free): Implement this function
-
-Sat Apr 23 18:38:46 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sfile.c (post_process_read_instructions): Check pointer types
-
-       * sfile.c (post_process_instructions_recurse): Delete this unused function
-
-Sat Apr 23 17:49:33 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-module.c (page_readable): New function to check if the
-       page is readable before reading. Noop on kernel <= 2.6.11
-
-       * sysprof-module.c (get_mm, put_mm): New functions to confine
-       #ifdefs. 
-
-Sat Apr 23 17:48:22 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * Makefile (MODCFLAGS): Disable optimization as I suspect
-       the oops is related to miscompilation.
-
-Fri Apr 22 00:09:16 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-module.c (read_user_space): On >= 2.6.11 check that the
-       pages are present and readable before reading them.
-
-Tue Apr 19 23:26:45 2005  Kristian Høgsberg  <krh@bitplanet.net>
-
-       * Makefile (check): Add simple check target that runs a sanity
-       check of the build environment.
-
-Sun Apr 17 00:20:41 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (on_open_clicked): Factor out some stuff in their own
-       functions.
-
-       * sysprof.c (load_file): Idle handler to load files given on the
-       command line.
-
-       * sysprof.c (main): If a filename is passed on the command line,
-       load it in an idle handler.
-
-Sun Apr 17 00:19:03 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-Sat Apr 16 19:51:48 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-module.c (read_user_space): Read a whole page at a time.
-
-Sat Apr 16 14:15:55 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Update
-       
-       * sysprof-module.c (x_access_process_vm): On kernel 2.6.9 and
-       later use get_task_mm()/mmput() instead of directly accessing
-       task->mm.
-
-Sat Apr 16 01:54:18 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Add backtrace for kernel oops.
-
-Fri Apr 15 16:37:45 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: updates
-
-       * sysprof.c (sorry): If you hit profile when the module isn't
-       loaded, pop up an annoying dialog.
-
-       * sysprof-module.c: Clean-ups, remove various unused abstractions.
-
-Sat Apr  9 17:49:13 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * COPYING: Add a copy of the GPL
-
-Sat Apr  9 17:04:50 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * Makefile: Remove debug spew
-
-       * *: Add copyright notices
-
-Fri Apr  8 21:30:02 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: More updates
-
-Fri Apr  8 20:48:58 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (build_gui): Load the icon, hook up "about"
-       activation.
-
-       * sysprof.c (on_about_activated): New function. Show an about
-       dialog.
-
-       * sysprof.c (struct Application): Add an icon field
-
-       * TODO: Updates
-       
-       * sysprof-icon.png: Icon, drawn by Diana Fong
-
-Tue Apr  5 23:01:02 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * binfile.c (read_symbols): Put back the weird loop, and stop
-       pretending I understand this. This time use SEC_ALLOC instead of
-       SEC_LOAD.
-
-Tue Apr  5 20:13:44 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * process.c (process_ensure_map): Add commented out debug spew.
-
-       * process.c (process_lookup_symbol): Remove all should_offset()
-       function and all references to it.
-
-       * binfile.c (bin_file_lookup_symbol): Document that address must
-       be in file coordinates.
-
-       * binfile.c (read_symbols): Remove misguided code that tried to
-       guess the load address of the file. Instead, do all computations
-       in "file coordinates". Also fix a memory leak. Add commented out
-       debug spew.
-
-       * binfile.c (separate_debug_file_exists): Fix signedness
-
-Tue Apr  5 14:34:43 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-module.c (x_access_process_vm): Make it compile with
-       kernel 2.6.11
-
-       * TODO: updates
-
-Mon Apr  4 00:57:11 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c: Busy cursors in many more places.
-
-       * TODO: updates
-
-Sun Apr  3 23:28:45 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-module.c (do_generate): Re-schedule the timeout here
-       instead of in on_timer().
-       
-       * sysprof-module.c (on_timer): Only block tasks in the
-       TASK_RUNNING state. 
-
-Sun Apr  3 17:03:33 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-module.c (queue_generate_stack_trace): Put current
-       process to sleep.
-
-       * sysprof-module.c (do_generate): Wake up the traced process
-
-Thu Mar 31 23:09:09 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (build_gui): Remove stray %
-
-Thu Mar 31 21:18:13 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * treeviewutils.c (add_double_format_column): Right justify numbers
-
-       * sysprof.c (build_gui): Add a space after the numbers
-
-       * sysprof.c (on_callers_row_activated): Focus object view
-
-       * sysprof.c (on_descendants_row_activated): Focus new descendants
-       tree. 
-
-Thu Mar 31 19:51:51 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-module.c (do_generate): Walk all threads, not just all
-       processes.
-
-       * TODO: Add disk profiling ideas
-
-Thu Mar 31 00:19:47 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (set_busy): Make this function work
-
-       * sysprof.c (on_profile_toggled): Use it here
-
-       * sysprof.c (on_object_selection_changed): And here
-
-       * profile.c (add_trace_to_tree): Use GPtrArrays instead of
-       GHashTable and GList.
-
-Mon Mar 28 11:09:02 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: updates
-
-Sat Mar 26 19:26:52 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c: Show the right number of samples afte Open; remove
-       shadows from menu bars and toolbars; some other tweaks.
-
-Sat Mar 26 11:26:00 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Updates
-
-       * sfile.c (add_string): Use g_markup_escape_text() to escape the
-       string before adding it to the file.
-
-       * sysprof.c (empty_file_descriptor): New function to make sure 
-       samples generated before profiling started are ignored. 
-       (set_busy): New commented out function to set a busy cursor.
-
-Fri Mar 25 21:31:08 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (update_sensitivity): Comment out sensitivity of reset button.
-
-Fri Mar 25 21:25:31 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (get_current_object): Return NULL if nothing is
-       selected.
-
-Fri Mar 25 20:54:08 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: More updates
-
-Fri Mar 25 20:25:44 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * README: Require gtk+ 2.6
-
-       * treeviewutils.c (add_plain_text_column): Ellipsisize text columns.
-
-Fri Mar 25 19:39:24 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * TODO: Remove "loading and saving"
-
-       * sysprof.glade: Add ellipsises to Open and Save menu items.
-
-       * sysprof.c (overwrite_file): Add this function, cutted-and-pasted
-       from evince.
-
-       * sysprof.c (on_save_as_clicked, on_open_clicked): Use
-       GtkFileChoosers to pick the names.
-
-       * sysprof.c: Various GUI updates.
-
-Fri Mar 25 19:36:28 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sfile.c (bz2_compress): Add this function  Don't actually make
-       any produce use of it.
-
-       * profile.c (make_hash_table): Get rid of warning
-
-Thu Mar 24 19:09:33 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c: Various GUI updates 
-
-       * TODO: update
-       
-       * sfile.[ch] (sformat_new_optional): Add some notes about an
-       "optional" construction.
-
-Wed Mar 23 00:04:07 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       Primitive loading and saving.
-       
-       * sysprof.c (on_open_clicked): Hook up loading.
-
-       * sfile.c: Add a copy of g_file_replace() from glib CVS HEAD.
-
-       * sfile.c (add_string): Escape and quote the string
-
-       * sfile.c (sfile_load): Initialize current_instruction and
-       instructions_by_location
-
-       * sfile.c (post_process_instructions_recurse): Handle NULL
-       pointers properly.
-
-       * sfile.c (handle_begin_element, handle_end_element, handle_text):
-       Move error handling here from state_transition_begin/text/end.
-
-       * sfile.c (handle_text): Discard whitespace-only strings
-
-       * sfile.c (sfile_get_pointer, sfile_get_integer,
-       sfile_get_string): expect both begin, value, and end transitions.
-
-       * sfile.c (hook_up_pointers): Only treat instructions as pointer
-       values when they are. Handle NULL targets properly. 
-
-       * sfile.c (get_number): Fix a few read-freed-data bugs
-
-       * profile.c (profile_load): Call sfile_end_get() for the profile;
-       build the nodes_by_objects hash table. Build the call tree.
-
-       * profile.c (create_format): Don't store next pointer, but do
-       store total, self and toplevel.
-
-       * profile.c (make_hash_table): New function to build
-       nodes_by_object hashtable from loaded data
-
-Sat Mar 12 11:05:19 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sysprof-module.c: Fix small bug in add_timeout()
-       * sysprof.c (build_gui): More descriptive tree labels
-       * TODO: update
-
-Thu Mar 10 16:37:52 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c (build_gui): s/Cummulative/Cumulative/. Pointed out by
-       Ian McIntosh.
-
-Mon Mar  7 14:47:09 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * README: Add note that you need to compile the module with
-       the same compiler that compiled the kernel.
-
-Sun Mar  6 22:56:21 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sfile.c: Generate id's for objects and pointers.
-
-Sat Mar  5 01:09:33 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * sfile.c: Bug fixes. Add actual generation.
-
-Fri Mar  4 13:47:13 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * sysprof.c: Remove include of non-existing tracing.h
-
-Thu Mar  3 23:48:13 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * profile.c (profile_load): Write this function.
-
-       * sfile.c: Add support for user defined record and list types.
-       Simplify logic a lot.
-
-Wed Mar  2 23:39:50 2005  Soeren Sandmann  <sandmann@redhat.com>
-
-       * profile.[ch], sfile.[ch]: Experiment with a
-       file-format-description format.
-
-       * sysprof.c: Add commented out code using /proc/ based
-       timeout.
-       
-Fri Jan 21 11:23:54 2005  Søren Sandmann  <sandmann@redhat.com>
-
-       * README: Some updates - add note about SMP kernels.
-
-       * sysprof-module.c: Go back to just sampling the current
-       process.
-
-       * ChangeLog: I guess these do make sense, so start one.