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