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