blob: e04b10baab73ca680bb8a050da0bc2fa12a2281b [file] [log] [blame]
Mike Dodd8cfa7022010-11-17 11:12:26 -080012004-12-25 Will Cohen <wcohen@redhat.com>
2
3 * events/Makefile.am: Corrected type for events_files.
4
52004-12-12 John Levon <levon@movementarian.org>
6
7 * doc/oprofile.xml: expand list of supported CPU types.
8
92004-12-12 Ralf Baechle <ralf@linux-mips.org>
10
11 * daemon/opd_cookie.c: Define __NR_lookup_dcookie for all three
12 supported MIPS ABIs.
13
14 * events/mips/r10000/events:
15 * events/mips/r10000/unit_masks:
16 * events/mips/r12000/events:
17 * events/mips/r12000/unit_masks:
18 * events/mips/r5432/events:
19 * events/mips/r5432/unit_masks:
20 * events/mips/r5500/events:
21 * events/mips/r5500/unit_masks:
22 * events/mips/rm7000/events:
23 * events/mips/rm7000/unit_masks:
24 * events/mips/rm9000/events:
25 * events/mips/rm9000/unit_masks:
26 * events/mips/sb1/events:
27 * events/mips/sb1/unit_masks:
28 * events/Makefile.am:
29 * libop/op_events.c:
30 * utils/op_help.c:
31 * libop/op_cpu_type.h:
32 * libop/op_cpu_type.c: Add support for the MIPS R10000 and R12000,
33 QED RM7000 and PMC-Sierra RM9000, NEC VR5432 and VR5500 and Sibyte SB1
34 processors.
35
36 * README: List myself as the caretaker of the MIPS bits.
37
382004-11-25 Philippe Elie <phil.el@wanadoo.fr>
39
40 * libop/op_events.c: simplify a bit get_mapping()
41
422004-11-20 Philippe Elie <phil.el@wanadoo.fr>
43
44 * daemon/opd_stats.c: some statistics are useless, don't print them
45 if we can't read the oprofilefs files.
46
472004-11-20 Philippe Elie <phil.el@wanadoo.fr>
48
49 * daemon/opd_sfile.c: sfile_clear_kenel() : clear also callgraph
50 file depending on module.
51
522004-11-19 Philippe Elie <phil.el@wanadoo.fr>
53
54 * daemon/opd_sfile.h:
55 * daemon/opd_sfile.c: fix #971487, daemon was unable to retrieve
56 correctly callgraph sample file for kernel space samples. Fixed by
57 adding relevant information to cg_hash_entry.
58
59 * libpp/callgraph_container.cpp: more verbosity
60
612004-11-19 John Levon <levon@movementarian.org>
62
63 * doc/oprofile.xml: Fix AMD link (noticed by Emmanuel Araman).
64
652004-11-18 Philippe Elie <phil.el@wanadoo.fr>
66
67 * pp/opgprof.cpp: ensure we load all callgraph file
68
692004-11-18 Philippe Elie <phil.el@wanadoo.fr>
70
71 * libutil++/locate_images.cpp: ensure error is always set,
72 callgraph_container was using an uninitialized value.
73
742004-11-17 Philippe Elie <phil.el@wanadoo.fr>
75
76 * libutil++/op_bfd.cpp: improve a bit the symbol chosen when
77 multiple symbol live at same vma
78
792004-11-17 Philippe Elie <phil.el@wanadoo.fr>
80
81 * doc/oprofile.xml: some words about UP kernel > 2.6.9 and the need of
82 lapic at boot.
83
842004-11-17 Philippe Elie <phil.el@wanadoo.fr>
85
86 * pp/common_option.h:
87 * pp/common_option.cpp: move threshold option from here ...
88 * pp/opannotate_options.cpp:
89 * pp/opgprof_options.cpp:
90 * pp/opreport_options.cpp:
91 * pp/opstack_options.cpp: to each of these file using it. Side effect
92 is to remove this option from oparchive which didn't handle it.
93
94 * doc/oparchive.1.in:
95 * doc/oprofile.xml: there isn't any --threshold option to oparchive
96
972004-11-07 Kristis Makris <kristis.makris@asu.edu>
98
99 * doc/internals.xml: fix typo
100
1012004-11-01 Maynard Johnson <maynardj@us.ibm.com>
102
103 * events/ppc64/970/events: Make min count 10000 for all PM_INST_CMPL;
104 and remove redundant event in group 2
105 * events/ppc64/power4/event_mappings: Set LSB of MMCRA so kernel kludge
106 can be removed at some later date
107 * events/ppc64/power4/events: Make min counts consistent with ppc970
108 * events/ppc64/power5/events: Make min counts consistent with ppc970
109
1102004-11-01 Greg Banks <gnb@melbourne.sgi.com>
111
112 * libop/op_events.c: Make the default sample rate for
113 IA64 sensible (i.e. 10 times smaller).
114
1152004-10-15 Will Cohen <wcohen@redhat.com>
116
117 * events/ppc64/power4/events: Corrected group 4 counter assignments.
118
1192004-10-15 Maynard Johnson <maynardj@us.ibm.com>
120
121 * events/Makefile.am:
122 * events/ppc64/970/event_mappings:
123 * events/ppc64/970/events:
124 * events/ppc64/970/unit_masks:
125 * libop/op_cpu_type.c:
126 * libop/op_cpu_type.h:
127 * libop/op_events.c:
128 * utils/op_help.c:
129 * utils/opcontrol: Added ppc64/970 support.
130
1312004-10-14 Greg Banks <gnb@melbourne.sgi.com>
132
133 * configure.in:
134 * daemon/opd_perfmon.c: autoconf for sched_setaffinity
135 and perfmonctl, fix sched_setaffinity call for early
136 2.6 kernels
137
1382004-10-07 Will Cohen <wcohen@redhat.com>
139
140 * utils/opcontrol: Correct ppc64 check that events are in same group.
141
1422004-09-21 Will Cohen <wcohen@redhat.com>
143
144 * libutil++/op_bfd.h:
145 * libutil++/op_bfd.cpp: Add logic to use the preferred symbol name.
146
1472004-09-17 John Levon <levon@movementarian.org>
148
149 * utils/op_help.c: don't deref a NULL pointer
150 on failure to read /dev/oprofile/cpu_type
151
1522004-09-17 Anton Blanchard <anton@samba.org>
153
154 * libop/op_events.c: fix compile warnings
155
1562004-09-16 John Levon <levon@movementarian.org>
157
158 * m4/configmodule.m4: disable x86-64 on 2.4
159
1602004-09-15 Maynard P. Johnson <maynardj@us.ibm.com>
161
162 * events/Makefile.am:
163 * libop/op_cpu_type.h:
164 * libop/op_events.h:
165 * libop/op_events.c:
166 * utils/op_help.c:
167 * utils/opcontrol: PPC64 support
168
1692004-09-13 John Levon <levon@movementarian.org>
170
171 * configure.in: bump to 0.8.2cvs
172
1732004-09-11 John Levon <levon@movementarian.org>
174
175 * configure.in: bump to 0.8.1
176
1772004-09-11 John Levon <levon@movementarian.org>
178
179 * libpp/locate_images.h: doxygen for archive_path
180
1812004-08-18 Will Cohen <wcohen@redhat.com>
182
183 * doc/oprofile.xml: List default events in documentation.
184
1852004-08-12 John Levon <levon@movementarian.org>
186
187 * libutil++/op_bfd.cpp: we need to verify
188 functionname is non-NULL in *both* places
189
1902004-08-12 John Levon <levon@movementarian.org>
191
192 * libutil++/op_bfd.cpp: add a hack to support
193 Objective C
194
1952004-07-21 Philippe Elie <phil.el@wanadoo.fr>
196
197 * libdb/db_manage.c: thinko in #931871 bug fix.
198
1992004-07-21 Philippe Elie <phil.el@wanadoo.fr>
200
201 * libpp/arrange_profiles.cpp: fix opreport -m lib, broken in 0.8
202 when using opcontrol --separate=kernel with message
203 "add_to_profile_sample_files(): sample file parsed twice"
204
2052004-07-18 John Levon <levon@movementarian.org>
206
207 * libop/op_mangling.c: dep image always used
208 '{root}' token
209
2102004-07-15 John Levon <levon@movementarian.org>
211
212 * doc/internals.xml: document some more
213
2142004-07-09 John Levon <levon@movementarian.org>
215
216 * libpp/populate.cpp: quash timestamp warnings
217 when using archive: profile specifier
218
2192004-07-09 John Levon <levon@movementarian.org>
220
221 * pp/opstack_options.cpp: include call-graph
222 files in archive.
223
2242004-07-06 John Levon <levon@movementarian.org>
225
226 * doc/oprofile.1.in:
227 * doc/oprofile.xml:
228 * libpp/profile_spec.h:
229 * libpp/profile_spec.cpp: remove sample-file
230 and binary profile specifiers
231
232 * doc/opcontrol.1.in:
233 * doc/oprofile.xml:
234 * pp/common_option.cpp:
235 * utils/opcontrol: allow either "lib" or "library"
236 for merge/separate option. Document "lib"
237
2382004-07-06 Will Cohen <wcohen@redhat.com>
239
240 * doc/oprofile.xml:
241 * doc/Makefile.am:
242 * doc/oparchive.1.in:
243 * doc/oprofile.1.in:
244 * libpp/profile_spec.cpp:
245 * libpp/profile_spec.h:
246 * libpp/populate.h:
247 * libpp/populate.cpp:
248 * libpp/callgraph_container.cpp:
249 * libpp/callgraph_container.h:
250 * libpp/arrange_profiles.cpp:
251 * libpp/arrange_profiles.h:
252 * libpp/locate_images.cpp:
253 * libpp/locate_images.h:
254 * libutil++/op_bfd.h:
255 * libutil++/op_bfd.cpp:
256 * libutil++/file_manip.cpp:
257 * libutil++/file_manip.h:
258 * pp/Makefile.am:
259 * pp/oparchive.cpp:
260 * pp/oparchive_options.cpp:
261 * pp/oparchive_options.h:
262 * pp/opreport.cpp:
263 * pp/opreport_options.h:
264 * pp/opreport_options.cpp:
265 * pp/opstack.cpp:
266 * pp/opstack_options.h:
267 * pp/opstack_options.cpp:
268 * pp/opannotate_options.cpp:
269 * pp/opannotate_options.h:
270 * pp/opgprof.cpp:
271 * pp/opgprof_options.cpp:
272 * pp/opgprof_options.h:
273 * pp/opannotate.cpp:
274 * configure.in: Support for oparchive.
275
2762004-07-05 John Levon <levon@movementarian.org>
277
278 * doc/oprofile.1.in: add opstack(1) to SEE ALSO
279
2802004-06-21 John Levon <levon@movementarian.org>
281
282 * events/i386/p4/events:
283 * events/i386/p4-ht/events:
284 * module/x86/op_model_athlon.c:
285 * module/x86/op_model_p4.c:
286 * module/x86/op_model_ppro.c:
287 * module/ia64/op_pmu.c: fix bug 964097 (event
288 code of 0x00 doesn't work) by relying consistently
289 on "enabled" not "event"
290
2912004-05-29 John Levon <levon@movementarian.org>
292
293 * libdb/tests/Makefile.am: fix build
294
295 * daemon/opd_mangling.c:
296 * daemon/opd_mangling.h:
297 * daemon/opd_sfile.c:
298 * daemon/opd_sfile.h:
299 * daemon/liblegacy/opd_sample_files.h:
300 * libabi/abi.cpp:
301 * libabi/abi_test.cpp:
302 * libabi/op_import.cpp:
303 * libdb/Makefile.am:
304 * libdb/db_debug.c:
305 * libdb/db_insert.c:
306 * libdb/db_manage.c:
307 * libdb/db_stat.c:
308 * libdb/db_travel.c:
309 * libdb/odb.h:
310 * libdb/odb_hash.h:
311 * libdb/tests/db_test.c:
312 * libpp/op_header.cpp:
313 * libpp/profile.cpp:
314 * libpp/profile.h: s/samples_odb_t/odb_t/, move
315 odb_hash.h to odb.h
316
3172004-05-28 John Levon <levon@movementarian.org>
318
319 * daemon/opd_mangling.cpp:
320 * daemon/opd_sfile.cpp:
321 * daemon/liblegacy/opd_proc.c:
322 * daemon/liblegacy/opd_sample_files.c:
323 * libabi/abi_test.cpp:
324 * libabi/op_import.cpp:
325 * libdb/db_manage.cpp:
326 * libdb/odb_hash.h:
327 * libpp/profile.cpp: introduce and use odb_get_data(),
328 odb_open_count()
329
3302004-05-28 John Levon <levon@movementarian.org>
331
332 * libpp/callgraph_container.cpp:
333 * libpp/arrange_profiles.cpp: trivialities
334
3352004-05-28 Bin Ren <bin.ren@cl.cam.ac.uk>
336
337 * daemon/opd_mangling.c:
338 * daemon/opd_sfile.c:
339 * daemon/oprofiled.c:
340 * daemon/liblegacy/opd_image.c:
341 * daemon/liblegacy/opd_proc.c:
342 * daemon/liblegacy/opd_sample_files.c:
343 * libdb/db_debug.c:
344 * libdb/db_insert.c:
345 * libdb/db_manage.c:
346 * libdb/db_stat.c:
347 * libdb/odb_hash.h:
348 * libdb/db_travel.c:
349 * libpp/op_header.cpp:
350 * libpp/profile.cpp:
351 * libutil/op_string.c:
352 * libutil/op_string.h: fix dcookie alias bug by
353 introducing one level of indirection and hash
354 sample files by path names (bug #931871)
355
3562004-05-11 John Levon <levon@movementarian.org>
357
358 * libutil++/file_manip.h: clarify behaviour of
359 op_realpath()
360
361 * libpp/opannotate.cpp: add some checks to avoid
362 creating files outside of the output directory
363
3642004-05-11 Andi Kleen <ak@suse.de>
365
366 * libpp/callgraph_container.cpp:
367 * libpp/profile_container.cpp:
368 * libutil++/op_bfd.h:
369 * libutil++/op_bfd.cpp: use unsigned long in various
370 places - u32 was breaking 64-bit usage
371
3722004-05-11 John Levon <levon@movementarian.org>
373
374 * configure.in: bump to 0.8.1cvs
375
3762004-05-07 John Levon <levon@movementarian.org>
377
378 * configure.in: bump to 0.8
379
3802004-05-07 John Levon <levon@movementarian.org>
381
382 * libpp/filename_spec.h:
383 * libpp/filename_spec.cpp:
384 * libpp/profile_spec.cpp: "dependant" not "dependent"
385
3862004-04-19 Will Cohen <wcohen@redhat.com>
387
388 * events/i386/p4/unit_masks:
389 * events/i386/p4-ht/unit_masks: Correct machine_clear unit mask.
390
3912004-04-04 Will Cohen <wcohen@redhat.com>
392
393 * m4/builtinexpect.m4:
394 * m4/compileroption.m4:
395 * m4/configmodule.m4:
396 * m4/copyifchange.m4:
397 * m4/docbook.m4:
398 * m4/extradirs.m4:
399 * m4/findkernel.m4:
400 * m4/kerneloption.m4:
401 * m4/kernelversion.m4:
402 * m4/mallocattribute.m4:
403 * m4/poptconst.m4:
404 * m4/precompiledheader.m4:
405 * m4/qt.m4:
406 * m4/resultyn.m4:
407 * m4/sstream.m4:
408 * m4/typedef.m4: Add quotes as required for automake 1.8.
409
4102004-04-04 John Levon <levon@movementarian.org>
411
412 * doc/oprofile.xml: improvements to the call-graph
413 * documentation.
414
4152004-03-28 Philippe Elie <phil.el@wanadoo.fr>
416
417 * libutil++/op_bfd.cpp: remove spurious cerr <<; fix a potential memory
418 leak
419
4202004-03-28 John Levon <levon@movementarian.org>
421
422 * libutil++/op_bfd.cpp: fix a BFD leak on format failure. Fix a
423 small race when the binary changes, and we error fatally
424 instead of recovering.
425
4262004-03-22 Philippe Elie <phil.el@wanadoo.fr>
427
428 * module/x86/hammer_op_syscalls.c: use the first map with VM_EXECUTABLE
429 bit to do the exec notification, this fix a 32 bits application
430 profiling regression. We dunno exactly what is this second mmap ...
431 but we must ignore one of these. Fix #921243
432
4332004-03-22 Philippe Elie <phil.el@wanadoo.fr>
434
435 * module/ia64/op_pmu.c: the way to set pfm_syst_wide and
436 pfm_dcr_pp changed between 2.4.19 and 2.4.20
437
4382004-03-22 Will Cohen <wcohen@redhat.com>
439
440 * utils/opcontrol: Correct order of do_init_daemon_vars and
441 decide_orofile_devices.
442
4432004-03-22 Will Cohen <wcohen@redhat.com>
444
445 * utils/opcontrol: Tweak error messages and factor out common code.
446
4472004-03-19 Anton Blanchard <anton@samba.org>
448
449 * daemon/opd_sfile.c: Add function name to some error messages
450
4512004-03-04 Philippe Elie <phil.el@wanadoo.fr>
452
453 * utils/opcontrol: tweak a bit error message.
454
4552004-03-03 Will Cohen <wcohen@redhat.com>
456
457 * utils/opcontrol: Support --dump for normal users.
458
4592004-02-29 Philippe Elie <phil.el@wanadoo.fr>
460
461 * libpp/callgraph_container.cpp: make g++ -D_GLIBCXX_DEBUG happy, see
462 http://gcc.gnu.org/PR14340
463
464 * module/op_dcache.h:
465 * module/op_dname.c: some gcc version are confused by extern
466 declaration followed by later static.
467
4682004-02-28 Zwane Mwaikambo <zwane@linuxpower.ca>
469
470 * libutil++/op_bfd.cpp:
471 * utils/opcontrol: This patch fixes the listing of symbols within the
472 kernel image on ARM i was having. The problem was due to the fact
473 that ARM/Linux kernel text starts with a section called .init unlike
474 all the currently supported Linux architectures. So the solution is
475 to start at section 0
476
4772004-02-28 Philippe Elie <phil.el@wanadoo.fr>
478
479 * module/x86/op_syscalls.c: warning fix
480
4812004-02-23 Philippe Elie <phil.el@wanadoo.fr>
482
483 * daemon/Makefile.am:
484 * daemon/liblegacy/Makefile.am: force daemon build with frame pointer.
485 If daemon is built w/o frame pointer we get random arc, some of them
486 go in the vma used by an existing mmaped sample file, so cookie
487 lookup return a sample filename which is used as a from or to
488 component, this break pptools by creating invalid filename. Note
489 this doesn't protect agaisnt a make CFLAGS=-fomit-frame-pointer.
490
491 * libpp/callgraph_container.cpp: use the right {cg_}image_name for
492 verbose output.
493
4942004-02-21 Philippe Elie <phil.el@wanadoo.fr>
495
496 * libpp/format_flags.h:
497 * libpp/format_output.cpp:
498 * libpp/format_output.h:
499 * pp/opstack.cpp: alternate output format.
500
5012004-02-20 Philippe Elie <phil.el@wanadoo.fr>
502
503 * doc/srcdoc/Doxyfile.in: Fix for doxygen 1.3.6
504 * libpp/profile_spec.h:
505 * libutil++/op_bfd.h: minor Doxygen comments fix
506
5072004-02-20 Philippe Elie <phil.el@wanadoo.fr>
508
509 * libutil++/tests/string_manip_tests.cpp: fix a $ make check failure
510 from the last format_percent() change
511
5122004-02-18 Philippe Elie <phil.el@wanadoo.fr>
513
514 * libpp/format_output.cpp: change output spacing.
515
5162004-02-17 Philippe Elie <phil.el@wanadoo.fr>
517
518 * pp/opstack_options.h:
519 * pp/opstack.cpp: pass mege_options::lib to callgraph_container
520 * libpp/callgraph_container.cpp:
521 * libpp/callgraph_container.h: handle merge_options::lib
522
5232004-02-17 Philippe Elie <phil.el@wanadoo.fr>
524
525 * libpp/format_output.cpp: use "self/child" for header
526 * libutil++/string_manip.cpp: format_percent() return "0" if
527 value == 0.0
528 * libpp/callgraph_container.cpp: remove some dead code.
529
5302004-02-16 Philippe Elie <phil.el@wanadoo.fr>
531
532 * module/compat24.h:
533 * module/x86/cpu_type.c:
534 * module/x86/op_apic.c:
535 * module/x86/op_model_p4.c:
536 * module/x86/op_nmi.c:
537 * module/x86/op_x86_model.h: backport P4 HyperThreading support from
538 2.6 to 2.4.
539
5402004-02-16 Philippe Elie <phil.el@wanadoo.fr>
541
542 * events/i386/p4/events:
543 * events/i386/p4/unit_masks:
544 * events/i386/p4-ht/events:
545 * events/i386/p4-ht/unit_masks: fix MEMORY_COMPLETE unit mask
546
5472004-02-15 Philippe Elie <phil.el@wanadoo.fr>
548
549 * libpp/profile.cpp: samples_range() throw if start > end
550
5512004-02-15 Philippe Elie <phil.el@wanadoo.fr>
552
553 * events/ia64/itanium2/unit_masks: comments
554 * utils/op_help.c: add --callgraph to sanitize min events count
555 * utils/opcontrol: pass --callgraph to op_help
556
5572004-02-15 Philippe Elie <phil.el@wanadoo.fr>
558
559 * daemon/oprofiled.c: send alarm() after fork not before, behavior
560 changed between 2.4 and 2.6 and according to posix 2.6 is right.
561
5622004-02-15 Philippe Elie <phil.el@wanadoo.fr>
563
564 * utils/op_help.c: output the default unit mask. when querying the
565 default mask output it in decimal not hexadecimal
566 * libpp/op_header.cpp: event number must be output as integer not as
567 unsigned char type
568 * libop/op_parse_event.c: clarify error message
569
570 * libop/op_events.c: better validation of unit mask
571 * events/ia64/itanium2/unit_masks:
572 * events/x86-64/hammer/unit_masks: fix so make check pass, done through
573 documentation reading.
574
575
5762004-02-13 Philippe Elie <phil.el@wanadoo.fr>
577
578 * events/i386/p4-ht/events: multiply all minimum count by two
579
5802004-02-12 Philippe Elie <phil.el@wanadoo.fr>
581
582 * daemon/opd_stats.c: handle new statistics added in callgraph patch
583
5842004-02-11 Will Cohen <wcohen@redhat.com>
585
586 * utils/opcontrol: fix normalise_events for default event.
587
5882004-02-10 Will Cohen <wcohen@redhat.com>
589
590 * events/i386/p6_mobile/events:
591 * events/i386/p6_mobile/unit_masks:
592 * events/Makefile.am:
593 * libop/op_cpu_type.c:
594 * libop/op_cpu_type.h:
595 * libop/op_events.c:
596 * utils/op_help.c: Add support for Pentium M (Centrino).
597
5982004-02-10 Philippe Elie <phil.el@wanadoo.fr>
599
600 * events/i386/p4/events: s/instructions/uops/ when appropriate
601 * events/i386/p4/unit_masks: change many bitmask to mandatory,
602 fix invalid default value, remove mask only used with HyperThreading
603 * events/i386/p4-ht/unit_masks: s/bitmask/mandatory. Remove unused
604 unit mask
605
606 * libop/op_events.h:
607 * libop/op_events.c: warn if an unit mask is not used (this add a
608 warning for Itanium2, added in TODO)
609
610 * libop/op_parse_event.c: don't silently accept invalid value as zero
611 (e.g FOO:3000:0xx21 was accepted as FOO:3000:0x0)
612
613 * utils/opcontrol: mandatory default value was rejected because we
614 checked the events before getting the default unit mask.
615
6162004-02-08 Zwane Mwaikambo <zwane@arm.linux.org.uk>
617
618 * daemon/opd_cookie.c: Fix syscall base number.
619
6202004-02-08 Zwane Mwaikambo <zwane@arm.linux.org.uk>
621
622 * daemon/opd_cookie.c: arm support for timer interrupt
623
6242004-02-08 Philippe Elie <phil.el@wanadoo.fr>
625
626 * daemon/liblegacy/opd_sample_files.c: op_mangle_filename() presume
627 mangle_values::dep_name is never NULL, this fix a daemon segfault
628 with 2.4 kernel
629
6302004-02-07 Philippe Elie <phil.el@wanadoo.fr>
631
632 * events/i386/p4/unit_masks:
633 * events/i386/p4-ht/unit_masks: global_power_events need mandatory
634 unit mask
635
6362004-02-07 Philippe Elie <phil.el@wanadoo.fr>
637
638 * libpp/arrange_profiles.cpp: re-order function to fix a build problem
639 with gcc 3.3.1
640
6412004-02-05 Philippe Elie <phil.el@wanadoo.fr>
642
643 * libpp/callgraph_container.cpp: tweak computation of callee_counts
644
6452004-02-05 Philippe Elie <phil.el@wanadoo.fr>
646
647 * libpp/callgraph_container.cpp: Big Thinko (tm), callee samples offset
648 are unordered
649
6502004-02-04 Philippe Elie <phil.el@wanadoo.fr>
651
652 * libpp/callgraph_container.cpp:
653 * libpp/format_output.cpp: arc_recorder::get_caller()/get_callee() name
654 was reversed (caught by Will Cohen)
655
6562004-02-02 Philippe Elie <phil.el@wanadoo.fr>
657
658 * libpp/callgraph_container.cpp:
659 * libpp/callgraph_container.h:
660 * pp/opreport_options.h:
661 * pp/opstack.cpp: implement --threshold
662
6632004-02-02 Will Cohen <wcohen@redhat.com>
664
665 * libpp/callgraph_container.h:
666 * libpp/format_output.h: missing std:: in header.
667
6682004-02-01 Philippe Elie <phil.el@wanadoo.fr>
669
670 * libpp/callgraph_container.h:
671 * libpp/callgraph_container.cpp: rewrite populate() and ehance
672 caller_callee_recorder to support multiple profile classes.
673 * pp/opstack_options.cpp: accept multiple profile class
674
6752004-02-01 Philippe Elie <phil.el@wanadoo.fr>
676
677 * libpp/callgraph_container.cpp: get correct source filenname liner
678 * libpp/format_output.cpp: re-factorize a bit by moving anon
679 namespace from format_output:: to ::
680
6812004-02-01 Philippe Elie <phil.el@wanadoo.fr>
682
683 * doc/oprofile.xml:
684 * doc/opstack.1.in: document new options
685
686 * libpp/callgraph_container.h:
687 * libpp/callgraph_container.cpp: improve readability, add linenr
688 debug information recording partially, see TODO
689
690 * libpp/format_output.h: s/formatter/opreport_formatter, define
691 cg_formatter
692 * libpp/format_output.cpp: implement cg_formatter, factorize some code
693 in formatter base class
694
695 * pp/opreport.cpp: s/formatter/opreport_formatter
696 * pp/opstack_options.h:
697 * pp/opstack_options.cpp: implement output selection/formatting options
698 * pp/opstack.cpp: use cg_formatter for output.
699
7002004-01-30 Philippe Elie <phil.el@wanadoo.fr>
701
702 commit not itended but tree is stable so add a ChangeLog ...
703 * libpp/Makefile.am:
704 * libpp/symbol.cpp: new file for output_hint()
705 * libpp/profile_container.cpp: use output_hint()
706 * libpp/callgraph_container.cpp:
707 * libpp/callgraph_container.h:
708 * libpp/symbol.h:
709 * pp/opstack.cpp: get output hint from the callgraph container.
710
7112004-01-29 Philippe Elie <phil.el@wanadoo.fr>
712
713 * daemon/init.c:
714 * daemon/opd_events.c:
715 * daemon/opd_kernel.c:
716 * daemon/opd_mangling.c:
717 * daemon/opd_printf.h:
718 * daemon/opd_sfile.c:
719 * daemon/opd_trans.c:
720 * daemon/oprofiled.c:
721 * daemon/oprofiled.h:
722 * daemon/liblegacy/init.c:
723 * daemon/liblegacy/opd_image.c:
724 * daemon/liblegacy/opd_kernel.c:
725 * daemon/liblegacy/opd_mapping.c:
726 * daemon/liblegacy/opd_parse_proc.c:
727 * daemon/liblegacy/opd_proc.c:
728 * daemon/liblegacy/opd_sample_files.c:
729 * utils/opcontrol: split daemon --verbose, w/o argument it's synonymous
730 to --verbose=all. Better splitting is welcome
731
732 * daemon/opd_sfile.c: Fix thinko, opcontrol --reset coredump'ed
733
7342004-01-29 Philippe Elie <phil.el@wanadoo.fr>
735
736 * libop/op_events.c:
737 * utils/op_help.c: don't use default in switch (cpu_type) to ensure
738 adding a cpu type will issue a warning where we forget to handle it.
739
7402004-01-28 Philippe Elie <phil.el@wanadoo.fr>
741
742 * daemon/opd_sfile.c: invert from/to start offset for kernel samples
743
744 * pp/opstack.cpp:
745 * libpp/callgraph_container.h:
746 * libpp/callgraph_container.cpp: if we can't bfd_open a binary and
747 the sample file show it's a kernel sample file we must ignore
748 completely the it. (Added to TODO, there is something fragile here)
749
7502004-01-28 Philippe Elie <phil.el@wanadoo.fr>
751
752 * libpp/image_errors.cpp: typo, warn at first error not from second
753
7542004-01-28 Philippe Elie <phil.el@wanadoo.fr>
755
756 * libutil++/tests/utility_tests.cpp:
757 * libopt++/popt_options.cpp: s/template <class/template <typename/
758
7592004-01-28 Philippe Elie <phil.el@wanadoo.fr>
760
761 * daemon/init.c: show buffer read only when --verbose
762
763 * libpp/image_errors.cpp:
764 * libpp/image_errors.h: add needed API for callgraph image error
765 * libpp/callgraph_container.cpp: use it.
766 * pp/opstack.cpp: report_image_errors()
767
7682004-01-27 Philippe Elie <phil.el@wanadoo.fr>
769
770 * libutil++/op_bfd.cpp: Fix bfd_find_nearest_line() and separate
771 debug info, please test it.
772
7732004-01-27 Philippe Elie <phil.el@wanadoo.fr>
774
775 * doc/opcontrol.1.in:
776 * doc/oprofile.xml:
777 * utils/opcontrol: add --cpu-buffer-size and document it.
778
7792004-01-27 Will Cohen <wcohen@redhat.com>
780
781 * events/i386/p4/unit_masks:
782 * events/i386/p4-ht/unit_masks: correct branch_type unit mask.
783
7842004-01-25 John Levon <levon@movementarian.org>
785
786 * doc/Makefile.am: fix make chunk
787
788 * doc/buffers.dia: add editable source
789
790 * doc/buffers.png: fix stupid typos
791
792 * doc/internals.xml: add some more text
793
7942004-01-25 Philippe Elie <phil.el@wanadoo.fr>
795
796 * libpp/parse_filename.h:
797 * libpp/parse_filename.cpp: profile_spec_equal() new predicate
798 * libpp/arrange_profiles.cpp: use it to ensure we create a new
799 profile_samples_file when needed.
800
8012004-01-24 John Levon <levon@movementarian.org>
802
803 * doc/oprofile.1.in:
804 * doc/opstack.1.in: some cleanups
805
806 * libop/tests/load_events_files_tests.c:
807 * libop/tests/alloc_counter_tests.c:
808 * libop/op_events.c: rename env var to OPROFILE_EVENTS_DIR
809
8102004-01-20 Philippe Elie <phil.el@wanadoo.fr>
811
812 * daemon/opd_sfile.c: (getfile()) avoid out of bound sf->files[] access
813
8142004-01-20 Philippe Elie <phil.el@wanadoo.fr>
815
816 * libpp/callgraph_container.cpp: tweak comparator to sort arcs.
817 * pp/common_option.cpp: typo.
818
8192004-01-20 Philippe Elie <phil.el@wanadoo.fr>
820
821 * doc/opannotate.1.in:
822 * doc/opgprof.1.in:
823 * doc/opreport.1.in:
824 * doc/oprofile.xml:
825 * doc/opstack.1.in: document --verbose options a bit
826 * libutil++/cverb.cpp:
827 * libutil++/cverb.h:
828 * pp/common_option.cpp: remove vlevel2 verbose object
829
8302004-01-20 Philippe Elie <phil.el@wanadoo.fr>
831
832 * libutil++/cverb.h:
833 * libutil++/cverb.cpp: new cverb handling. most interresting are
834 --verbose=sfile,bfd,level1 resp. sample filename handling bfd
835 handling and more verbosity (only for bfd actually)
836
837 * pp/opgprof.cpp: controlled by --verbose==bfd, add level1 to get
838 verbose symbols.
839 * libpp/callgraph_container.cpp:
840 * libutil++/op_bfd.cpp:
841 * pp/common_option.cpp:
842 * pp/opannotate_options.cpp:
843 * pp/opgprof_options.cpp:
844 * pp/opreport_options.cpp:
845 * pp/opstack_options.cpp: use it
846
8472004-01-19 John Levon <levon@movementarian.org>
848
849 * libpp/callgraph_container.h:
850 * libpp/callgraph_container.cpp: rename caller_callee_recorder
851 to arc_recorder.
852
853 * doc/CodingStyle: mention trailing comments
854
855 * utils/opcontrol: fix formatting. Error if --note-table-size
856 is passed on 2.6 kernels.
857
8582004-01-18 Philippe Elie <phil.el@wanadoo.fr>
859
860 * libdb/db_debug.c: fix build on alpha
861 * libpp/callgraph_container.cpp: missing std:: in header
862
8632004-01-18 Philippe Elie <phil.el@wanadoo.fr>
864
865 * libpp/callgraph_container.cpp: Obviously not2(weak_ordering_function)
866 is not a weak_ordering function leading to mysterious segfault
867 during sort.
868
8692004-01-18 Philippe Elie <phil.el@wanadoo.fr>
870
871 * doc/opstack.1.in: new file, describe opstack usage
872 * doc/oprofile.xml: describe opstack
873
8742004-01-18 Philippe Elie <phil.el@wanadoo.fr>
875
876 * libutil++/op_bfd.cpp: Don't fix symbol offset for symbol definition
877 coming from the original file. A corner case remain broken: symbols
878 definition coming from debug file and belonging to another section
879 than .text are incorrecttly offseted.
880
8812004-01-18 Philippe Elie <phil.el@wanadoo.fr>
882
883 * libop/op_sample_file.h: with cg file we need two field is_kernel.
884 * daemon/opd_events.c:
885 * daemon/opd_events.h:
886 * daemon/opd_mangling.c:
887 * daemon/liblegacy/opd_sample_files.c: handle cg_to_is_kernel
888
889 * pp/populate.cpp:
890 * pp/populate.h:
891 * pp/image_errors.cpp:
892 * pp/image_errors.h: move this four files to libpp
893
894 * libpp/populate.cpp: we can get empty filename now, ignore them.
895 * libpp/image_error.h: remove this file by moving its contents ...
896 * libpp/image_errors.h here (this two filenames was confusing)
897
898 * libpp/Makefile.am: update according to files move.
899
900 * libpp/arrange_profiles.h:
901 * libpp/arrange_profiles.cpp: Fix find_profile_sample_files(), I was
902 creating to many profile_sample_files. Add a bunch of operator<<.
903
904 * libpp/callgraph_container.h:
905 * libpp/callgraph_container.cpp:
906
907 * libpp/filename_spec.h: add cg_filename member
908 * libpp/filename_spec.cpp: handle cg_filename, Fix an error in
909 is_dependant(), I'm a bit nervous about this predicate...
910
911 * libpp/locate_images.h:
912 * libpp/locate_images.cpp: #include fix
913
914 * libpp/parse_filename.cpp: Fix cg filename handling to not trigger
915 some invalid_filename error with cg filename.
916
917 * libpp/profile.h:
918 * libpp/profile.cpp: we can no longer assume we use u32, so use
919 odb_key_t in public interface. Add operator== acting on iterator
920
921 * libpp/symbol_container.cpp:
922 * libpp/symbol_container.h: add find(symbol const &);
923 * libpp/profile_container.h:
924 * libpp/profile_container.cpp: add a public interface to iterate over
925 all smybols and to find a specific symbol
926
927 * libpp/symbol.h: typo, missing include
928
929 * pp/Makefile.am: handle opstack various new files and files move to
930 libpp.
931
932 * pp/opreport.cpp:
933 * pp/opannotate.cpp: pass symbol_filter as params to populate()
934
935 * pp/opannotate_options.cpp: add verbose output of profile_classes
936 * pp/opgprof_options.cpp:
937 * pp/opreport_options.cpp:
938
939 * pp/opstack.cpp:
940 * pp/opstack_options.cpp:
941 * pp/opstack_options.h: new callgraph utility far to be complete but
942 enough to start to play with callgraph.
943
9442004-01-04 Philippe Elie <phil.el@wanadoo.fr>
945
946 * libutil/op_fileio.c: op_write_file(): allow to write zero byte.
947 * libutil/op_fileio.h: add fatal error for opd_read_int_from_file()
948 * daemon/init.c: add fatal error for opd_read_fs_int
949 * daemon/oprofiled.c:
950 * daemon/oprofiled.h:
951 * daemon/liblegacy/init.c:
952 * daemon/liblegacy/opd_24_stats.c: use this new fatal parameter
953 * daemon/opd_stats.c: dump /dev/oprofile/stats/*
954
955 * daemon/opd_sfile.c:
956 * daemon/opd_sfile.h: augment opd_sfile with an hash table of related
957 call graph file
958
959 * daemon/opd_mangling.c:
960 * daemon/opd_mangling.h:
961 * daemon/liblegacy/opd_sample_files.c:
962 * libop/op_mangle.c:
963 * libop/op_mangle.h: use new mangling name scheme, in short word:
964 {dep} part is no longer optionnal, a {cg}/binary_name can optionnally
965 follow the {dep} part
966 * libop/tests/mangle_tests.c: update test according to sample filename
967 change
968
969 * libpp/filename_spec.cpp:
970 * libpp/filename_spec.h: filename_spec::is_dependant() new function
971 * libpp/parse_filename.h: add a cg_image member
972 * libpp/parse_filename.cpp: handle callgraph filename
973
974 * libpp/arrange_profiles.cpp:
975 * libpp/arrange_profiles.h: rather to use string for sample files, use
976 a { string sample_filename, list<string> cg_files }, if {dep} part
977 != {cg} part it's a cross-call binary.
978 Note the sample_filename string can be empty (callgraph file w/o any
979 samples into a binary)
980
981 * libpp/profile_spec.h:
982 * libpp/profile_spec.cpp: fix filtering of callgraph filename (this fix
983 Carlo problem where opreport die with an invalid_filename error)
984
985 * pp/opgprof.cpp: use the new arrange_profiles.h API to acquire
986 callgraph filename associated with a binary
987 * pp/opgprof_options.cpp: don't filter callgraph filename
988
989 * pp/opreport.cpp:
990 * pp/populate.cpp: update according arrange_profile API change
991
992 * utils/opcontrol: add --callgraph=#depth parameter
993 * doc/opcontrol.1.in:
994 * doc/oprofile.xml: document opcontrol --callgraph=#depth
995
9962004-01-16 Will Cohen <wcohen@redhat.com>
997
998 * libutil++/op_bfd.cpp: Always use filepos of original file.
999
10002004-01-16 Will Cohen <wcohen@redhat.com>
1001
1002 * libop/op_config.h (DEBUGDIR): New.
1003 * libutil/op_fileio.h:
1004 * libutil/op_fileio.c: New function calc_crc32
1005 * libutil++/Makefile.am: Add libop to include directory.
1006 * libutil++/op_bfd.h:
1007 * libutil++/op_bfd.cpp: New functions separate_debug_file_exists,
1008 get_debug_link_info, find_separate_debug_file, open_bfd, and
1009 get_symbols_from_file to support separate debug files.
1010
10112004-01-02 Philippe Elie <phil.el@wanadoo.fr>
1012
1013 * pp/opgprof_options.cpp: use the proper type for options::demangle
1014
10152004-01-01 Philippe Elie <phil.el@wanadoo.fr>
1016
1017 * libregex/op_regex.cpp:
1018 * libregex/op_regex.h: tidy a bit private interface
1019
10202004-01-01 Philippe Elie <phil.el@wanadoo.fr>
1021
1022 * gui/oprof_start_config.h:
1023 * gui/oprof_start_util.h:
1024 * libpp/symbol.h:
1025 * libutil++/cverb.cpp:
1026 * libutil++/cverb.h:
1027 * pp/opannotate_options.cpp:
1028 * pp/opgprof_options.cpp: move some #include <> from .h to .cpp
1029
10302004-01-01 Philippe Elie <phil.el@wanadoo.fr>
1031
1032 * libregex/op_regex.cpp: don't assume int('a') > int('0')
1033
1034See ChangeLog-2004 for earlier changelogs.