Add a memcpy() that uses nontemporal writes. (copy_kernel_stack): Add
[platform/upstream/sysprof.git] / ChangeLog
1 2008-02-16  Soren Sandmann  <sandmann@redhat.com>
2
3         * module/sysprof-module.c (nt_memcpy): Add a memcpy() that uses
4         nontemporal writes.
5         (copy_kernel_stack): Add commented-out use of it here.
6
7 2007-11-20  Soren Sandmann <sandmann@daimi.au.dk>
8
9         * binfile.c (find_separate_debug_file): Use hash table instead of
10         list. 
11
12 2007-11-18  Soren Sandmann <sandmann@daimi.au.dk>
13
14         * module/sysprof-module.c (heuristic_trace): Make heuristic stack
15         scanning more accurate
16
17 Sun Nov 18 18:12:09 2007  Søren Sandmann  <sandmann@redhat.com>
18
19         * module/sysprof-module.c (heuristic_trace): Crude heuristic stack
20         scanning on x86-64.
21         
22         * module/sysprof-module.c (copy_kernel_stack): New function
23
24 Sun Nov 18 13:23:39 2007  Søren Sandmann  <sandmann@redhat.com>
25
26         * module/sysprof-module.c (sysprof_read): Return ssize_t instead
27         of int.
28
29         * module/sysprof-module.c (heuristic_trace): Beginning of
30         heuristic user stack scanning.
31
32 2007-11-17  Soren Sandmann <sandmann@daimi.au.dk>
33
34         * collector.c (collector_create_profile): Don't collect traces here.
35         
36 2007-11-16  Soren Sandmann <sandmann@daimi.au.dk>
37
38         * module/sysprof-module.c (n_traces_available): Formatting
39         
40         * module/sysprof-module.c (sysprof_poll): Require 16 traces rather
41         than 8. 
42         
43 2007-11-16  Soren Sandmann <sandmann@daimi.au.dk>
44
45         * TODO: updates
46         
47         * module/sysprof-module.c (sysprof_poll): Only select readable
48         when there is at least eight traces available
49
50         * collector.c (collect_traces): New function, old on_read()
51         
52         * collector.c (collector_create_profile): Collect traces here as
53         well.
54
55 2007-11-16  Soren Sandmann <sandmann@daimi.au.dk>
56
57         * TODO: Updates
58         
59         * process.c (process_locate_map): Move map to front
60
61         * profile.c (profile_load): Ignore the toplevel field in the file
62         since we can compute it ourselves.
63
64         * stackstash.c (stack_stash_decorate): New function
65         
66         * stackstash.c (stack_stash_add_trace): Decorate the tree lazily
67         instead of on each sample.
68
69 2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>
70
71         * process.c (look_for_vmlinux): Use an array instead of a
72         list. Look for vmlinux in the source directory.
73
74         * elfparser.c (elf_parser_get_crc32): Only use MADV_DONTNEED if
75         the data is file-backed.
76
77         * TODO: updates.
78
79         Various formatting fixes
80         
81 2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>
82
83         * profile.c (add_trace_to_tree): Make this a two-pass
84         algorithm, one pass to add the trace, and one to do the
85         accounting.
86
87 2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>
88
89         * sfile.c: Fix some spelling errors
90
91         * profile.[ch], sysprof.[ch]: Change "non_recursive" to
92         "cumulative" to match the UI
93
94         * profile.c (add_trace_to_tree): Add a couple of asserts.
95
96         * TODO: updates
97
98 2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>
99
100         * elfparser.c (read_table): Don't discard weak symbols.
101
102         * elfparser.c (elf_parser_lookup_symbol): If the symbol has
103         unknown size, don't check that the address is in range.
104
105 2007-10-21  Soren Sandmann <sandmann@daimi.au.dk>
106
107         * module/Makefile: Remove CFLAGS reminiscence of 2.4 support.
108
109 2007-10-20  Soren Sandmann <sandmann@daimi.au.dk>
110
111         * collector.c (on_read): Call callback with an extra boolean
112         indicating whether the sample read was the first one
113
114         * collector.c (add_trace_to_stash): Allocate addresses on the
115         stack if possible.
116
117         * sysprof.c (on_new_sample): Only call update_sensitivity() on the
118         first sample.
119
120         * stackstash.c (stack_stash_add_trace): Move match to front
121
122 2007-09-16  Soren Sandmann <sandmann@daimi.au.dk>
123
124         * process.c (process_lookup_kernel_symbol): Add support for
125         looking up kernel symbols from /proc/kallsyms
126
127         * sysprof-text.c (dump_data): Print note that the file is being
128         saved.
129
130         * module/sysprof-module.[ch] (timer_notify): Send a copy of the
131         kernel stack to userspace.
132
133         * collector.c: Do kernel symbol lookups.
134         
135 2007-08-26  Soren Sandmann <sandmann@daimi.au.dk>
136
137         * profile.c (profile_get_size): Compute the size by simply summing
138         the size of the siblings. They are toplevel by definition, and
139         this works if the siblings for some reason has the same address.
140
141 2007-08-26  Soren Sandmann <sandmann@daimi.au.dk>
142
143         * treeviewutils.c (process_iter): Reformat and fix various minor
144         issues.
145
146 2007-08-25  Soren Sandmann <sandmann@daimi.au.dk>
147
148         * treeviewutils.c (tree_view_set_model_with_default_sort): Work
149         around GTK+ bug 405625.
150
151 2007-08-04  Soren Sandmann <sandmann@daimi.au.dk>
152
153         * sysprof.c: Update to use new tree view API.
154
155         * treeviewutils.c: Do customized sorting to get default sort
156         orders on columns. Workaround for GTK+ bug 333791.
157
158 2007-03-24  Soren Sandmann <sandmann@daimi.au.dk>
159
160         * elfparser.c (elf_parser_get_crc32): madvise()
161
162 2007-03-24  Soren Sandmann <sandmann@daimi.au.dk>
163
164         * sysprof.c (update_screenshot_window): Update screenshot window
165         in an idle handler to deal with the case where someone presses
166         "Shift Right Arrow" 
167
168 Mon Mar  5 16:55:39 2007  Søren Sandmann  <sandmann@redhat.com>
169
170         * binfile.c (already_warned): New function. Only warn once about
171         bad CRC's.
172
173 2007-03-02  Soren Sandmann <sandmann@daimi.au.dk>
174
175         * sysprof-text.c (dump_data): Make this function static
176
177 2007-03-02  Soren Sandmann <sandmann@daimi.au.dk>
178
179         * collector.c (collector_create_profile): Remove FIXME.
180
181 2007-03-02  Soren Sandman <sandmann@daimi.au.dk>
182
183         * process.c (free_process): Free the undefined symbol
184
185 2007-03-02  Soren Sandmann <sandmann@daimi.au.dk>
186
187         * process.c (process_get_vdso_bytes): Make a copy of the vdso
188         bytes to make valgrind a little quieter.
189
190         * binparser.c: Note to self: Save the file, *then* commit.
191         
192 2007-03-02  Soren Sandmann <sandmann@daimi.au.dk>
193
194         Fix two leaks, both pointed out by Kjartan Maraas
195         
196         * binparser.c (bin_parser_free): Free the record list 
197
198         * elfparser.c (elf_parser_free): Free the symbol table. 
199
200 2007-02-24  Soren Sandmann <sandmann@daimi.au.dk>
201
202         * TODO: Updates
203
204         * binparser.[ch]: Get rid of BIN_UINTn types; replace with single
205         BIN_UINT, where the user must provide the width
206
207         * elfparser.c: Update to new binparser API
208
209 2007-02-24  Soren Sandman <sandmann@daimi.au.dk>
210
211         * binparser.[ch]: Switch to a simpler conceptual model.
212         * elfparser.c: Update to binparser API changes.
213         * TODO: updates
214
215 Fri Feb  9 16:53:29 2007  Søren Sandmann  <sandmann@redhat.com>
216
217         * Update copyright notices
218
219 Fri Feb  9 16:16:34 2007  Søren Sandmann  <sandmann@redhat.com>
220
221         * elfparser.c (struct ElfSym): Don't store the size of the symbol.
222         (elf_parser_lookup_symbol): Look it up here instaed.
223
224         * binfile.c (bin_file_free): Use pre-decrement instead of
225         post-decrement.
226         (bin_file_check_inode): Clarify the warning a little
227
228 Mon Jan 22 17:42:29 2007  Søren Sandmann  <sandmann@redhat.com>
229
230         * sysprof-icon-32.png
231         * sysprof.c: Add a 32x32 version (also from Diana) of the icon.
232
233 Mon Jan 22 16:37:12 2007  Søren Sandmann  <sandmann@redhat.com>
234
235         * sysprof-icon-16/24/48.png:
236         * sysprof.c: Add new icons from Diana.
237
238 2007-01-05  Behdad Esfahbod  <behdad@gnome.org>
239
240         * module/Makefile: Correct $PWD usage, so make install works from
241         inside module/.
242
243 2006-12-09  Soren Sandmann <sandmann@daimi.au.dk>
244
245         * module/sysprof-module.c: Add forgotten put_cpu_var(). 
246         * sfile.c (build_instructions): Parse in chunks of 65536 to
247         improve locality.
248
249 2006-11-23  Soren Sandmann <sandmann@daimi.au.dk>
250
251         * process.c (read_maps): Set inode for vdso to 0.
252
253         * binfile.c (read_inode): Return -1 on error, 0 on vdso
254         (bin_file_new): Only read the inode if the file actually exists
255         and is an elf file.
256         (bin_file_check_inode): Return FALSE if there is no file.
257
258 2006-11-22  Soren Sandmann <sandmann@daimi.au.dk>
259
260         * sfile.c (sfile_load): Use GMappedFile instead
261         g_file_get_contents().
262         (build_instructions): Pass length instead of -1.
263         (sfile_output_save): Use g_file_set_contents() instead of
264         cut-and-pasted copy.
265
266 2006-11-22  Soren Sandmann <sandmann@daimi.au.dk>
267
268         * profile.c (add_trace_to_tree): Move match to front
269         (add_trace_to_tree): Break as soon as a recursive call is found.
270
271         * stackstash.c (do_callback): Manual tail call optimization.
272
273 2006-11-20  Soren Sandmann <sandmann@daimi.au.dk>
274
275         * sysprof.c (ensure_profile): reset the collector after generating
276         the profile.
277
278         * stackstash.c (struct StackStash): Add cached_nodes and blocks. 
279         (stack_node_new): Allocate stack nodes in blocks.
280
281 2006-11-19  Soren Sandmann <sandmann@redhat.com>
282
283         * profile.c (profile_load): Use stack allocated variables to avoid
284         taking addresses of bitfields.
285
286         * stackstash.h (struct StackNode): Store toplevel as bitfield
287
288 2006-11-19  Soren Sandmann <sandmann@redhat.com>
289
290         * profile.c (profile_load): Use stack_node_new() o
291         (profile_load): Use set_root() instead of new_from_root();
292         
293         * stackstash.c (stack_stash_new_from_root): Delete this function
294         (stack_stash_set_root): Add this function
295         (stack_node_new): Export this function
296
297 2006-11-19   Soren Sandmann <sandmann@redhat.com>
298
299         * binparser.h: Declare bin_parser_free();
300
301         * elfparser.c (elf_parser_get_crc32): Use madvise(DONT_NEED) on
302         the file.
303         
304         * process.c (struct Process): Remove do_offset.
305
306 Thu Nov  9 17:55:24 2006  Søren Sandmann  <sandmann@redhat.com>
307
308         * TODO (-): udpate
309
310 Thu Nov  9 17:31:17 2006  Søren Sandmann  <sandmann@redhat.com>
311
312         * binfile.c (get_debug_file): Start with "/usr", not
313         "usr". Pointed out by Tim Rowley.
314
315         * binparser.c (bin_parser_align): Pass byte_width on instead of
316         hardcoding 4. 
317
318 Thu Nov  9 16:47:35 2006  Søren Sandmann  <sandmann@redhat.com>
319
320         Look in the correct directory for debug info files. (Tim Rowley)
321         
322         * binfile.c (N_TRIES): Add this instead of hardcoding '3'
323
324         * binfile.c (get_debug_file): Also look in "/usr/lib/debug", in
325         addition to "$(libdir)/debug".
326
327         * binfile.c: Comment out the debug spew.
328
329 Thu Nov  9 16:17:11 2006  Søren Sandmann  <sandmann@redhat.com>
330
331         * binfile.c: Add debug spew.
332
333 Thu Nov  9 16:01:47 2006  Søren Sandmann  <sandmann@redhat.com>
334
335         * sysprof-text.c (main): Die immediately if the output file is a
336         directory.
337
338         * autogen.sh (DIE): Also work when automake-1.9 is installed. 
339
340 2006-11-02  Soren Sandmann <sandmann@daimi.au.dk>
341
342         * sysprof.c (disable_g_slice): New function
343
344         * sysprof.c (main): Call it from here.
345
346 2006-11-02  Soren Sandmann <sandmann@daimi.au.dk>
347
348         Valgrind:
349         
350         * binparser.c (bin_parser_free): Add this function
351         
352         * elfparser.c (elf_parser_free): Call bin_parser_free()
353
354         * sysprof.c (compute_text_width, add_text): Plug leaks
355
356         * collector.c (add_trace_to_stash): Copy n_addresses to a stack
357         variable instead of reading it out of the mmap'ed area all the
358         time. (That way if there is an overrun, we won't write too much
359         into the address array).
360
361 2006-10-26  Soren Sandmann <sandmann@daimi.au.dk>
362
363         * module/sysprof-module.h (struct SysprofStackTrace): Increase the
364         max number of addresses to 1021, reorganise SysprofMmapArea to
365         make the traces naturally page aligned.
366
367         * TODO: Update
368
369 2006-10-26  Soren Sandmann <sandmann@daimi.au.dk>
370
371         * collector.c (resolve_symbols): Combine processes with identical
372         commandlines here.
373
374 2006-10-25  Soren Sandmann <sandmann@daimi.au.dk>
375
376         * profile.c (add_trace_to_tree): Make the pointer array static to
377         improve cache behavior and reduce calls to malloc().
378
379         * process.c (lookup_kernel_symbol): Remove obsolete comment.
380
381 2006-10-25  Soren Sandmann <sandmann@daimi.au.dk>
382
383         * process.c (free_maps): Take a pointer to a variable that will be
384         set to 0.
385
386         * process.c: Stop coalescing processes with the same cmdline. 
387
388         * TODO: updates.
389
390 2006-10-24  Soren Sandmann <sandmann@daimi.au.dk>
391
392         * process.c (page_size): replace PAGE_SIZE macro with this function.
393
394         * binfile.c: Remove obsolete comment.
395
396 2006-10-24  Soren Sandmann <sandmann@daimi.au.dk>
397
398         * process.c (struct Process): Use an array instead of list of
399         maps.
400
401 2006-10-23  Soren Sandmann <sandmann@daimi.au.dk>
402
403         * module/sysprof-module.c (init_module): Use PAGE_SIZE - 1 instead
404         of 4096.
405
406 2006-10-22  Soren Sandmann <sandmann@daimi.au.dk>
407
408         Communicate traces to userspace through shared memory instead of 
409         copying.
410         
411         * module/sysprof-module.c: Store the traces in a SysprofMmapArea.
412         (sysprof_mmap): Implement this method.
413         (sysprof_nopage): Implement this. 
414         (sysprof_read): Just reset the tail pointer and return zero.
415
416         * module/sysprof-module.h (struct SysprofMmapArea): New
417         structure. 
418
419         * collector.c (collector_stop): Unmap the device
420         (in_dead_period): New function
421         (on_read): Read the traces out of mmap()ed area instead of reading
422         them. Call read() to prevent poll() from firing. 
423         (struct Collector): New members map_area and current.
424
425         * Makefile.am (insert-module): Prefix modprobe with /sbin
426
427         * collector.c (open_fd): mmap() the sysprof device. 
428
429 2006-10-11  Soren Sandmann <sandmann@daimi.au.dk>
430
431         * profile.c (profile_list_callers): Skip nodes that don't have a
432         parent.
433
434 2006-10-09  Soren Sandmann <sandmann@daimi.au.dk>
435
436         * profile.c (profile_list_callers): Make this function return a
437         list of immediate callers again. 
438
439         * sysprof.c (build_gui): Change label back to "Callers"
440
441         * process.c (get_kernel_symbols): Only attempt to read the kernel
442         symbols once.
443
444 2006-10-09  Soren Sandmann <sandmann@redhat.com>
445
446         * binfile.c (bin_file_get_inode): Remove this function
447
448         * binfile.c (bin_file_check_inode): New function. Only print inode
449         warning once per BinFile.
450
451         * process.c (process_get_vdso_bytes): Remove debug spew
452
453 2006-10-09  Soren Sandmann  <ssp@localhost.localdomain>
454
455         * process.c (process_get_vdso_bytes): New function.
456
457         * elfparser.c (parser_new_from_data): export this function as
458         elf_parser_new_from_data(). 
459
460         * binfile.c (read_inode): Don't stat if filename is
461         '[vdso]'. Instead just return -1;
462         (bin_file_new): Use elf_parser_new_from_data() when the file is
463         [vdso]. 
464
465         * process.c (read_maps): Change the offset of the vdso map to 0
466         and the inode to -1.
467
468         * elfparser.c (elf_parser_lookup_symbol): Remove unused 'size'
469         variable.
470
471         * binfile.c (find_separate_debug_file): Deal with cycles in the
472         debuglink graph.
473
474         * configure.ac: Set version to 1.1.0. Print warning about HEAD.
475
476 2006-10-08  Soren Sandmann  <ssp@localhost.localdomain>
477
478         * binfile.c: Don't include bfd.h
479
480 2006-10-08  Soren Sandmann <sandmann@redhat.com> 
481
482         * sysprof.c (process_options): New function to support --version option
483
484 2006-10-08  Soren Sandmann  <sandmann@redhat.com>
485
486         * elfparser.c (struct ElfParser): Add a cache of the text section.
487
488         * binparser.c (struct BinParser): Add a cache of a bin record to
489         get rid of malloc()/free() overhead.
490
491         * elfparser.c (struct ElfSym): Cache the size of the symbol
492
493 2006-10-08  Soren Sandmann <sandmann@redhat.com>
494
495         * elfparser.c: Remove now unused load-address heuristic
496
497         * comment out debug spew
498
499 2006-10-08  Soren Sandmann <sandmann@redhat.com>
500
501         * elfparser.c (read_symbols): Use "SHT_DYNSYM" for ".dynsym".
502
503 2006-10-08  Soren Sandmann <sandmann@daimi.au.dk>
504
505         * binfile.c (find_separate_debug_file): Support _debuglink
506         recursions.
507
508         * elfparser.c: Check that the sections have valid types before
509         using them. 
510
511 2006-10-08  Soren Sandmann  <sandmann@daimi.au.dk>
512
513         * Delete various debug spew
514
515 2006-10-07  Soren Sandmann  <sandmann@daimi.au.dk>
516
517         Deal with address offsets. Address lookup is now:
518
519         - First convert the address to an offset into the file
520         - Then convert to an offset into the text segment
521         - Then add the load address of the text segment (found in the
522         debug binary)
523         - Then finally lookup the result in the symbol table.
524         
525         * elfparser.c (elf_parser_get_text_offset): New function
526
527         * elfparser.c (elf_parser_lookup_symbol): Treat addresses as
528         offsets into the text segment.
529
530         * binfile.c (bin_file_new): Store the offset of the text section
531         of the actual binary (not the debug one)
532
533         (bin_file_lookup_symbol): Subtract text_offset before passing
534         address to elf parser. 
535
536         * module/sysprof-module.c: Remove include of linux/config.h
537
538 2006-08-27  Soren Sandmann <sandmann@redhat.com>
539
540         * binparser.c: Remove old commented out code
541         * module/sysprof-module.c: Add commented out code accessing entire
542         stack. 
543
544 2006-08-27  Soren Sandmann  <sandmann@redhat.com>
545
546         * module/Makefile ($(MODULE).o): Add dependency on sysprof-module.h
547
548         * elfparser.c (elf_parser_get_eh_frame): Add this function.
549         Remove some commented out code.
550
551 Sat Aug 26 19:05:51 2006  Søren Sandmann  <sandmann@redhat.com>
552
553         * Formatting fixes in header files.
554
555 2006-08-26  Soren Sandmann <sandmann@daimi.au.dk>
556
557         * elfparser.c: Update to new API
558         
559         * binparser.h: Delete commented out declarations. Add new
560         functions.
561
562         * binparser.c: Delete ParserFrame, replace with one current
563         offset. 
564         (convert_uint): Make static
565         (bin_parser_get_uint): Delete this function
566         (bin_parser_get_string): Change this function to use current
567         offset instead of frame offset.
568         (bin_parser_goto): New function
569         (bin_parser_align): New function
570         (bin_parser_get_uint32): New function
571         (bin_parser_begin): Delete this function
572         (bin_parser_end): Delete this function
573         (bin_parser_index): Delete this function
574         (bin_record_get_string_indirect): Make this function use _goto()
575         instead of _begin()/_end()
576         (bin_parser_get_offset): Make this function return current offset
577
578 2006-08-26  Soren Sandmann <sandmann@daimi.au.dk>
579
580         * binparser.[ch]: Add new struct BinRecord. Comment out functions
581         related to formats. Add new functions to get fields out of
582         BinRecords.
583
584         * elfparser.c: Update to new API.
585
586 2006-08-26  Soren Sandmann <sandmann@daimi.au.dk>
587
588         * binparser.h: Add new bin_record() functions
589         * binparser.c: Implement them.
590
591 2006-08-22  Soren Sandmann <sandmann@daimi.au.dk>
592
593         * collector.c (unique_dup): Demangle instead of strdup.
594
595 2006-08-21  Soren Sandmann <sandmann@redhat.com>
596
597         * elfparser.[ch]
598         (elf_parser_get_sym_name): Rename elf_sym_get_* to
599         elf_parser_get_sym_* and make these functions take a parser.
600         (parser_from_sym): Delete this function.
601         (elf_parser_new): Don't add to all_elf_parsers
602         (elf_parser_free): Don't remove from all_elf_parsers
603         (elf_parser_new): Rename to parser_new_from_file()
604         (elf_parser_new_from_file): Rename to elf_parser_new
605
606         * binfile.c: Update for new elfparser API
607
608         * TODO: updates
609
610 2006-08-21  Soren Sandmann <sandmann@redhat.com>
611
612         * binfile.c (struct BinFile): Add ref_count and filename
613         (bin_files): Add map from filenames to BinFiles
614         (bin_file_new): First look for BinFile in the cache.
615         (bin_file_free): If refcount reaches 0, remove BinFile from cache.
616         
617         * TODO: Updates
618
619 2006-08-21  Soren Sandmann <sandmann@redhat.com>
620
621         * process.c (process_lookup_symbol): Pass map->bin_file to
622         bin_symbol_get_name.
623
624         * binfile.h (bin_symbol_get_name): Add BinFile parameter
625
626         * elfparser.c (elf_demangle): Use options DMGL_PARAMS | DMGL_ANSI
627
628         * TODO: Updates
629
630         * binfile.c: Rewrite this file to use ElfParser instead of libbfd.
631
632         * configure.ac: Drop dependencies on libbfd and libiberty.
633
634 2006-08-21  Soren Sandmann <sandmann@redhat.com>
635
636         * TODO: Update
637
638         * elfparser.c (elf_parser_lookup_symbol): Change sense of size
639         check.
640
641 2006-08-20  Soren Sandmann <sandmann@redhat.com>
642
643         * elfparser.c (elf_parser_get_crc32): Initialize crc to 0xffffffff
644         and invert it before returning.
645
646         * elfparser.h: Declare elf_parser_get_debug_link()
647
648 2006-08-20  Soren Sandmann  <sandmann@daimi.au.dk>
649
650         * elfparser.c (elf_parser_get_load_address): Comment out debug spew.
651         (elf_parser_lookup_symbol): Add check that address is actually
652         within the bounds of the found function.
653
654 2006-08-20  Soren Sandmann  <sandmann@daimi.au.dk>
655
656         * process.h: Make process_lookup_symbol() return a string. Delete
657         process_lookup_symbol_with_filename().
658
659         * process.c (struct Process): Make "undefined" a string
660         (lookup_kernel_symbol): Return a string 
661         (process_lookup_symbol): Return a string, not a symbol
662
663         * collector.c (unique_dup): Take a string instead of a
664         Symbol. 
665         (lookup_symbol): Make sym a string instead of a Symbol.
666
667         * binfile.c (bin_symbol_get_name): New function.
668
669         * binfile.[ch] (struct BinSymbol): Rename Symbol to BinSymbol and
670         make it an opaque structure.
671
672         * binfile.[ch]: Remove unused symbol operations
673
674 2006-08-20  Soren Sandmann <sandmann@daimi.au.dk>
675
676         * elfparser.c (elf_parser_new_from_file): New function
677
678 2006-08-20   Soren Sandmann <sandmann@daimi.au.dk>
679
680         * elfparser.c (elf_parser_get_debug_link): New function
681
682         * elfparser.c: Delete SymbolTable typedef
683
684         * binparser.[ch] (bin_parser_get_data): New function
685         (bin_parser_get_length): New function
686
687         * elfparser.[ch] (elf_parser_get_crc32): New function
688
689         * TODO: Updates
690
691         * elfparser.c (elf_parser_lookup_symbol): Offset passed in
692         addresses by the load address.
693
694         * elfparser.c (elf_parser_get_load_address): New function to
695         compute the load address of the beginning of the file.
696
697 2006-08-20  Soren Sandmann  <sandmann@redhat.com>
698
699         * elfparser.c (elf_sym_get_name): Read the name out of the file
700         instead of out of the struct.
701
702         * elfparser.c (struct ElfSym): Store an offset instead of the
703         name. 
704
705         * elfparser.c (all_elf_parsers): Keep track of all elf parsers
706         created.
707         
708 2006-08-20  Soren Sandmann  <sandmann@redhat.com>
709
710         * Makefile.am, demangle.c: New file, made out of files from
711         libiberty in binutils.
712
713         * binfile.c: Use the new sysprof_cplus_demangle() function
714         
715         * elfparser.[ch]: Add code to lookup symbols. Add demangling
716         function
717
718         * testelf.c: Various tests
719
720 2006-08-19  Soren Sandmann  <sandmann@redhat.com>
721
722         * elfparser.c: Many cleanups.
723
724 2006-08-16  Soren Sandmann  <sandmann@redhat.com>
725
726         * testelf.c: Really add this file.
727
728 2006-08-15  Soren Sandmann  <sandmann@redhat.com>
729
730         Add beginning of an ELF parser.
731         
732         * binparser.[ch]: New files
733         * elfparser.[ch]: New files
734         * testelf.c: New file
735         * Makefile.am (testelf_SOURCES): Add new testelf program.
736
737 Sat Aug 12 16:13:05 2006  Søren Sandmann  <sandmann@redhat.com>
738
739         * module/sysprof-module.c: Make n_samples per-cpu. Add an atomic
740         variable in_timer_notify and use it to lock out simultaneous timer
741         interrupts.
742
743         * stackstash.c (decorate_node): Make decorate_node() static
744
745         * TODO
746
747 Fri Aug 11 11:41:15 2006  Søren Sandmann  <sandmann@redhat.com>
748
749         * TODO: Updates
750
751 2006-08-08  Soren Sandmann  <ssp@localhost.localdomain>
752
753         * sysprof.c (main): Make the load_file() idle low priority to
754         avoid weird toolbar flash. 
755
756         * TODO, NEWS, README: updates.
757
758 2006-07-31  Paolo Borelli  <pborelli@katamail.com>
759
760         * sysprof.c (expand_descendants_tree): small cleanup.
761
762 2006-07-31  Soren Sandmann <sandmann@redhat.com>
763
764         * stackstash.[ch]: Add a destroy notifier to StackStash
765
766         * collector.c (collector_create_profile): Pass g_free as destroy
767         notifier.
768
769         * collector.c (collector_reset): Pass NULL as destroy notifier
770
771         * profile.c (profile_load): Pass g_free here.
772
773         * profile.c (struct Profile): Remove unused "Node" typedef 
774
775         * collector.c (resolve_symbols): Free the array here.
776
777         * TODO: various updates.
778         
779 2006-07-30  Soren Sandmann <sandmann@redhat.com>
780
781         * signal-handler.c: Simplify this file a bit, and make it not rely
782         on atomic pointer writes.
783
784 2006-07-18  Bastien Nocera  <hadess@hadess.net>
785
786         * configure.ac: we need at least glib 2.6.0 for the gstdio.h functions
787
788 2006-06-05  Soren Sandmann <sandmann@redhat.com>
789
790         * TODO: Updates
791
792 Sat Apr 22 15:08:01 2006  Soeren Sandmann  <sandmann@redhat.com>
793
794         * TODO: updates
795         * profile.c, sfile.c, sformat.c: Various formatting fixes.
796
797 Wed Apr  5 11:26:30 2006  Søren Sandmann  <sandmann@redhat.com>
798
799         * TODO: updates
800
801 Mon Mar 27 23:04:30 2006  Soeren Sandmann  <sandmann@redhat.com>
802
803         * TODO: Updates.
804
805         * sfile.c (handle_{begin,end}_element): Don't generate begin/end
806         instructions for value elements.
807
808         * sfile.c (build_instructions): Remove debugging spew.
809
810 Mon Mar 27 21:44:04 2006  Soeren Sandmann  <sandmann@redhat.com>
811
812         * sformat.[ch]: New files containing a simplified and sanitized
813         version of the state machine and type system from sfile.c.
814         
815         * sfile.c: Move the state machine and type management to separate
816         files. Make the amount of memory used during loading and saving
817         less obscene.
818
819         * stackstash.c (stack_stash_new_from_root): Make this function
820         store the root again.
821
822 Mon Mar 27 09:55:01 2006  Søren Sandmann  <sandmann@redhat.com>
823
824         * TODO: updates
825
826 2006-03-11 Soren Sandmann <sandmann@redhat.com>
827
828         * TODO: updates
829         
830         * stackstash.[ch]: Make stackstash refcounted
831
832         * collector.c, profile.c: Update for refcounted stackstash, plug
833         leak.
834
835         * collector.c (open_fd): Remove FIXME comment
836
837 2006-03-05 Soeren Sandmann <sandmann@redhat.com>
838
839         * sysprof-text.c, collector.c, sysprof.c: Do proper
840         error-handling.
841
842 Fri Mar  3 22:28:03 2006  Soeren Sandmann  <sandmann@redhat.com>
843
844         * process.c (process_lookup_symbol): Check that the inodes match.
845
846         * binfile.c (read_symbols): Read the inode of the file
847
848         * binfile.c (read_symbols): Close the bfd if the symbol table
849         could not be read.
850
851 Thu Mar  2 22:54:37 2006  Soeren Sandmann  <sandmann@redhat.com>
852
853         * treeviewutils.c (tree_view_foreach_visible): Handle NULL models.
854
855         * sysprof.glade, sysprof.c: Revert back to three pane layout.
856
857 2006-02-17  Bastien Nocera  <hadess@hadess.net>
858
859         * configure.ac:
860         * module/sysprof-module.c: (timer_notify), (sysprof_open),
861         (sysprof_release): more ifdef's to make it work with Red Hat
862         Enterprise Linux 4's 2.6.9-based kernel
863
864 Sat Feb  4 23:53:05 2006  Søren Sandmann  <sandmann@redhat.com>
865
866         * sysprof.glade: Remove ancestors pane in favor of radiobuttons in
867         the right pane.
868
869         * sysprof.c: Corresponding changes.
870
871         * TODO: Updates
872
873 Wed Jan 25 11:24:04 2006  Søren Sandmann  <sandmann@redhat.com>
874
875         * TODO: Updates
876
877 Mon Jan 16 11:12:13 2006  Søren Sandmann  <sandmann@redhat.com>
878
879         * TODO: Updates
880
881 Sun Jan 15 20:22:20 2006  Soeren Sandmann  <sandmann@redhat.com>
882
883         * module/sysprof-module.c (init_module): Print out sysprof version
884         at module load time.
885
886 Sun Jan 15 00:24:02 2006  Soeren Sandmann  <sandmann@redhat.com>
887
888         * TODO: Updates
889
890         * sysprof.c (build_gui): Rename 'callers' column 'ancestors'
891
892         * profile.c (profile_list_callers): Make this function list all
893         ancestors of the function. Also make it report correct numbers
894         again. 
895
896         * profile.c (profile_create_descendants): Remove debug spew
897
898 Sat Jan 14 18:24:43 2006  Soeren Sandmann  <sandmann@redhat.com>
899
900         * configure.ac, Makefile.am: Only build GUI when the necessary
901         dependencies are found.
902
903         * sysprof.c (compute_text_width): Remove unused variable
904
905         * profile.c (build_object_list): Follow next instead of siblings.
906
907 Fri Jan 13 23:11:33 2006  Søren Sandmann  <sandmann@redhat.com>
908
909         * TODO: updates
910
911 Fri Jan 13 22:59:48 2006  Soeren Sandmann  <sandmann@redhat.com>
912
913         * module/sysprof-module.c (sysprof_open): Initialize retval.
914
915         * module/sysprof-module.c (sysprof_read): Copy contents of trace,
916         not tail to the buffer.
917
918 Wed Jan 11 20:31:11 2006  Søren Sandmann  <sandmann@redhat.com>
919
920         * process.c (read_maps): Also make offset a gulong (Samuel Mimram)
921
922 Wed Jan 11 17:51:54 2006  Søren Sandmann  <sandmann@redhat.com>
923
924         * collector.c: Remove debug spew. 
925
926         * TODO: updates
927
928 Mon Jan  9 09:58:25 2006  Soeren Sandmann  <sandmann@redhat.com>
929
930         * module/sysprof-module.c (timer_notify): Remove START_OF_STACK
931         check.
932
933 Mon Jan  9 00:59:21 2006  Soeren Sandmann  <sandmann@redhat.com>
934
935         * process.c (read_maps): Use gulong for addresses. Bug reported by
936         Martin Reddy.
937
938 Sun Jan  8 03:22:22 2006  Soeren Sandmann  <sandmann@redhat.com>
939
940         * process.c (process_flush_caches): Resurrect this function.
941
942         * collector.c (collector_reset): Call it from here
943
944 Sun Jan  8 02:19:34 2006  Soeren Sandmann  <sandmann@redhat.com>
945
946         * TODO: update
947
948 Thu Jan  5 17:52:10 2006  Søren Sandmann  <sandmann@redhat.com>
949
950         * TODO: small updates
951         * sysprof.c: cosmetic updates
952         * module/sysprof-module.c: cosmetic updates
953
954 2005-12-20  Kristian Høgsberg  <krh@redhat.com>
955
956         * module/sysprof-module.c: Remove left over debug print out and
957         add support for multiple clients (readers).
958
959 Tue Dec 20 16:03:29 2005  Soeren Sandmann  <sandmann@redhat.com>
960
961         * TODO: Updates
962
963         * sysprof-text.c (main): Make it try and load the module before
964         complaining.
965
966 2005-12-20  Kristian Høgsberg  <krh@redhat.com>
967
968         * Makefile.am: Dist and install udev rule.
969
970         * collector.c: (open_fd):
971         * sysprof-text.c: (no_module):
972         * sysprof.c: (on_start_toggled): Update device filename.
973
974         * 60-sysprof.rules: New udev rule file to set permissions for
975         sysprof char device.
976
977         * module/sysprof-module.c: Switch kernel module to use a misc char
978         device instead.  Start and stop the timer on device open and
979         close instead of module load and unload.
980
981 Tue Dec 20 12:19:34 2005  Søren Sandmann  <sandmann@redhat.com>
982
983         * configure.ac: Add backslashes, pointed out by Ralph Siemsen.
984
985 Mon Dec 19 17:39:09 2005  Søren Sandmann  <sandmann@redhat.com>
986
987         * sysprof.c (add_text): Make the tree tree-shapeed.
988
989 Mon Dec 19 15:15:48 2005  Søren Sandmann  <sandmann@redhat.com>
990
991         * module/sysprof-module.c (timer_notify): A few formatting
992         fixes. Hopefully make it work with x86-64.
993
994 2005-11-29  Soeren Sandmann  <sandmann@redhat.com>
995
996         * sysprof.c (on_descendants_row_expanded_or_collapsed): New
997         function. Update screenshot window when rows are expanded and
998         collapsed.
999
1000 2005-11-23  Soeren Sandmann  <sandmann@redhat.com>
1001
1002         * sysprof.c (update_screenshot_window): Update the screenshot
1003         window.
1004
1005 Wed Nov 23 00:44:34 2005  Soeren Sandmann  <sandmann@redhat.com>
1006
1007         * module/sysprof-module.c: Various cleanups
1008
1009         * TODO: updates
1010
1011 Tue Nov 22 23:38:09 2005  Soeren Sandmann  <sandmann@redhat.com>
1012
1013         * module/sysprof-module.c: Remove unused pages_present()
1014         function. 
1015
1016 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
1017
1018         * configure.ac: Make configure work.
1019
1020 2005-11-13  Soeren Sandmann  <sandmann@redhat.com>
1021
1022         * process.c: Add some experimental (and unused) code to look up
1023         kernel symbols.
1024
1025 Sat Nov 12 23:39:29 2005  Soeren Sandmann  <sandmann@redhat.com>
1026
1027         * sysprof.c (set_sizes): Put the vertical splitter at 3/8 *
1028         screen_width.
1029
1030         * configure.ac: Disable warning.
1031
1032 Sat Nov 12 19:44:43 2005  Søren Sandmann  <sandmann@redhat.com>
1033
1034         * module/sysprof-module.c (read_frame): New function that uses
1035         copy_from_user_inatomic() as check_user_pages_readable() has
1036         disappeared in recent kernels.
1037         
1038         * module/sysprof-module.c (timer_notify): Use it here.
1039         
1040         * TODO: Updates
1041
1042         * configure.ac: Change the wording of the CVS HEAD warning as this
1043         change seems to also have fixed the lockup with rawhide kernels.
1044
1045 Wed Nov  9 00:24:11 2005  Soeren Sandmann  <sandmann@redhat.com>
1046
1047         * treeviewutils.[ch]: Add new tree_view_foreach_visible()
1048         function.
1049
1050         * sysprof.c: Add update_screenshot_window() function.
1051
1052 Mon Nov  7 23:42:26 2005  Soeren Sandmann  <sandmann@redhat.com>
1053
1054         * sysprof.c: Add beginning of a screenshot
1055         window.
1056
1057         * sysprof.glade: Add screenshot window plus menu items.
1058
1059         * stackstash.c: Remove unused function stack_node_list_leaves()
1060
1061         * xmlstore.c: Various crack
1062
1063 Sun Nov  6 23:03:49 2005  Soeren Sandmann  <sandmann@redhat.com>
1064
1065         * profile.c (add_trace_to_tree): Test for !prev instead of !next.
1066
1067 Sun Nov  6  Soeren Sandmann  <sandmann@redhat.com>
1068
1069         * TODO: updates
1070
1071         * collector.c (on_read): Only call back when a new sample actually
1072         arrived.
1073
1074         * collector.c (collector_stop): close the filedescriptor
1075
1076         * sysprof.c (on_start_toggled): Change sense of test.
1077
1078         * sysprof.c (ensure_profile): Stop the collector.
1079
1080         * sysprof.c (on_reset_clicked): Stop the collector when state
1081         becomes INITIAL.
1082
1083 Sun Nov  6 18:31:23 2005  Soeren Sandmann  <sandmann@redhat.com>
1084
1085         * stackstash.c (stack_stash_foreach): 
1086         * stackstash.c (stack_node_foreach_trace): Make these function
1087         call back with GLists rather than GSLists.
1088
1089         * profile.c (add_trace_to_tree): Iterate backwards instead of
1090         copying the list.
1091
1092 Sun Nov  6 17:06:52 2005  Soeren Sandmann  <sandmann@redhat.com>
1093
1094         * profile.c (add_trace_to_tree): Turn this function into a
1095         StackFunction. 
1096
1097         * stackstash.c (stack_node_foreach_trace): Make this function take
1098         a StackFunction, and reimplement with do_callback().
1099
1100 Sat Nov  5 18:06:40 2005  Soeren Sandmann  <sandmann@redhat.com>
1101
1102         * profile.c (profile_create_descendants): Use callbacks from
1103         stackstash.
1104
1105         * stackstash.c (stack_node_foreach_trace): New function
1106         * stackstash.c (do_node_callback): New function
1107
1108 Sat Nov  5 12:39:33 2005  Soeren Sandmann  <sandmann@redhat.com>
1109
1110         * profile.c (add_trace_to_tree): Don't compute the total field.
1111
1112         * profile.h (struct ProfileDescendant): Remove 'total' field. 
1113
1114         * sysprof.c: Delete DESCENDANTS_TOTAL column and everything
1115         related to it.
1116
1117         * profile.c: Remove commented out code
1118
1119         * sfile.c (handle_text): Don't copy the text
1120
1121 2005-11-04  Soren Sandmann  <sandmann@redhat.com>
1122
1123         * collector.[ch]: Add copyright statement.
1124
1125         * collector.c (on_read): Handle time getting set backwards.
1126
1127         * collector.c: Remove unused empty_filedescriptor() function.
1128
1129 2005-11-03  Soren Sandmann  <sandmann@redhat.com>
1130
1131         * configure.ac: Make the message about the kernel source package
1132         more informative. Code from Kjetil Torgrim Homme.
1133
1134         * sysprof.c (on_start_toggled): Only delete the data if the 
1135         profiling can actually be started.
1136
1137 2005-11-01  Soeren Sandmann  <sandmann@redhat.com>
1138
1139         * sysprof.c (on_start_toggled): Update GUI after showing error
1140         message.
1141
1142         * sysprof.glade: Rename File menu Profiler, move
1143         Start/Profile/Reset here, delete View menu.
1144
1145 Mon Oct 31 23:41:33 2005  Soeren Sandmann  <sandmann@redhat.com>
1146
1147         * stackstash.h (struct StackNode): Add "total" field.
1148
1149         * stackstash.c (stack_stash_add_trace): Keep track of the
1150         aggregate size.
1151
1152         * profile.c (profile_get_size): Sum the totals of the siblings
1153         instead of all the children.
1154
1155         * profile.c (build_object_list): Correctly compute obj->self
1156
1157         * profile.c (profile_load): Don't ignore the node->total field.
1158
1159         * profile.c (serialize_call_tree): Save node->total instead of the
1160         computed total
1161
1162         * profile.c (compute_total): Use n->total instead of computing it
1163         from scratch.
1164
1165         * profile.c: Remove unused sum_children() function.
1166
1167         * TODO: Updates
1168
1169         * process.c (process_get_from_pid): Plug leak.
1170
1171 Mon Oct 31 21:36:37 2005  Søren Sandmann  <sandmann@redhat.com>
1172
1173         * sysprof.c (fill_main_list): free the profile objects.
1174
1175         * sysprof.c (struct Application): Remove unused variable.
1176
1177 Mon Oct 31 00:22:58 2005  Soeren Sandmann  <sandmann@redhat.com>
1178
1179         * sysprof.c (set_application_title): Use APPLICATION_NAME macro
1180
1181         * sysprof.c (load_file): Don't leak the FileOpenData
1182
1183         * TODO: updates
1184
1185 2005-10-30  Soren Sandmann <sandmann@redhat.com>
1186
1187         * configure.ac, Makefile.am: Don't link sysprof-text to gtk+.
1188
1189 2005-10-30  Soren Sandmann <sandmann@redhat.com>
1190
1191         * Merge stackstash-reorg branch into HEAD
1192
1193 2005-10-30  Soren Sandmann <sandmann@redhat.com>
1194
1195         * Makefile.am, sysprof.c, sysprof-text.c, collector.[ch]: Rename
1196         profiler -> collector
1197
1198 2005-10-30  Soren Sandmann <sandmann@redhat.com>
1199
1200         * profile.c (profile_load): Reenable loading. 
1201
1202 2005-10-30  Soren Sandmann <sandmann@redhat.com>
1203
1204         * profile.c (profile_save): Reenable saving.
1205
1206 Sat Oct 29 21:37:42 2005  Soeren Sandmann  <sandmann@redhat.com>
1207
1208         * stackstash.c (stack_stash_foreach): Rename
1209         stack_stash_foreach_reversed() to stack_stash_foreach(). Delete
1210         the old, unused stack_stash_foreach().
1211
1212         * stackstash.h: Remove stack_stash_foreach_reversed(). 
1213
1214         * profiler.c: Use new name.     
1215
1216 Sat Oct 29 18:37:37 2005  Søren Sandmann  <sandmann@redhat.com>
1217
1218         * TODO: Updates
1219
1220 Sat Oct 29 17:38:01 2005  Søren Sandmann  <sandmann@redhat.com>
1221
1222         * stackstash.[ch]: Add stack_stash_get_root(). 
1223
1224         * profile.c (profile_get_size): Make this function work again. 
1225
1226 Sat Oct 29 16:58:22 2005  Søren Sandmann  <sandmann@redhat.com>
1227
1228         * profile.c: Delete all the obsolete stuff related to call tree.
1229
1230         * TODO: update
1231
1232 Sat Oct 29 16:52:32 2005  Søren Sandmann  <sandmann@redhat.com>
1233
1234         * TODO: Updates
1235
1236         * profile.c: Comment out a lot of unused stuff. Also temporarily
1237         comment out loading and saving.
1238
1239 Sat Oct 29 16:45:34 2005  Søren Sandmann  <sandmann@redhat.com>
1240
1241         * profile.c (compute_total): New function.
1242
1243         * profile.c (profile_list_callers): Port this function over to use
1244         StackNodes instead.
1245
1246 Sat Oct 29 16:22:28 2005  Søren Sandmann  <sandmann@redhat.com>
1247
1248         * profile.c (build_object_list): Make this function allocate
1249         the ProfileObjects.
1250
1251         * stackstash.[ch]: Add stack_stash_foreach_by_address()
1252
1253         * profile.c (profile_get_objects): Use it here to reimplement 
1254         profile_get_objects() in terms of the stackstash.
1255
1256 Sat Oct 29 15:33:07 2005  Søren Sandmann  <sandmann@redhat.com>
1257
1258         * profile.c (profile_new): Add stash field to profile.
1259
1260         * stackstash.[ch]: Add stack_node_list_leaves();
1261
1262         * profile.c (profile_create_descendants): Port this function over
1263         to use StackNodes instead.
1264
1265 Sat Oct 29 14:43:00 2005  Søren Sandmann  <sandmann@redhat.com>
1266
1267         Fix crash pointed reported by Rudi Chiarito. 
1268         
1269         * stackstash.c (stack_stash_add_trace): Just return if
1270         n_addrs is 0. 
1271
1272         * sysprof.c (on_read): Only trace if n_addresses != 0. 
1273
1274 Sat Oct 29 03:47:03 2005  Soeren Sandmann  <sandmann@redhat.com>
1275
1276         * profile.[ch], sysprof.c: Get rid of ProfileObject for callers
1277         and descendants.
1278
1279         * TODO: updates.
1280
1281 Sat Oct 29 02:57:34 2005  Soeren Sandmann  <sandmann@redhat.com>
1282
1283         * stackstash.[ch]: Export the StackNode struct, add new
1284         nodes_by_data hashtable to StackStash object, keep track of
1285         whether objects are toplevels.
1286
1287         * TODO: some updates.
1288
1289 Sat Oct 29 14:29:55 2005  Søren Sandmann  <sandmann@redhat.com>
1290
1291         * README, TODO: updates
1292
1293 Fri Oct 14 11:44:43 2005  Søren Sandmann  <sandmann@redhat.com>
1294
1295         * configure.ac: Add a warning about known bugs in the kernel
1296         module in this branch.
1297
1298         * TODO: updates.
1299
1300 Tue Oct 11 22:40:24 2005  Soeren Sandmann  <sandmann@redhat.com>
1301
1302         * module/sysprof-module.c (SAMPLES_PER_SECOND): Add back these
1303         constants, but this time make sure we won't divide by 0 or
1304         anything like that.
1305
1306 Mon Oct 10 22:50:57 2005  Soeren Sandmann  <sandmann@redhat.com>
1307
1308         * Merge in changes from HEAD
1309
1310 Thu Oct  6 22:28:39 2005  Soeren Sandmann  <sandmann@redhat.com>
1311
1312         * stackstash.c (do_callback): Call stack func if node->size > 0,
1313         not if node->children != NULL
1314         * stackstash.c (do_reversed_callback): same
1315         * profile.c (generate_presentation_name): Delete this function
1316         * profile.c (generate_key): Delete this function.
1317
1318 Wed Oct  5 23:57:08 2005  Soeren Sandmann  <sandmann@redhat.com>
1319
1320         * TODO: Updates
1321
1322         * profile.c (generate_call_tree): Delete all the process stuff
1323
1324         * profile.c (node_add_trace): Delete process argument
1325
1326         * profile.c (lookup_profile_object): Don't generate a string key,
1327         just use the address directly.
1328
1329         * profile.c (ensure_profile_object): Use the address as
1330         presentation name.
1331
1332         * profiler.c (profiler_create_profile): Pass in the resolved
1333         stash. 
1334
1335 Sun Oct  2 21:08:16 2005  Soeren Sandmann  <sandmann@redhat.com>
1336
1337         * sysprof.c (on_delete): Work around glib bug 317775
1338
1339         * sysprof-text.c (signal_handler): Work around glib bug 317775
1340
1341 Sun Oct  2 16:31:37 2005  Soeren Sandmann  <sandmann@redhat.com>
1342
1343         * stackstash.c (stack_stash_foreach_reversed): Add this function
1344
1345         * process.c: Add a per-process undefined symbol.
1346
1347         * profiler.c (resolve_symbols): Add code to do symbol resolution
1348         here.
1349
1350         * TODO: Updates
1351
1352 Sat Oct  1 18:32:52 2005  Soeren Sandmann  <sandmann@redhat.com>
1353
1354         * profile.h, sysprof.c: Remove some unnecessary includes.
1355
1356 Sat Oct  1 18:12:44 2005  Soeren Sandmann  <sandmann@redhat.com>
1357
1358         * profiler.[ch]: Add profiler_get_n_samples(); add unused
1359         empty_file_descriptor()
1360
1361         * profile.h: Add include guards
1362         
1363         * process.[ch]: Delete process_flush_caches();
1364
1365         * helper.[ch]: Remove these files
1366
1367         * sysprof.c: Use the new profiler class.
1368
1369         * sysprof-text.c: Use the new profiler class
1370
1371         * Makefile.am: Various cleanups.
1372
1373 Sat Oct  1 17:05:43 2005  Soeren Sandmann  <sandmann@redhat.com>
1374
1375         * profiler.[ch]: New files containing a profiler class with code
1376         that can be shared between gui and command line.
1377         
1378         * sysprof.c (main): Remove some commented out code
1379
1380         * stackstash.c (do_callback): Store the trace on the stack instead
1381         of allocating it dynamically.
1382
1383 Sat Oct  1 01:50:15 2005  Soeren Sandmann  <sandmann@redhat.com>
1384
1385         * stackstash.c (sstack_stash_add_trace): Simplify this function a
1386         lot.
1387
1388         * helper.c: Include "process.h"
1389
1390 Sat Oct  1 01:29:06 2005  Soeren Sandmann  <sandmann@redhat.com>
1391
1392         * profile.c (generate_object_table, generate_call_tree): Don't
1393         take the process as an argument. Instead dig it out of the
1394         stacktrace.
1395         
1396         * helper.c (add_trace_to_stash): New file, that adds a stacktrace
1397         and a process to a stackstash.
1398         
1399         * stackstash.[ch]: Remove all traces of the concept of
1400         Process. Simplify stack_node_add_trace() somewhat.
1401
1402 Mon Oct 10 22:49:03 2005  Soeren Sandmann  <sandmann@redhat.com>
1403
1404         * module/sysprof-module.c: Delete lots of commented-out code.
1405
1406 Mon Oct 10 14:33:50 2005  Søren Sandmann  <sandmann@redhat.com>
1407
1408         * configure.ac: Add --disable-kernel-module option. Patch from
1409         Pascal Terjan. 
1410
1411 Mon Oct 10 13:00:20 2005  Robert Love  <rml@novell.com>
1412
1413         * module/sysprof-module.c: Don't use INTERVAL or SAMPLES_PER_SECOND
1414           now that we use register_timer_hook(), which hits off the timer
1415           interrupt at HZ freqency (1/250 second on x86).
1416
1417 Sat Oct  1 01:21:57 2005  Soeren Sandmann  <sandmann@redhat.com>
1418
1419         * TODO: Update
1420
1421 Wed Sep 28 12:08:32 2005  Søren Sandmann  <sandmann@redhat.com>
1422
1423         * sysprof-text.c: Add my name to the copyright statement
1424
1425 Tue Sep 27 01:33:33 2005  Soeren Sandmann  <sandmann@redhat.com>
1426
1427         * process.c (process_lookup_symbol): If the address is 0x01, treat
1428         as kernel, regardless of whether we have a map for that address or
1429         not.
1430
1431         * module/sysprof-module.c (timer_notify): Take a stack trace of
1432         the current process, even when we are in kernel mode. This way we
1433         can assign kernel activity to individual user space stacktraces.
1434
1435         * TODO: updates.
1436         
1437 Sat Sep 24 14:41:23 2005  Soeren Sandmann  <sandmann@redhat.com>
1438
1439         * configure.ac: Bump version number to 1.1.0
1440
1441         * signal-handler.c: Many, mostly cosmetic, cleanups
1442
1443         * sysprof-text.c: uninstall signal handlers when exiting
1444
1445 Sat Sep 24 00:01:42 2005  Soeren Sandmann  <sandmann@redhat.com>
1446
1447         * Nakefile.am, sysprof-text.c: New non-GUI version, written
1448         by Lorenzo Colitti, with some changes by me.
1449
1450         * signal-handler.[ch]: New files that provide a way to get UNIX
1451         signals into a glib main loop.
1452
1453         * README: add Lorenzo to credits
1454         
1455 Fri Sep 23 20:46:40 2005  Soeren Sandmann  <sandmann@redhat.com>
1456
1457         * sysprof.c (build_gui): If the glade file doesn't exists pop up 
1458         an alert suggesting running 'make install'
1459
1460         * sysprof.c: Remove some commented out code
1461
1462 Sat Sep 17 14:35:32 2005  Soeren Sandmann  <sandmann@redhat.com>
1463
1464         * Release 1.0 (this comment was added post facto)
1465         
1466         * Bump version numbers
1467         * README: update
1468         * TODO: Updates
1469
1470 Sun Sep  4 19:38:51 2005  Soeren Sandmann  <sandmann@redhat.com>
1471
1472         * TODO: Updates
1473
1474 Tue Aug 30 16:57:33 2005  Søren Sandmann  <sandmann@redhat.com>
1475
1476         * configure.ac: Complain if we can't find /lib/modules/`uname
1477         -r`/build/Makefile. 
1478
1479         * process.c (process_lookup_symbol): Take an address of 0x1 to
1480         mean "in kernel".
1481
1482         * module/sysprof-module.c (timer_notify): When reporting in-kernel
1483         time, give the current pid instead of -1.
1484
1485         * TODO: updates
1486
1487 Mon Aug 15 20:39:11 2005  Soeren Sandmann  <sandmann@redhat.com>
1488
1489         * binfile.c, process.c, profile.c: Fix some warnings.
1490
1491 Mon Aug  1 23:49:51 2005  Soeren Sandmann  <sandmann@redhat.com>
1492
1493         * module/sysprof-module.c (REG_INS_PTR): Add support for
1494         amd64/x86-64. Patch from Mike Frysinger.
1495
1496 Sun Jul 10 10:51:52 2005  Soeren Sandmann  <sandmann@redhat.com>
1497
1498         * binfile.c: Various minor clean-ups
1499
1500 Sat Jul  9 23:20:39 2005  Soeren Sandmann  <sandmann@redhat.com>
1501
1502         * binfile.c (bin_file_new): Cache BinFiles by filename.
1503
1504         * stackstash.c (stack_stash_free): Plug leak
1505
1506         * process.c (process_free_maps): Plug leak
1507
1508         * module/Makefile (install): Check that depmod exists before
1509         running it.
1510
1511 Sun Jun 19 15:42:34 2005  Søren Sandmann  <sandmann@redhat.com>
1512
1513         * module/sysprof-module.c (SAMPLES_PER_SECOND): Set to 200.
1514
1515         * sysprof.c (on_about_activated): Add version information
1516
1517         * configure.ac: Bump version to 0.91
1518         
1519         * README: Updates
1520
1521 Sat Jun 18 22:45:04 2005  Søren Sandmann  <sandmann@redhat.com>
1522
1523         * TODO: Updates
1524
1525         * configure.ac: Check for Linux 2.6.11
1526
1527         * process.c (get_pidname): Present pid=-1 as [kernel].
1528
1529         * module/sysprof-module.c: Use register_timer_hook() instead of
1530         a kernel timer. Set trace.pid to -1 if interrupt happens in
1531         kernel.
1532
1533 Sun Jun 12 20:30:37 2005  Soeren Sandmann  <sandmann@redhat.com>
1534
1535         * sysprof.c (build_gui): Disable type-ahead search for all the
1536         tree views.
1537         
1538         * sysprof.c (on_object_selection_changed): Call it from here
1539
1540         * sysprof.c (expand_descendants_tree): New function that
1541         determines what nodes to expand in the descendatns view. 
1542
1543 Sun Jun 12 13:37:15 2005  Soeren Sandmann  <sandmann@redhat.com>
1544
1545         * TODO: Updates
1546
1547 Thu Jun  9 13:28:33 2005  Søren Sandmann  <sandmann@redhat.com>
1548
1549         * TODO: Updates
1550
1551 Thu May 26 01:10:45 2005  Soeren Sandmann  <sandmann@redhat.com>
1552
1553         * sysprof.c (on_callers_row_activated): Grab focus on the callers
1554         view, not the descendants view.
1555         
1556         * sysprof.c (on_read): Add a short "dead" period after a reset,
1557         so that 'samples' will actually be 0 for a while.
1558         
1559 Mon May 23 01:37:26 2005  Soeren Sandmann  <sandmann@redhat.com>
1560
1561         * README: Remove comment about auto* stuff, link to
1562
1563                 http://www.daimi.au.dk/~sandmann/sysprof/
1564
1565 Sun May 23 16:10:00 2005  Soeren Sandmann  <sandmann@redhat.com>
1566
1567         -=-=-=-=-=- Release v. 0.9 -=-=-=-=-=-
1568         
1569 Sun May 22 21:06:36 2005  Soeren Sandmann  <sandmann@redhat.com>
1570
1571         * TODO: Updates
1572
1573 Sat May 21 20:58:59 2005  Soeren Sandmann  <sandmann@redhat.com>
1574
1575         * TODO: update
1576         
1577         * sysprof.c (on_menu_item_activated): New function. 
1578
1579         * sysprof.c (build_gui): Hook up menu items.
1580
1581         * module/sysprof-module.c (init_module): Remove module_init/exit
1582         as they cause build failure on kernels < 2.6.11.
1583
1584 Sat May 21 00:59:38 2005  Søren Sandmann  <sandmann@redhat.com>
1585
1586         * TODO: update
1587
1588 Wed May 18 22:21:52 2005  Søren Sandmann  <sandmann@redhat.com>
1589
1590         * module/sysprof-module.c: Remove ref-counting since it didn't
1591         actually do any good.
1592
1593         * sysprof.c (load_module): Use g_spawn_command_line_sync() instaed
1594         of system().
1595
1596 Sun May 15 11:56:30 2005  Søren Sandmann  <sandmann@redhat.com>
1597
1598         * module/sysprof-module.c: First attempt at making module robust
1599         agains unloading when in use.
1600
1601 Sun May 15 10:24:09 2005  Soeren Sandmann  <sandmann@redhat.com>
1602
1603         * Makefile.am, module/Makefile: Do more-or-less what the automake
1604         manual suggests about foreign subdirectories.
1605
1606 Sat May 14 16:36:32 2005  Søren Sandmann  <sandmann@redhat.com>
1607
1608         * sysprof.c (set_application_title): Update the title bar on
1609         load/save
1610
1611         * treeviewutils.c, sfile.c: Fix compiler warnings
1612
1613         * Makefile.am: define PIXMAPDIR
1614         
1615 Sat May 14 15:49:52 2005  Søren Sandmann  <sandmann@redhat.com>
1616
1617         Auto*ify.
1618         
1619         * TODO: updates
1620
1621         * AUTHORS, INSTALL, Makefile.am, NEWS, configure.ac: New files
1622
1623         * module/Makefile: New file
1624
1625         * module/sysprof-module.c, module/sysprof-module.h: Move these
1626         files to their own directy, as the kernel build system does not
1627         work very well with auto*.
1628
1629         * sysprof.c, autogen.sh: Some auto* changes.
1630         
1631 Sun May  8 16:31:32 2005  Søren Sandmann  <sandmann@redhat.com>
1632
1633         * TODO: more updates
1634
1635         * sysprof.c: Try loading the module before complaining
1636
1637 Sun May  8 15:45:08 2005  Søren Sandmann  <sandmann@redhat.com>
1638
1639         * sysprof-module.c (do_generate): Restore lost wake_up().
1640
1641         * sfile.c: Comment out use of bz2.
1642
1643         * Makefile: Add an install target. Add GLADE_DIR and PIXMAP_DIR
1644
1645         * sysprof.c (build_gui): use GLADE_DIR and PIXMAP_DIR here.
1646
1647         * TODO: Updates.
1648
1649 Sat May  7 13:57:17 2005  Søren Sandmann  <sandmann@redhat.com>
1650
1651         * sfile.c (sfile_output_free): Implement this function
1652         
1653         * sfile.c (sfile_input_free): Implement this function
1654
1655 Fri May  6 23:38:48 2005  Søren Sandmann  <sandmann@redhat.com>
1656
1657         * sysprof-module.c (do_generate): Another desparate hack to try
1658         and prevent the oops.
1659
1660 Sat Apr 30 16:57:23 2005  Soeren Sandmann  <sandmann@redhat.com>
1661
1662         * process.c (PAGE_SIZE): Use getpagesize()
1663
1664         * TODO: More updates
1665
1666 Sat Apr 30 15:44:12 2005  Søren Sandmann  <sandmann@redhat.com>
1667
1668         * TODO: Updates
1669
1670         * sysprof-module.c (get_regs): Change the way we get registers for
1671         a task so that it works with 2.6.11
1672
1673 Sat Apr 23 19:17:18 2005  Søren Sandmann  <sandmann@redhat.com>
1674
1675         * TODO: Updates
1676
1677 Sat Apr 23 19:12:52 2005  Søren Sandmann  <sandmann@redhat.com>
1678
1679         * profile.c: Store a pointer to the root of the call tree
1680
1681         * profile.c (profile_load): Call sfile_input_free()
1682
1683         * sfile.c (sformat_free): Implement this function
1684
1685 Sat Apr 23 18:38:46 2005  Søren Sandmann  <sandmann@redhat.com>
1686
1687         * sfile.c (post_process_read_instructions): Check pointer types
1688
1689         * sfile.c (post_process_instructions_recurse): Delete this unused function
1690
1691 Sat Apr 23 17:49:33 2005  Søren Sandmann  <sandmann@redhat.com>
1692
1693         * sysprof-module.c (page_readable): New function to check if the
1694         page is readable before reading. Noop on kernel <= 2.6.11
1695
1696         * sysprof-module.c (get_mm, put_mm): New functions to confine
1697         #ifdefs. 
1698
1699 Sat Apr 23 17:48:22 2005  Søren Sandmann  <sandmann@redhat.com>
1700
1701         * Makefile (MODCFLAGS): Disable optimization as I suspect
1702         the oops is related to miscompilation.
1703
1704 Fri Apr 22 00:09:16 2005  Soeren Sandmann  <sandmann@redhat.com>
1705
1706         * sysprof-module.c (read_user_space): On >= 2.6.11 check that the
1707         pages are present and readable before reading them.
1708
1709 Tue Apr 19 23:26:45 2005  Kristian Høgsberg  <krh@bitplanet.net>
1710
1711         * Makefile (check): Add simple check target that runs a sanity
1712         check of the build environment.
1713
1714 Sun Apr 17 00:20:41 2005  Soeren Sandmann  <sandmann@redhat.com>
1715
1716         * sysprof.c (on_open_clicked): Factor out some stuff in their own
1717         functions.
1718
1719         * sysprof.c (load_file): Idle handler to load files given on the
1720         command line.
1721
1722         * sysprof.c (main): If a filename is passed on the command line,
1723         load it in an idle handler.
1724
1725 Sun Apr 17 00:19:03 2005  Soeren Sandmann  <sandmann@redhat.com>
1726
1727         * TODO: Updates
1728
1729 Sat Apr 16 19:51:48 2005  Soeren Sandmann  <sandmann@redhat.com>
1730
1731         * sysprof-module.c (read_user_space): Read a whole page at a time.
1732
1733 Sat Apr 16 14:15:55 2005  Soeren Sandmann  <sandmann@redhat.com>
1734
1735         * TODO: Update
1736         
1737         * sysprof-module.c (x_access_process_vm): On kernel 2.6.9 and
1738         later use get_task_mm()/mmput() instead of directly accessing
1739         task->mm.
1740
1741 Sat Apr 16 01:54:18 2005  Søren Sandmann  <sandmann@redhat.com>
1742
1743         * TODO: Add backtrace for kernel oops.
1744
1745 Fri Apr 15 16:37:45 2005  Soeren Sandmann  <sandmann@redhat.com>
1746
1747         * TODO: updates
1748
1749         * sysprof.c (sorry): If you hit profile when the module isn't
1750         loaded, pop up an annoying dialog.
1751
1752         * sysprof-module.c: Clean-ups, remove various unused abstractions.
1753
1754 Sat Apr  9 17:49:13 2005  Søren Sandmann  <sandmann@redhat.com>
1755
1756         * COPYING: Add a copy of the GPL
1757
1758 Sat Apr  9 17:04:50 2005  Søren Sandmann  <sandmann@redhat.com>
1759
1760         * Makefile: Remove debug spew
1761
1762         * *: Add copyright notices
1763
1764 Fri Apr  8 21:30:02 2005  Søren Sandmann  <sandmann@redhat.com>
1765
1766         * TODO: More updates
1767
1768 Fri Apr  8 20:48:58 2005  Søren Sandmann  <sandmann@redhat.com>
1769
1770         * sysprof.c (build_gui): Load the icon, hook up "about"
1771         activation.
1772
1773         * sysprof.c (on_about_activated): New function. Show an about
1774         dialog.
1775
1776         * sysprof.c (struct Application): Add an icon field
1777
1778         * TODO: Updates
1779         
1780         * sysprof-icon.png: Icon, drawn by Diana Fong
1781
1782 Tue Apr  5 23:01:02 2005  Søren Sandmann  <sandmann@redhat.com>
1783
1784         * binfile.c (read_symbols): Put back the weird loop, and stop
1785         pretending I understand this. This time use SEC_ALLOC instead of
1786         SEC_LOAD.
1787
1788 Tue Apr  5 20:13:44 2005  Søren Sandmann  <sandmann@redhat.com>
1789
1790         * process.c (process_ensure_map): Add commented out debug spew.
1791
1792         * process.c (process_lookup_symbol): Remove all should_offset()
1793         function and all references to it.
1794
1795         * binfile.c (bin_file_lookup_symbol): Document that address must
1796         be in file coordinates.
1797
1798         * binfile.c (read_symbols): Remove misguided code that tried to
1799         guess the load address of the file. Instead, do all computations
1800         in "file coordinates". Also fix a memory leak. Add commented out
1801         debug spew.
1802
1803         * binfile.c (separate_debug_file_exists): Fix signedness
1804
1805 Tue Apr  5 14:34:43 2005  Søren Sandmann  <sandmann@redhat.com>
1806
1807         * sysprof-module.c (x_access_process_vm): Make it compile with
1808         kernel 2.6.11
1809
1810         * TODO: updates
1811
1812 Mon Apr  4 00:57:11 2005  Soeren Sandmann  <sandmann@redhat.com>
1813
1814         * sysprof.c: Busy cursors in many more places.
1815
1816         * TODO: updates
1817
1818 Sun Apr  3 23:28:45 2005  Soeren Sandmann  <sandmann@redhat.com>
1819
1820         * sysprof-module.c (do_generate): Re-schedule the timeout here
1821         instead of in on_timer().
1822         
1823         * sysprof-module.c (on_timer): Only block tasks in the
1824         TASK_RUNNING state. 
1825
1826 Sun Apr  3 17:03:33 2005  Soeren Sandmann  <sandmann@redhat.com>
1827
1828         * sysprof-module.c (queue_generate_stack_trace): Put current
1829         process to sleep.
1830
1831         * sysprof-module.c (do_generate): Wake up the traced process
1832
1833 Thu Mar 31 23:09:09 2005  Soeren Sandmann  <sandmann@redhat.com>
1834
1835         * sysprof.c (build_gui): Remove stray %
1836
1837 Thu Mar 31 21:18:13 2005  Søren Sandmann  <sandmann@redhat.com>
1838
1839         * treeviewutils.c (add_double_format_column): Right justify numbers
1840
1841         * sysprof.c (build_gui): Add a space after the numbers
1842
1843         * sysprof.c (on_callers_row_activated): Focus object view
1844
1845         * sysprof.c (on_descendants_row_activated): Focus new descendants
1846         tree. 
1847
1848 Thu Mar 31 19:51:51 2005  Søren Sandmann  <sandmann@redhat.com>
1849
1850         * sysprof-module.c (do_generate): Walk all threads, not just all
1851         processes.
1852
1853         * TODO: Add disk profiling ideas
1854
1855 Thu Mar 31 00:19:47 2005  Soeren Sandmann  <sandmann@redhat.com>
1856
1857         * sysprof.c (set_busy): Make this function work
1858
1859         * sysprof.c (on_profile_toggled): Use it here
1860
1861         * sysprof.c (on_object_selection_changed): And here
1862
1863         * profile.c (add_trace_to_tree): Use GPtrArrays instead of
1864         GHashTable and GList.
1865
1866 Mon Mar 28 11:09:02 2005  Soeren Sandmann  <sandmann@redhat.com>
1867
1868         * TODO: updates
1869
1870 Sat Mar 26 19:26:52 2005  Søren Sandmann  <sandmann@redhat.com>
1871
1872         * sysprof.c: Show the right number of samples afte Open; remove
1873         shadows from menu bars and toolbars; some other tweaks.
1874
1875 Sat Mar 26 11:26:00 2005  Soeren Sandmann  <sandmann@redhat.com>
1876
1877         * TODO: Updates
1878
1879         * sfile.c (add_string): Use g_markup_escape_text() to escape the
1880         string before adding it to the file.
1881
1882         * sysprof.c (empty_file_descriptor): New function to make sure 
1883         samples generated before profiling started are ignored. 
1884         (set_busy): New commented out function to set a busy cursor.
1885
1886 Fri Mar 25 21:31:08 2005  Søren Sandmann  <sandmann@redhat.com>
1887
1888         * sysprof.c (update_sensitivity): Comment out sensitivity of reset button.
1889
1890 Fri Mar 25 21:25:31 2005  Søren Sandmann  <sandmann@redhat.com>
1891
1892         * sysprof.c (get_current_object): Return NULL if nothing is
1893         selected.
1894
1895 Fri Mar 25 20:54:08 2005  Søren Sandmann  <sandmann@redhat.com>
1896
1897         * TODO: More updates
1898
1899 Fri Mar 25 20:25:44 2005  Søren Sandmann  <sandmann@redhat.com>
1900
1901         * README: Require gtk+ 2.6
1902
1903         * treeviewutils.c (add_plain_text_column): Ellipsisize text columns.
1904
1905 Fri Mar 25 19:39:24 2005  Søren Sandmann  <sandmann@redhat.com>
1906
1907         * TODO: Remove "loading and saving"
1908
1909         * sysprof.glade: Add ellipsises to Open and Save menu items.
1910
1911         * sysprof.c (overwrite_file): Add this function, cutted-and-pasted
1912         from evince.
1913
1914         * sysprof.c (on_save_as_clicked, on_open_clicked): Use
1915         GtkFileChoosers to pick the names.
1916
1917         * sysprof.c: Various GUI updates.
1918
1919 Fri Mar 25 19:36:28 2005  Søren Sandmann  <sandmann@redhat.com>
1920
1921         * sfile.c (bz2_compress): Add this function  Don't actually make
1922         any produce use of it.
1923
1924         * profile.c (make_hash_table): Get rid of warning
1925
1926 Thu Mar 24 19:09:33 2005  Søren Sandmann  <sandmann@redhat.com>
1927
1928         * sysprof.c: Various GUI updates 
1929
1930         * TODO: update
1931         
1932         * sfile.[ch] (sformat_new_optional): Add some notes about an
1933         "optional" construction.
1934
1935 Wed Mar 23 00:04:07 2005  Soeren Sandmann  <sandmann@redhat.com>
1936
1937         Primitive loading and saving.
1938         
1939         * sysprof.c (on_open_clicked): Hook up loading.
1940
1941         * sfile.c: Add a copy of g_file_replace() from glib CVS HEAD.
1942
1943         * sfile.c (add_string): Escape and quote the string
1944
1945         * sfile.c (sfile_load): Initialize current_instruction and
1946         instructions_by_location
1947
1948         * sfile.c (post_process_instructions_recurse): Handle NULL
1949         pointers properly.
1950
1951         * sfile.c (handle_begin_element, handle_end_element, handle_text):
1952         Move error handling here from state_transition_begin/text/end.
1953
1954         * sfile.c (handle_text): Discard whitespace-only strings
1955
1956         * sfile.c (sfile_get_pointer, sfile_get_integer,
1957         sfile_get_string): expect both begin, value, and end transitions.
1958
1959         * sfile.c (hook_up_pointers): Only treat instructions as pointer
1960         values when they are. Handle NULL targets properly. 
1961
1962         * sfile.c (get_number): Fix a few read-freed-data bugs
1963
1964         * profile.c (profile_load): Call sfile_end_get() for the profile;
1965         build the nodes_by_objects hash table. Build the call tree.
1966
1967         * profile.c (create_format): Don't store next pointer, but do
1968         store total, self and toplevel.
1969
1970         * profile.c (make_hash_table): New function to build
1971         nodes_by_object hashtable from loaded data
1972
1973 Sat Mar 12 11:05:19 2005  Soeren Sandmann  <sandmann@redhat.com>
1974
1975         * sysprof-module.c: Fix small bug in add_timeout()
1976         * sysprof.c (build_gui): More descriptive tree labels
1977         * TODO: update
1978
1979 Thu Mar 10 16:37:52 2005  Søren Sandmann  <sandmann@redhat.com>
1980
1981         * sysprof.c (build_gui): s/Cummulative/Cumulative/. Pointed out by
1982         Ian McIntosh.
1983
1984 Mon Mar  7 14:47:09 2005  Søren Sandmann  <sandmann@redhat.com>
1985
1986         * README: Add note that you need to compile the module with
1987         the same compiler that compiled the kernel.
1988
1989 Sun Mar  6 22:56:21 2005  Soeren Sandmann  <sandmann@redhat.com>
1990
1991         * sfile.c: Generate id's for objects and pointers.
1992
1993 Sat Mar  5 01:09:33 2005  Soeren Sandmann  <sandmann@redhat.com>
1994
1995         * sfile.c: Bug fixes. Add actual generation.
1996
1997 Fri Mar  4 13:47:13 2005  Søren Sandmann  <sandmann@redhat.com>
1998
1999         * sysprof.c: Remove include of non-existing tracing.h
2000
2001 Thu Mar  3 23:48:13 2005  Soeren Sandmann  <sandmann@redhat.com>
2002
2003         * profile.c (profile_load): Write this function.
2004
2005         * sfile.c: Add support for user defined record and list types.
2006         Simplify logic a lot.
2007
2008 Wed Mar  2 23:39:50 2005  Soeren Sandmann  <sandmann@redhat.com>
2009
2010         * profile.[ch], sfile.[ch]: Experiment with a
2011         file-format-description format.
2012
2013         * sysprof.c: Add commented out code using /proc/ based
2014         timeout.
2015         
2016 Fri Jan 21 11:23:54 2005  Søren Sandmann  <sandmann@redhat.com>
2017
2018         * README: Some updates - add note about SMP kernels.
2019
2020         * sysprof-module.c: Go back to just sampling the current
2021         process.
2022
2023         * ChangeLog: I guess these do make sense, so start one.