Fri Feb 9 16:16:34 2007 Søren Sandmann <sandmann@redhat.com>
* elfparser.c (struct ElfSym): Don't store the size of the symbol.
(elf_parser_lookup_symbol): Look it up here instaed.
* binfile.c (bin_file_free): Use pre-decrement instead of
post-decrement.
(bin_file_check_inode): Clarify the warning a little
svn path=/trunk/; revision=349
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.
svn path=/trunk/; revision=348
2007-01-05 Behdad Esfahbod <behdad@gnome.org>
* module/Makefile: Correct $PWD usage, so make install works from
inside module/.
svn path=/trunk/; revision=346
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>
* 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-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
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: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>
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-25 Soren Sandmann <sandmann@daimi.au.dk>
+
+ * process.c (free_maps): Take a pointer to a variable that
+
+ * process.c: Stop coalescing processes with the same cmdline.
+
+ * TODO: updates.
+
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-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 <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 <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@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-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