12004-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. 1035