12003-12-29 Philippe Elie <phil.el@wanadoo.fr> 2 3 * configure.in: my_op_prefix is not necessarily suffixed by a '/' 4 52003-12-29 John Levon <levon@movementarian.org> 6 7 * configure.in: 8 * doc/*.1.in: add HTML docs to SEE ALSO 9 102003-12-29 John Levon <levon@movementarian.org> 11 12 * doc/opcontrol.1.in: 13 * doc/oprofile.xml: minor language cleanups 14 15 * utils/opcontrol: only allow --verbose when it makes sense 16 172003-12-28 Philippe Elie <phil.el@wanadoo.fr> 18 19 * libutil++/tests/file_manip_tests.cpp: ensure filename passed to 20 op_realpath() exists 21 222003-12-28 John Levon <levon@movementarian.org> 23 24 * doc/internals.xml: 25 * libutil++/file_manip.h: fix typos 26 272003-12-16 Philippe Elie <phil.el@wanadoo.fr> 28 29 * utils/opcontrol: error message rewording 30 312003-12-16 Carlo Wood <carlo@alinoe.com> 32 33 * libregex/tests/Makefile.am: avoid to install mangled-name test file 34 352003-11-20 John Levon <levon@movementarian.org> 36 37 * libregex/op_regex.cpp: move global ctor out of namespace 38 anon (bug #845616) 39 402003-11-19 Philippe Elie <phil.el@wanadoo.fr> 41 42 * libpp/arrange_profiles.cpp: merge all unit mask before generating 43 event description string 44 452003-11-17 Philippe Elie <phil.el@wanadoo.fr> 46 47 * libpp/arrange_profiles.cpp: put unitmask in the same axis as 48 event:count, meaning than unitmask is now a part of the event 49 specification. 50 512003-12-19 Philippe Elie <phil.el@wanadoo.fr> 52 53 * daemon/opd_sfile.c: we reversed to/from pc in call graph sample 54 552003-11-23 Philippe Elie <phil.el@wanadoo.fr> 56 57 * libpp/profile.h: 58 * pp/opgprof.cpp: oops a simplify a bit too cg handling in my last 59 patch, it was segfaulting each time no cg file was found... 60 612003-11-15 Philippe Elie <phil.el@wanadoo.fr> 62 63 * pp/opgprof.cpp: simplify a bit cg handling, we don't need to know 64 if we retrieved some cg files since the profile_t will be empty 65 in this case 66 672003-11-15 Philippe Elie <phil.el@wanadoo.fr> 68 69 * libpp/profile.h: iterator::vma() must return the full key not only 70 an unsigned int. 71 * pp/opgprof.cpp: implement merging of cg files. 72 732003-11-15 Philippe Elie <phil.el@wanadoo.fr> 74 75 * libpp/profile_spec.cpp: 76 * libpp/profile_spec.h: 77 * pp/opannotate_options.cpp: 78 * pp/opgprof_options.cpp: 79 * pp/opreport_options.cpp: filter call graph samples files 80 812003-11-14 Philippe Elie <phil.el@wanadoo.fr> 82 83 * daemon/opd_mangling.c: oops, it's better to really open the cg file 84 85 * daemon/opd_sfile.c: 86 * daemon/opd_stats.c: 87 * daemon/opd_stats.h: 88 * daemon/liblegacy/opd_24_stats.c: 89 * daemon/liblegacy/opd_24_stats.h: 90 * daemon/liblegacy/opd_proc.c: log sample lost due to sample file open 91 failure 92 932003-11-15 Philippe Elie <phil.el@wanadoo.fr> 94 95 * daemon/liblegacy/opd_parse_proc.c: always provide an image name 96 for parsed process in /proc 97 982003-11-15 Philippe Elie <phil.el@wanadoo.fr> 99 100 * doc/oprofile.xml: 101 * libop/op_cpu_type.c: s/hammer/AMD64 processors/ for user visible 102 name. 103 1042003-11-13 John Levon <levon@movementarian.org> 105 106 * libutil/op_file.h: 107 * libutil/op_file.c: remove op_c_dirname(), 108 op_relative_to_absolute_path(), op_is_directory(), 109 op_follow_link(), in favour of using realpath(3) 110 111 * libutil/tests/file_tests.c: fixes for above changes 112 113 * libutil++/file_manip.h: 114 * libutil++/file_manip.cpp: changes from above. Add 115 op_realpath(). 116 117 * libutil++/tests/file_manip_tests.cpp: changes from 118 above. 119 120 * daemon/oprofiled.c: 121 * daemon/liblegacy/opd_parse_proc.c: 122 * gui/oprof_start_util.cpp: 123 * libpp/locate_images.cpp: 124 * libpp/profile_spec.cpp: 125 * pp/opannotate.cpp: changes from above 126 1272003-11-12 John Levon <levon@movementarian.org> 128 129 * configure.in: bump to 0.8cvs 130 1312003-11-11 John Levon <levon@movementarian.org> 132 133 * configure.in: bump to 0.7.1 134 1352003-11-11 Joseph VanAndel <unknown@unknown.org> 136 137 * daemon/liblegacy/init.c: fix #840046 (segfault when starting profiler 138 with --no-vmlinux setup), this bug was present in 0.7.0. 139 1402003-11-11 Philippe Elie <phil.el@wanadoo.fr> 141 142 * libpp/profile_spec.cpp: more precise error message 143 * libutil++/tests/file_manip_tests.cpp: corner case test added 144 for dirname 145 1462003-11-11 Philippe Elie <phil.el@wanadoo.fr> 147 148 * libpp/arrange_profiles.cpp: report_error() shows only distinct 149 conflicting name. 150 1512003-11-10 Philippe Elie <phil.el@wanadoo.fr> 152 153 * doc/opcontrol.1.in: reverse kernel:user in event setting description. 154 Fix #838968 155 1562003-11-09 Philippe Elie <phil.el@wanadoo.fr> 157 158 * daemon/init.c: 159 * daemon/liblegacy/init.c: move opd_read_fs_int ... 160 * daemon/oprofiled.h: 161 * daemon/oprofiled.c: here 162 * daemon/liblegacy/opd_24_stats.c: dump kernel note buffer overflow and 163 buffer overlow 164 1652003-11-09 Philippe Elie <phil.el@wanadoo.fr> 166 167 * utils/op_help.c: do not use OP_MAX_COUNTERS but get counter number 168 at runtime 169 1702003-11-09 Philippe Elie <phil.el@wanadoo.fr> 171 172 * libutil++/tests/string_manip_tests.cpp: rtrim/ltrim/trim tests 173 1742003-11-08 Philippe Elie <phil.el@wanadoo.fr> 175 176 * libop/tests/Makefile.am: 177 * libop/tests/mangle_tests.c: new tests: sample filename mangling 178 1792003-11-08 Philippe Elie <phil.el@wanadoo.fr> 180 181 * module/x86/op_syscalls.c: fix build with 2.2 kernel 182 1832003-11-06 Philippe Elie <phil.el@wanadoo.fr> 184 185 * Makefile.am: use .PHONY for module goal to not statisfy this goal 186 with the subdir named module 187 * m4/findkernel.m4: minor fix. 188 1892003-11-06 John Levon <levon@movementarian.org> 190 191 * Makefile.am: minor cleanup 192 1932003-11-06 John Levon <levon@movementarian.org> 194 195 * gui/Makefile.am: remove unused -DKVERSION 196 1972003-11-06 John Levon <levon@movementarian.org> 198 199 * configure.in: add --disable-werror and --disable-optimization 200 201 * doc/oprofile.xml: document above. Remove docs for 202 * --enable-gcov (only useful to developers) 203 2042003-11-06 Philippe Elie <phil.el@wanadoo.fr> 205 206 * daemon/opd_kernel.c: 207 * daemon/liblegacy/opd_kernel.c: be less paranoid about kernel range, 208 this is slightly different than the patch Thomas Spatzier tested but 209 it can't hurt (famous last words ...). This fixes s390x where kernel 210 start can be zero and was rejected. 211 2122003-11-06 Thomas Spatzier <tspat@de.ibm.com> 213 214 * daemon/opd_cookie.c: changed an #if defined for selecting right 215 system call for IBM s390 or s390x, respectively 216 2172003-11-04 Philippe Elie <phil.el@wanadoo.fr> 218 219 * libutil++/path_filter.cpp: remove 2 identical FIXME 220 * libutil++/tests/file_manip_tests.cpp: 221 * libutil++/tests/path_filter_tests.cpp: reflect the behavior by 222 new tests 223 2242003-11-04 Philippe Elie <phil.el@wanadoo.fr> 225 226 * libdb/db_manage.c: 227 * libop/op_events.h: -pedantic fix 228 2292003-11-04 Philippe Elie <phil.el@wanadoo.fr> 230 231 * daemon/opd_sfile.c: 232 * daemon/liblegacy/opd_kernel.c: 233 * libutil/op_cpufreq.c: 234 * libutil/op_file.c: a few s/goto/break/ 235 * libpp/format_output.cpp: padding never used after initialization 236 2372003-11-04 Philippe Elie <phil.el@wanadoo.fr> 238 239 * libutil++/comma_list.h: don't accept cumulative behavior 240 * libutil++/string_manip.cpp: separate_token() return by value 241 * gui/oprof_start.cpp: 242 * libopt++/popt_options.cpp: 243 * libpp/parse_filename.cpp: 244 * libpp/profile_spec.cpp: 245 * libutil++/comma_list.h: 246 * libutil++/string_filter.cpp: 247 * libutil++/string_manip.cpp: 248 * libutil++/string_manip.h: 249 * libutil++/tests/comma_list_tests.cpp: 250 * libutil++/tests/string_manip_tests.cpp: update according 251 * libpp/profile_spec.cpp: remove all trace of defunct op_alias 252 2532003-11-04 Philippe Elie <phil.el@wanadoo.fr> 254 255 * daemon/liblegacy/opd_image.c: 256 * daemon/liblegacy/opd_image.h: 257 * daemon/liblegacy/opd_mapping.c: 258 * daemon/liblegacy/opd_mapping.h: 259 * daemon/liblegacy/opd_proc.c: 260 * gui/oprof_start.cpp: 261 * gui/oprof_start.h: 262 * gui/oprof_start_config.cpp: 263 * gui/oprof_start_util.cpp: 264 * libop/op_config_24.h: 265 * libpp/format_output.cpp: 266 * libpp/op_header.cpp: 267 * libpp/profile.h: 268 * libpp/profile_container.cpp: 269 * libpp/profile_spec.cpp: 270 * libpp/profile_spec.h: 271 * libpp/symbol.h: 272 * libpp/symbol_sort.cpp: 273 * libutil++/stream_util.cpp: 274 * libutil++/stream_util.h: 275 * libutil++/utility.h: 276 * pp/common_option.cpp: 277 * pp/common_option.h: 278 * pp/opannotate_options.h: 279 * pp/opgprof.cpp: 280 * pp/opgprof_options.cpp: 281 * pp/opgprof_options.h: 282 * pp/opreport_options.cpp: 283 * pp/opreport_options.h: 284 * pp/populate.cpp: remove some .h dependencies 285 2862003-11-03 Philippe Elie <phil.el@wanadoo.fr> 287 288 * libutil++/tests/Makefile.am: 289 * libutil++/tests/utility_tests.cpp: new test files convering most of 290 utility.h and op_exception.h 291 2922003-11-02 Philippe Elie <phil.el@wanadoo.fr> 293 294 * libpp/parse_filename.cpp: avoid repetitive vector::erase(v.begin()) 295 * libregex/stl.pat.in: 296 * libregex/tests/mangled-name.in: add (i|o)stream operator(>>|<<) 297 2982003-11-02 Philippe Elie <phil.el@wanadoo.fr> 299 300 * daemon/liblegacy/opd_image.h: 301 * daemon/liblegacy/opd_image.c: 302 * daemon/liblegacy/opd_proc.c: 303 * daemon/liblegacy/opd_sample_files.c: sparse sample file array 304 allocated by line. 305 3062003-11-02 Philippe Elie <phil.el@wanadoo.fr> 307 308 * libutil++/glob_filter.h: 309 * libutil++/path_filter.h: 310 * libutil++/string_filter.h: comment fix to match implementation 311 * libutil++/tests/path_filter_tests.cpp: new file test 312 * libutil++/tests/Makefile.am: upate build 313 * libutil++/tests/string_filter_tests.cpp: test white space at start 314 of pattern 315 3162003-11-02 Philippe Elie <phil.el@wanadoo.fr> 317 318 * libutil++/string_manip.cpp: format_double can only format percent 319 * libutil++/string_manip.h: 320 * libpp/format_output.cpp: 321 * libutil++/tests/string_manip_tests.cpp: 322 * pp/opannotate.cpp: 323 * pp/opreport.cpp: s/format_double/format_percent/ 324 3252003-11-02 Philippe Elie <phil.el@wanadoo.fr> 326 327 * libutil++/glob_filter.h: 328 * libutil++/string_filter.h: 329 * libutil++/tests/string_filter_tests.cpp: minor tidy 330 331 * libutil++/tests/glob_filter_tests.cpp: new file 332 * libutil++/tests/Makefile.am: update build 333 3342003-11-01 Philippe Elie <phil.el@wanadoo.fr> 335 336 * libpp/arrange_profiles.cpp: typo 337 * libutil++/generic_spec.cpp: removed file 338 * libutil++/Makefile.am: update according 339 * libutil++/generic_spec.h: ensure generic_spec<string> will not link 340 * libutil++/path_filter.cpp: minor tidy 341 3422003-11-01 Philippe Elie <phil.el@wanadoo.fr> 343 344 * libutil++/tests/string_manip_tests.cpp: ehance output on failure 345 * module/oprofile.h: 346 * module/oprofile.c: two new read-only sysctl: nr_buffer_overflow and 347 nr_note_buffer_overflow 348 3492003-11-01 Philippe Elie <phil.el@wanadoo.fr> 350 351 * libutil++/tests/Makefile.am: 352 * libutil++/tests/file_manip_tests.cpp: don't use getcwd nor __FILE__ 353 but ${topdir} and hard coded filename 354 3552003-11-01 John Levon <levon@movementarian.org> 356 357 * daemon/liblegacy/opd_parse_proc.c: use op_follow_link 358 359 * libutil/op_file.c: 360 * libutil/op_file.h: make op_get_link() static, rename 361 op_basename to op_c_basename 362 363 * libutil++/file_manip.cpp: 364 * libutil++/file_manip.h: rename to op_basename()/op_dirname(). 365 Use op_follow_link() for follow_link(). 366 367 * libutil++/tests/file_manip_tests.cpp: 368 * gui/oprof_start_util.cpp: 369 * libpp/locate_images.cpp: 370 * libpp/name_storage.cpp: 371 * libutil++/path_filter.cpp: 372 * pp/opannotate.cpp: 373 * pp/opreport.cpp: fixup from above changes 374 3752003-11-01 Philippe Elie <phil.el@wanadoo.fr> 376 377 * libutil++/op_bfd.h: has_debug_info() new member 378 * pp/populate.h: 379 * pp/populate.cpp: 380 * pp/opannotate.cpp: use it to error out when --assembly is not 381 requested and no debug information exists 382 3832003-10-31 Philippe Elie <phil.el@wanadoo.fr> 384 385 * pp/common_option.cpp: don't exit() if merge_by.lib is set through 386 !allow_lib 387 3882003-10-31 Philippe Elie <phil.el@wanadoo.fr> 389 390 * pp/opreport_options.cpp: move handle_merge_option() ... 391 * pp/common_option.h: 392 * pp/common_option.cpp: here 393 * pp/opannotate_options.cpp: use it but disallow --merge=lib 394 3952003-10-31 Philippe Elie <phil.el@wanadoo.fr> 396 397 * libutil/op_file.c: 398 * libutil/op_file.h: implement dirname(), is_directory() and 399 op_follow_link() 400 * daemon/oprofiled.c: follow symlink for image filter 401 * libutil++/file_manip.cpp: 402 * libutil++/file_manip.h: 403 * gui/oprof_start_util.cpp: 404 * libpp/profile_spec.cpp: rename op_follow_link() to follow_link() 405 4062003-10-31 Philippe Elie <phil.el@wanadoo.fr> 407 408 * libutil/tests/file_tests.c: "//usr" --> "//usr" 409 * libutil++/tests/.cvsignore: 410 * libutil++/tests/Makefile.am: 411 * libutil++/tests/file_manip_tests.cpp: new tests file. 412 4132003-10-31 John Levon <levon@movementarian.org> 414 415 * daemon/opd_perfmon.c: fix compilation 416 4172003-10-30 John Levon <levon@movementarian.org> 418 419 * libpp/profile_spec.cpp: introduce a helper function 420 to make the comma_list matching clear 421 4222003-10-30 Philippe Elie <phil.el@wanadoo.fr> 423 424 * libutil++/comma_list.h: is_set() new member 425 * libpp/profile_spec.cpp: fix matching logic for cpu/tid/tgid 426 4272003-10-30 John Levon <levon@movementarian.org> 428 429 * libutil++/generic_spec.h: add value() and 430 is_set(), remove bool parameter from T value 431 match() (it was never set to true) 432 433 * libutil++/comma_list.h: do not accept 434 generic_spec, the behaviour was to implicitly 435 not match an "all" generic_spec. Instead: 436 437 * libpp/profile_spec.cpp: encode the matching 438 behaviour explicitly, and add a comment. 439 440 * libutil++/tests/comma_list_tests.cpp: fix to 441 match the above 442 4432003-10-30 John Levon <levon@movementarian.org> 444 445 * Makefile.am: re-order build subdirs 446 447 * libabi/Makefile.am: only build abitest on 448 make check 449 450 * pp/Makefile.am: pp_common not pp_commons 451 4522003-10-30 John Levon <levon@movementarian.org> 453 454 * libutil++/tests/Makefile.am: 455 * libutil++/tests/comma_list_tests.cpp: Add. 456 4572003-10-30 John Levon <levon@movementarian.org> 458 459 * doc/Makefile.am: improve chunk rules 460 4612003-10-30 John Levon <levon@movementarian.org> 462 463 * libutil++/tests/Makefile.am: 464 * libutil++/tests/string_filter_tests.cpp: Add. 465 466 * libutil++/tests/string_manip_tests.cpp: fix header include 467 4682003-10-30 John Levon <levon@movementarian.org> 469 470 * libutil++/tests/string_manip_tests.cpp: fix tobool test 471 ("33" is not castable to bool) 472 4732003-10-30 Philippe Elie <phil.el@wanadoo.fr> 474 475 * libutil++/string_manip.cpp: 476 * libutil++/string_manip.h: remove tostr()/tobool/touint(), rename 477 lexical_cast_no_ws<> to op_lexical_cast<> 478 479 * gui/oprof_start.cpp: 480 * gui/oprof_start_config.cpp: 481 * libpp/arrange_profiles.cpp: 482 * libpp/filename_spec.cpp: 483 * libpp/op_header.cpp: 484 * libutil++/comma_list.h: 485 * libutil++/generic_spec.h: 486 * libutil++/tests/string_manip_tests.cpp: use op_lexical_cast<> 487 4882003-10-29 John Levon <levon@movementarian.org> 489 490 * pp/common_option.h: use std namespace 491 4922003-10-28 Jason Lunz <lunz@falooley.org> 493 494 * doc/oprofile.1.in: document cpu,tid,tgid in profile 495 spec 496 4972003-10-29 Philippe Elie <phil.el@wanadoo.fr> 498 499 * libpp/profile_spec.cpp: error out for all tag:value specified 500 more than once. 501 5022003-10-29 Philippe Elie <phil.el@wanadoo.fr> 503 504 * doc/opannotate.1.in: 505 * doc/opreport.1.in: 506 * doc/oprofile.xml: 507 * libregex/demangle_symbol.cpp: 508 * libregex/demangle_symbol.h: 509 * pp/common_option.cpp: 510 * pp/common_option.h: 511 * pp/opannotate_options.cpp: 512 * pp/opannotate_options.h: 513 * pp/opreport_options.cpp: 514 * pp/opreport_options.h: remove --no-demangle, --smart-demangle and 515 --demangle, replace them with --demangle=none|smart|normal 516 5172003-10-29 Philippe Elie <phil.el@wanadoo.fr> 518 519 * libutil++/tests: new directory 520 * libutil++/tests/string_manip_tests.cpp: new tests file 521 * configure.in: 522 * libutil++/Makefile.am: 523 * libutil++/tests/.cvsignore: 524 * libutil++/tests/Makefile.am: handle new test 525 526 * libutil++/string_manip.h: 527 * libutil++/string_manip.cpp: correct implementation of separate_token 528 to match the documentation 529 * daemon/liblegacy/opd_image.c: fix comment 530 5312003-10-28 Philippe Elie <phil.el@wanadoo.fr> 532 533 * libpp/count_array.cpp: 534 * libpp/count_array.h: 535 * libpp/locate_images.h: 536 * libpp/parse_filename.cpp: 537 * libpp/profile.cpp: 538 * libpp/profile.h: 539 * libpp/profile_spec.cpp: 540 * libpp/symbol_sort.cpp: minor tidy 541 5422003-10-28 Jason Lunz <lunz@falooley.org> 543 544 * doc/opcontrol.1.in: better wording for --separate= 545 * doc/oprofile.1.in: typo 546 5472003-10-28 Philippe Elie <phil.el@wanadoo.fr> 548 549 * daemon/liblegacy/init.c: 550 * daemon/liblegacy/opd_24_stats.c: 551 * daemon/liblegacy/opd_24_stats.h: 552 * daemon/liblegacy/opd_image.c: 553 * daemon/liblegacy/opd_image.h: 554 * daemon/liblegacy/opd_kernel.c: 555 * daemon/liblegacy/opd_kernel.h: 556 * daemon/liblegacy/opd_mapping.c: 557 * daemon/liblegacy/opd_mapping.h: 558 * daemon/liblegacy/opd_parse_proc.c: 559 * daemon/liblegacy/opd_parse_proc.h: 560 * daemon/liblegacy/opd_proc.c: 561 * daemon/liblegacy/opd_proc.h: 562 * daemon/liblegacy/opd_sample_files.c: 563 * daemon/liblegacy/opd_sample_files.h: move doygen comment from *.c to 564 *.h. Add some doxygen comment. 565 5662003-10-27 Philippe Elie <phil.el@wanadoo.fr> 567 568 * daemon/liblegacy/opd_24_stats.c: 569 * daemon/liblegacy/opd_image.h: 570 * daemon/liblegacy/opd_image.h: nr_images static 571 5722003-10-27 John Levon <levon@movementarian.org> 573 574 * doc/opcontrol.1.in: document --image= 575 576 * doc/oprofile.xml: 577 * utils/opcontrol: make user specify "--image=all" 578 to reset. Clean up help message. Ensure note table 579 size is given a value. Add '-t' for '--stop', and 580 '-i' for '--image'. 581 5822003-10-27 John Levon <levon@movementarian.org> 583 584 * doc/oprofile.xml: document opcontrol --image= 585 5862003-10-27 John Levon <levon@movementarian.org> 587 588 * daemon/opd_events.h: 589 * daemon/opd_events.c: move code for handling 590 event descriptions here, and share find_counter_event(), 591 plus fill_header() 592 593 * daemon/opd_mangling.c: 594 * daemon/opd_perfmon.c: 595 * daemon/oprofiled.c: 596 * daemon/oprofiled.h: 597 * daemon/liblegacy/opd_proc.c: 598 * daemon/liblegacy/opd_sample_files.c: changes from 599 above 600 6012003-10-27 John Levon <levon@movementarian.org> 602 603 * daemon/oprofiled.c: fix help text 604 605 * daemon/liblegacy/init.c: 606 * daemon/liblegacy/opd_proc.h: 607 * daemon/liblegacy/opd_proc.c: clean up headers 608 a bit 609 6102003-10-27 Philippe Elie <phil.el@wanadoo.fr> 611 612 * gui/oprof_start.cpp: check we can get kernel interface 613 6142003-10-27 John Levon <levon@movementarian.org> 615 616 * daemon/liblegacy/Makefile.am: remove unneeded 617 -I for abi 618 6192003-10-27 John Levon <levon@movementarian.org> 620 621 * daemon/init.c: 622 * daemon/opd_perfmon.c: move timer interrupt checks 623 into perfmon 624 6252003-10-27 John Levon <levon@movementarian.org> 626 627 * daemon/oprofiled.c: use op_get_interface() 628 629 * libop/op_get_interface.c: simplify 630 6312003-10-26 Philippe Elie <phil.el@wanadoo.fr> 632 633 * gui/ui/oprof_start.base.ui: 634 * gui/oprof_start.cpp: 635 * gui/oprof_start.h: check separate_lib checkbox when 636 separate_kernel_cb is checked 637 6382003-10-26 Philippe Elie <phil.el@wanadoo.fr> 639 640 * utils/opcontrol: allow to reset --image through empty --image= 641 or --image 642 6432003-10-26 John Levon <levon@movementarian.org> 644 645 * daemon/opd_cookie.c: reduce the hash table size somewhat 646 647 * various: fixes for doxygen 648 6492003-10-26 John Levon <levon@movementarian.org> 650 651 * HACKING: 652 * configure.in: 653 * Makefile.am: 654 * dae/: move all of 2.4 daemon code to ... 655 656 * daemon/liblegacy/: here 657 658 * daemon/Makefile.am: 659 * daemon/opd_util.h: 660 * daemon/opd_util.c: move to ... 661 662 * daemon/oprofiled.h: 663 * daemon/oprofiled.c: here, and call the right operations 664 depending upon oprofile kernel version. 665 666 * daemon/init.c: 667 * daemon/liblegacy/init.c: init and running for each version 668 6692003-10-26 John Levon <levon@movementarian.org> 670 671 * daemon/opd_cookie.c: make sure to create the 672 cookie for the ignore value if it's not found 673 674 * daemon/opd_sfile.c: simplify ignored logic 675 6762003-10-26 John Levon <levon@movementarian.org> 677 678 * doc/internals.xml: 679 * doc/buffers.png: add a diagram 680 6812003-10-26 Philippe Elie <phil.el@wanadoo.fr> 682 683 implement image filtering: 684 685 * dae/opd_image.h: add a field filtered 686 * dae/opd_image.c: set it at image creation 687 * dae/opd_proc.c: don't record sample when !image->filtered 688 689 * daemon/opd_cookie.h: add a field filtered 690 * daemon/opd_cookie.c: set it a cookie_entry creation. 691 * daemon/opd_sfile.h: add a field filtered 692 * daemon/opd_file.c: set it a opd_sfile struct creation 693 * daemon/opd_trans.c: record sample if filtered 694 695 * daemon/opd_util.h: export opd_hash_name(), is_image_filtered() 696 * daemon/opd_util.c: implement --image=xxx 697 698 * oprofiled.c: #include "config.h" not <> 699 700 * utils/opcontrol: handle --image 701 7022003-10-26 John Levon <levon@movementarian.org> 703 704 * doc/oprofile.xml: remove some outdated stuff 705 7062003-10-25 John Levon <levon@movementarian.org> 707 708 * doc/internals.xml: more docs 709 7102003-10-25 John Levon <levon@movementarian.org> 711 712 * daemon/opd_perfmon.c: cleanups 713 7142003-10-24 John Levon <levon@movementarian.org> 715 716 * doc/internals.xml: write some more 717 7182003-10-23 John Levon <levon@movementarian.org> 719 720 * configure.in: bump to 0.7.1cvs 721 7222003-10-22 John Levon <levon@movementarian.org> 723 724 * libop/tests/Makefile.am: 725 * libop/tests/load_events_files_tests.c: 726 * libop/tests/alloc_counter_tests.c: fix 727 make distcheck 728 729 * configure.in: bump to 0.7 730 7312003-10-22 John Levon <levon@movementarian.org> 732 733 * daemon/Makefile.am: 734 * daemon/opd_perfmon.h: 735 * daemon/opd_perfmon.c: re-enable. Wait for children. 736 More safety checking. 737 738 * daemon/oprofiled.c: only use perfmon if !timer 739 7402003-10-20 Philippe Elie <phil.el@wanadoo.fr> 741 742 * doc/oprofile.xml: 743 * doc/oprofile.1.in: s/physical CPU/CPU/ 744 7452003-10-20 John Levon <levon@movementarian.org> 746 747 * daemon/Makefile.am: 748 * daemon/opd_perfmon.h: disable perfmon nicely 749 750 * gui/oprof_start.cpp: 751 * gui/oprof_start_config.h: 752 * gui/oprof_start_config.cpp: 753 * gui/ui/oprof_start.base.ui: Fix reading of separate 754 parameters. Add CPU and thread separation 755 7562003-10-20 Philippe Elie <phil.el@wanadoo.fr> 757 758 * libpp/profile_spec.cpp: relative path are relative to current dir 759 not filename. 760 7612003-10-20 John Levon <levon@movementarian.org> 762 763 * doc/oprofile.xml: 764 * doc/opreport.1.in: fix --merge docs and profile specs 765 7662003-10-20 John Levon <levon@movementarian.org> 767 768 * dae/opd_sample_files.c: 769 * daemon/opd_mangling.c: 770 * libabi/abi.cpp: 771 * libabi/abi_test.cpp: 772 * libabi/op_import.cpp: 773 * libop/op_config.h: 774 * libop/op_sample_file.h: 775 * libpp/op_header.cpp: remove ctr and separate_* from 776 header. Re-arrange it a little, and make it 64 bytes 777 on ILP32. Bump the version. 778 7792003-10-20 John Levon <levon@movementarian.org> 780 781 * libpp/arrange_profiles.cpp: rework the clashing-axes 782 error message to be nicer to the user 783 7842003-10-20 John Levon <levon@movementarian.org> 785 786 * libpp/arrange_profiles.cpp: if tid == tgid for 787 every profile class, allow axes of both TID and TGID 788 - there is no actual difference, only theoretical 789 7902003-10-20 Philippe Elie <phil.el@wanadoo.fr> 791 792 * dae/oprofiled.c: correct an error message 793 * libop/op_alloc_counter.h: remove bogus FIXME 794 * libutil++/child_reader.cpp: avoid quadratic behaviour if child does a 795 lot of output in stderr 796 * libpp/opgprof.cpp: fix comment 797 7982003-10-19 Philippe Elie <phil.el@wanadoo.fr> 799 800 * gui/oprof_start.cpp: redundant return 801 8022003-10-19 John Levon <levon@movementarian.org> 803 804 * libop/op_events.c: move to a fixed value for the default 805 event count value 806 8072003-10-19 Philippe Elie <phil.el@wanadoo.fr> 808 809 remove some FIXME: 810 * libpp/format_output.h: remove first_output bool member 811 * libpp/format_output.cpp: call output_header from the right place 812 * libpp/op_header.h: remove bogus FIXME 813 814 * libregex/tests/Makefile.am: fix dependencies on mangled-name file, 815 fix make dist 816 * libregex/tests/mangled-name.in: simplify a bit and remove a bogus 817 FIXME 818 * libregex/tests/regex_test.cpp: fix comment 819 820 * module/ia64/op_syscalls.c: 821 * module/x86/hammer_op_syscalls.c: 822 * module/x86/op_syscalls.c: remove some FIXME 823 8242003-10-17 Philippe Elie <phil.el@wanadoo.fr> 825 826 * libpp/arrange_profiles.cpp: clarify suggestion. 827 * pp/opreport_options.cpp: update options help string for --merge. 828 829 * libpp/profile_container.cpp: 830 * libpp/profile_spec.cpp: 831 * pp/common_option.cpp: 832 * pp/populate.cpp: ';' are not necessary to end namespace 833 8342003-10-17 Philippe Elie <phil.el@wanadoo.fr> 835 836 * libpp/arrange_profiles.cpp: use a set<profile_classes> instead 837 of a vector<...> to replace a O(N*M) by a O(N*log(M)) behavior. 838 (N number of samples files, M number of class). 839 8402003-10-17 Philippe Elie <phil.el@wanadoo.fr> 841 842 * libutil++/op_bfd.cpp: show filename when warning about no debug 843 information available. get_linenr(): s/filename/source_filename/ 844 8452003-10-16 Philippe Elie <phil.el@wanadoo.fr> 846 847 * events/ia64/itanium/events: counter 0,1 not 2,3 for IA64_INST_RETIRED 848 849 * daemon/opd_util.c: opd_parse_events() fix use after free. 850 8512003-10-16 John Levon <levon@movementarian.org> 852 853 * daemon/opd_perfmon.c: disable the code 854 8552003-10-15 John Levon <levon@movementarian.org> 856 857 * daemon/opd_perfmon.c: fflushes to improve 858 order of debug log 859 8602003-10-15 John Levon <levon@movementarian.org> 861 862 * daemon/opd_perfmon.c: fix dumb allocation typo; 863 handle signals correctly; wait for children to 864 come up before returning 865 8662003-10-15 Philippe Elie <phil.el@wanadoo.fr> 867 868 * dae/opd_sample_files.c: 869 * daemon/opd_mangling.c: 870 * daemon/opd_perfmon.c: 871 * daemon/opd_util.c: check we not overflow op_nr_counters 872 8732003-10-15 Philippe Elie <phil.el@wanadoo.fr> 874 875 * events/ia64/itanium/events: correct counter available according 876 to intel doc. 877 8782003-10-15 John Levon <levon@movementarian.org> 879 880 * dae/opd_image.c: 881 * dae/opd_kernel.c: 882 * dae/opd_proc.c: 883 * dae/opd_sample_files.c: 884 * dae/oprofiled.c: 885 * daemon/opd_kernel.c: 886 * daemon/opd_mangling.c: 887 * daemon/opd_sfile.c: 888 * daemon/opd_trans.c: 889 * daemon/opd_util.c: 890 * daemon/opd_util.h: 891 * daemon/oprofiled.c: merge the options handling 892 for dae and daemon 893 8942003-10-15 Philippe Elie <phil.el@wanadoo.fr> 895 896 * daemon/opd_perfmon.c: 897 * module/ia64/op_pmu.c: bit mask for event select field is 8 bits not 7 898 8992003-10-14 John Levon <levon@movementarian.org> 900 901 * configure.in: 902 * m4/findkernel.m4: 903 * utils/opcontrol: 2.5 refs -> 2.6 904 9052003-10-14 John Levon <levon@movementarian.org> 906 907 * utils/opcontrol: merge some 2.4/6 code 908 9092003-10-14 John Levon <levon@movementarian.org> 910 911 * dae/opd_image.c: 912 * dae/opd_sample_files.c: 913 * dae/oprofiled.c: 914 * utils/opcontrol: use --events for 2.4 daemon 915 too 916 917 * daemon/opd_perfmon.c: 918 * daemon/opd_mangling.c: fix counter numbering 919 on !perfmon 920 9212003-10-14 John Levon <levon@movementarian.org> 922 923 * configure.in: xmemdup not xmemdump 924 9252003-10-14 John Levon <levon@movementarian.org> 926 927 * daemon/opd_perfmon.c: propagate a SIGTERM 928 up to the parent. 929 9302003-10-14 John Levon <levon@movementarian.org> 931 932 * m4/perfmon.m4: 933 * configure.in: remove pfmlib checks 934 935 * daemon/opd_util.h: 936 * daemon/opd_util.c: 937 * daemon/opd_mangling.c: 938 * daemon/oprofiled.c: parse more detailed events 939 passed on command line 940 941 * daemon/opd_perfmon.h: 942 * daemon/opd_perfmon.c: don't use libpfm at all, 943 do it ourselves. 944 945 * utils/opcontrol: pass more of the events info to 946 the daemon 947 9482003-10-14 John Levon <levon@movementarian.org> 949 950 * m4/perfmon.m4: 951 * configure.in: look for pfmlib 3 952 953 * daemon/Makefile.am: 954 * daemon/opd_perfmon.h: 955 * daemon/opd_perfmon.c: interface to perfmon on 2.6 IA64 956 957 * daemon/opd_mangling.c: 958 * daemon/oprofiled.c: read event descriptions from command 959 line not oprofilefs 960 961 * daemon/opd_util.h: 962 * daemon/opd_util.c: receive SIGUSR1/2 for perfmon 963 964 * utils/opcontrol: handle multiple oprofileds. Send SIGUSR1/2 965 on start/stop. Pass in events list to oprofiled on 2.6. Don't 966 attempt to fill in oprofilefs with event info if using perfmon. 967 9682003-10-14 Philippe Elie <phil.el@wanadoo.fr> 969 970 * daemon/opd_mangling.c: 971 * daemon/opd_sfile.c: 972 * daemon/opd_sfile.h: protect the sfile we are acting on to be freed 973 by sfile_lru_clear() 974 975 * libdb/db_manage.c: 976 * libdb/odb_hash.h: Do not put hash->descr in an inconsistent state 977 when a failure occur. 978 9792003-10-13 Philippe Elie <phil.el@wanadoo.fr> 980 981 * module/oprofile.c: don't restore syscall and stop counter twice 982 9832003-10-13 Will Cohen <wcohen@redhat.com> 984 985 * libop/op_parse_event.c(parse_events): Correct fprintf. 986 9872003-10-13 Philippe Elie <phil.el@wanadoo.fr> 988 989 * module/x86/hammer_op_syscalls.c: pass tgid to daemon. Not tested! 990 9912003-10-12 John Levon <levon@movementarian.org> 992 993 * utils/opcontrol: share --separate-cpu/thread code now 994 9952003-10-12 Philippe Elie <phil.el@wanadoo.fr> 996 997 * configure.in: add libregex/tests/mangled-name.in 998 * libregex/tests/mangled-name.txt: move ... 999 * libregex/tests/mangled-name.in: here, tune to support different arch 1000 * libregex/tests/Makefile.am: s/mangled-name.txt/mangled-name.in 1001 * libregex/stl.pat.in: fix iterator<... ptrdiff_t> 1002 * libregex/tests/Makefile.am: update according to filename change 1003 1004 * libregex/tests/regex_test.cpp: really fails on exception. 1005 10062003-10-12 Philippe Elie <phil.el@wanadoo.fr> 1007 1008 * dae/oprofiled.c: don't set cpu_number when !--separate=cpu 1009 1010 * libop/tests/alloc_counter_tests.c: printf format for 64 bits arch 1011 * libop/tests/cpu_type_tests.c: #include <string.h> 1012 * libop/tests/parse_event_tests.c: #include <string.h> 1013 10142003-10-11 Philippe Elie <phil.el@wanadoo.fr> 1015 1016 * libop/op_interface.h: struct op_sample: remove packed attribute 1017 10182003-10-11 Philippe Elie <phil.el@wanadoo.fr> 1019 1020 * dae/opd_image.c: 1021 * dae/opd_image.h: reference count opd_image. Remove modification time 1022 checking. Remove hash field. Tidy 1023 * dae/opd_kernel.c: pass tid, tgid to op_get_kernel_image() 1024 * dae/opd_mapping.c: 1025 * dae/opd_mapping.h: use module hash code for image name to index 1026 a cache of name, this hash code is no longer used elsewhere. When 1027 killing map delete associated image, reference count of image 1028 will check for a real delete. 1029 * dae/opd_parse_proc.c: get tgid from /proc/pid/status 1030 * dae/opd_proc.c: create an opd_proc by process when 1031 separate_thread == true. Tidy by adding an opd_for_each_proc() 1032 * dae/opd_proc.h: add tid/tgid to opd_proc struct 1033 * dae/opd_sample_files.c: 1034 * dae/opd_sample_files.h: lru all samples files, allowing to cleanup 1035 a part of the lru if we go out of resource. Remove 1036 opd_handle_old_sample_files() since we no longer check for image 1037 modification time. 1038 * dae/opd_stats.c: 1039 * dae/opd_stats.h: statistics for opd_image struct depth search 1040 * dae/oprofiled.c: add --separate-cpu and --separate-thread 1041 * libop/op_interface.h: add tgid to samples struct passed from module 1042 to daemon. 1043 * module/compat22.h: 1044 * module/compat24.h: op_get_tgid() return tgid, fall back to return 1045 tid on 2.2 kernel. 1046 * module/oprofile.c: 1047 * module/ia64/op_syscalls.c: pass tgid to daemon. NOT TESTED but I 1048 think it's ok. Note than even if it's broken ia64 should work w/o 1049 --separate=thread 1050 * module/x86/op_syscalls.c: pass tgid to daemon. 1051 * utils/opcontrol: enable 2.4 thread/cpu separation 1052 1053 * libdb/tests/db_test.c: verbose on when we provide filename of db file 1054 to test on command line. 1055 10562003-10-11 Philippe Elie <phil.el@wanadoo.fr> 1057 1058 * libop/op_cpu_type.h: 1059 * libop/op_cpu_type.c: constification 1060 * utils/op_help.c: check only if CPU_NO_GOOD not range 1061 1062 * libutil/tests/Makefile.am: 1063 * libregex/tests/Makefile.am: 1064 * libdb/tests/Makefile.am: s/TEST = (.*)/TESTS = ${check_PROGRAMS}/ 1065 1066 * libop/tests/alloc_counter_tests.c: comment fix 1067 1068 * libop/tests/Makefile.am: 1069 * libop/tests/cpu_type_tests.c: new file, test libop/op_cpu_type.c 1070 10712003-10-10 Will Cohen <wcohen@redhat.com> 1072 1073 * libop/op_cpu_type.h (op_get_cpu_number): Clarify comment. 1074 * libop/op_cpu_type.c (op_get_cpu_number): Check number. 1075 * utils/op_help.c (main): Make check with CPU_NO_GOOD. 1076 10772003-10-10 Will Cohen <wcohen@redhat.com> 1078 1079 * libop/op_cpu_type.h (op_get_cpu_number): Declare. 1080 * libop/op_cpu_type.c (op_get_cpu_number): New. 1081 (op_get_cpu_type): Use op_get_cpu_number. 1082 * utils/op_help.c (main): Use op_get_cpu_number. 1083 10842003-10-10 John Levon <levon@movementarian.org> 1085 1086 * libop/op_parse_event.c: fix compile for IA64 1087 10882003-10-09 John Levon <levon@movementarian.org> 1089 1090 * doc/oprofile.xml: document "no results" and 1091 how to fix it 1092 10932003-10-08 John Levon <levon@movementarian.org> 1094 1095 * utils/op_help.c: standardise name 1096 1097 * gui/oprof_start.cpp: Qt 2.3.1 compile fix 1098 (bug 819943) 1099 11002003-10-07 Philippe Elie <phil.el@wanadoo.fr> 1101 1102 * dae/opd_kernel.c: memory leak 1103 1104 * dae/opd_mapping.c: 1105 * dae/opd_mapping.h: 1106 * dae/opd_parse_proc.c: 1107 * dae/opd_proc.c: 1108 * dae/opd_proc.h: use a list of struct opd_map instead of an array, 1109 remove last_map optimization. 1110 1111 * dae/oprofiled.c: memory leak 1112 1113 * libutil/op_cpufreq.c: memory leak, FILE* leak 1114 * libutil/op_list.h: fix @author 1115 11162003-10-06 Philippe Elie <phil.el@wanadoo.fr> 1117 1118 * dae/oprofiled.c: 1119 * dae/opd_proc.h: 1120 * dae/opd_proc.c: use struct list_head to chain opd_proc struct in hash 1121 table 1122 1123 * utils/op_help.c: comment fix 1124 11252003-10-06 John Levon <levon@movementarian.org> 1126 1127 * utils/opcontrol: work around 2.6 daemon's signal 1128 handling race that could cause it to hang during 1129 a --shutdown 1130 11312003-10-05 Philippe Elie <phil.el@wanadoo.fr> 1132 1133 * events/i386/p4/events: 1134 * events/i386/p4-ht/events: put GLOBAL_POWER_EVENTS on top 1135 1136 * events/i386/pii/unit_masks: 1137 * events/i386/piii/unit_masks: typo in help string 1138 1139 * utils/op_help.c: show "counter: all" instead an enumeration of all 1140 counter 1141 11422003-10-02 Philippe Elie <phil.el@wanadoo.fr> 1143 1144 * events/*.events *.unit_masks: move these files to subdir named 1145 arch/processor_name/events and arch/processor_name/unit_masks 1146 * events/Makefile.am: update according 1147 1148 * libop/op_events.c: now it's safe to allow loading events file from a 1149 directory provided through environment var OPROFILE_EVENTS_FILE_DIR 1150 * libop/tests/alloc_counter_tests.c: use it 1151 * libop/tests/load_events_files_tests.c: use it 1152 11532003-10-02 Philippe Elie <phil.el@wanadoo.fr> 1154 1155 * libop/op_events.c: revert last commit (allowed to find events files 1156 description directory in alternate directory) 1157 1158 * libop/tests/Makefile.am: 1159 * libop/tests/load_events_files_tests.c: new files. Validate events 1160 description file by loading them. 1161 1162 * libutil/op_cpufreq.c: comment why we don't have any code handling 1163 s390 1164 11652003-10-01 Philippe Elie <phil.el@wanadoo.fr> 1166 1167 * configure.in: 1168 * libop/Makefile.am: new subdir 1169 * libop/op_events.c: allow to retrieve events file dir through 1170 environment variable 1171 * utils/op_help.c: move parse_events() and parsed_event struct to ... 1172 * libop/op_parse_event.h: 1173 * libop/op_parse_event.c: these new files 1174 1175 * libop/tests/Makefile.am: new tests subdir 1176 * libop/tests/alloc_counter_tests.c: events mapping to counter nr tests 1177 * libop/tests/parse_event_tests.c: event parsing tests 1178 11792003-10-01 Philippe Elie <phil.el@wanadoo.fr> 1180 1181 * libop/op_alloc_counter.c: add forward declaration 1182 * libop/op_alloc_counter.c: alloc counter in increasing number order, 1183 it's less surprising. 1184 11852003-10-01 Philippe Elie <phil.el@wanadoo.fr> 1186 1187 * libdb/tests/db_test.c: if previous tests fails a corrupted samples 1188 file can exist in test dir and will be re-used, remove() it. 1189 11902003-10-01 John Levon <levon@movementarian.org> 1191 1192 * daemon/opd_sfile.c: 1193 * libabi/op_import.cpp: 1194 * libop/op_interface.h: 1195 * libpp/locate_images.h: small cleanups 1196 1197 * pp/opreport_options.cpp: don't complain about 1198 "-x -m all" 1199 12002003-09-28 Philippe Elie <phil.el@wanadoo.fr> 1201 1202 * libutil/op_file.c: 1203 * libutil/tests/file_tests.c: honor posix "//" filename namespace 1204 12052003-09-28 Philippe Elie <phil.el@wanadoo.fr> 1206 1207 * libop/op_alloc_counter.h: 1208 * libop/op_alloc_counter.c: change allocator by a backtracking 1209 algorithm walking only through possible solution. 1210 12112003-09-26 Philippe Elie <phil.el@wanadoo.fr> 1212 1213 * libdb/tests/db_test.c: success must be silent 1214 * dae/oprofiled.c: 1215 * daemon/oprofiled.c: 1216 * libutil/op_deviceio.c: 1217 * libutil/op_deviceio.h: op_open_device(): remove unused parameter 1218 fatal 1219 12202003-09-26 Philippe Elie <phil.el@wanadoo.fr> 1221 1222 * libutil/tests/file_tests.c: Fix some test: in some case the pathname 1223 component must be valid since we lstat() them. Fix a segfault due 1224 to missing ',' 1225 12262003-09-26 John Levon <levon@movementarian.org> 1227 1228 * libdb/tests/Makefile.am: 1229 * libregex/tests/Makefile.am: 1230 * libutil/tests/Makefile.am: don't build tests 1231 unless "make check" 1232 12332003-09-26 John Levon <levon@movementarian.org> 1234 1235 * libutil/op_file.c: don't test for NULL path 1236 passed in, we want to crash here instead of 1237 in xstrdup 1238 1239 * configure.in: 1240 * libutil/Makefile.am: 1241 * libutil/tests/Makefile.am: 1242 * libutil/tests/file_tests.c: 1243 * libutil/tests/string_tests.c: add some unit tests 1244 for libutil string and path handling 1245 12462003-09-26 Philippe Elie <phil.el@wanadoo.fr> 1247 1248 * libdb/db_debug.c: remove useless display interface 1249 * libdb/db_db_travel.c: remove callback interface 1250 * libdb/odb_hash.h: remove display/callback interface 1251 * libdb/db_test.cpp: move to tests subdir 1252 * libdb/Makefile.am: update according 1253 * libdb/tests: new dir 1254 * libdb/tests/.cvsignore: 1255 * libdb/tests/Makefile.am: new files 1256 * libdb/tests/db_test.cpp: shorter tests 1257 1258 * libregex/mangled-name.txt: 1259 * libregex/regex_testc.cpp: move to ... 1260 * libregex/tests: new directory 1261 * libdb/Makefile.am: update according 1262 * libregex/tests/.cvsignore: 1263 * libregex/tests/Makefile.am: new files 1264 12652003-09-26 John Levon <levon@movementarian.org> 1266 1267 * libabi/abi_test.cpp: 1268 * libabi/op_import.cpp: small cleanups 1269 12702003-09-25 John Levon <levon@movementarian.org> 1271 1272 * daemon/opd_cookie.c: 1273 * daemon/opd_kernel.c: 1274 * daemon/opd_sfile.c: 1275 * daemon/opd_trans.c: 1276 * daemon/oprofiled.c: trivial cleanups 1277 12782003-09-25 Marc Herbert <marc.herbert@ens-lyon.fr> 1279 1280 * configure.in: fix prefix stuff to allow stow 1281 to work 1282 12832003-09-25 Philippe Elie <phil.el@wanadoo.fr> 1284 1285 * pch-c++.h: remove 1286 * Makefile.am: update according 1287 * configure.in: no longer need for conditional enable_pch 1288 * m4/precompiledheader.m4: don't use -Winvalid-pch 1289 12902003-09-25 Philippe Elie <phil.el@wanadoo.fr> 1291 1292 * daemon/opd_sfile.c: sfile_lru_clear() return 0 if lru is empty 1293 * daemon/opd_mangling.c: abort() if lru was empty (not tested) 1294 * daemon/oprofiled.c: likewise; opd_alarm(): don't sfile_lru_clear() 1295 1296 * utils/op_help.c: 1297 * daemon/opd_sfile.h: 1298 * daemon/opd_cookie.h: s/()/(void)/ in some function prototype and 1299 definition 1300 1301 * daemon/opd_cookie.c: s/"not looked up"/"not hashed"/ 1302 13032003-09-25 John Levon <levon@movementarian.org> 1304 1305 * daemon/oprofiled.c: push rlimit down back to 2048. 1306 This gives a running RSS of about 10Mb when thread 1307 profiling on my box, which seems reasonable (at 8192 1308 it was hitting 40Mb) 1309 13102003-09-25 Philippe Elie <phil.el@wanadoo.fr> 1311 1312 * doc/oprofile.xml: clarify what means a configured kernel. 1313 13142003-09-25 John Levon <levon@movementarian.org> 1315 1316 * daemon/opd_sfile.c: bump LRU_AMOUNT to 1000 1317 13182003-09-24 John Levon <levon@movementarian.org> 1319 1320 * doc/opcontrol.1.in: 1321 * doc/oprofile.xml: document thread and cpu 1322 profiling a bit 1323 1324 * daemon/opd_mangling.c: 1325 * daemon/opd_sfile.c: 1326 * daemon/oprofiled.c: 1327 * utils/opcontrol: implement per-CPU profiling, 1328 not tested yet 1329 13302003-09-24 John Levon <levon@movementarian.org> 1331 1332 * dae/opd_proc.c: 1333 * dae/opd_sample_files.c: 1334 * daemon/opd_mangling.c: 1335 * daemon/opd_sfile.c: 1336 * libabi/abi_test.cpp: 1337 * libabi/op_import.cpp: 1338 * libdb/db_insert.c: 1339 * libdb/db_manage.c: 1340 * libdb/db_test.c: 1341 * libdb/odb_hash.h: 1342 * libpp/op_header.cpp: 1343 * libpp/profile.cpp: remove samples_odb_t.err_msg 1344 entirely - prefer UNIX-style errno returns. Modify 1345 error messages to match 1346 13472003-09-24 John Levon <levon@movementarian.org> 1348 1349 * dae/opd_sample_files.c: 1350 * daemon/opd_sample_files.c: 1351 * libpp/op_header.cpp: 1352 * libpp/profile.cpp: 1353 * libabi/abi_test.cpp: 1354 * libabi/op_import.cpp: 1355 * libdb/db_test.c: 1356 * libdb/odb_hash.h: 1357 * libdb/odb_manage.c: make odb_open return errno 1358 instead of EXIT_FAILURE/SUCCESS to allow EMFILE 1359 handling. Also do not leak fd's on failure. 1360 1361 * libutil/op_types.h: cookie_t moved into daemon/ 1362 1363 * daemon/: major rewrite: move to a hash on all 1364 parameters of struct transient. Lots of readability 1365 cleanups, plus resistance to cookie lookup failures, 1366 and hitting open file limits. Additionally thread 1367 profiling for kernel threads is enabled now. 1368 13692003-09-24 John Levon <levon@movementarian.org> 1370 1371 * daemon/opd_image.c: remove support for missing 1372 CTX_TGID 1373 13742003-09-24 John Levon <levon@movementarian.org> 1375 1376 * daemon/oprofiled.c: remove /proc/kcore support 1377 13782003-09-22 Philippe Elie <phil.el@wanadoo.fr> 1379 1380 * dae/opd_parse_proc.c: both op_file.h and op_fileio.h are needed 1381 13822003-09-22 John Levon <levon@movementarian.org> 1383 1384 * doc/CodingStyle: document doxygen placing rule 1385 1386 * libop/op_alloc_counter.h: 1387 * libop/op_get_interface.c: 1388 * libutil++/file_manip.cpp: 1389 * libutil++/file_manip.h: 1390 * libutil++/op_bfd.cpp: 1391 * libutil++/op_bfd.h: 1392 * libutil/op_deviceio.c: 1393 * libutil/op_deviceio.h: 1394 * libutil/op_get_time.c: 1395 * libutil/op_get_time.h: 1396 * libutil/op_libiberty.c: 1397 * libutil/op_libiberty.h: 1398 * libutil/op_lockfile.c: 1399 * libutil/op_lockfile.h: 1400 * libutil/op_popt.c: 1401 * libutil/op_popt.h: follow the above 1402 1403 * libutil/op_file.c: 1404 * libutil/op_file.h: 1405 * libutil/op_fileio.c: 1406 * libutil/op_fileio.h: 1407 * dae/opd_parse_proc.c: 1408 * libutil++/string_manip.cpp: move op_get_link to 1409 op_file 1410 14112003-09-22 John Levon <levon@movementarian.org> 1412 1413 * libutil/op_fileio.h: 1414 * libutil/op_fileio.c: warn about op_get_link() 1415 restrictions 1416 1417 * libutil++/file_manip.h: 1418 * libutil++/file_manip.cpp: s/op_read_link/op_follow_link, 1419 and behaviour change to match 1420 1421 * libpp/profile_spec.cpp: 1422 * gui/oprof_start_util.cpp: use op_follow_link 1423 14242003-09-22 Philippe Elie <phil.el@wanadoo.fr> 1425 1426 * dae/makefile.am: missing AM_CFLAGS setting 1427 1428 * dae/oprofiled.c: 1429 * daemon/oprofiled.c: handle signal in read loop 1430 * daemon/opd_util.h: 1431 * daemon/opd_util.c: move opd_setup_signal() from dae/ daemon/ 1432 14332003-09-22 John Levon <levon@movementarian.org> 1434 1435 * dae/oprofiled.c: 1436 * daemon/oprofiled.c: mask SIGTERM too to prevent 1437 the possibility of empty sample files 1438 14392003-09-21 Philippe Elie <phil.el@wanadoo.fr> 1440 1441 * libpp/format_output.h: 1442 * libpp/format_output.cpp: 1443 * pp/opreport.cpp: format_output::show_header no hide_header 1444 14452003-09-21 Philippe Elie <phil.el@wanadoo.fr> 1446 1447 * doc/opreport.1.in: 1448 * doc/oprofile.xml: 1449 * libpp/format_output.h: 1450 * libpp/format_output.cpp: 1451 * pp/opreport.cpp: --global_percent must be effective for detailed 1452 output too 1453 14542003-09-21 John Levon <levon@movementarian.org> 1455 1456 * pp/opreport_options.cpp: prevent --global-percent 1457 when appropriate 1458 14592003-09-21 John Levon <levon@movementarian.org> 1460 1461 * Makefile.am: back out broken make clean change 1462 14632003-09-21 John Levon <levon@movementarian.org> 1464 1465 * Makefile.am: make clean now removes *.html 1466 1467 * internals.xml: add some outline sections 1468 14692003-09-21 John Levon <levon@movementarian.org> 1470 1471 * doc/internals.xml: provide a short overview 1472 and start a glossary 1473 1474 * libpp/count_array.h: 1475 * libpp/format_output.cpp: 1476 * libpp/format_output.h: 1477 * libpp/profile.cpp: 1478 * libpp/profile.h: 1479 * libpp/profile_container.cpp: 1480 * libpp/profile_container.h: 1481 * pp/opreport.cpp: replace residual references to 1482 count groups with profile class concept 1483 14842003-09-21 John Levon <levon@movementarian.org> 1485 1486 * doc/Makefile.am: 1487 * doc/internals.xml: start an internals manual ... 1488 14892003-09-19 John Levon <levon@movementarian.org> 1490 1491 * pp/image_errors.cpp: missing include 1492 14932003-09-19 John Levon <levon@movementarian.org> 1494 1495 * libopt++/popt_options.h: 1496 * libopt++/popt_options.cpp: remove additional_help 1497 stuff, unused for some time 1498 14992003-09-18 John Levon <levon@movementarian.org> 1500 1501 * libutil++/Makefile.am: 1502 * libutil++/image_flags.h: move to ... 1503 1504 * libpp/Makefile.am: 1505 * libpp/image_error.h: ... here, and rename 1506 1507 * libutil++/op_bfd.h: 1508 * libutil++/op_bfd.cpp: take an in-out bool 1509 instead of image_flags 1510 1511 * libpp/arrange_profiles.cpp: 1512 * libpp/arrange_profiles.h: 1513 * libpp/locate_images.cpp: 1514 * libpp/locate_images.h: 1515 * libpp/profile_spec.cpp: 1516 * pp/image_errors.cpp: 1517 * pp/opgprof.cpp: 1518 * pp/populate.cpp: changes from above 1519 15202003-09-18 John Levon <levon@movementarian.org> 1521 1522 * libutil++/Makefile.am: 1523 * libutil++/image_flags.h: flags for image read failure 1524 1525 * libpp/profile_spec.cpp: 1526 * libpp/locate_images.h: 1527 * libpp/locate_images.cpp: 1528 * libpp/arrange_profiles.h: 1529 * libpp/arrange_profiles.cpp: use image_flags 1530 1531 * libutil++/op_bfd.h: 1532 * libutil++/op_bfd.cpp: use image_flags, no longer error 1533 out on format failure 1534 1535 * pp/Makefile.am: 1536 * pp/image_errors.cpp: 1537 * pp/image_errors.h: errors previously reported in locate_images 1538 are now reported here by the client 1539 1540 * pp/opannotate.cpp: 1541 * pp/opgprof.cpp: 1542 * pp/opgprof_options.cpp: 1543 * pp/opreport.cpp: 1544 * pp/populate.h: 1545 * pp/populate.cpp: use the above 1546 15472003-09-18 Philippe Elie <phil.el@wanadoo.fr> 1548 1549 * libpp/format_output.cpp: use 9 not 12 for % field width 1550 * libutil++/string_manip.cpp: shrink 100.0000 to 100.000 1551 * pp/opreport.cpp: s/" "/' ' 1552 15532003-09-18 John Levon <levon@movementarian.org> 1554 1555 * pp/opannotate_options.cpp: 1556 * pp/opreport_options.cpp: clean up error messages 1557 1558 * pp/opgprof_options.h: 1559 * pp/opgprof_options.cpp: 1560 * pp/opgprof.cpp: use inverted_profile API 1561 15622003-09-18 Philippe Elie <phil.el@wanadoo.fr> 1563 1564 * utils/opcontrol: overwrite all current settings with --separate, 1565 this change behavior of --separate=kernel,library now we really setup 1566 both in this case. 1567 15682003-09-18 John Levon <levon@movementarian.org> 1569 1570 * libpp/locate_images.cpp: rewrite a little 1571 1572 * libutil++/op_bfd.cpp: set fsize to default to -1, 1573 for fake artificial symbol 1574 15752003-09-18 Philippe Elie <phil.el@wanadoo.fr> 1576 1577 * libpp/locate_images.h: 1578 * libpp/locate_images.cpp: find_module_path() extra bool parameter 1579 to know if we fail to retrieve the image. 1580 * libpp/arrange_profiles.h: 1581 * libpp/arrange_profiles.cpp: use it and save this bool in 1582 inverted_profile struct 1583 * libpp/profile_spec.cpp: update caller according 1584 1585 * libutil++/op_bfd.h: 1586 * libutil++/op_bfd.cpp: use the above change to create fake op_bfd 1587 1588 * pp/opgprof_options.cpp: 1589 * pp/opgprof.cpp: update caller but never allow fake op_bfd 1590 1591 * pp/populate.cpp: allow to create fake op_bfd 1592 1593 15942003-09-18 John Levon <levon@movementarian.org> 1595 1596 * dae/opd_image.c: 1597 * dae/opd_proc.c: 1598 * dae/opd_sample_files.c: 1599 * dae/oprofiled.c: 1600 * daemon/opd_image.c: 1601 * daemon/opd_image.h: 1602 * daemon/opd_kernel.c: 1603 * daemon/opd_sample_files.c: 1604 * daemon/oprofiled.c: 1605 * gui/oprof_start.cpp: 1606 * gui/oprof_start_config.cpp: 1607 * gui/oprof_start_config.h: 1608 * gui/ui/oprof_start.base.ui: 1609 * libabi/abi.cpp: 1610 * libabi/abi_test.cpp: 1611 * libabi/op_import.cpp: 1612 * libop/op_sample_file.h: 1613 * libpp/op_header.cpp: 1614 * utils/opcontrol: renamings of separate stuff 1615 16162003-09-17 Philippe Elie <phil.el@wanadoo.fr> 1617 1618 * dae/opd_kernel.c: thinko in opd_get_module_info(): we must take 1619 care to re-use a previously created module not to create a new 1620 16212003-09-17 John Levon <levon@movementarian.org> 1622 1623 * daemon/opd_kernel.c: logging improvements 1624 16252003-09-17 Philippe Elie <phil.el@wanadoo.fr> 1626 1627 * dae/opd_kernel.c: 1628 * daemon/opd_kernel.c: fix use after free of module 1629 16302003-09-17 John Levon <levon@movementarian.org> 1631 1632 * daemon/opd_image.c: fix thread profiling when 1633 --separate-library=0 1634 16352003-09-17 Philippe Elie <phil.el@wanadoo.fr> 1636 1637 * dae/opd_kernel.c: add module to list of module ... 1638 * daemon/opd_kernel.c: s/print/verbprintf 1639 16402003-09-17 Philippe Elie <phil.el@wanadoo.fr> 1641 1642 * libop/op_config.h: remove OPD_MAX_MODULEs 1643 * dae/opd_kernel.c: 1644 * daemon/opd_kernel.c: remove fixed array of modules replaced by 1645 a list. Unify the way we create opd_module 1646 * utils/opcontrol: don't use --thread-profiling for 2.4 1647 16482003-09-17 Ka Fai Lu <kafai0928@yahoo.com> 1649 1650 I adapted slightly this patch Phil. 1651 * daemon/opd_image.c: 1652 * daemon/opd_image.h: 1653 * daemon/opd_kernel.c: 1654 * daemon/opd_sample_files.c: 1655 * daemon/oprofiled.c: 1656 * utils/opcontrol: implement per thread profiling 1657 16582003-09-16 Philippe Elie <phil.el@wanadoo.fr> 1659 1660 * libopt++/popt_options.h: 1661 * libpp/locate_images.cpp: minor tidy 1662 16632003-09-16 John Levon <levon@movementarian.org> 1664 1665 * utils/opcontrol: don't pass pid/pgrp filter 1666 to 2.6 daemon 1667 1668 * dae/oprofiled.c: 1669 * daemon/oprofiled.c: setrlimit to 8192 (lame 1670 workaround for now), minor cleanups 1671 16722003-09-15 John Levon <levon@movementarian.org> 1673 1674 * common_option.cpp: rename the array to 1675 avoid a link error in GCC 3.4 1676 16772003-09-15 John Levon <levon@movementarian.org> 1678 1679 * libop/Makefile.am: 1680 * libop/op_interface_25.h: move to ... 1681 1682 * daemon/Makefile.am: 1683 * daemon/opd_interface.h: ... here 1684 1685 * daemon/opd_image.c: 1686 * daemon/oprofiled.c: use above. Remove pointless 1687 command line options. 1688 1689 * libop/op_config_25.h: remove. 1690 1691 * libop/op_hw_config.h: move DCOOKIE_SHIFT to 1692 opd_interface.h 1693 16942003-09-15 John Levon <levon@movementarian.org> 1695 1696 * configure.in: use -Wdeclaration-after-statement 1697 if available 1698 1699 * README: 1700 * daemon/opd_util.c: 1701 * daemon/opd_util.h: 1702 * doc/opannotate.1.in: 1703 * doc/opgprof.1.in: 1704 * doc/opreport.1.in: 1705 * doc/oprofile.1.in: 1706 * doc/oprofile.xml: 1707 * gui/oprof_start.cpp: 1708 * gui/oprof_start_util.cpp: 1709 * libop/op_cpu_type.c: 1710 * libop/op_cpu_type.h: 1711 * libop/op_get_interface.c: 1712 * libpp/locate_images.cpp: remove references to 1713 2.5, replaced with 2.6 1714 17152003-09-15 John Levon <levon@movementarian.org> 1716 1717 * doc/opreport.1.in: document --show-address 1718 17192003-09-15 John Levon <levon@movementarian.org> 1720 1721 * libpp/arrange_profiles.cpp: 1722 * libpp/arrange_profiles.h: 1723 * pp/populate.cpp: more commentary 1724 17252003-09-14 Philippe Elie <phil.el@wanadoo.fr> 1726 1727 * pp/opreport.cpp: handle 2.95 right io manipulator and the lack 1728 of a proper setw(w) << std::string 1729 17302003-09-14 John Levon <levon@movementarian.org> 1731 1732 * pp/opreport.cpp: re-add header for image summary 1733 17342003-09-14 John Levon <levon@movementarian.org> 1735 1736 * libpp/arrange_profiles.cpp: throw an exception 1737 if there are two many unmerged profiles, with details 1738 of how to fix it 1739 1740 * pp/opgprof_options.cpp: 1741 * pp/common_option.cpp: clean up error messages 1742 17432003-09-14 John Levon <levon@movementarian.org> 1744 1745 * libpp/arrange_profiles.h: 1746 * libpp/arrange_profiles.cpp: add location of 1747 images when inverting profiles 1748 1749 * libpp/locate_images.cpp: return empty string 1750 if file isn't readable 1751 1752 * pp/opannotate.cpp: use the above 1753 1754 * pp/opreport.cpp: use the above; place warnings 1755 before any other output 1756 17572003-09-14 John Levon <levon@movementarian.org> 1758 1759 * pp/opgprof_options.cpp: use locate_image_path 1760 17612003-09-14 John Levon <levon@movementarian.org> 1762 1763 * Makefile.am: 1764 * populate.h: 1765 * populate.cpp: shared code for populating from 1766 inverted profiles 1767 1768 * opreport.cpp: 1769 * opannotate.cpp: use above 1770 17712003-09-14 John Levon <levon@movementarian.org> 1772 1773 * libpp/arrange_profiles.h: 1774 * libpp/arrange_profiles.cpp: add invert_profiles 1775 1776 * pp/opreport.cpp: use it 1777 17782003-09-14 John Levon <levon@movementarian.org> 1779 1780 * doc/oprofile.xml: 1781 * pp/opreport.cpp: 1782 * pp/opreport_options.cpp: 1783 * pp/opreport_options.h: Turn off VMA report by 1784 default, add --show-address 1785 17862003-09-14 John Levon <levon@movementarian.org> 1787 1788 * pp/opreport.cpp: nice formatting of image report 1789 column headers, respect --no-header 1790 17912003-09-14 Philippe Elie <phil.el@wanadoo.fr> 1792 1793 * libpp/arrange_profiles.cpp: use string::erase() not string::clear() 1794 for 2.95 1795 1796 * libutil++/generic_spec.h: allow to ignore "all" match 1797 * libutil++/comma_list.h: use it 1798 17992003-09-14 John Levon <levon@movementarian.org> 1800 1801 * pp/opreport.cpp: output column headers for 1802 image report 1803 18042003-09-14 John Levon <levon@movementarian.org> 1805 1806 * libpp/op_header.h: 1807 * libpp/op_header.cpp: output header info to 1808 a string not a stream 1809 1810 * libpp/arrange_profiles.h: 1811 * libpp/arrange_profiles.cpp: give classes a long 1812 name, and fill in global event/cpu info 1813 1814 * pp/opannotate.cpp: 1815 * pp/opannotate_options.cpp: 1816 * pp/opannotate_options.h: 1817 * pp/opgprof_options.cpp: 1818 * pp/opreport.cpp: 1819 * pp/opreport_options.cpp: 1820 * pp/opreport_options.h: use the class long names 1821 and info 1822 18232003-09-14 Philippe Elie <phil.el@wanadoo.fr> 1824 1825 * libpp/profile_spec.cpp: handle symlink 1826 18272003-09-14 John Levon <levon@movementarian.org> 1828 1829 * arrange_profiles.h: 1830 * arrange_profiles.cpp: Add code to give short names 1831 to each class, unused yet 1832 18332003-09-14 Philippe Elie <phil.el@wanadoo.fr> 1834 1835 * libpp/arrange_profiles.cpp: missing include<> with gcc 2.95 1836 18372003-09-14 John Levon <levon@movementarian.org> 1838 1839 * libpp/Makefile.am: 1840 * libpp/split_sample_filename.cpp: 1841 * libpp/split_sample_filename.h: rename as ... 1842 1843 * libpp/parse_filename.cpp: 1844 * libpp/parse_filename.h: ... this 1845 1846 * libpp/filename_spec.cpp: 1847 * libpp/arrange_profiles.cpp: 1848 * libpp/arrange_profiles.h: sort classes for niceness, 1849 changes from above 1850 1851 * pp/opreport.cpp: remove needless double check of 1852 exclude_dependent 1853 1854 * libutil++/string_manip.cpp: touint should init to 0 1855 in case of parse failure 1856 18572003-09-14 Philippe Elie <phil.el@wanadoo.fr> 1858 1859 * configure.in: fix maximum template depth to 50 1860 * libutil/op_fileio.c: op_get_link() don't truncate silently results 1861 * m4/sstream.m4: use OP_CXXFLAGS not CXXFLAGS 1862 18632003-09-14 John Levon <levon@movementarian.org> 1864 1865 * pp/partition_files.h: 1866 * pp/partition_files.cpp: remove, now unused 1867 18682003-09-14 John Levon <levon@movementarian.org> 1869 1870 * pp/opannotate.cpp: 1871 * pp/opannotate_options.cpp: 1872 * pp/opannotate_options.h: use arrange_profiles API 1873 18742003-09-14 John Levon <levon@movementarian.org> 1875 1876 * pp/opgprof_options.h: 1877 * pp/opgprof_options.cpp: 1878 * pp/opgprof.cpp: use arrange_profiles API 1879 18802003-09-14 John Levon <levon@movementarian.org> 1881 1882 * libpp/Makefile.am: 1883 * libpp/arrange_profiles.cpp: 1884 * libpp/arrange_profiles.h: introduce new 1885 code for partitioning profiles and handling 1886 merging 1887 1888 * libpp/partition_files.h: 1889 * pp/opreport_options.cpp: 1890 * pp/opreport_options.h: 1891 * pp/opreport.cpp: use the above code 1892 1893 * libpp/format_flags.h: 1894 * libpp/profile_container.cpp: remove unneeded 1895 multiple apps hint 1896 1897 * libpp/count_array.cpp: 1898 * libpp/count_array.h: remove unnecessary code 1899 19002003-09-14 John Levon <levon@movementarian.org> 1901 1902 * configure.in: back to 0.7cvs 1903 19042003-09-14 John Levon <levon@movementarian.org> 1905 1906 * pp/opannotate.cpp: gcc 2.91 workaround 1907 (in 0.6.1 release) 1908 19092003-09-14 John Levon <levon@movementarian.org> 1910 1911 * configure.in: bump to 0.6.1 1912 19132003-09-13 John Levon <levon@movementarian.org> 1914 1915 * doc/oprofile.xml: document "incorrect source attribution" 1916 a bit 1917 19182003-09-12 Philippe Elie <phil.el@wanadoo.fr> 1919 1920 * libpp/op_header.cpp: typo in comment 1921 19222003-09-11 John Levon <levon@movementarian.org> 1923 1924 * configure.in: check for -lintl, tweak -ldl check 1925 19262003-09-11 John Levon <levon@movementarian.org> 1927 1928 * dae/oprofiled.c: 1929 * daemon/oprofiled.c: 1930 * libdb/db_manage.c: 1931 * libdb/db_test.c: correct headers 1932 19332003-09-11 John Levon <levon@movementarian.org> 1934 1935 * op_lockfile.c: use correct headers 1936 19372003-09-07 Philippe Elie <phil.el@wanadoo.fr> 1938 1939 * utils/op_help.c: check than all events are distincts 1940 19412003-09-06 Philippe Elie <phil.el@wanadoo.fr> 1942 1943 * pch-c++.h: 1944 * m4/precompiledheader.m4: new file to handle precompiled header 1945 * m4/Makefile.am: 1946 * configure.in: 1947 * Makefile.am: handle precompiled header 1948 19492003-09-05 John Levon <levon@movementarian.org> 1950 1951 * opd_image.c: cleanup of ctx_switch_set_image() 1952 19532003-09-05 Philippe Elie <phil.el@wanadoo.fr> 1954 1955 * daemon/opd_image.c: After a context switch ensure we update correctly 1956 the current image. 1957 19582003-09-04 Philippe Elie <phil.el@wanadoo.fr> 1959 1960 * pp/opreport.cpp: 1961 * pp/opannotate.cpp: catch op_bfd exception and recover gracefully 1962 19632003-09-04 Philippe Elie <phil.el@wanadoo.fr> 1964 1965 * utils/opcontrol: tweak "signaling daemon " message as suggested 1966 by Carlo Wood 1967 19682003-09-04 John Levon <levon@movementarian.org> 1969 1970 * doc/oprofile.xml: mention --reset in 1971 "Getting Started" 1972 19732003-09-03 John Levon <levon@movementarian.org> 1974 1975 * libop/op_events.c: 1976 * libpp/op_header.cpp: 1977 * dae/opd_sample_files.c: 1978 * daemon/opd_sample_files.c: propagate event 1979 error back up to caller 1980 1981 * libdb/odb_hash.h: fix comment 1982 19832003-09-02 John Levon <levon@movementarian.org> 1984 1985 * dae/opd_image.c: 1986 * dae/opd_proc.c: 1987 * dae/oprofiled.c: 1988 * daemon/opd_image.c: use abort() not exit() 1989 on "can't happen" errors 1990 19912003-09-02 John Levon <levon@movementarian.org> 1992 1993 * dae/opd_proc.c: 1994 * daemon/opd_image.c: fix error message 1995 19962003-08-28 Philippe Elie <phil.el@wanadoo.fr> 1997 1998 * events/alpha.ev6.events: fix duplicate um tag 1999 20002003-08-28 John Levon <levon@movementarian.org> 2001 2002 * events/i386.athlon.events: fix duplicate minimum tag 2003 2004 * daemon/opd_image.c: 2005 * libop/op_events.c: check for duplicate tags 2006 20072003-08-28 John Levon <levon@movementarian.org> 2008 2009 20102003-08-27 Will Cohen <wcohen@redhat.com> 2011 2012 * utils/op_help.c (resolve_events): Typecast printf argument. 2013 20142003-08-25 Philippe Elie <phil.el@wanadoo.fr> 2015 2016 * pp/opannotate_options.cpp: 2017 * pp/opannotate_options.h: 2018 * pp/opannotate.cpp: enable multiple events 2019 2020 * pp/opreport_options.cpp: remove #if 0 .... #endif 2021 20222003-08-25 Philippe Elie <phil.el@wanadoo.fr> 2023 2024 * libpp/count_array.cpp: avoid to access invalid memory 2025 20262003-08-25 Philippe Elie <phil.el@wanadoo.fr> 2027 2028 * configure.in: 2029 * m4/builtinexpect.m4: 2030 * m4/configmodule.m4: 2031 * module/Makefile.in: 2032 * module/ia64/Makefile.in: 2033 * module/x86/makefile.in: always use EXTRA_CFLAGS_MODULE not 2034 EXTRA_CFLAGS for module build flags 2035 20362003-08-23 Philippe Elie <phil.el@wanadoo.fr> 2037 2038 * libregex/op_regex.h: 2039 * libregex/op_regex.cpp: tidy 2040 2041 * libutil++/op_bfd.cpp: remove obsolete comment 2042 20432003-08-23 Philippe Elie <phil.el@wanadoo.fr> 2044 2045 * libutil++/file_manip.h: 2046 * libutil++/file_manip.cpp: is_directory(dirname): return true if 2047 dirname exists 2048 * pp/common_option.cpp: validate --image-path parameters 2049 20502003-08-22 Philippe Elie <phil.el@wanadoo.fr> 2051 2052 * events/i386.p4.events: clarify than 128BIT_MMX_UOP count only integer 2053 SSE2 ops 2054 * pp/opreport.cpp: minor spacing change in output 2055 20562003-08-22 John Levon <levon@movementarian.org> 2057 2058 * daemon/oprofiled.c: report the kernel pointer size 2059 20602003-08-22 John Levon <levon@movementarian.org> 2061 2062 * daemon/oprofiled.c: read new /dev/oprofile/pointer_size 2063 in preference to kcore. kcore code will eventually go. 2064 20652003-08-21 John Levon <levon@movementarian.org> 2066 2067 * libutil++/op_bfd.cpp: update gcc2_compiled. comment 2068 to reflect reality 2069 20702003-08-19 Philippe Elie <phil.el@wanadoo.fr> 2071 2072 * pp/opreport.cpp: really merge when --merge=lib and image name are 2073 specified. 2074 20752003-08-16 Philippe Elie <phil.el@wanadoo.fr> 2076 2077 * pp/opannotate.cpp: output threshold percent when necessary. 2078 20792003-08-16 Philippe Elie <phil.el@wanadoo.fr> 2080 2081 * libutil++/op_bfd.cpp: remove ELF-based symbol size code 2082 20832003-08-15 William Cohen <wcohen@redhat.com> 2084 2085 * doc/opcontrol.1.in: 2086 * doc/oprofile.1.in: 2087 * doc/oprofile.xml: Correct path to /root/.oprofile/daemonrc. 2088 20892003-08-15 Thomas Spatzier <TSPAT@de.ibm.com> 2090 2091 * daemon/opd_cookie.h: fix s390 syscall 2092 20932003-08-14 Philippe Elie <phil.el@wanadoo.fr> 2094 2095 * libutil++/string_manip.cpp: erase_to_last_of() is not a ltrim() 2096 20972003-08-14 Philippe Elie <phil.el@wanadoo.fr> 2098 2099 Dave Jones suggested this change. 2100 2101 * module/x86/op_model_p4.c: remove superflous ';' at end of some macro 2102 21032003-08-14 Philippe Elie <phil.el@wanadoo.fr> 2104 2105 * libutil++/string_manip.h: remove erase_from_last_of() 2106 * libutil++/string_manip.cpp: and tidy erase_to_last_of(), rtrim() and 2107 ltrim() 2108 21092003-08-13 Philippe Elie <phil.el@wanadoo.fr> 2110 2111 * libutil++/op_bfd.h: 2112 * libpp/profile_container.cpp: remove nil_symbol_index 2113 21142003-08-13 John Levon <levon@movementarian.org> 2115 2116 * libpp/profile_container.cpp: 2117 * libpp/profile_container.h: remove "base_vma" parameter 2118 to add_samples(), we can just re-grab it straight from 2119 the abfd 2120 21212003-08-13 John Levon <levon@movementarian.org> 2122 2123 * libpp/profile_container.cpp: 2124 * libpp/profile_container.h: remove unused "zero samples" 2125 optimization hint: it's always false 2126 2127 * pp/opannotate.cpp: 2128 * pp/opgprof.cpp: 2129 * pp/opreport.cpp: from above 2130 21312003-08-12 John Levon <levon@movementarian.org> 2132 2133 * pp/opreport.cpp: small trivialities 2134 21352003-08-12 Philippe Elie <phil.el@wanadoo.fr> 2136 2137 * libregex/stl.pat.in: minor fix/improvements 2138 * libregex/mangled-name.txt: add tests 2139 21402003-08-12 Philippe Elie <phil.el@wanadoo.fr> 2141 2142 * pp/opreport.cpp: fix thinko when --merge=lib 2143 21442003-08-12 John Levon <levon@movementarian.org> 2145 2146 * pp/opreport.cpp: s/count_groups_summary/summary_container/g 2147 21482003-08-12 John Levon <levon@movementarian.org> 2149 2150 * doc/oprofile.xml: document opreport's side-by-side a little 2151 bit 2152 21532003-08-12 John Levon <levon@movementarian.org> 2154 2155 * pp/opreport.cpp: s/group_summary/app_summary/, and 2156 a lot of other renamings to clarify the count groups 2157 usage. 2158 21592003-08-12 John Levon <levon@movementarian.org> 2160 2161 * utils/op_help.c: add --unit-mask 2162 2163 * utils/opcontrol: use --unit-mask 2164 21652003-08-12 Philippe Elie <phil.el@wanadoo.fr> 2166 2167 * pp/opreport.cpp: re write using count_array_t 2168 21692003-08-11 John Levon <levon@movementarian.org> 2170 2171 * libpp/count_array.cpp: 2172 * libpp/count_array.h: auto-resize the number of groups 2173 based on how we index. 2174 2175 * libpp/profile_container.cpp: remove check 2176 2177 * pp/opannotate.cpp: count_array.zero() not .empty() 2178 21792003-08-11 John Levon <levon@movementarian.org> 2180 2181 * libpp/filename_spec.h: 2182 * libpp/profile_spec.cpp: 2183 * libpp/profile_spec.h: add comments, allow comma lists 2184 for event, count, and unit mask 2185 2186 * libutil++/comma_list.h: implement missing method 2187 21882003-08-11 John Levon <levon@movementarian.org> 2189 2190 * libpp/format_output.cpp: 2191 * libpp/format_output.h: add set_nr_groups(), remove 2192 pp_nr_counters. 2193 2194 * libpp/profile_container.cpp: 2195 * libpp/profile_container.h: 2196 * pp/opannotate.cpp: 2197 * pp/opgprof.cpp: 2198 * pp/opreport.cpp: count_group not counter 2199 22002003-08-11 John Levon <levon@movementarian.org> 2201 2202 * libpp/Makefile.am: 2203 * libpp/counter_array.cpp: 2204 * libpp/counter_array.h: rename to ... 2205 2206 * libpp/count_array.h: 2207 * libpp/count_array.cpp: ... this ... 2208 2209 * libpp/format_output.cpp: 2210 * libpp/format_output.h: 2211 * libpp/profile.cpp: 2212 * libpp/profile.h: 2213 * libpp/profile_container.cpp: 2214 * libpp/profile_container.h: 2215 * libpp/sample_container.cpp: 2216 * libpp/sample_container.h: 2217 * libpp/symbol.h: 2218 * pp/opannotate.cpp: 2219 * pp/opgprof.cpp: 2220 * pp/opreport.cpp: ... and several renamings to starting 2221 change the notion from "counters" to the more general notion 2222 of "count groups" 2223 22242003-08-10 Philippe Elie <phil.el@wanadoo.fr> 2225 2226 Multiple counter support for pp tools. 2227 2228 * libpp/counter_array.h: 2229 * libpp/counter_array.cpp: resurrected from pp-interface-branch, for 2230 now memory use is inefficient. 2231 * libpp/Makefile.am: add counter_array.cpp .h 2232 * libpp/format_out.h: 2233 * libpp/format_out.cpp: handle multiple counter + a general tidy 2234 * libpp/format_flags.h: remove ff_immutable_mask and some nasty 2235 requisite on flags value 2236 * libpp/profile_container.h: 2237 * libpp/profile_container.cpp: 2238 * libpp/sample_container.h: 2239 * libpp/sample_container.cpp: 2240 * libpp/symbol.h: 2241 * libpp/symbol_container.cpp: 2242 * libpp/symbol_sort.cpp: 2243 * pp/opreport.cpp: handle multiple counter 2244 * pp/opannotate.cpp: partial handling of multiple counter 2245 * pp/opgprof.cpp: 2246 * pp/opreport.cpp: minor bits 2247 22482003-08-08 Will Cohen <wcohen@redhat.com> 2249 2250 * dae/Makefile.am: 2251 * daemon/Makefile.am: Correct library linking order. 2252 * daemon/opd_util.c: Add needed include files. 2253 22542003-08-08 Philippe Elie <phil.el@wanadoo.fr> 2255 2256 * utils/opcontrol: move_and_remove() do nothing if source doesn't exist 2257 22582003-08-08 Philippe Elie <phil.el@wanadoo.fr> 2259 2260 revert the previous patch 2261 * dae/Makefile.am: 2262 * dae/opd_sample_files.h: 2263 * dae/opd_sample_files.c: 2264 * daemon/Makefile.am: 2265 * daemon/opd_sample_files.c: un-share opd_sample_files 2266 code 2267 22682003-08-08 John Levon <levon@movementarian.org> 2269 2270 * dae/Makefile.am: 2271 * dae/opd_sample_files.h: 2272 * dae/opd_sample_files.c: 2273 * daemon/Makefile.am: 2274 * daemon/opd_sample_files.c: share opd_sample_files 2275 code 2276 22772003-08-08 John Levon <levon@movementarian.org> 2278 2279 * dae/oprofiled.c: 2280 * daemon/oprofiled.c: 2281 * daemon/opd_util.h: 2282 * daemon/opd_util.c: share opd_write_abi() 2283 22842003-08-08 Philippe Elie <phil.el@wanadoo.fr> 2285 2286 * libop/op_alloc_counter.c: 2287 * libop/op_events.h: minor doxygen fix 2288 22892003-08-08 John Levon <levon@movementarian.org> 2290 2291 * dae/Makefile.am: 2292 * dae/oprofiled.c: 2293 * daemon/Makefile.am: 2294 * daemon/oprofiled.c: 2295 * daemon/opd_util.h: 2296 * daemon/opd_util.c: share some small bits of code 2297 between the daemons 2298 22992003-08-08 John Levon <levon@movementarian.org> 2300 2301 * dae/oprofiled.c: 2302 * daemon/oprofiled.c: remove mypid, unused 2303 23042003-08-08 John Levon <levon@movementarian.org> 2305 2306 * dae/Makefile.am: 2307 * dae/opd_printf.h: remove duplicate header 2308 and use daemon/opd_printf.h 2309 23102003-08-08 John Levon <levon@movementarian.org> 2311 2312 * dae/opd_image.c: 2313 * dae/opd_sample_files.h: 2314 * dae/opd_sample_files.c: 2315 * daemon/opd_image.c: 2316 * daemon/opd_sample_files.h: 2317 * daemon/opd_sample_files.c: remove "create" bool 2318 from opd_mangle_filename(): only one callsite needs 2319 that functionality, open code the create instead 2320 2321 * dae/opd_proc.c: 2322 * dae/opd_sample_files.h: 2323 * dae/opd_sample_files.c: 2324 * daemon/opd_sample_files.h: 2325 * daemon/opd_sample_files.c: return error from 2326 opd_open_sample_filename(). Do not fail when odb_open 2327 fails due to --reset races. 2328 2329 * dae/oprofiled.c: 2330 * daemon/oprofiled.c: a little more verbosity. 2331 2332 * libutil/op_file.h: 2333 * libutil/op_file.c: fix create_dir/path() comments, 2334 don't use access() 2335 2336 * utils/opcontrol: reduce chance of --reset races 2337 23382003-08-06 Philippe Elie <phil.el@wanadoo.fr> 2339 2340 * libpp/symbol_sort.h: 2341 * libpp/symbol_sort.cpp: add app_name sort order, force sort order 2342 for criteria unspecified by user. 2343 * pp/opreport_options.cpp: update --sort option help string. 2344 23452003-08-04 John Levon <levon@movementarian.org> 2346 2347 * doc/oprofile.xml: 2348 * doc/opannotate.1.in: 2349 * pp/opannotate.cpp: 2350 * pp/opannotate_options.h: 2351 * pp/opannotate_options.cpp: add --base-dirs 2352 23532003-08-04 John Levon <levon@movementarian.org> 2354 2355 * doc/oprofile.xml: 2356 * doc/opannotate.1.in: 2357 * pp/opannotate.cpp: 2358 * pp/opannotate_options.h: 2359 * pp/opannotate_options.cpp: add --search-dirs 2360 23612003-08-04 John Levon <levon@movementarian.org> 2362 2363 * doc/oprofile.xml: 2364 * doc/opannotate.1.in: 2365 * pp/opannotate.cpp: 2366 * pp/opannotate_options.h: 2367 * pp/opannotate_options.cpp: remove --source-dir and --base-dir, 2368 they're confusing and not useful in the current form 2369 23702003-08-03 John Levon <levon@movementarian.org> 2371 2372 * utils/opcontrol: avoid using ps, it's very slow with kallsyms 2373 23742003-08-03 Philippe Elie <phil.el@wanadoo.fr> 2375 2376 * libutil++/op_bfd.cpp: c++ static function doesn't get a mangled name 2377 in debug info (see gcc #11774). Try to recover through a not 2378 completely reliable mechanism but better than ignoring the problem 2379 23802003-08-02 Philippe Elie <phil.el@wanadoo.fr> 2381 2382 * pp/opreport.cpp: minor: more consistency about function ordering 2383 23842003-08-02 Philippe Elie <phil.el@wanadoo.fr> 2385 2386 * libpp/profile.h: 2387 * libpp/profile.cpp: profile::sample_count() new to allow raw access 2388 to samples count 2389 * pp/opreport.cpp: use above function to implement opreport (w/o -l 2390 or --details options). opreport is roughly twice faster. 2391 23922003-08-02 Philippe Elie <phil.el@wanadoo.fr> 2393 2394 * pp/opreport.cpp: clarify multiple counter support 2395 23962003-08-01 John Levon <levon@movementarian.org> 2397 2398 * libregex/stl.pat.in: fix _List_iterator regex 2399 (from Phil) 2400 24012003-07-31 Philippe Elie <phil.el@wanadoo.fr> 2402 2403 * pp/opannotate.cpp: output cpu type and cpu speed. 2404 24052003-07-30 John Levon <levon@movementarian.org> 2406 2407 * libpp/partition_files.cpp: remove some apparently 2408 dead code 2409 24102003-07-30 John Levon <levon@movementarian.org> 2411 2412 * events/i386.p4.unit_masks: make flame_uops value 2413 mandatory, Yuan.Lu@rrze.uni-erlangen.de does not 2414 see any events without setting the unit mask 2415 24162003-07-30 John Levon <levon@movementarian.org> 2417 2418 * libutil++/op_bfd.h: 2419 * libutil++/op_bfd.cpp: bfd_openr() keeps a copy of 2420 the passed in char * around, sickenly enough. Ensure lifetimes 2421 will always be correct by adding a filename data member to 2422 op_bfd 2423 24242003-07-29 Philippe Elie <phil.el@wanadoo.fr> 2425 2426 * libpp/op_header.h: 2427 * libpp/op_header.cpp: separate output of cpu_type, cpu_speed 2428 and counter setup 2429 2430 * libpp/partition_files.h: 2431 * libpp/partition_files.cpp: unmergeable_profile() split profile 2432 by the unmergeable. 2433 2434 * pp/opreport_options.h: 2435 * pp/opreport_options.cpp: 2436 * pp/opreport.cpp: initial multiple counter output, multiple counter 2437 with -l is not yet available. 2438 24392003-07-29 John Levon <levon@movementarian.org> 2440 2441 * doc/opcontrol.1.in: update for --event 2442 24432003-07-29 John Levon <levon@movementarian.org> 2444 2445 * configure.in: 2446 * doc/srcdoc/Doxyfile.in: 2447 * oprof_report/: remove badly out of date oprof_report 2448 24492003-07-28 John Levon <levon@movementarian.org> 2450 2451 * configure.in: bump to 0.7cvs 2452 24532003-07-26 John Levon <levon@movementarian.org> 2454 2455 * configure.in: bump to 0.6 2456 24572003-07-26 John Levon <levon@movementarian.org> 2458 2459 * utils/opcontrol: fix call of op_help 2460 24612003-07-26 John Levon <levon@movementarian.org> 2462 2463 * gui/oprof_start.cpp: replace folder icons with clearer 2464 red/green circles 2465 24662003-07-26 John Levon <levon@movementarian.org> 2467 2468 * gui/oprof_start.cpp: actually select and show the default 2469 event 2470 24712003-07-26 John Levon <levon@movementarian.org> 2472 2473 * gui/oprof_start.cpp: small string tweak, show "conflicts" 2474 message consistently 2475 24762003-07-26 John Levon <levon@movementarian.org> 2477 2478 * gui/oprof_start.cpp: don't use invalidated iterator 2479 24802003-07-26 Philippe Elie <phil.el@wanadoo.fr> 2481 2482 * gui/oprof_start.cpp: fix for 2.91.66 2483 2484 * libpp/profile.cpp: typo invoking an undefined behavior revealed 2485 by gcc stl debug mode 2486 * libpp/profile.h: ensure we provide the right typedef to std:: 2487 for profile::const_iterator revealed by gcc stl debug mode at compile 2488 time. The implementation is a bit tricky to work with old compiler 2489 * libpp/symbol_sort.cpp: compare must define a weak ordered relation 2490 order, revealed by gcc stl debug mode. 2491 24922003-07-26 Philippe Elie <phil.el@wanadoo.fr> 2493 2494 * gui/ui/oprof_start.base.ui: 2495 * gui/oprof_start.h: 2496 * gui/oprof_start.cpp: change UI to use the new counter allocation 2497 API 2498 2499 * libop/op_alloc_counter.h: 2500 * libop/op_alloc_counter.c: 2501 * utils/op_help.c: minor const-ness api change 2502 25032003-07-25 Will Cohen <wcohen@redhat.com> 2504 2505 * utils/opcontrol: Restrict the search path. 2506 25072003-07-25 Philippe Elie <phil.el@wanadoo.fr> 2508 2509 * libop/op_alloc_counter.c: use tabulation 2510 2511 * libop/op_events.c: 2512 * libop/op_events.h: find_event_by_name() new 2513 * utils/op_help.c: use find_event_by_name() 2514 25152003-07-24 Philippe Elie <phil.el@wanadoo.fr> 2516 2517 * utils/op_help.c: make valgrind happy + minor cleanup 2518 25192003-07-24 Philippe Elie <phil.el@wanadoo.fr> 2520 2521 * libop/op_alloc_counter.h: 2522 * libop/op_alloc_counter.c: new file providing mapping from an event 2523 list to hardware counter number 2524 * utils/op_help.c: use the above api 2525 25262003-07-24 Philippe Elie <phil.el@wanadoo.fr> 2527 2528 * utils/op_help.c: fix hardware counter allocation order 2529 25302003-07-23 John Levon <levon@movementarian.org> 2531 2532 * doc/oprofile.xml: comment out --base-dir mention 2533 25342003-07-23 John Levon <levon@movementarian.org> 2535 2536 * doc/oprofile.xml: remove mention of oprof_start_event 2537 25382003-07-23 John Levon <levon@movementarian.org> 2539 2540 * dae/oprofiled.c: 2541 * daemon/oprofiled.c: don't uselessly try to unlink 2542 non-existent lockfile 2543 2544 * daemon/opd_image.c: 2545 * daemon/oprofiled.c: clean up buffer read messages 2546 25472003-07-23 John Levon <levon@movementarian.org> 2548 2549 * utils/opcontrol: error out at --setup time if vmlinux is not 2550 valid. Cleanup the error message if so 2551 2552 * daemon/opd_kernel.c: fix potential null deref 2553 25542003-07-21 John Levon <levon@movementarian.org> 2555 2556 * gui/oprof_start.cpp: select "No event" when switching counter 2557 if needed 2558 25592003-07-21 John Levon <levon@movementarian.org> 2560 2561 * gui/oprof_start.cpp: fix default event choosing when 2562 daemonrc exists 2563 25642003-07-21 Philippe Elie <phil.el@wanadoo.fr> 2565 2566 * gui/oprof_start.cpp: thinko in has_unique_event(), don't warn for 2567 no counter with CPU_TIMER_INT 2568 25692003-07-21 Philippe Elie <phil.el@wanadoo.fr> 2570 2571 * gui/oprof_start.cpp: allow to de-select a counter 2572 25732003-07-21 John Levon <levon@movementarian.org> 2574 2575 * gui/oprof_start.cpp: 2576 * gui/oprof_start_util.h: 2577 * gui/oprof_start_util.cpp: remove uptime pretty printing. 2578 It's broken for 2.5 and ugly code 2579 25802003-07-21 John Levon <levon@movementarian.org> 2581 2582 * gui/oprof_start.h: 2583 * gui/oprof_start.cpp: use a default event if no 2584 events are set yet 2585 25862003-07-20 Philippe Elie <phil.el@wanadoo.fr> 2587 2588 * m4/compileroption.m4: fix for autoconf 2.13 2589 25902003-07-19 Philippe Elie <phil.el@wanadoo.fr> 2591 2592 * gui/oprof_start.cpp: 2593 * libpp/format_output.cpp: 2594 * libpp/format_output.h: 2595 * pp/opannotate.cpp: 2596 * pp/opreport_options.cpp: minor tidy 2597 25982003-07-19 Philippe Elie <phil.el@wanadoo.fr> 2599 2600 * gui/oprof_start.cpp: RTC mode was not working 2601 26022003-07-16 Philippe Elie <phil.el@wanadoo.fr> 2603 2604 * gui/oprof_start_config.h: 2605 * gui/oprof_start_config.cpp: remove dead code, fix kernel_only read 2606 26072003-07-16 John Levon <levon@movementarian.org> 2608 2609 * utils/opcontrol: fix typo that was partly breaking 2610 CPU_TIMER_INT 2611 26122003-07-16 John Levon <levon@movementarian.org> 2613 2614 * gui/oprof_start.h: 2615 * gui/oprof_start.cpp: fixes for CPU_TIMER_INT 2616 26172003-07-16 John Levon <levon@movementarian.org> 2618 2619 * gui/ui/oprof_start.base.ui: remove add/remove event buttons, 2620 fix resize weirdness 2621 2622 * gui/oprof_start.h: 2623 * gui/oprof_start.cpp: remove add/remove event buttons, allow 2624 short-form event descriptions 2625 26262003-07-15 Philippe Elie <phil.el@wanadoo.fr> 2627 2628 * gui/persistent_config.h: remove 2629 * gui/oprof_start.h: 2630 * gui/oprof_start.cpp: debug, remove dead code, works better now, see 2631 TODO 2632 26332003-07-15 Philippe Elie <phil.el@wanadoo.fr> 2634 2635 * gui/oprof_start.h: 2636 * gui/oprof_start.cpp: 2637 * gui/oprof_start_util.cpp: re-enable partially the gui, sorta of 2638 working if cautioulsy used 2639 26402003-07-15 John Levon <levon@movementarian.org> 2641 2642 * gui/ui/oprof_start_base.ui: 2643 * gui/oprof_start.h: 2644 * gui/oprof_start.cpp: some steps towards fixing gui for 2645 the new events stuff 2646 26472003-07-15 John Levon <levon@movementarian.org> 2648 2649 * libop/op_events.h: 2650 * libop/op_events.c: add op_default_event 2651 2652 * utils/op_help.c: move default event stuff to libop, 2653 fix -c option 2654 26552003-07-15 John Levon <levon@movementarian.org> 2656 2657 * utils/op_help.c: fix default RTC event to be 2658 "RTC_INTERRUPTS" 2659 26602003-07-15 Philippe Elie <phil.el@wanadoo.fr> 2661 2662 * utils/opcontrol 2663 * events/rtc..events: use RTC_INTERRUPTS as event name 2664 26652003-07-15 Philippe Elie <phil.el@wanadoo.fr> 2666 2667 * daemon/opd_sample_files.c: C89 compile fix 2668 26692003-07-15 John Levon <levon@movementarian.org> 2670 2671 * utils/opcontrol: 2672 * utils/op_help.c: move the default event strings into 2673 op_help.c instead of in opcontrol 2674 26752003-07-15 John Levon <levon@movementarian.org> 2676 2677 * doc/oprofile.xml: document event name for timer interrupt 2678 2679 * daemon/opd_sample_files.c: handle CPU_TIMER_INT 2680 2681 * utils/op_help.c: fix a core dump 2682 26832003-07-13 Philippe Elie <phil.el@wanadoo.fr> 2684 2685 * daemon/opd_image.c: verbprintf() when starting reading buffer not 2686 printf 2687 26882003-07-12 Philippe Elie <phil.el@wanadoo.fr> 2689 2690 * from BRANCH_CALLGRAPH: 2691 * daemon/opd_image.c: printf -> verbprintf, fix comment 2692 * daemon/opd_kernel.c: kernel/module samples statistics was wrong 2693 2694 * daemon/opd_image.c: 2695 * daemon/opd_image.h: 2696 * daemon/opd_kernel.c: 2697 * daemon/opd_kernel.h: import cleanup from branch, mainly don't handle 2698 samples in opd_kernel.c but return (creating if necessary) an 2699 opd_image struct where the sample must go and let opd_image caller 2700 in opd_image.c do sample insertion 2701 27022003-07-11 Philippe Elie <phil.el@wanadoo.fr> 2703 2704 * utils/opcontrol: shows basename $0 with --version 2705 * libpp/op_header.cpp: formating 2706 27072003-07-11 Philippe Elie <phil.el@wanadoo.fr> 2708 2709 * utils/opcontrol: don't try to save current if the directory doesn't 2710 exist 2711 27122003-07-11 Philippe Elie <phil.el@wanadoo.fr> 2713 2714 * libutil++/stream_util.h: 2715 * libutil++/stream_util.cpp: new file, io_state() save object 2716 * libutil++/Makefile.am: handle new file 2717 * libutil++/op_bfd.cpp: 2718 * pp/opreport.cpp: 2719 * libpp/op_header.cpp: use io_state 2720 27212003-07-09 Philippe Elie <phil.el@wanadoo.fr> 2722 2723 * module/x86/op_model_p4.c: reflect intel documentation fix. 2724 27252003-07-08 Will Cohen <wcohen@redhat.com> 2726 2727 * daemon/opd_kernel.c: Handle /proc/modules format. 2728 27292003-07-08 Will Cohen <wcohen@redhat.com> 2730 2731 * doc/oprofile.xml: 2732 * configure.in: --enable-gcov option and documentation. 2733 27342003-07-08 Will Cohen <wcohen@redhat.com> 2735 2736 * utils/opcontrol: Correct P4 default event. 2737 27382003-06-03 John Levon <levon@movementarian.org> 2739 2740 * from BRANCH_CALLGRAPH 2741 * libdb/odb_hash.h: 2742 * libdb/db_manage.c: 2743 * libdb/db_insert.c: namespace safety 2744 2745 * libpp/partition_files.cpp: 2746 * libpp/profile.cpp: spacing, add a FIXME 2747 27482003-07-07 Philippe Elie <phil.el@wanadoo.fr> 2749 2750 * pp/opannotate.cpp: 2751 * pp/opgprof.cpp: 2752 * pp/opreport.cpp: cleanup walking through multimap with a 2753 pair<iterator, iterator> 2754 27552003-07-05 Philippe Elie <phil.el@wanadoo.fr> 2756 2757 * daemon/opd_image.c: 2758 * libdb/db_insert.c: 64 bits arch compile fix, thanks to Falk Hueffner 2759 <falk@debian.org> 2760 27612003-07-02 Philippe Elie <phil.el@wanadoo.fr> 2762 2763 * pp/opreport.cpp: honor options::show_header 2764 27652003-06-30 Graydon Hoare <graydon@redhat.com> 2766 2767 * libpp/op_header.cpp: Handle printing multiple bitmask values. 2768 27692003-06-19 John Levon <levon@movementarian.org> 2770 2771 * doc/Makefile.am: fix make distcheck 2772 27732003-06-18 John Levon <levon@movementarian.org> 2774 2775 * pp/opannotate_options.c: hide the unhandled 2776 --base-dir option 2777 27782003-06-18 John Levon <levon@movementarian.org> 2779 2780 * pp/Makefile.am: don't build opdiff 2781 27822003-06-17 Will Cohen <wcohen@redhat.com> 2783 2784 * daemon/opd_cookie.h: Add s390 syscall value. 2785 27862003-06-17 John Levon <levon@movementarian.org> 2787 2788 * utils/opcontrol: don't accept "-r" - it's too easy to typo 2789 27902003-06-17 John Levon <levon@movementarian.org> 2791 2792 * doc/srcdoc/Doxyfile: removed 2793 2794 * doc/srcdoc/Doxyfile.in: 2795 * configure.in: generate doxygen version nr. automatically 2796 27972003-06-17 Philippe Elie <phil.el@wanadoo.fr> 2798 2799 * libdb/db_insert.cpp: missing initialization of error message on 2800 error path 2801 28022003-06-17 John Levon <levon@movementarian.org> 2803 2804 * utils/opcontrol: accept some short forms for common 2805 operations 2806 28072003-06-17 John Levon <levon@movementarian.org> 2808 2809 * utils/opcontrol: accept --foo blah as well as 2810 --foo=blah 2811 28122003-06-16 John Levon <levon@movementarian.org> 2813 2814 * utils/opcontrol: "opcontrol" will show usage 2815 instead of doing nothing 2816 28172003-06-16 Will Cohen <wcohen@nc.rr.com> 2818 2819 * libabi/abi.cpp: 2820 * libabi/op_import.cpp: Add required include for cassert. 2821 28222003-06-16 John Levon <levon@movementarian.org> 2823 2824 * events/x86-64.hammer.unit_masks: remove some 2825 bogus FIXMEs 2826 28272003-06-15 John Levon <levon@movementarian.org> 2828 2829 * README: fix autogen.sh line 2830 28312003-06-15 John Levon <levon@movementarian.org> 2832 2833 * daemon/opd_image.c: 64 bit fixes 2834 28352003-06-15 John Levon <levon@movementarian.org> 2836 2837 * utils/op_help.c: c89 fix 2838 28392003-06-15 John Levon <levon@movementarian.org> 2840 2841 * daemon/opd_image.c: c89 fix 2842 28432003-06-15 John Levon <levon@movementarian.org> 2844 2845 * doc/oprofile.xml: document --event 2846 2847 * utils/opcontrol: 2848 * utils/op_help.c: allow unit mask, kernel, user to be 2849 optional. Verify not too many events are passed. 2850 28512003-06-15 John Levon <levon@movementarian.org> 2852 2853 * libop/op_cpu_type.c: fix nr_counters cpu type check 2854 2855 * utils/op_help: implement --check_events, event validation 2856 and counter allocation 2857 2858 * utils/opcontrol: use the above, implement --event=default 2859 28602003-06-14 John Levon <levon@movementarian.org> 2861 2862 * daemon/opd_image.c: fix a stupid error in my previous TGID patch 2863 28642003-06-12 Graydon Hoare <graydon@redhat.com> 2865 2866 * libop/op_events.c (op_check_events): Check bitmasks as well as 2867 exclusive values, for unit masks. 2868 28692003-06-12 John Levon <levon@movementarian.org> 2870 2871 * daemon/opd_image.c: we were not handling a truncated 2872 TGID entry properly 2873 28742003-06-12 John Levon <levon@movementarian.org> 2875 2876 * libutil++/unique_storage.h: missing typename 2877 28782003-06-11 Philippe Elie <phil.el@wanadoo.fr> 2879 2880 * pp/opannotate_options.cpp: typo in option name 2881 28822003-06-11 Philippe Elie <phil.el@wanadoo.fr> 2883 2884 * libutil++/op_bfd.cpp: boring_symbol() new to get a better choice 2885 when eliminating symbol at identical vma 2886 28872003-06-11 Philippe Elie <phil.el@wanadoo.fr> 2888 2889 * utils/opcontrol: fix rtc option checking, bug added after 0.5.3, 2890 no big deal 2891 28922003-06-11 Philippe Elie <phil.el@wanadoo.fr> 2893 2894 * libregex/op_regex.cpp: 2895 * libpp/profile.cpp: compile fix, tree was broken by my previous patch 2896 28972003-06-11 Jason Yeh <jason.yeh@amd.com> 2898 2899 * events/i386.athlon.events: add CPU_CLK_UNHALTED 2900 2901 * utils/opcontrol: use the above by default 2902 2903 * events/x86-64.hammer.events: 2904 * events/x86-64.hammer.unit_masks: various fixes 2905 29062003-06-11 Philippe Elie <phil.el@wanadoo.fr> 2907 2908 * libpp/op_header.cpp: 2909 * libpp/profile.cpp: 2910 * libpp/profile_spec.cpp: 2911 * libpp/symbol_sort.cpp: 2912 * libregex/op_regex.cpp: 2913 * libutil++/op_bfd.cpp: use exception rather exit(EXIT_FAILURE) in 2914 library code 2915 29162003-06-11 John Levon <levon@movementarian.org> 2917 2918 * daemon/opd_image.c: future-proof the code handlers 2919 29202003-06-11 Philippe Elie <phil.el@wanadoo.fr> 2921 2922 * pp/opannotate.cpp: output_asm() avoid output when the set of selected 2923 symbols doesn't contain any samples 2924 29252003-06-11 Philippe Elie <phil.el@wanadoo.fr> 2926 2927 * libutil++/unique_storage.h: we don't need to check if key is present 2928 before trying to insert it 2929 29302003-06-10 Philippe Elie <phil.el@wanadoo.fr> 2931 2932 * libpp/name_storage.h: minor tidy 2933 * libutil++/unique_storage.h: small efficiency improvement 2934 29352003-06-09 John Levon <levon@movementarian.org> 2936 2937 * pp/Makefile.am: 2938 * libutil/Makefile.am: fix make distcheck 2939 29402003-06-09 John Levon <levon@movementarian.org> 2941 2942 * libpp/opp_symbol.h: rename to ... 2943 2944 * libpp/symbol.h: ... this 2945 2946 * libpp/Makefile.am: 2947 * libpp/format_output.h: 2948 * libpp/format_output.cpp: 2949 * libpp/profile_container.h: 2950 * libpp/profile_container.cpp: 2951 * libpp/sample_container.h: 2952 * libpp/sample_container.cpp: 2953 * libpp/symbol_functors.h: 2954 * libpp/symbol_sort.cpp: fix up from above and some header 2955 cleanups 2956 29572003-06-09 John Levon <levon@movementarian.org> 2958 2959 * libpp/profile.h: std::pair not pair 2960 29612003-06-08 Philippe Elie <phil.el@wanadoo.fr> 2962 2963 * libpp/profile.cpp: don't underflow start offset when the vma range 2964 is unknown 2965 * pp/opreport.cpp: use samples_range() not samples_range(0, ~0) 2966 29672003-06-08 Philippe Elie <phil.el@wanadoo.fr> 2968 2969 * libpp/profile.h: 2970 * libpp/profile.cpp: replace accumulate_samples() API by an iterator 2971 interface 2972 * libpp/profile_container.h: 2973 * libpp/profilecontainer.cpp: 2974 * pp/opreport.cpp: use new API 2975 29762003-06-08 Philippe Elie <phil.el@wanadoo.fr> 2977 2978 * include/sstream: replace old version by the once shipped with 2979 2.95.3, seekg() in the old was not working 2980 29812003-06-08 John Levon <levon@movementarian.org> 2982 2983 * libpp/name_storage.h: don't need to define the tag structs 2984 2985 * libutil++/unique_storage.h: fix the comments, 2986 make get() public 2987 29882003-06-08 Philippe Elie <phil.el@wanadoo.fr> 2989 2990 * libpp/profile_container.cpp: 2991 * libutil++/string_manip.cpp: gcc 2.91.66 fix 2992 29932003-06-08 John Levon <levon@movementarian.org> 2994 2995 * libpp/name_storage.h: 2996 * libpp/name_storage.cpp: 2997 * libpp/opp_symbol.h: 2998 * libpp/profile_container.cpp: 2999 * libpp/symbol_functors.cpp: 3000 * libutil++/unique_storage.h: don't derive from I() 3001 at all for id_value, it's not needed. Hide .id and 3002 provide operator<(), operator==(), operator!=(), and 3003 set() 3004 30052003-06-08 John Levon <levon@movementarian.org> 3006 3007 * libutil++/unique_storage.h: make some of 3008 id_value only visible to unique_storage. 3009 30102003-06-08 John Levon <levon@movementarian.org> 3011 3012 * libpp/name_storage.h: 3013 * libutil++/unique_storage.h: move the ID class 3014 into unique_storage, and make it derive from the 3015 template parameter, to give simpler type safe support 3016 30172003-06-08 John Levon <levon@movementarian.org> 3018 3019 * libutil++/Makefile.am: 3020 * libutil++/unique_storage.h: add new template for 3021 unique storage of values 3022 3023 * libpp/name_storage.h: 3024 * libpp/name_storage.cpp: use it 3025 30262003-06-07 Philippe Elie <phil.el@wanadoo.fr> 3027 3028 * libpp/profile_container.cpp: fix order of file output with opannotate 3029 --source to be consistent with other tools 3030 30312003-06-07 John Levon <levon@movementarian.org> 3032 3033 * libpp/profile_container.cpp: fix operator< 3034 30352003-06-07 Philippe Elie <phil.el@wanadoo.fr> 3036 3037 * libpp/profile.h: 3038 * libpp/profile.cpp: change API to walk through vma with non zero 3039 samples count rather looking for all vma. This is not very clean, an 3040 iterator interface will be perhaps a better idea. Measures shows it's 3041 to do it so for now I apply it. 3042 * libpp/profile_container.cpp: update according to above change. 3043 30442003-06-07 Philippe Elie <phil.el@wanadoo.fr> 3045 3046 * libpp/profile_container.h: 3047 * libpp/profile_container.cpp: 3048 * libpp/symbol_container.h: 3049 * libpp/symbol_container.cpp: remove dead api 3050 find_symbol(string symbol_name) 3051 30522003-06-07 Philippe Elie <phil.el@wanadoo.fr> 3053 3054 * libpp/name_storage.h: 3055 * libpp/name_storage.cpp: 3056 * libpp/profile_container.cpp: 3057 * libpp/profile_container.h: 3058 * libpp/sample_container.h: 3059 * libpp/sample_container.cpp: 3060 * libpp/symbol_container.h: 3061 * libpp/symbol_container.cpp: 3062 * pp/opannotate.cpp: replace some use of string filename by 3063 debug_name_id 3064 30652003-06-05 John Levon <levon@movementarian.org> 3066 3067 * daemon/Makefile.am: 3068 * daemon/opd_kernel.c: 3069 * daemon/p_module.h: remove p_module.h, unused 3070 3071 * daemon/opd_cookie.h: use __NR_lookup_dcookie and 3072 use our definitions only if it's not defined 3073 3074 * daemon/opd_image.c: 3075 * daemon/opd_kernel.c: 3076 * daemon/opd_sample_files.c: 3077 * daemon/oprofiled.c: pedantry 3078 3079 * libabi/op_import.cpp: 3080 * libabi/abi_test.cpp: fix build from odb change 3081 3082 * libop/op_config.h: move NR_CPUS to ... 3083 3084 * libop/op_config_24.h: ... here 3085 3086 * libop/op_hw_config.h: remove unused OP_COUNT_MAX 3087 30882003-06-03 Philippe Elie <phil.el@wanadoo.fr> 3089 3090 * libpp/op_header.cpp: 3091 * libpp/profile.cpp: 3092 * dae/opd_proc.c: 3093 * dae/opd_sample_files.c: 3094 * daemon/opd_image.c: 3095 * daemon/opd_sample_files.c: 3096 * libdb/odb_hash.h: 3097 * libdb/db_insert.c: 3098 * libdb/db_manage.c: 3099 * libdb/db_test.c: error message is now a field of a samples_odb_t 3100 31012003-06-03 John Levon <levon@movementarian.org> 3102 3103 * libutil++/child_reader.cpp: 3104 * libabi/abi.cpp: 3105 * libabi/abi.h: 3106 * libabi/abi_test.cpp: 3107 * libabi/op_api.h: 3108 * libabi/op_abi.cpp: 3109 * libabi/op_import.cpp: pedantry, remove unused code 3110 31112003-06-01 Philippe Elie <phil.el@wanadoo.fr> 3112 3113 * dae/oprofiled.c: 3114 * libop/oprofiled.c: 3115 * libop/op_cpu_type.c: 3116 * module/oprofile.c: 3117 * module/oprofile.h: 3118 * pp/opdiff.cpp: more static data and function 3119 31202003-05-31 Philippe Elie <phil.el@wanadoo.fr> 3121 3122 * gui/oprof_start_util.h: 3123 * libdb/db_stat.c: 3124 * libdb/odb_hash.h: 3125 * libpp/format_output.h: 3126 * libpp/locate_image.h: 3127 * libpp/name_storage.h: 3128 * libpp/partition_files.h: 3129 * libpp/profile.h: 3130 * libutil++/op_bfd.h: 3131 * libutil++/op_bfd.cpp: improve doxygen comment 3132 31332003-05-31 Philippe Elie <phil.el@wanadoo.fr> 3134 3135 * configure.in: use AC_DEFINE_UNQUOTED() to define version string 3136 in config.h not in version-1.h 3137 * Makefile.am: distclean-local: is no longer used 3138 * version-1.h.in: delete 3139 * libutil/op_version.h: 3140 * libutil/op_version.c: new file: package version output 3141 * libutil/Makefile.am: 3142 * dae/oprofiled.c: 3143 * daemon/oprofiled.c: 3144 * gui/oprof_start.h: 3145 * libop/op_events.c: 3146 * libopt++/popt_options.cpp: 3147 * libregex/demangle_sybol.cpp: 3148 * module/oprofile.c: 3149 * utils/op_help.c: tweak # include according 3150 31512003-05-30 Dan Zink <Dan.Zink@hp.com> 3152 3153 * module/x86/op_apic.c: really disable the apic if it was disabled 3154 31552003-05-29 John Levon <levon@movementarian.org> 3156 3157 * utils/opcontrol: don't allow --rtc-value if not RTC mode 3158 31592003-05-27 John Levon <levon@movementarian.org> 3160 3161 * libutil++/string_manip.h: add <stdexcept> 3162 3163 * pp/opannotate.cpp: use '\n' not endl 3164 3165 * pp/opreport.cpp: untie cout 3166 31672003-05-29 Philippe Elie <phil.el@wanadoo.fr> 3168 3169 * merge with pp-interface-branch: following ChangeLog was unmerged 3170 to branch 3171 3172 2003-05-27 John Levon <levon@movementarian.org> 3173 3174 * configure.in: oprofile 0.5.3 is released, back to 3175 0.6cvs 3176 3177 2003-05-26 John Levon <levon@movementarian.org> 3178 3179 * doc/oprofile.xml: update docs for --no-vmlinux 3180 3181 2003-05-26 John Levon <levon@movementarian.org> 3182 3183 * libop/op_interface_25.h: 3184 * daemon/opd_image.c: handle tgid for future 3185 compatibility, fix compile on older gccs 3186 3187 2003-05-26 John Levon <levon@movementarian.org> 3188 3189 * libop/op_interface_25.h: add LAST_CODE 3190 3191 * daemon/opd_stats.h: 3192 * daemon/opd_stats.c: count short reads of 3193 buffer and unplaceable samples 3194 3195 * daemon/opd_image.c: rewrite buffer parsing 3196 code, handle window where we can't place a 3197 sample 3198 3199 2003-05-26 John Levon <levon@movementarian.org> 3200 3201 * libutil++/utility.h: fix typo 3202 3203 * utils/opcontrol: fix typo 3204 3205 2003-05-16 John Levon <levon@movementarian.org> 3206 3207 * pp/counter_profile.cpp: remove bogus cpu speed 3208 consistency check 3209 3210 2003-05-09 John Levon <levon@movementarian.org> 3211 3212 * m4/Makefile.am: 3213 * m4/compileroption.m4: add a generalised compiler option 3214 tester 3215 3216 * configure.in: use it, add -fno-common 3217 3218 2003-05-09 John Levon <levon@movementarian.org> 3219 3220 * daemon/oprofiled.c: 3221 * dae/oprofiled.c: remove duplicate declaration found 3222 via -fno-common 3223 3224 2003-05-04 John Levon <levon@movementarian.org> 3225 3226 * doc/oprofile.xml: fix validation errors from xmllint --valid 3227 3228 32292003-05-28 Philippe Elie <phil.el@wanadoo.fr> 3230 3231 * libpp/profile_spec.cpp: make image:/path/to:image working 3232 32332003-05-28 Philippe Elie <phil.el@wanadoo.fr> 3234 3235 * libutil++/string_manip.h: 3236 * libutil++/string_manip.cpp: specialize 3237 lexical_cast_no_ws<unsigned int> to accept hexadecimal input 3238 3239 * pp/common_option.cpp: missing << endl 3240 32412003-05-27 Philippe Elie <phil.el@wanadoo.fr> 3242 3243 * doc/oprofile.xml: update example in "Interpreting profiling results" 3244 section 3245 32462003-05-26 John Levon <levon@movementarian.org> 3247 3248 * doc/oprofile.xml: add new pp tools options 3249 32502003-05-26 John Levon <levon@movementarian.org> 3251 3252 * doc/opreport.1.in: 3253 * doc/opgprof.1.in: 3254 * doc/opannotate.1.in: 3255 * doc/op_help.1.in: complete 3256 32572003-05-26 John Levon <levon@movementarian.org> 3258 3259 * configure.in: 3260 * doc/Makefile.am: 3261 * doc/oprofile.1.in: 3262 * doc/op_help.1.in: 3263 * doc/opcontrol.1.in: 3264 * doc/opreport.1.in: 3265 * doc/opannotate.1.in: 3266 * doc/opgprof.1.in: re-organise and add manpages 3267 32682003-05-26 John Levon <levon@movementarian.org> 3269 3270 * doc/oprofile.xml: start to document the pp interface 3271 32722003-05-26 Philippe Elie <phil.el@wanadoo.fr> 3273 3274 * pp/opreport.cpp: remove automatic switch to --symbols mode 3275 32762003-05-26 Philippe Elie <phil.el@wanadoo.fr> 3277 3278 * libpp/symbol_sort.h: 3279 * pp/opannotate_options.cpp: 3280 * pp/opgprof_options.cpp: 3281 * pp/opreport_options.cpp: handle meaningless options combinations 3282 32832003-05-26 Philippe Elie <phil.el@wanadoo.fr> 3284 3285 * pp/opgprof_options.cpp: no need to use unmergeable_profile here 3286 32872003-05-25 Philippe Elie <phil.el@wanadoo.fr> 3288 3289 * events/i386.piii.unit_masks: tweak comment, change default unit mask 3290 for kni instruction to 0 and type to exclusive 3291 32922003-05-25 Philippe Elie <phil.el@wanadoo.fr> 3293 3294 * libpp/profile_container.cpp: thinko 3295 * pp/opreport.cpp: typo 3296 32972003-05-25 John Levon <levon@movementarian.org> 3298 3299 * libopt++/popt_options.h: 3300 * libopt++/popt_options.cpp: obvious cleanup, 3301 remove some dead code 3302 33032003-05-25 Philippe Elie <phil.el@wanadoo.fr> 3304 3305 * libpp/format_flags: cf_image_name new column_flags flag 3306 * libpp/profile_container.cpp: use above flag. Don't compare app_name 3307 by string but id 3308 * pp/opreport.cpp: hide image_name when un-necessary 3309 33102003-05-24 Philippe Elie <phil.el@wanadoo.fr> 3311 3312 * doc/srcdoc/Doxyfile: 3313 * libpp/profile.h: 3314 * libpp/profile_container.h: 3315 * libutil++/utility.h: remove gcc 2.91 noncopyable as empty base class 3316 work-around 3317 33182003-05-23 Philippe Elie <phil.el@wanadoo.fr> 3319 3320 * configure.in: do early check of libiberty 3321 3322 * libpp/symbol_sort.cpp: 2.91 compile fix 3323 33242003-05-22 Philippe Elie <phil.el@wanadoo.fr> 3325 3326 * libutil++/child_reader.h: minor #include fix 3327 33282003-05-22 Philippe Elie <phil.el@wanadoo.fr> 3329 3330 * libpp/name_storage.cpp: debug_name_storage::name() 3331 return an empty string when for zero id to avoid exception 3332 33332003-05-21 Philippe Elie <phil.el@wanadoo.fr> 3334 3335 * libpp/profile.cpp: 3336 * libpp/op_header.h: 3337 * libpp/op_header.cpp: when sample file differ output the sample 3338 filename 3339 3340 * pp/opannotate.cpp: remove spurious output 3341 3342 * */Makefile.am: 3343 * configure.in: handle our own OP_CFLAGS, OP_CXXFLAGS to let user 3344 free to use make CFLAGS= 3345 33462003-05-20 Philippe Elie <phil.el@wanadoo.fr> 3347 3348 * libpp/profile_spec.h: 3349 * libpp/profile_spec.cpp: remove lib_image_exclude, use image_exclude 3350 instead. match() Handle image exclusion. 3351 3352 * libregex/stl.pat.in: FIXME 3353 3354 * libutil++/string_manip.h: compile fix 3355 33562003-05-19 John Levon <levon@movementarian.org> 3357 3358 * libutil++/comma_list.h: 3359 * libpp/filename_spec.cpp: 3360 * libutil++/string_manip.h: 3361 * libutil++/generic_spec.h: rename strict_convert<> 3362 to lexical_cast_no_ws<> 3363 33642003-05-19 John Levon <levon@movementarian.org> 3365 3366 * libutil++/generic_spec.h: move strict_convert<> to... 3367 3368 * libutil++/string_manip.h: ...here 3369 33702003-05-19 John Levon <levon@movementarian.org> 3371 3372 * libutil++/generic_spec.h: comma_list isn't a friend 3373 any more 3374 3375 * libutil++/comma_list.h: use generic_spec<>::match() 3376 directly 3377 33782003-05-19 John Levon <levon@movementarian.org> 3379 3380 * libpp/name_storage.h: s/name_map/stored_names/, it's not 3381 a map any more. 3382 33832003-05-19 Philippe Elie <phil.el@wanadoo.fr> 3384 3385 * libregex/mangled-name.txt: 3386 * libregex/stl.pat.in: partial handling of _Identity<> and 3387 _Select1st<>, pattern fail if type are too complex 3388 33892003-05-19 Philippe Elie <phil.el@wanadoo.fr> 3390 3391 * libpp/format_output.cpp: small cleanup 3392 3393 * libpp/name_storage.h: 3394 * libpp/name_storage.cpp: ensure type safety by providing distinct 3395 type identifier for each name_storage based container 3396 3397 * libpp/profile_container.cpp: 3398 * libpp/sample_container.cpp: 3399 * libpp/symbol_functors.cpp: 3400 * libpp/symbol_sort.cpp: 3401 * libpp/opp_symbol.h: use the name identifier api 3402 3403 * libpp/op_header.cpp: 3404 * libpp/partition_files.cpp: use a set<string> not a name_storage 3405 3406 * libpp/format_output.cpp: small cleanup 3407 3408 34092003-05-18 Philippe Elie <phil.el@wanadoo.fr> 3410 3411 * libpp/partition_files.cpp: merge partition entry when necessary 3412 fixing a corner case when a binary can be a dependent or a primary 3413 image and was not merged 3414 34152003-05-18 Philippe Elie <phil.el@wanadoo.fr> 3416 3417 * pp/opreport_options.cpp: 3418 * pp/opannotate_options.cpp: remove conflicting options shortcut 3419 34202003-05-18 Philippe Elie <phil.el@wanadoo.fr> 3421 3422 * libregex/stl.pat.in: add list<T>::{const_}+iterator 3423 34242003-05-17 Philippe Elie <phil.el@wanadoo.fr> 3425 3426 * libpp/name_storage.cpp: basename() return an empty string for nil id 3427 34282003-05-17 Philippe Elie <phil.el@wanadoo.fr> 3429 3430 * libutil++/op_bfd.cpp: get_linenr() init linenr to zero 3431 3432 * libpp/name_storage.cpp: don't use id zero 3433 * libpp/opp_symbol.h: now we use id and not string we must provide 3434 default ctor to initialize the id 3435 * libpp/profile_container.cpp: init debug info entry only if 3436 get_linenr() succeed 3437 34382003-05-17 Philippe Elie <phil.el@wanadoo.fr> 3439 3440 * libdb/db_manage.c: better handling of zero sample file size when 3441 opening in read only mode 3442 3443 * module/x86/op_nmi.c: printk format fix 3444 34452003-05-17 John Levon <levon@movementarian.org> 3446 3447 * pp/opannotate_option.cpp: 3448 * pp/opreport_options.cpp: command line changes 3449 34502003-05-17 John Levon <levon@movementarian.org> 3451 3452 * libpp/name_storage.h: 3453 * libpp/name_storage.cpp: add present() 3454 3455 * libpp/op_header.cpp: 3456 * libpp/partition_files.cpp: use a name store 3457 to track what we've warned about, and clean up 3458 the warnings a bit 3459 34602003-05-16 John Levon <levon@movementarian.org> 3461 3462 * libutil++/op_bfd.h: 3463 * libutil++/op_bfd.cpp: expose anonymous symbols 3464 to the world as "??sectionname". Useful for .plt 3465 and .fini, which are quite common. 3466 3467 * libpp/name_storage.cpp: demangle anonymous symbols 3468 nicely. 3469 34702003-05-16 John Levon <levon@movementarian.org> 3471 3472 * libpp/symbol_sort.cpp: fix image-sorting 3473 34742003-05-16 John Levon <levon@movementarian.org> 3475 3476 * libpp/name_storage.h: 3477 * libpp/name_storage.cpp: make ID be per-container 3478 34792003-05-16 John Levon <levon@movementarian.org> 3480 3481 * libpp/name_storage.h: 3482 * libpp/name_storage.cpp: merge processed names 3483 into one string, remove the boolean 3484 34852003-05-16 John Levon <levon@movementarian.org> 3486 3487 * libpp/name_storage.h: 3488 * libpp/name_storage.cpp: whoops, use string 3489 not stored_name for the ID map 3490 34912003-05-16 John Levon <levon@movementarian.org> 3492 3493 * libpp/name_storage.h: 3494 * libpp/name_storage.cpp: split into three 3495 stores for debug filenames, symbols, and images 3496 3497 * libpp/format_output.cpp: 3498 * libpp/profile_container.cpp: 3499 * libpp/sample_container.cpp: 3500 * libpp/symbol_container.cpp: 3501 * libpp/symbol_sort.cpp: 3502 * pp/opannotate.cpp: changes from above 3503 35042003-05-16 John Levon <levon@movementarian.org> 3505 3506 * libpp/Makefile.am: 3507 * libpp/name_storage.h: 3508 * libpp/name_storage.cpp: add shared storage 3509 and caching of symbol and file names 3510 3511 * libpp/opp_symbol.h: 3512 * libpp/format_output.cpp: 3513 * libpp/profile_container.cpp: 3514 * libpp/sample_container.cpp: 3515 * libpp/symbol_container.cpp: 3516 * libpp/symbol_container.h: 3517 * libpp/symbol_sort.cpp: 3518 * libpp/symbol_sort.h: 3519 * pp/opannotate.cpp: 3520 * pp/opreport.cpp: use it 3521 3522 * pp/opgprof_options.cpp: add unused demangle 3523 options to hack-fix the build 3524 35252003-05-16 John Levon <levon@movementarian.org> 3526 3527 * libpp/symbol_sort.cpp: fix --sort debug 3528 35292003-05-16 John Levon <levon@movementarian.org> 3530 3531 * libutil++/op_bfd.h: 3532 * libutil++/op_bfd.cpp: remove have_debug_info() 3533 35342003-05-16 Philippe Elie <phil.el@wanadoo.fr> 3535 3536 * libpp/op_header.cpp: remove cpu_speed checking 3537 3538 * libutil++/op_bfd.h: 3539 * libutil++/op_bfd.cpp: bail out in get_linenr() if binary doesn't 3540 contain any debug info. Speed up my test case opreport --debug-info 3541 -l by 25 3542 35432003-05-16 John Levon <levon@movementarian.org> 3544 3545 * libutil++/op_bfd.cpp: clean up interesting_symbol 3546 a bit 3547 35482003-05-16 John Levon <levon@movementarian.org> 3549 3550 * libutil++/op_bfd.cpp: make sure linenr is 3551 always set to something 3552 3553 * libpp/opp_symbol.h: linenr should be unsigned 3554 3555 * libpp/profile_container.cpp: remove some unneeded 3556 copies 3557 35582003-05-16 John Levon <levon@movementarian.org> 3559 3560 * pp/opannotate.cpp: small renaming 3561 35622003-05-15 John Levon <levon@movementarian.org> 3563 3564 * libpp/symbol_container.h: 3565 * libpp/symbol_container.cpp: add begin(), end(), 3566 remove symbols_by_count() 3567 3568 * libpp/profile_container.cpp: use symbol container 3569 iterator directly in select_symbols() 3570 35712003-05-15 John Levon <levon@movementarian.org> 3572 3573 * libpp/format_output.h: 3574 * libpp/format_output.cpp: 3575 * libpp/profile_container.h: 3576 * libpp/profile_container.cpp: 3577 * libpp/symbol_container.h: 3578 * libpp/symbol_container.cpp: 3579 * libpp/symbol_sort.h: 3580 * libpp/symbol_sort.cpp: 3581 * pp/opannotate.cpp: 3582 * pp/opreport.cpp: 3583 * pp/opgprof.cpp: move symbol_collection typedef 3584 into global namespace, and use consistently 3585 35862003-05-15 John Levon <levon@movementarian.org> 3587 3588 * libpp/format_output.h: 3589 * libpp/format_output.cpp: add vma_format_64bit(), 3590 remove bool parameter from output() 3591 3592 * pp/opreport.cpp: change from above, refactor flags 3593 code into get_format_flags() helper 3594 35952003-05-12 Philippe Elie <phil.el@wanadoo.fr> 3596 3597 * libpp/format_output.h: 3598 * libpp/format_output.cpp: 3599 * libpp/symbol_sort.h: 3600 * libpp/symbol_sort.cpp: handle reverse sort in sorting not in output 3601 * pp/opannotate.cpp: 3602 * pp/opreport.cpp: update according 3603 36042003-05-12 Philippe Elie <phil.el@wanadoo.fr> 3605 3606 * libpp/symbol_sort.h: 3607 * libpp/symbol_sort.cpp: handle sort order as specified on command line 3608 3609 * pp/opgprof.cpp: sort symbol is not necessary for gprof 3610 * pp/opreport.cpp: 3611 * pp/opreport_options.cpp: 3612 * pp/opannotate.cpp: use new sort API 3613 36142003-05-12 John Levon <levon@movementarian.org> 3615 3616 * libpp/symbol_sort.h: 3617 * libpp/symbol_sort.cpp: partial implementation 3618 of other sort options 3619 36202003-05-12 John Levon <levon@movementarian.org> 3621 3622 * libpp/Makefile.am: 3623 * libpp/symbol_sort.h: 3624 * libpp/symbol_sort.cpp: add sorting code 3625 3626 * symbol_functors.h: move some less() into 3627 symbol_sort.cpp 3628 3629 * libpp/profile_container.h: 3630 * libpp/profile_container.cpp: don't pass in 3631 sort option to select_symbols(), do it in caller 3632 3633 * pp/opannotate.cpp: 3634 * pp/opgprof.cpp: 3635 * pp/opreport.cpp: 3636 * pp/opreport_options.h: 3637 * pp/opreport_options.cpp: from the above 3638 36392003-05-12 John Levon <levon@movementarian.org> 3640 3641 * format_flags.h: remove vma64_p. Add column_flags 3642 3643 * libpp/profile_container.h: 3644 * libpp/profile_container.cpp: pass in a struct 3645 to select_symbols. Generate hints for 64-bit VMA 3646 and multiple apps in the profile. 3647 3648 * pp/opannotate.cpp: 3649 * pp/opgprof.cpp: 3650 * pp/opreport.cpp: use the above 3651 36522003-05-12 John Levon <levon@movementarian.org> 3653 3654 * libpp/format_output.cpp: 3655 * libpp/format_flags.h: 3656 * pp/opreport.cpp: trivial renaming of flags 3657 36582003-05-11 John Levon <levon@movementarian.org> 3659 3660 * libpp/format_output.cpp: 3661 * libpp/format_flags.h: better output for 3662 the default of short filenames 3663 36642003-05-11 John Levon <levon@movementarian.org> 3665 3666 * pp/opreport.cpp: improve the app/image name column 3667 showing a bit 3668 36692003-05-11 John Levon <levon@movementarian.org> 3670 3671 * pp/opreport.cpp: default to -l if we were just 3672 going to show one image summary. 3673 36742003-05-11 John Levon <levon@movementarian.org> 3675 3676 * pp/opreport.cpp: move some code around that 3677 outputs the image summaries 3678 36792003-05-11 John Levon <levon@movementarian.org> 3680 3681 * libpp/format_output.h: 3682 * libpp/format_output.cpp: 3683 * pp/opreport.cpp: 3684 * pp/opreport_options.h: 3685 * pp/opreport_options.cpp: s/--short-filename/--long-filenames/ 3686 36872003-05-11 John Levon <levon@movementarian.org> 3688 3689 * libpp/profile_spec.h: 3690 * libpp/profile_spec.cpp: take exclude_dependent not 3691 include_dependent 3692 3693 * pp/opannotate_options.c: 3694 * pp/opgprof_options.c: 3695 * pp/opreport_options.h: 3696 * pp/opreport_options.c: change to use exclude_dependent, 3697 remove --hide-dependent 3698 36992003-05-11 John Levon <levon@movementarian.org> 3700 3701 * locate_images.h: 3702 * locate_images.cpp: extra_images can now use 3703 relative paths for its search dirs. Move most of 3704 the warnings out of find_image_path, and make it 3705 also handle relative paths. Return the file 3706 even if it wasn't readable. 3707 3708 * libpp/partition_files.cpp: give warnings when 3709 necessary. 3710 3711 * libpp/profile_spec.h: 3712 * libpp/profile_spec.cpp: handle relative paths 3713 inside image specs, as stated in pp_interface; also 3714 use the extra images search path for resolution. 3715 3716 * pp/opannotate_options.cpp: 3717 * pp/opreport_options.cpp: 3718 * pp/opgprof_options.cpp: changes from above 3719 37202003-05-11 John Levon <levon@movementarian.org> 3721 3722 * libpp/format_flags.h: source doc improvements 3723 37242003-05-11 John Levon <levon@movementarian.org> 3725 3726 * libpp/opp_symbol.h: move vma64_p to ... 3727 3728 * libpp/format_flags.h: ... here 3729 37302003-05-11 John Levon <levon@movementarian.org> 3731 3732 * libpp/Makefile.am: 3733 * libpp/outsymbflags.h: 3734 * libpp/format_flags.h: 3735 * libpp/profile_container.h: 3736 * libpp/format_output.h: 3737 * libpp/format_output.cpp: 3738 * pp/opreport.cpp: rename outsymbflags to format_flags 3739 37402003-05-11 John Levon <levon@movementarian.org> 3741 3742 * profile_container.h: 3743 * profile_container.cpp: 3744 * opannotate.cpp: clean up select_filename() in a 3745 similar fashion 3746 37472003-05-11 John Levon <levon@movementarian.org> 3748 3749 * libpp/profile_container.h: 3750 * libpp/profile_container.cpp: 3751 * pp/opreport.cpp: 3752 * pp/opannotate.cpp: 3753 * pp/opgprof.cpp: another select_symbols() API cleanup 3754 37552003-05-11 John Levon <levon@movementarian.org> 3756 3757 * pp/opgprof.cpp: use select_symbols so we can 3758 handle --threshold 3759 37602003-05-11 Philippe Elie <phil.el@wanadoo.fr> 3761 3762 * pp/opannotate.cpp: use threshold for source output 3763 37642003-05-11 John Levon <levon@movementarian.org> 3765 3766 * pp/common_option.h: 3767 * pp/common_option.cpp: 3768 * pp/opannotate_options.cpp: 3769 * pp/opreport_options.cpp: make --threshold 3770 be a common option. 3771 37722003-05-11 John Levon <levon@movementarian.org> 3773 3774 * pp/profile_container.h: 3775 * pp/profile_container.cpp: 3776 * pp/opannotate.cpp: 3777 * pp/opreport.cpp: clean up select_symbols 3778 interface 3779 37802003-05-11 John Levon <levon@movementarian.org> 3781 3782 * pp/opreport.cpp: make --threshold work for 3783 image summaries too 3784 37852003-05-11 John Levon <levon@movementarian.org> 3786 3787 * pp/opreport_options.cpp: fix --threshold 3788 description to match reality 3789 37902003-05-11 John Levon <levon@movementarian.org> 3791 3792 * libpp/partition_files.h: 3793 * libpp/partition_files.cpp: 3794 * pp/opannotate_options.cpp: 3795 * pp/opgprof_options.cpp: 3796 * pp/opreport.cpp: 3797 * pp/opreport_options.cpp: rename merge_by members 3798 37992003-05-11 John Levon <levon@movementarian.org> 3800 3801 * pp/opreport.cpp: add some logic to not output 3802 duplicate lines for dep images when we've already 3803 shown all the possible details in the main image summary 3804 38052003-05-11 John Levon <levon@movementarian.org> 3806 3807 * pp/common_option.h: use std:: 3808 38092003-05-11 Philippe Elie <phil.el@wanadoo.fr> 3810 3811 * pp/opreport_options.cpp: move handle_threshold() 3812 * pp/common_option.h: 3813 * pp/common_option.cpp: here 3814 * pp/opannotate_options.h: 3815 * pp/opannotate_options.cpp: 3816 * pp/opannotate.cpp: handle --threshold 3817 38182003-05-10 John Levon <levon@movementarian.org> 3819 3820 * libop/op_mangle.h: 3821 * libop/op_mangle.c: use a temp struct for 3822 passing the mangle parameters with a set of 3823 flags. 3824 3825 * dae/opd_sample_files.c: 3826 * daemon/opd_sample_files.c: use it 3827 38282003-05-10 John Levon <levon@movementarian.org> 3829 3830 * Makefile.am: 3831 * HACKING: 3832 * libop++/: 3833 * pp/Makefile.am: 3834 * libpp/Makefile.am: 3835 * libpp/op_header.h: 3836 * libpp/op_header.cpp: remove libop++ after 3837 moving op_header into libpp 3838 38392003-05-10 John Levon <levon@movementarian.org> 3840 3841 * libop++/op_header.cpp: make CPU info take up 3842 one line not two 3843 38442003-05-10 John Levon <levon@movementarian.org> 3845 3846 * libop++/Makefile.am: 3847 * libop++/op_header.cpp: 3848 * libop++/op_print_event.h: 3849 * libop++/op_print_event.cpp: remove op_print_event 3850 files, making it a function local to op_header.cpp 3851 38522003-05-10 John Levon <levon@movementarian.org> 3853 3854 * libop++/op_header.h: 3855 * libop++/op_header.cpp: make output_header() be 3856 an operator<< 3857 3858 * pp/opannotate.cpp: 3859 * pp/opreport.cpp: changes from the above 3860 3861 * libpp/profile.h: small cleanup 3862 38632003-05-10 Philippe Elie <phil.el@wanadoo.fr> 3864 3865 * libutil++/string_manip.h: 3866 * libutil++/string_manip.cpp: replace format_percent() by 3867 format_double() 3868 3869 * libpp/format_output.cpp: 3870 * pp/opannotate.cpp: 3871 * pp/opreport.cpp: use format_double() 3872 38732003-05-09 John Levon <levon@movementarian.org> 3874 3875 * libpp/opp_symbol.h: app name, image name should 3876 be in symbol not in file_location 3877 3878 * libpp/format_output.cpp: 3879 * libpp/profile_container.h: 3880 * libpp/profile_container.cpp: 3881 * libpp/symbol_container.cpp: 3882 * libpp/symbol_functors.cpp: changes from above 3883 38842003-05-09 John Levon <levon@movementarian.org> 3885 3886 * libpp/format_output.h: 3887 * libpp/format_output.cpp: vma_64 doesn't need 3888 to be in field_datum. make one output() private 3889 38902003-05-09 John Levon <levon@movementarian.org> 3891 3892 * libpp/format_output.h: 3893 * libpp/format_output.cpp: pass a symbol ref 3894 not name down into the formatters 3895 38962003-05-09 John Levon <levon@movementarian.org> 3897 3898 * libutil++/string_manip.h: 3899 * libutil++/string_manip.cpp: sample_filename() is unused 3900 39012003-05-09 Philippe Elie <phil.el@wanadoo.fr> 3902 3903 * libop++/op_header.h: 3904 * libop++/op_header.cpp: read_header() new 3905 * libop++/Makefile.in: we depend on libdb 3906 3907 * pp/opannotate.cpp: 3908 * pp/opreport.cpp: better way to get sample file header 3909 39102003-05-09 Philippe Elie <phil.el@wanadoo.fr> 3911 3912 * libpp/format_output.cpp: remove redundant map formater 3913 * pp/opannotate.cpp: spurious cout 3914 39152003-05-08 John Levon <levon@movementarian.org> 3916 3917 * pp/opreport.cpp: 3918 * pp/opreport_options.cpp: 3919 * pp/opreport_options.h: clean up cout stuff as 3920 suggested by Phil 3921 39222003-05-08 John Levon <levon@movementarian.org> 3923 3924 * libpp/profile_spec.h: 3925 * libpp/profile_spec.c: rename the set_p variables, 3926 remove pointless is_empty() function 3927 3928 * pp/opreport.cpp: split collation and output into 3929 two separate functions. Rename the temporary structures 3930 so it's hopefully a bit more obvious what's happening. 3931 Add sourcedocs. 3932 39332003-05-08 John Levon <levon@movementarian.org> 3934 3935 * pp/opreport_options.h: 3936 * pp/opreport_options.cpp: add options::cout, 3937 --output-file option 3938 3939 * pp/opreport.cpp: use options::cout 3940 39412003-05-08 John Levon <levon@movementarian.org> 3942 3943 * pp/format_output.cpp: fix cumulative column widths 3944 39452003-05-08 John Levon <levon@movementarian.org> 3946 3947 * opreport_options.h: add accumulated 3948 3949 * opreport.cpp: handle --accumulated 3950 39512003-05-08 Philippe Elie <phil.el@wanadoo.fr> 3952 3953 * libpp/symbol_container.cpp: minor tidy 3954 3955 * libpp/profile.h: 3956 * libpp/profile.cpp: allow to cumulate sample file 3957 * libpp/profile_container.h: 3958 * libpp/profile_container.cpp: remove free function add_samples() 3959 3960 * pp/annotate.cpp: 3961 * pp/opgprof.cpp: 3962 * pp/opreport.cpp: when possible cumulate samples into a profile_t 3963 first before cumulating them in a profile_container 3964 39652003-05-07 John Levon <levon@movementarian.org> 3966 3967 * pp/opannotate.cpp: small cleanup 3968 39692003-05-07 John Levon <levon@movementarian.org> 3970 3971 * pp/opreport_options.cpp: remove unneeded include 3972 39732003-05-07 John Levon <levon@movementarian.org> 3974 3975 * libpp/Makefile.am: 3976 * libpp/parse_cmdline.h: 3977 * libpp/parse_cmdline.cpp: rename to ... 3978 3979 * libpp/profile_spec.h: 3980 * libpp/profile_spec.cpp: this. Make handle_nonoptions() 3981 be a static factory create() method instead. Make 3982 select_sample_filenames() be a member generate_file_list() 3983 instead. Concomitant cleanups. 3984 3985 * libpp/filename_spec.h: 3986 * pp/opannotate_options.cpp: 3987 * pp/opgprof_options.cpp: 3988 * pp/opreport_options.cpp: changes from above 3989 39902003-05-07 John Levon <levon@movementarian.org> 3991 3992 * libpp/profile.cpp: fix stupid error in last commit 3993 39942003-05-07 John Levon <levon@movementarian.org> 3995 3996 * libpp/profile.h: 3997 * libpp/profile.cpp: remove sample_filename member, 3998 bogus old spurious check, set_start_offset(). 3999 4000 * libpp/profile_container.cpp: 4001 * pp/opannotate.cpp: 4002 * pp/opreport.cpp: changes from above 4003 40042003-05-07 John Levon <levon@movementarian.org> 4005 4006 * libpp/derive_files.h: 4007 * libpp/derive_files.cpp: rename files as ... 4008 4009 * libpp/locate_images.h: 4010 * libpp/locate_images.cpp: this. 4011 4012 * libpp/Makefile.am: 4013 * libpp/partition_files.h: 4014 * pp/common_option.h: 4015 * pp/opgprof.cpp: 4016 * pp/opgprof_options.h: 4017 * pp/opreport_options.h: changes from above 4018 40192003-05-07 John Levon <levon@movementarian.org> 4020 4021 * libpp/derive_files.h: 4022 * libpp/derive_files.cpp: rework into extra_images 4023 class 4024 4025 * libpp/partition_files.h: 4026 * libpp/partition_files.cpp: 4027 * pp/common_option.h: 4028 * pp/common_option.cpp: 4029 * pp/opannotate.cpp: 4030 * pp/opgprof.cpp: 4031 * pp/opreport.cpp: use the above 4032 40332003-05-07 John Levon <levon@movementarian.org> 4034 4035 * libpp/Makefile.am: 4036 * session.h: 4037 * session.cpp: remove session.{h,cpp} 4038 40392003-05-07 Philippe Elie <phil.el@wanadoo.fr> 4040 4041 * pp/oprofpp.cpp pp/oprofpp_options.cpp pp/oprofpp_options.h: 4042 * pp/op_time.cpp pp/op_time_options.cpp pp/op_time_options.h: 4043 * pp/op_to_source.cpp pp/op_to_source_options.cpp: 4044 * pp/op_to_source_options.h pp/op_merge.cpp: removed files 4045 4046 * pp/Makefile.am: update 4047 40482003-05-06 Philippe Elie <phil.el@wanadoo.fr> 4049 4050 * pp/opgprof.cpp: infamous typo 4051 4052 * pp/opannotate.cpp: output sample file header 4053 4054 40552003-05-06 Philippe Elie <phil.el@wanadoo.fr> 4056 4057 * libpop++/op_mangling.h: 4058 * libpop++/op_mangling.cpp: removed file 4059 * libop++/op_header.h: 4060 * libop++/op_header.cpp: new file, misc function acting on sample 4061 file header stolen from libpp/profile.(cpp|h) 4062 * libop++/op_print_event.h: typo 4063 * libop++/op_print_event.cpp: save/restore ostream state 4064 * libop++/Makefile.am: update 4065 4066 * libop/op_sample_file.h: remove dead #define OPD_MANGLE_CHAR 4067 4068 * libpp/profile.h: 4069 * libpp/profile.cpp: move some member function to free function in 4070 libop++/op_header.(cpp|h) 4071 * libpp/profile_container.cpp: minor call change 4072 4073 * libpp/Makefile.am: op_merge can't be compiled currently inhibit build 4074 4075 * libpp/opreport.cpp: output sample file header 4076 40772003-05-06 Philippe Elie <phil.el@wanadoo.fr> 4078 4079 * libutil++/path_filter.h: default param to empty string not "*" 4080 4081 * libpp/symbol_functors.h: remove dead code 4082 4083 * pp/opgprof.cpp: off by one in histsize calculation 4084 40852003-05-04 Philippe Elie <phil.el@wanadoo.fr> 4086 4087 * libutil/op_file.h: 4088 * libutil/op_file.c: sanitize create_path() 4089 4090 * libutil++/path_filter.h: default ctor match all 4091 4092 * libpp/profile_container.h: 4093 * libpp/profile_container.cpp: 4094 * libpp/sample_container.h: 4095 * libpp/sample_container.cpp: 4096 * libpp/symbol_container.h: 4097 * libpp/symbol_container.cpp: extend api to allow selecting symbol 4098 restricted to one application, ditto for retrieving samples 4099 4100 * pp/opannotate_options.h: 4101 * pp/opannotate_options.cpp: 4102 * pp/opannotate.cpp: implement 4103 4104 * pp/opgprof_options.h: 4105 * pp/opgprof_options.cpp: 4106 * pp/opreport_options.h: 4107 * pp/opreport_options.cpp: comment fix 4108 4109 * pp/opreport.cpp: update to match new profile_container api 4110 41112003-05-03 Philippe Elie <phil.el@wanadoo.fr> 4112 4113 * pp/opreport.cpp: don't show dependent file if !--include-dependent 4114 41152003-05-02 Philippe Elie <phil.el@wanadoo.fr> 4116 4117 * libpp/partition_files.h: 4118 * libpp/partition_files.cpp: sort_by_image_name() new return a list 4119 of sample filename sorted by bfd image name. 4120 * libpp/profile_container.cpp: add_samples() don't build op_bfd object 4121 used here but pass it as parameters 4122 4123 * pp/opgprof.cpp: 4124 * pp/opreport.cpp: use the above change to avoid opening multiple time 4125 a bfd object. 4126 4127 * pp/opannotate_options.cpp: add --(include|exclude)-symbols 4128 4129 * libpp/parse_cmdline.cpp: 4130 * pp/opgprof_options.cpp: 4131 * pp/opreport.cpp: make a distinction in error message between no 4132 sample available and sample file available but no one was selected 4133 41342003-05-01 Philippe Elie <phil.el@wanadoo.fr> 4135 4136 * pp/opannotate_options.h: 4137 * pp/opannotate_options.cpp: 4138 * pp/opdiff.cpp: 4139 * pp/opdiff_options.h: 4140 * pp/opdiff_options.cpp: 4141 * pp/opgprof.cpp: 4142 * pp/opgprof_options.h: 4143 * pp/opgprof_options.cpp: 4144 * pp/opreport.cpp: 4145 * pp/opreport_options.h: 4146 * pp/opreport_options.cpp: move common options handling ... 4147 * pp/common_option.h: 4148 * pp/common_option.cpp: here 4149 4150 * pp/opannotate.cpp: add options 4151 4152 * libpp/parse_cmdline.cpp: #include <iterator> ... 4153 41542003-05-01 Philippe Elie <phil.el@wanadoo.fr> 4155 4156 * libpp/counter_util.h: 4157 * libpp/counter_util.cpp: remove these files from cvs 4158 4159 * libpp/derive_files.h: 4160 * libpp/derive_files.cpp: remove dead code derive_files() + typo 4161 4162 * libpp/parse_cmdline.cpp: select_sample_filename() throw if empty 4163 session after filtering 4164 4165 * pp/common_option.cpp: catch invalid_argument, return failure on 4166 catched exception 4167 41682003-05-01 Philippe Elie <phil.el@wanadoo.fr> 4169 4170 * libutil++/op_bfd.cpp: remove _init from excluded symbol 4171 * libpp/profile_container.cpp: tidy 4172 4173 * pp/opgprof.cpp: fix capping samples 4174 41752003-04-30 John Levon <levon@movementarian.org> 4176 4177 * pp/opgprof.cpp: 4178 * pp/opgprof_options.cpp: 4179 * libpp/profile.cpp: tiny cleanups, fix compile 4180 41812003-04-30 Philippe Elie <phil.el@wanadoo.fr> 4182 4183 * libdb/db_stat.c: minor improvement to stat, useful to track missed 4184 sample by our tools. 4185 4186 * pp/op_report.cpp: move matching_sample_filename() to ... 4187 * libpp/parse_cmdline.h: 4188 * libpp/parse_cmdline.cpp: here renamed select_sample_filename() 4189 4190 * libpp/profile_container.h: 4191 * libpp/profile_container.cpp: expose begin() / end() from 4192 sample_container 4193 4194 * pp/common_option.h: 4195 * pp/common_option.cpp: move option which was not really common to .. 4196 * pp/opreport_options.h: 4197 * pp/opreport_options.cpp: here 4198 * pp/opannotate_options.h: 4199 * pp/opannotate_options.cpp: and here 4200 4201 * pp/operport.cpp: 4202 * pp/opannotate.cpp: better to return a value from main() ... 4203 4204 * pp/opgprof_options.h: 4205 * pp/opgprof_options.cpp: 4206 * pp/opgprof.cpp: implement opgprof 4207 42082003-04-29 Philippe Elie <phil.el@wanadoo.fr> 4209 4210 * libpp/parse_cmdline.h: 4211 * libpp/parse_cmdline.cpp: handle opreport /lib/libc-2.2.5.so, now 4212 non tag, non option argument match either an image name or lib name 4213 42142003-04-29 John Levon <levon@movementarian.org> 4215 4216 * libutil++/op_bfd.cpp: remove "static " inside anon namespace 4217 42182003-04-28 Philippe Elie <phil.el@wanadoo.fr> 4219 4220 * libpp/format_output.h: 4221 * libpp/format_output.cpp: need header tweaking 4222 4223 * pp/opannotate.cpp: 4224 * pp/opgprof.cpp: minor tidy 4225 4226 * pp/opreport_options.h: 4227 * pp/opreport_options.cpp: 4228 * pp/opreport.cpp: handle -no-header and --image-path 4229 42302003-04-28 Philippe Elie <phil.el@wanadoo.fr> 4231 4232 * libutil++/glob_filter.cpp: 4233 * libutil++/path_filter.cpp: 4234 * libutil++/string_filter.cpp: #include <algorithm> 4235 42362003-04-28 John Levon <levon@movementarian.org> 4237 4238 * libutil++/string_filter.cpp: 4239 * libutil++/string_filter.h: 4240 * libutil++/glob_filter.h: 4241 * libutil++/glob_filter.cpp: 4242 * libutil++/path_filter.h: 4243 * libutil++/path_filter.cpp: use std::find[_if], 4244 share some code 4245 42462003-04-28 Philippe Elie <phil.el@wanadoo.fr> 4247 4248 * libutil++/op_bfd.cpp: replace a loop by a std::copy() 4249 42502003-04-28 John Levon <levon@movementarian.org> 4251 4252 * libutil++/op_bfd.h: 4253 * libutil++/op_bfd.cpp: cleanup of last fix 4254 42552003-04-28 John Levon <levon@movementarian.org> 4256 4257 * libutil++/op_bfd.h: 4258 * libutil++/op_bfd.cpp: make symbol filtering 4259 happen *after* adding of artificial symbol 4260 42612003-04-28 John Levon <levon@movementarian.org> 4262 4263 * libutil++/string_filter.cpp: 4264 * libutil++/glob_filter.cpp: 4265 * libutil++/path_filter.cpp: match as true if 4266 include_list is empty and not excluded 4267 4268 * libutil++/op_bfd.h: 4269 * libutil++/op_bfd.cpp: use string_filter to 4270 filter symbols 4271 4272 * libpp/profile_container.h: 4273 * libpp/profile_container.cpp: 4274 * pp/opreport_options.h: 4275 * pp/opreport_options.cpp: 4276 * pp/opreport.cpp: changes from using string_filter 4277 42782003-04-28 Philippe Elie <phil.el@wanadoo.fr> 4279 4280 * pp/opreport.cpp: finish to remove use of split_sample_filename 4281 42822003-04-28 John Levon <levon@movementarian.org> 4283 4284 * libutil++/filename_match.h: 4285 * libutil++/filename_match.cpp: replace with ... 4286 4287 * libutil++/Makefile.am: 4288 * libutil++/string_filter.h: 4289 * libutil++/string_filter.cpp: 4290 * libutil++/glob_filter.h: 4291 * libutil++/glob_filter.cpp: 4292 * libutil++/path_filter.h: 4293 * libutil++/path_filter.cpp: .. split up variants 4294 of the filters 4295 4296 * libpp/parse_cmdline.cpp: use glob_filter 4297 4298 * pp/op_to_source.cpp: use path_filter 4299 43002003-04-28 Philippe Elie <phil.el@wanadoo.fr> 4301 4302 * libpp/partition_files.h: 4303 * libpp/partition_files.cpp: 4304 * libpp/split_sample_filename.h: 4305 * libpp/split_sample_filename.cpp: 4306 * pp/opreport.cpp: replace some use of std::string sample_filename 4307 by a split_sample_filename struct 4308 43092003-04-28 John Levon <levon@movementarian.org> 4310 4311 * libutil++/filename_match.h: 4312 * libutil++/filename_match.cpp: use file-scope 4313 not private static member function 4314 43152003-04-27 Philippe Elie <phil.el@wanadoo.fr> 4316 4317 * libpp/format_output.h: 4318 * libpp/format_output.cpp: remove all string based output format flag 4319 4320 * libpp/format_output.cpp: move options::demangle handling ... 4321 * libregx/demangle_symbol.cpp: here 4322 4323 * libpp/profile_container.h: 4324 * libpp/profile_container.cpp: 4325 * pp/opreport_options.h: 4326 * pp/opreport_options.cpp: 4327 * pp/opreport.cpp: handle --include-symbols 4328 43292003-04-27 Philippe Elie <phil.el@wanadoo.fr> 4330 4331 * pp/opreport_options.h: 4332 * pp/opreport_options.cpp: 4333 * pp/opreport.cpp: handle --threshold, remove --ignore-symbols 4334 43352003-04-27 John Levon <levon@movementarian.org> 4336 4337 * libpp/<various>: minor spacing etc. 4338 43392003-04-27 Philippe Elie <phil.el@wanadoo.fr> 4340 4341 * libpp/outsymbflag.h: remove osf_short_xxx variant 4342 * libpp/format_output.h: 4343 * libpp/format_output.cpp: replace osf_short_xxx by a boolean 4344 * libpp/profile_container.cpp: update according 4345 4346 * pp/opreport_options.h: export short_filename option 4347 * pp/opreport.cpp: use short_filename 4348 43492003-04-27 Philippe Elie <phil.el@wanadoo.fr> 4350 4351 * libpp/symbol_functors.h: add less_symbol predicate 4352 * libpp/symbol_functors.cpp: new file, less_symbol implementation 4353 * libpp/Makefile.am: symbol_functors.cpp 4354 4355 * libpp/symbol_container.h: 4356 * libpp/symbol_container.cpp: use a node based container for symbols 4357 ensuring validity of symbol pointer over a symbol_container life time 4358 * libpp/sample_container.h: 4359 * libpp/sample_container.cpp: ditto as above for samples 4360 * libpp/profile_container.h: 4361 * libpp/profile_container.cpp: use this new api to merge symbols 4362 and sample. 4363 4364 * libpp/format_output.h: 4365 * libpp/format_output.cpp: use new api to iterate over sample by symbol 4366 4367 * pp/opreport.cpp: detailed output 4368 4369 43702003-04-27 John Levon <levon@movementarian.org> 4371 4372 * pp/opreport.cpp: make opreport -l put largest results 4373 at the top like opreport does 4374 43752003-04-26 Philippe Elie <phil.el@wanadoo.fr> 4376 4377 * libpp/profile_container.h: comment 4378 4379 * pp/opreport_options.h: more options export 4380 * pp/opreport.cpp: implement -l. Doesn't works correctly: --merge=lib 4381 43822003-04-25 Philippe Elie <phil.el@wanadoo.fr> 4383 4384 * pp/opreport_options.h: export global_percent 4385 * pp/opreport.cpp: finish to implement op_time like behavior. Remains 4386 to implement op_time -l 4387 43882003-04-25 Philippe Elie <phil.el@wanadoo.fr> 4389 4390 * libpp/partition_files.cpp: fix a crash when profile spec is empty 4391 4392 * pp/opreport_options.cpp: bail out if no samples files are found 4393 43942003-04-25 John Levon <levon@movementarian.org> 4395 4396 * pp/opreport_options.cpp: --hide-dependent should have 'h' as 4397 short form. Add a FIXME for a crash 4398 43992003-04-25 Philippe Elie <phil.el@wanadoo.fr> 4400 4401 * libpp/partition_files.cpp: thinko in sample filename partition 4402 4403 * pp/opreport_options.h: export more options 4404 * pp/opreport_options.cpp: add --hide-dependent, change --merge to not 4405 default to all 4406 * pp/opreport.cpp: handle --hide-dependent --include-dependent and 4407 --merge=lib. Code is ugly, tidy incoming 4408 44092003-04-25 John Levon <levon@movementarian.org> 4410 4411 * libpp/format_output.cpp: 4412 * libpp/format_output.h: 4413 * libpp/outsymbflag.h: "immutable" not "imutable" 4414 4415 * libpp/partition_files.cpp: include <iterator> to compile 4416 44172003-04-24 Philippe Elie <phil.el@wanadoo.fr> 4418 4419 * libpp/partition_files.h: typo 4420 * libpp/profile.cpp: difficult to get right result with a random value 4421 in profile::start_offset 4422 4423 * pp/opreport_options.h: export options::reverse_sort 4424 * pp/opreport_options.cpp: bail out if we get multiple counter 4425 4426 * pp/opreport.cpp: raw output result for application (not symbol) 4427 output. 4428 44292003-04-24 Philippe Elie <phil.el@wanadoo.fr> 4430 4431 * libpp/filename_spec.h: 4432 * libpp/filename_spec.cpp: 4433 * libpp/parse_cmdline.h: 4434 * libpp/parse_cmdline.cpp: 4435 * libpp/split_sample_filename.h: 4436 * libpp/split_sample_filename.cpp: s/unit_mask/unitmask 4437 4438 * libpp/merge_spec.cpp: 4439 * libpp/merge_spec.h: rename to 4440 * libpp/partition_files.h: 4441 * libpp/partition_files.cpp: here. Add and merge_option. 4442 partition_files is now a class. 4443 * pp/opreport_options.h: 4444 * pp/opreport_options.cpp: 4445 * pp/opreport.cpp: update according to the above. Add a roughly support 4446 to count samples for plain op_time opreport like 4447 44482003-04-24 John Levon <levon@movementarian.org> 4449 4450 * libpp/profile_container.h: 4451 * libpp/profile_container.cpp: chop off the _t of the class name 4452 4453 * libpp/format_output.cpp: 4454 * libpp/format_output.h: 4455 * libpp/symbol_container.cpp: 4456 * libpp/symbol_container.h: 4457 * pp/op_time.cpp: 4458 * pp/op_to_source.cpp: 4459 * pp/oprofpp.cpp: changes from the above 4460 44612003-04-24 John Levon <levon@movementarian.org> 4462 4463 * libpp/profile_container.h: 4464 * libpp/profile_container.cpp: pedantry for sample_container 4465 indices. 4466 4467 * libpp/sample_container.h: 4468 * libpp/sample_container.cpp: various cleanups and docs. Add 4469 and use size_type. 4470 4471 * libpp/symbol_container.h: 4472 * libpp/symbol_container.cpp: renamings. Add and use size_type. 4473 44742003-04-24 John Levon <levon@movementarian.org> 4475 4476 * libpp/symbol_container.h: 4477 * libpp/symbol_container.cpp: remove unused operator[]. 4478 Add some docs. Some small cleanups 4479 44802003-04-24 John Levon <levon@movementarian.org> 4481 4482 * libpp/symbol_container_imp.h: 4483 * libpp/symbol_container_imp.cpp: 4484 * libpp/sample_container_imp.h: 4485 * libpp/sample_container_imp.cpp: These classes weren't using 4486 the pimpl idiom, so the _imp was spurious. Remove that as well 4487 as removing the _t from the names, and rename to ... 4488 4489 * libpp/symbol_container.h: 4490 * libpp/symbol_container.cpp: 4491 * libpp/sample_container.h: 4492 * libpp/sample_container.cpp: ...files moved from the above with 4493 new names. 4494 44952003-04-23 Philippe Elie <phil.el@wanadoo.fr> 4496 4497 * libutil++/generic_spec.h: minor formating tweak 4498 4499 * libpp/parse_cmdline.h: 4500 * libpp/parse_cmdline.cpp: handle_non_options(): return parse_cmdline 4501 by value 4502 4503 * libpp/merge_spec.h: 4504 * libpp/merge_spec.cpp: new files: partition list of samples filename 4505 according to merge options. 4506 * libpp/Makefile.am: update 4507 4508 * pp/opreport_options.cpp: more options handling, use partition_files() 4509 45102003-04-22 John Levon <levon@movementarian.org> 4511 4512 * pp/opreport_options.cpp: compile fix 4513 45142003-04-21 Philippe Elie <phil.el@wanadoo.fr> 4515 4516 * libutil++/filename_match.h: 4517 * libutil++/filename_match.cpp: add strict_match() 4518 4519 * libutil++/generic_spec.cpp: generic_spec<string>::set() was not 4520 setting is_all member leading to bad matching 4521 4522 * libpp/filename_spec.cpp: minor tidy 4523 4524 * libpp/parse_cmdline.h: 4525 * libpp/parse_cmdline.cpp: fix match() 4526 4527 * libpp/split_sample_filename.h: 4528 * libpp/split_sample_filename.cpp: handle sample file base directory 4529 4530 * libop++/op_print_event.h: 4531 * libop++/op_print_event.cpp: 4532 * libpp/format_output.h: 4533 * libpp/format_output.cpp: 4534 * libpp/opp_symbol.h: 4535 * libpp/profile.h: 4536 * libpp/profile.cpp: 4537 * libpp/profile_container.h: 4538 * libpp/profile_container.cpp: 4539 * libpp/sample_container_imp.h: 4540 * libpp/sample_container_imp.cpp: 4541 * libpp/symbol_container_imp.h: 4542 * libpp/symbol_container_imp.cpp: 4543 * libpp/symbol_functors.h: remove all use of counter number 4544 4545 * libpp/counter_array.h: 4546 * libpp/counter_array.cpp: 4547 * libpp/counter_profile.h: 4548 * libpp/counter_profile.cpp: no longer used, move some bits to 4549 libpp/profile.(h|cpp) and remove these files. 4550 * libpp/Makefile.am: update according 4551 4552 * pp/op_merge.cpp: use profile_t not counter_profile_t 4553 * pp/makefile.am: correct lib for op_merge 4554 4555 * pp/opreport_options.cpp: more options handling 4556 45572003-04-19 Philippe Elie <phil.el@wanadoo.fr> 4558 4559 * libopt++/popt_options.cpp: don't show help_str with --usage 4560 * libpp/format_output.cpp: typo 4561 * libutil/op_file.c: create dir with 755 not 700 4562 * pp/common_option.cpp: source formating 4563 4564 * libpp/parse_cmdline.h: 4565 * libpp/parse_cmdline.cpp: handle_non_options() new 4566 * pp/opreport_options.cpp: handle more options 4567 4568 * pp/opsummary.cpp: 4569 * pp/opsummary_options.h: 4570 * pp/opsummary_options.cpp: remove, opreport should do its job. 4571 * pp/Makefile.am: update 4572 45732003-04-18 Philippe Elie <phil.el@wanadoo.fr> 4574 4575 * libopt++/popt_options.cpp: allow "no-" prefix to long option name 4576 implicitly specify the value must be negated 4577 * libopt++/popt_options.cpp: update doxygen documentation 4578 4579 * libpp/format_output.h: missing #include 4580 * libpp/format_output.cpp: space + minor change 4581 4582 * pp/opannotate_options.h: 4583 * pp/opannotate_options.cpp: 4584 * pp/opdiff_options.h: 4585 * pp/opdiff_options.cpp: 4586 * pp/opgprof_options.h: 4587 * pp/opgprof_options.cpp: 4588 * pp/opreport_options.h: 4589 * pp/opreport_options.cpp: 4590 * pp/opsummary_options.h: 4591 * pp/opsummary_options.cpp: new skeleton file 4592 4593 * pp/opannotate.cpp: 4594 * pp/opdiff.cpp: 4595 * pp/opgprof.cpp: 4596 * pp/opreport.cpp: 4597 * pp/opsummary.cpp: update to handle options 4598 4599 * pp/common_option.cpp: follow more closely pp_interface 4600 4601 * pp/opsummary_options.cpp: start to handle opsummary option 4602 4603 * pp/Makefile.am: update 4604 46052003-04-17 Philippe Elie <phil.el@wanadoo.fr> 4606 4607 * libpp/format_output.h: 4608 * libpp/format_output.cpp: 4609 * libpp/outsymbflag.h: 4610 * libpp/profile_container.h: 4611 * libpp/profile_container.cpp: osf_header/osf_details are no longer 4612 flags but separate boolean. 4613 46142003-04-17 Philippe Elie <phil.el@wanadoo.fr> 4615 4616 * dae/opd_kernel.c: 4617 * daemon/opd_kernel.c: remove leading '/' on module name fixing 2.5 4618 module not under {kern} and similar case for "no-vmlinux" with 2.4/2.5 4619 4620 * libutil/op_file.c: tiny tidy 4621 46222003-04-17 Philippe Elie <phil.el@wanadoo.fr> 4623 4624 * libop/op_mangle.c: app_name and image was reversed, {dep} was missing 4625 46262003-04-17 John Levon <levon@movementarian.org> 4627 4628 * libpp/filename_spec.h: 4629 * libutil++/comma_list.h: compile fixes 4630 46312003-04-17 Philippe Elie <phil.el@wanadoo.fr> 4632 4633 * utils/opcontrol: better --reset handling 4634 46352003-04-16 Philippe Elie <phil.el@wanadoo.fr> 4636 4637 * dae works, daemon compiles but not tested. 4638 4639 * libop/op_config.h: 4640 * libpp/op_session.h: 4641 * libpp/session.cpp: 4642 * pp/op_merge: handle new path to samples files. 4643 4644 * libutil++/file_manip.h: 4645 * libutil++/file_manip.cpp: move create_dir(), create_path() ... 4646 * libutil/op_file.h: 4647 * libutil/op_file.c: here. Remove op_move_regular_file() 4648 4649 * daemon/opd_image.c: 4650 * daemon/opd_sample_files.h: 4651 * daemon/opd_sample_files.c: 4652 * dae/opd_image.c: 4653 * dae/opd_sample_files.h: 4654 * dae/opd_sample_files.c: use new filename scheme 4655 4656 * daemon/oprofiled.c: 4657 * dae/oprofiled.c: remove samples files backup stuff 4658 4659 * libop/op_mangle.h: 4660 * libop/op_mangle.c: ugly modification to handle new samples filename 4661 4662 * utils/opcontrol: handle new samples files path, --save and --reset 4663 are working too. 4664 4665 * gui/oprof_start_util.cpp: use new create_path() API 4666 46672003-04-16 Philippe Elie <phil.el@wanadoo.fr> 4668 4669 * pp/common_option.cpp: 4670 * pp/common_option.h: 4671 * libregex/demangle_symbol.cpp: rename demangle_and_shrink to 4672 smart_demangle 4673 46742003-04-16 Philippe Elie <phil.el@wanadoo.fr> 4675 4676 * starting branch pp-interface-branch 4677 4678 * Makefile.am: 4679 * configure.in: handle new sub dir libpp 4680 4681 * libutil++/comma_list.h: new file handling of comma separated list of 4682 items. 4683 * libutil++/generic_spec.cpp: 4684 * libutil++/generic_spec.h: new file 4685 * libutil++/Makefile.am: handle new file 4686 4687 * pp/counter_array.*: 4688 * pp/counter_profile.*: 4689 * pp/counter_util.*: 4690 * pp/derive_files.*: 4691 * pp/format_output.*: 4692 * pp/opp_symbol.h: 4693 * pp/outsymbflag.h: 4694 * pp/profile.*: 4695 * pp/profile_container.*: 4696 * pp/sample_container_imp.*: 4697 * pp/session.*: 4698 * pp/symbol_container_imp.*: 4699 * pp/symbol_functors.*: move to 4700 4701 * libpp/*: here 4702 * libpp/filename_spec.cpp: 4703 * libpp/filename_spec.h: new file handling of pp sample filename 4704 * libpp/parse_cmdline.cpp: 4705 * libpp/parse_cmdline.h: new file, handling of command line tag:value 4706 * libpp/Makefile.am: new file build libpp.a 4707 4708 * pp/common_option.h: 4709 * pp/common_option.cpp: common option to pp tools. Implement common 4710 entry point to pp tools. 4711 * pp/opannotate.cpp: 4712 * pp/opdiff.cpp: 4713 * pp/opgprof.cpp: 4714 * pp/opreport.cpp: 4715 * pp/opsummary.cpp: skeleton file for all pp tools. 4716 * pp/Makefile.am: remove old pp tools, add the news. 4717 47182003-04-28 Alex Tsariounov <alext@fc.hp.com> 4719 4720 * module/ia64/op_pmu.c: fix compile 4721 47222003-04-24 Philippe Elie <phil.el@wanadoo.fr> 4723 4724 * module/compat22.h: add cpuid_edx when linux version < 2.2.21 4725 47262003-04-24 Dave Jones <davej@codemonkey.org.uk> 4727 4728 * events/x86-64.hammer.events: 4729 * events/x86-64.hammer.unit_masks: typo fixes from AMD. 4730 * module/x86/cpu_type.c: Check for APIC on Athlon before enabling it. 4731 47322003-04-15 Philippe Elie <phil.el@wanadoo.fr> 4733 4734 * events/i386-ht.events: all events allow only one counter, remove 4735 three events due to ESCR restriction. 4736 * events/i386.events: add some comments. 4737 4738 * module/x86/op_model_p4.c: synch with linux 2.5 mainline 4739 - except events CTR_BPU_0 all virtual counter was not working. 4740 - Prevents a segfault when using incorrect counter number. 4741 - ESCR event select is 6 bits length not 5. 4742 - Don't fail silently in p4_setup_ctrs(). 4743 * module/x86/op_msr.h: match name used in linux. 4744 47452003-04-15 John Levon <levon@movementarian.org> 4746 4747 * doc/oprofile.1.in: 4748 * doc/oprofile.xml: small english fixes 4749 47502003-04-14 Philippe Elie <phil.el@wanadoo.fr> 4751 4752 * dae/opd_kernel.c: 4753 * dae/opd_proc.c: 4754 * dae/oprofiled.c: 4755 * utils/opcontrol: 4756 * doc/oprofile.1.in: 4757 * doc/oprofile.xml: handle --no-vmlinux 4758 4759 * daemon/opd_kernel.c: use no-vmlinux not /no-vmlinux when user 4760 specify --no-vmlinux 4761 47622003-04-08 John Levon <levon@movementarian.org> 4763 4764 * HACKING: describe what happens with oprofile-www 4765 47662003-04-08 Philippe Elie <phil.el@wanadoo.fr> 4767 4768 * libutil++/op_bfd.cpp: check for #717720 and direct user to 4769 FAQ if detected. Note than we don't detect all symptom of this bug. 4770 47712003-04-08 Philippe Elie <phil.el@wanadoo.fr> 4772 4773 * libutil++/op_exception.h: op_runtime_error is no longer abstract 4774 4775 * libregex/op_regex.h: comment and tidy 4776 * libregex/op_regex.cpp: tidy 4777 47782003-04-07 Philippe Elie <phil.el@wanadoo.fr> 4779 4780 * pp/op_to_source.cpp: make each line be prefixed with the samples 4781 counts. It was too hard to find samples inside previous format. 4782 47832003-04-07 Philippe Elie <phil.el@wanadoo.fr> 4784 4785 * libutil++/string_manip.cpp: work around for gcc 2.95 4786 * p/op_to_source.cpp: minor cleanup 4787 47882003-04-07 John Levon <levon@movementarian.org> 4789 4790 * pp/op_to_source.cpp: cheat a bit to get 4791 better indentation on the default setup, by 4792 widening counter width to 7. 4793 47942003-04-07 John Levon <levon@movementarian.org> 4795 4796 * pp/op_to_source.cpp: append symbol summary 4797 annotations separate from the prolog samples on 4798 the same line. 4799 48002003-04-07 John Levon <levon@movementarian.org> 4801 4802 * pp/op_to_source.cpp: only output line 0 annotation 4803 if samples found there. 4804 48052003-04-07 John Levon <levon@movementarian.org> 4806 4807 * utils/opcontrol: make sure --ctrX-event=none gets noticed 4808 48092003-04-06 John Levon <levon@movementarian.org> 4810 4811 * libutil++/string_manip.h: 4812 * libutil++/string_manip.cpp: remove ws_prefix(). Add 4813 format_percent(). 4814 4815 * pp/op_to_source.cpp: make each line be prefixed with 4816 the sample counts, instead of on a line above, to preserve 4817 line numbering. 4818 48192003-04-06 John Levon <levon@movementarian.org> 4820 4821 * pp/op_to_source.cpp: some renamings for clarity 4822 48232003-04-06 John Levon <levon@movementarian.org> 4824 4825 * pp/op_to_source.cpp: move extract_blank_at_begin() to ... 4826 4827 * libutil++/string_manip.cpp: ... here, and rename as 4828 ws_prefix(). 4829 48302003-04-06 John Levon <levon@movementarian.org> 4831 4832 * pp/op_to_source.cpp: prefix comment lines. 4833 Output the general footer on each separate file. 4834 Output the info at the bottom when outputting 4835 separate files (towards maintaining line numbering). 4836 48372003-04-06 John Levon <levon@movementarian.org> 4838 4839 * pp/op_to_source.cpp: construct a file-scope 4840 cmdline string, instead of passing it around. 4841 48422003-04-06 John Levon <levon@movementarian.org> 4843 4844 * libregex/op_regexp.cpp: re-arrange a bit 4845 48462003-04-06 John Levon <levon@movementarian.org> 4847 4848 * configure.in: 4849 * all Makefile.am: don't blindly set $LIBS, use 4850 explicit mention of which libs are needed. 4851 4852 * dae/Makefile.am: 4853 * daemon/Makefile.am: only link with C++ if needed. 4854 48552003-04-05 Philippe Elie <phil.el@wanadoo.fr> 4856 4857 * libop/op_config_24.h: 4858 * module/oprofile.c: 4859 * module/oprofile.c: make watermark size proportional to buffer size. 4860 48612003-04-05 Philippe Elie <phil.el@wanadoo.fr> 4862 4863 * libop/op_events.h: 4864 * libop/op_events.c: re-add op_min_count(); 4865 4866 * dae/oprofiled.c: 4867 * daemon/oprofiled.c: use op_min_count() fixing #715923 4868 48692003-04-01 John Levon <levon@movementarian.org> 4870 4871 * libdb/Makefile.am: fix make dist 4872 4873 * daemon/opd_cookie.h: add SPARC syscall number. 4874 The system call function is OK for sparc/sparc64 4875 48762003-03-31 Will Cohen <wcohen@redhat.com> 4877 4878 * libdb/odb_hash.h: Renamed db_hash.h. 4879 4880 * dae/Makefile.am: 4881 * dae/opd_image.c: 4882 * dae/opd_image.h: 4883 * dae/opd_proc.c: 4884 * dae/opd_sample_files.c: 4885 * daemon/Makefile.am: 4886 * daemon/opd_image.c: 4887 * daemon/opd_image.h: 4888 * daemon/opd_sample_files.c: 4889 * libabi/Makefile.am: 4890 * libabi/abi.cpp: 4891 * libabi/abi_test.cpp: 4892 * libabi/op_import.cpp: 4893 * libdb/Makefile.am: 4894 * libdb/db_debug.c: 4895 * libdb/db_hash.h: 4896 * libdb/db_insert.c: 4897 * libdb/db_manage.c: 4898 * libdb/db_stat.c: 4899 * libdb/db_test.c: 4900 * libdb/db_travel.c: 4901 * pp/Makefile.am: 4902 * pp/counter_profile.cpp: 4903 * pp/counter_profile.h: 4904 * pp/op_merge.cpp: Change names to avoid libdb.a name conflicts. 4905 49062003-03-30 John Levon <levon@movementarian.org> 4907 4908 * configure.in: bump to 0.6cvs 4909 4910 * doc/oprofile.xml: fix id. Add java etc. mention 4911 4912 * utils/Makefile.am: 4913 * utils/op_start: 4914 * utils/op_start_25: 4915 * utils/op_stop: 4916 * utils/op_stop_25: 4917 * utils/op_dump: 4918 * utils/op_dump_25: 4919 * utils/op_session: finally remove the back compat crap 4920 4921 * HACKING: add release-notes policy 4922 49232003-03-30 John Levon <levon@movementarian.org> 4924 4925 * configure.in: bump to 0.5.2 4926 49272003-03-30 John Levon <levon@movementarian.org> 4928 4929 * Makefile.am: remove op_arch.h for ia64 4930 49312003-03-27 John Levon <levon@movementarian.org> 4932 4933 * doc/oprofile.xml: several more examples and fixes 4934 49352003-03-26 John Levon <levon@movementarian.org> 4936 4937 From a patch by Bryan Rittmeyer. 4938 4939 * module/oprofile.c: 4940 * module/oprofile.h: push "irq_enabled" test 4941 into arch code, don't pass struct pt_regs. 4942 4943 * module/x86/op_arch.h: cleanups 4944 4945 * module/x86/op_model_athlon.c: 4946 * module/x86/op_model_ppro.c: 4947 * module/x86/op_model_p4.c: 4948 * module/x86/op_rtc.c: changes from above 4949 4950 * module/ia64/op_arch.h: remove 4951 * module/ia64/op_pmu.c: change from above 4952 49532003-03-24 John Levon <levon@movementarian.org> 4954 4955 * doc/oprofile.xml: document prologues, and inline functions 4956 49572003-03-24 Will Cohen <wcohen@redhat.com> 4958 4959 * libutil/op_fileio.c (op_get_line): Use lower cost getc(). 4960 49612003-03-24 John Levon <levon@movementarian.org> 4962 4963 * m4/configmodule.m4: fix quoting problem for awk 4964 49652003-03-23 John Levon <levon@movementarian.org> 4966 4967 * configure.in: 4968 * m4/: move lots of stuff into separate .m4 files 4969 4970 * m4/typedef.m4: improve configure message 4971 49722003-03-23 John Levon <levon@movementarian.org> 4973 4974 * configure.in: 4975 * m4/Makefile.am: 4976 * m4/copyifchange.m4: 4977 * m4/docbook.m4: 4978 * m4/kerneloption.m4: 4979 * m4/kernelversion.m4: 4980 * m4/resultyn.m4: move configure.in macros to m4/ 4981 49822003-03-23 John Levon <levon@movementarian.org> 4983 4984 * m4/ChangeLog: add comment 4985 4986 * m4/typedef.m4: can't use AC_LANG_PUSH/POP 4987 49882003-03-23 Philippe Elie <phil.el@wanadoo.fr> 4989 4990 * TODO: update 4991 4992 * m4/Makefile.am: 4993 * m4/typedef.m4: new file to get underlined type for a typedef. 4994 4995 * configure.in: get at configure time the real underlined type 4996 for size_t and ptrdiff_t 4997 4998 * libregex/stl.pat: move to ... 4999 * libregex/stl.pat.in: here. Use @SIZE_T_TYPE@ and @PTRDIFF_T_TYPE@ 5000 * libregex/Makefile.am: update according 5001 * libregex/.cvsignore: ignore stl.pat 5002 50032003-03-22 Philippe Elie <phil.el@wanadoo.fr> 5004 5005 * utils/opcontrol: use $OP_HELP not op_help 5006 * utils/op_help.c: remove short option for --get-cpu-frequency 5007 50082003-03-22 Philippe Elie <phil.el@wanadoo.fr> 5009 5010 * TODO: update 5011 5012 * m4: new directory 5013 * m4/.cvsignore: new 5014 5015 * acinclude.m4: move to 5016 * m4/qt.m4: here 5017 * m4/Makefile.am: new for EXTRA_DIST = all our .m4 5018 * Makefile.am: 5019 * configure.in: 5020 * autogen.sh: handle m4 subdir, add -I m4 to aclocal flags 5021 50222003-03-22 Philippe Elie <phil.el@wanadoo.fr> 5023 5024 Suggested by John 5025 5026 * libutil/op_cpufreq.c: typo in comment 5027 5028 * utils/op_help.c: add --get-cpu-frequency, intentionnaly not 5029 documented. 5030 * utils/opcontrol: use op_help --get-cpu-frequency and remove 5031 ugly shell script doing the same thing. 5032 50332003-03-22 Philippe Elie <phil.el@wanadoo.fr> 5034 5035 * libutil/op_cpufreq.h: 5036 * libutil/op_cpufreq.c: new file exporting op_cpu_frequency() 5037 * libutil/Makefile.am: update according 5038 5039 * utils/opcontrol: handle other arch 5040 5041 * gui/oprof_start_util.h: 5042 * gui/oprof_start_util.cpp: remove get_cpu_speed() 5043 * gui/oprof_start.h: 5044 * gui/oprof_start.cpp: and use instead op_cpu_frequency() 5045 5046 * daemon/oprofiled.c: 5047 * dae/oprofiled.c: replace --cpu-speed option by a call to 5048 op_cpu_frequencey() 5049 50502003-03-20 John Levon <levon@movementarian.org> 5051 5052 * doc/oprofile.xml: doc some 2.5 module stuff 5053 50542003-03-20 John Levon <levon@movementarian.org> 5055 5056 * utils/opcontrol: fix opcontrol --dump to do something 5057 5058 * daemon/opd_image.c: give a printf when reading the buffer. 5059 50602003-03-19 Philippe Elie <phil.el@wanadoo.fr> 5061 5062 * libutil++/op_bfd.cpp: correct get_vma_range() 5063 5064 * pp/oprofpp.cpp: do_dump_gprof() this time it's right! 5065 50662003-03-18 John Levon <levon@movementarian.org> 5067 5068 * pp/profile.cpp: improve mtime warning for 2.5 modules 5069 50702003-03-18 John Levon <levon@movementarian.org> 5071 5072 * pp/derive_files.cpp: some more 2.5 modules derivation fixes 5073 50742003-03-18 Philippe Elie <phil.el@wanadoo.fr> 5075 5076 * pp/derive_files.cpp: fix handling of 2.5 module name 5077 50782003-03-18 John Levon <levon@movementarian.org> 5079 5080 * daemon/opd_image.c: 5081 * libop/op_interface_25.h: rename to MODULE_LOADED_CODE 5082 50832003-03-18 Philippe Elie <phil.el@wanadoo.fr> 5084 5085 * TODO: update 5086 5087 * pp/derive_files.cpp: special to retrieve 2.5 module 5088 50892003-03-18 Philippe Elie <phil.el@wanadoo.fr> 5090 5091 * TODO: update 5092 5093 * pp/symbol_container_imp.h: 5094 * pp/symbol_container_imp.cpp: 5095 * pp/profile_container.h: 5096 * pp/profile_container.cpp: find(string symbol_name) return a vector 5097 of symbol rather a a single symbol 5098 * pp/oprofpp.cpp: use above change so oprofpp -s will show all 5099 symbol with the same name. 5100 5101 * pp/symbol_functors.h: remove unused functors equal_symbol_by_name 5102 51032003-03-17 Philippe Elie <phil.el@wanadoo.fr> 5104 5105 * TODO: update 5106 5107 * libutil/op_fileio.h: 5108 * libutil/op_fileio.c: op_write_u64() new 5109 * libutil/op_types.h: continue our silly typedef: add u64 5110 5111 * libutil++/op_bfd.h: 5112 * libutil++/op_bfd.cpp: op_bfd::arch_bits_per_address() new allowing 5113 to get, on a per-binary basis, the vma size. 5114 5115 * pp/oprofpp.cpp: fix 64 bits arch gprof output. Fix multiplier and 5116 get the multiplier of gprof file at runtime. Fix a very old bug 5117 where we credit the samples to previous gprof bin having the effect 5118 than sample at start of function was credited to the previous 5119 function 5120 51212003-03-17 John Levon <levon@movementarian.org> 5122 5123 * daemon/opd_kernel.c: 5124 * daemon/opd_kernel.h: 5125 * daemon/opd_image.c: 5126 * daemon/oprofiled.c: don't try to reread the module 5127 list on a failed EIP match. We must have the module load 5128 notification instead. 5129 51302003-03-17 John Levon <levon@movementarian.org> 5131 5132 * daemon/opd_kernel.c: fix module accounting. Remove 5133 quick-drop code that can't work. 5134 5135 * doc/oprofile.1.in: 5136 * doc/oprofile.xml: english tweaks 5137 51382003-03-17 Philippe Elie <phil.el@wanadoo.fr> 5139 5140 * TODO: update 5141 5142 * doc/oprofile.1.in: 5143 * doc/oprofile.xml: remove documentation about -P, update doc about -p 5144 5145 * pp/derive_files.h: 5146 * pp/derive_files.cpp: check_image_name(), add_to_alternate_filename() 5147 functions moved from op_time.cpp 5148 5149 * pp/op_time_options.h: 5150 * pp/op_time_options.cpp: 5151 * pp/op_time.cpp: remove -P option, minor cleanup 5152 5153 * pp/oprofpp_options.h: 5154 * pp/oprofpp_options.cpp: 5155 * pp/oprofpp.cpp: add -p option, minor cleanup 5156 5157 * pp/op_to_source.cpp: minor cleanup 5158 51592003-03-16 Philippe Elie <phil.el@wanadoo.fr> 5160 5161 * utils/opcontrol: check return code for --ctr??-event=none 5162 51632003-03-16 Philippe Elie <phil.el@wanadoo.fr> 5164 5165 * gui/oprof_start.cpp: check for --separate=xxxx in the right order. 5166 Old code do: if user set separate=library and separate=kernel only 5167 separate=library was taken by opcontrol 5168 51692003-03-16 Philippe Elie <phil.el@wanadoo.fr> 5170 5171 * configure.in: typo 5172 51732003-03-16 John Levon <levon@movementarian.org> 5174 5175 * configure.in: more docbook macro fixes 5176 51772003-03-15 Philippe Elie <phil.el@wanadoo.fr> 5178 5179 * libutil/op_libiberty.h: cut&paste typo breaking compilation on box 5180 w/o libiberty.h 5181 5182 * daemon/opd_image.c: remove bogus fprintf. compilation was broken 5183 on alpha. 5184 5185 * configure.in: xsltproc checking fix, was always accepted even 5186 on box where xsltproc is not installed 5187 51882003-03-15 Philippe Elie <phil.el@wanadoo.fr> 5189 5190 * TODO: update 5191 5192 * Makefile.am: add ChangeLog-2002 in dist files 5193 * all Makefile.am: put one item by line for most xxxx = blah 5194 * doc/CodingStyle: rationale for the above change 5195 51962003-03-15 Philippe Elie <phil.el@wanadoo.fr> 5197 5198 * libop/op_events.c: minor cleanup 5199 52002003-03-15 Dave Jones <davej@codemonkey.org.uk> 5201 5202 * module/x86/op_nmi.c: Remove stale debug code from yesterdays commit. 5203 52042003-03-15 Philippe Elie <phil.el@wanadoo.fr> 5205 5206 * configure.in: add checking for existence of xmemdup() 5207 5208 * libutil/Makefile.am: 5209 * libutil/op_string.h: 5210 * libutil/op_string.c: new, a few C string handling function 5211 5212 * libutil/op_libiberty.h: 5213 * libutil/op_libiberty.c: xmemdup() new. 5214 5215 * libop/op_events.h: 5216 * libop/op_events.c: tidy parser. Add op_free_events(). Fix minor 5217 buglet. 5218 5219 * dae/oprofiled.c: 5220 * daemon/oprofiled.c: fix memleak from parsing events files 5221 5222 * gui/Makefile.am: 5223 * pp/Makefile.am: fix lib ordering, now libop depend on libutil 5224 5225 * utils/op_help.c: error message if invalid cpu type. Fix op_help 5226 when using timer interrupt. 5227 52282003-03-14 Andi Kleen <ak@suse.de> 5229 5230 * module/x86/op_nmi.c: Fix another possible race condition. 5231 52322003-03-14 Philippe Elie <phil.el@wanadoo.fr> 5233 5234 * TODO: update 5235 5236 * libregex/stl.pat: support for rb tree, set/map, anonymous namespace. 5237 Fix incorrect pattern for gcc 3.2. Handle 2.95 vector/string 5238 iterator and a few stl free function handling. add all C++ base type. 5239 * libregex/mangled-name.txt: test for the above change 5240 52412003-03-14 Philippe Elie <phil.el@wanadoo.fr> 5242 5243 * gui/oprof_start.cpp: gcc 2.91 warning work around 5244 52452003-03-14 Philippe Elie <phil.el@wanadoo.fr> 5246 5247 * libop/op_events.c: fix a daemon segfault depending on the used 5248 libc version, added 2003-03-04 (0.5.1 is ok) 5249 52502003-03-13 Dave Jones <davej@codmeonkey.org.uk> 5251 5252 * events/x86-64.hammer.events: Remove duplicate minimum tag 5253 from RETIRED_INSNS counter. 5254 52552003-03-11 John Levon <levon@movementarian.org> 5256 5257 * module/ia64/op_pmu.c: include op_arch.h not arch.h 5258 52592003-03-10 Philippe Elie <phil.el@wanadoo.fr> 5260 5261 * configure.in: remove unsupported --warnnet, fix docbook root dir test 5262 * doc/oprofile.xml: typo 5263 52642003-03-10 John Levon <levon@movementarian.org> 5265 5266 * doc/Makefile.am: 5267 * configure.in: 5268 * doc/xsl/catalog-1.xml.in: more docbook changes 5269 52702003-03-10 John Levon <levon@movementarian.org> 5271 5272 * configure.in: 5273 * doc/Makefile.am: 5274 * doc/xsl/xhtml.xsl: 5275 * doc/xsl/xhtml-chunk.xsl: 5276 * doc/xsl/catalog-1.xml.in: Use a catalog for finding 5277 the XSL, so we only have one .in file now. 5278 52792003-03-08 Will Cohen <wcohen@redhat.com> 5280 5281 * doc/Makefile.am: Correct path for htmldir. 5282 52832003-03-08 John Levon <levon@movementarian.org> 5284 5285 * libop/op_cpu_type.c: improve error message 5286 5287 * utils/op_help.c: show CPU name in events list. Show CPU 5288 pretty name in op_help --get-cpu-type. 5289 52902003-03-08 John Levon <levon@movementarian.org> 5291 5292 * configure.in: specify distcheck ./configure flags. 5293 Add version.h to distclean. 5294 5295 * doc/Makefile.am: 5296 * doc/xsl/xhtml-1.in: 5297 * doc/xsl/xhtml-chunk-1.in: fix make distcheck 5298 52992003-03-08 Philippe Elie <phil.el@wanadoo.fr> 5300 5301 * doc/xsl/.cvsignore: update 5302 5303 * module/x86/cpu_type.c: <smpboot.h> is not necessary 5304 53052003-03-07 John Levon <levon@movementarian.org> 5306 5307 * README: document autogen.sh 5308 53092003-03-07 Philippe Elie <phil.el@wanadoo.fr> 5310 5311 * TODO: update 5312 5313 * doc/xsl/xhtml.xsl.in: move to 5314 * doc/xsl/xhtml-1.xsl.in: here 5315 * doc/xsl/xhtml-chunk.xsl.in: move to 5316 * doc/xsl/xhtml-chunk-1.xsl.in: here 5317 * doc/Makefile.am; update according 5318 * configure.in: avoid to touch doc/xsl generated files 5319 53202003-03-07 Philippe Elie <phil.el@wanadoo.fr> 5321 5322 * TODO: update 5323 5324 * daemon/opd_image.c: 5325 * daemon/op_stats.c: 5326 * daemon/opd_stats.h: add statistics for nil image whilst receiving 5327 user space samples. 5328 53292003-03-06 Philippe Elie <phil.el@wanadoo.fr> 5330 5331 * TODO: update 5332 5333 * libdb/db_hash.h: 5334 * libdb/db_insert.c: get error message from db_insert() 5335 5336 * libdb/db_test.c: 5337 * dae/opd_proc.c: 5338 * daemon/opd_image.c: 5339 * libabi/abi_test.cpp: 5340 * libabi/op_import.cpp: 5341 * pp/op_merge.cpp: update according to the new api 5342 53432003-03-06 John Levon <levon@movementarian.org> 5344 5345 * doc/oprofile.xml: pedantry 5346 53472003-03-06 Philippe Elie <phil.el@wanadoo.fr> 5348 5349 * TODO: update 5350 5351 * doc/oprofile.1.in: 5352 * doc/oprofile.xml: document --smart-demangle 5353 53542003-03-06 Philippe Elie <phil.el@wanadoo.fr> 5355 5356 * module/ia64/op_pmu.c: 5357 * module/x86/op_nmi.c: remove #include <op_events.h> 5358 53592003-03-06 John Levon <levon@movementarian.org> 5360 5361 * utils/opcontrol: sh != C. This is the last opcontrol 5362 bug, honest ! OK, maybe not. 5363 53642003-03-06 Philippe Elie <phil.el@wanadoo.fr> 5365 5366 * TODO: update 5367 5368 * gui/oprof_start.cpp: save_config() gcc 2.95.3 warning work-around 5369 53702003-03-05 John Levon <levon@movementarian.org> 5371 5372 * utils/opcontrol: Make --setup optional (e.g. 5373 opcontrol --no-vmlinux). Fix a bug in the --setup 5374 exclusive arg testing. 5375 5376 * doc/oprofile.xml: reflect the above 5377 53782003-03-05 John Levon <levon@movementarian.org> 5379 5380 * libutil++/string_manip.h: 5381 * libutil++/string_manip.cpp: cleanup, use s.find 5382 because older gcc's don't have the right s.compare 5383 53842003-03-04 John Levon <levon@movementarian.org> 5385 5386 * utils/opcontrol: only sleep 2 after dump on 2.4 5387 53882003-03-04 John Levon <levon@movementarian.org> 5389 5390 * configure.in: tweak the xsltproc test 5391 53922003-03-04 John Levon <levon@movementarian.org> 5393 5394 * configure.in: 5395 * doc/Makefile.am: don't try to build the docs 5396 if it will fail. 5397 53982003-03-04 John Levon <levon@movementarian.org> 5399 5400 * utils/opcontrol: 5401 * daemon/opd_kernel.h: 5402 * daemon/opd_image.c: 5403 * daemon/opd_kernel.c: 5404 * daemon/oprofiled.c: implement --no-vmlinux. 5405 Remove back compat for is_kernel. 5406 5407 * gui/uioprof_start.base.ui: 5408 * gui/oprof_start.cpp: 5409 * gui/oprof_start_config.h: 5410 * gui/oprof_start_config.cpp: support the above 5411 5412 * doc/oprofile.1.in: 5413 * doc/oprofile.xml: doc the above 5414 54152003-03-04 John Levon <levon@movementarian.org> 5416 5417 * utils/opcontrol: allow --version, --help early on 5418 54192003-03-04 John Levon <levon@movementarian.org> 5420 5421 * libop/op_events.c: alter the parser to give file/linenr on 5422 error, and handle more whitespace. 5423 54242003-03-04 John Levon <levon@movementarian.org> 5425 5426 * gui/oprof_start.cpp: 5427 * gui/oprof_start.h: 5428 * gui/oprof_start_config.cpp: 5429 * gui/oprof_start_config.h: 5430 5431 * libutil++/string_manip.h: 5432 * libutil++/string_manip.cpp: add is_prefix(), 5433 make the trimmers take an argument 5434 54352003-03-04 John Levon <levon@movementarian.org> 5436 5437 * gui/oprof_start.cpp: 5438 * gui/oprof_start.h: 5439 * gui/oprof_start_config.cpp: 5440 * gui/oprof_start_config.h: 5441 * gui/persistent_config.h: 5442 5443 * libutil++/string_manip.h: 5444 * libutil++/string_manip.cpp: add split(), tobool(), touint() 5445 5446 * utils/opcontrol: don't write BUF_SIZE twice. Write 5447 RTC_VALUE properly. Write KERNEL_ONLY 5448 54492003-03-03 John Levon <levon@movementarian.org> 5450 5451 * gui/oprof_start.cpp: use --ctrX-event=none, 5452 --separate=none. --pid/pgrp-filter=0 was already 5453 being done. 5454 54552003-03-03 John Levon <levon@movementarian.org> 5456 5457 * doc/oprofile.1.in: 5458 * doc/oprofile.xml: 5459 * doc/opcontrol: add --ctrX-event=none 5460 54612003-03-03 Will Cohen <wcohen@redhat.com> 5462 5463 * gui/oprof_start.cpp (oprof_start::on_start_profiler): Limit 5464 check to only utm_bitmask. 5465 54662003-03-03 Will Cohen <wcohen@redhat.com> 5467 5468 * events/ia64.itanium2.events: 5469 * events/ia64.itanium2.unit_masks: Add Itanium 2 events. 5470 54712003-03-03 Will Cohen <wcohen@redhat.com> 5472 5473 * libop/op_events.h: 5474 * libop/op_events.c: Correct checking for the number of unit 5475 masks. 5476 54772003-03-03 John Levon <levon@movementarian.org> 5478 5479 * doc/oprofile.1.in: 5480 * doc/oprofile.xml: another round of cleanups 5481 5482 * pp/op_merge.cpp: --counter not --use-counter, 5483 for consistency 5484 54852003-03-03 John Levon <levon@movementarian.org> 5486 5487 Patch from Chris Moller, modified. 5488 5489 * dae/opd_proc.c: 5490 * dae/opd_sample_files.c: 5491 * daemon/opd_image.c: 5492 * daemon/opd_sample_files.c: 5493 * libabi/abi_test.cpp: 5494 * libabi/op_import.cpp: 5495 * libdb/db_hash.h: 5496 * libdb/db_insert.c: 5497 * libdb/db_manage.c: 5498 * libdb/db_test.c: 5499 * pp/counter_profile.cpp: 5500 * pp/op_merge.cpp: push asserts in libdb down into 5501 the clients. 5502 55032003-03-03 John Levon <levon@movementarian.org> 5504 5505 * doc/oprofile.xml: 5506 * doc/oprofile.1.in: 5507 * utils/opcontrol: add --separate=none, --pid/pgrp-filter=non 5508 55092003-03-03 John Levon <levon@movementarian.org> 5510 5511 * configure.in: 5512 * doc/Makefile.am: 5513 * doc/oprofile.xml: 5514 * doc/xsl/xhtml-chunk.xsl.in: 5515 * doc/xsl/xhtml.xsl.in: 5516 * doc/xsl/xhtml-common.xsl: Add version to the 5517 docs. Some doc cleanups 5518 55192003-03-02 John Levon <levon@movementarian.org> 5520 5521 * utils/opcontrol: --separate=library should turn kernel off 5522 55232003-03-02 John Levon <levon@movementarian.org> 5524 5525 * events/Makefile.am: fix uninstall 5526 55272003-03-02 John Levon <levon@movementarian.org> 5528 5529 * doc/oprofile.xml: more re-workings prodded by aeb 5530 55312003-03-02 John Levon <levon@movementarian.org> 5532 5533 * daemon/opd_kernel.c: remove /proc/ksyms reading 5534 55352003-03-02 John Levon <levon@movementarian.org> 5536 5537 * libutil/op_fileio.c: change op_get_line to return 5538 NULL on EOF. Also bump up the default allocation some. 5539 5540 * dae/opd_kernel.c: 5541 * dae/opd_parse_proc.c: 5542 * daemon/opd_kernel.c: 5543 * libop/op_events.c: changes from the above 5544 55452003-03-02 John Levon <levon@movementarian.org> 5546 5547 * configure.in: 5548 * Makefile.am: 5549 * events/: add text files describing the CPU counters 5550 and unit masks. Install them. 5551 5552 * libop/op_events.h: 5553 * libop/op_events.c: remove the bletcherous hard coded 5554 descriptions. 5555 5556 * module/ia64/op_pmu.c: 5557 * module/x86/op_nmi.c: remove another big of validation 5558 5559 * libutil/op_list.h: make C++ friendly 5560 5561 * libop/op_cpu_type.h: 5562 * libop/op_cpu_type.c: add op_get_cpu_name() 5563 5564 * libop/Makefile: 5565 * libop/op_events_desc.h: 5566 * libop/op_events_desc.cpp: removed 5567 5568 * libop++/op_print_event.cpp: 5569 * utils/Makefile.am: 5570 * utils/op_help.c: 5571 * gui/oprof_start.h: 5572 * gui/oprof_start.cpp: changes from above 5573 55742003-03-01 John Levon <levon@movementarian.org> 5575 5576 * doc/oprofile.xml: tweaks 5577 5578 * utils/opcontrol: scale the default event count. Please 5579 test ... 5580 55812003-03-01 John Levon <levon@movementarian.org> 5582 5583 * utils/opcontrol: setup default events. Allow part-setting 5584 using --setup. Fix a help text. 5585 5586 * doc/oprofile.xml: changes from the above 5587 55882003-03-01 John Levon <levon@movementarian.org> 5589 5590 * libop/op_cpu_type.c: fix alpha/ev4 mis-detection 5591 55922003-03-01 John Levon <levon@movementarian.org> 5593 5594 * doc/oprofile.xml: expand intro a little, small fixes 5595 55962003-03-01 John Levon <levon@movementarian.org> 5597 5598 * pp/format_output.cpp: use "%" not "%-age" 5599 56002003-02-28 John Levon <levon@movementarian.org> 5601 5602 * utils/opcontrol: fix IS_TIMER setting, noticed by 5603 Duncan Sands 5604 56052003-02-28 John Levon <levon@movementarian.org> 5606 5607 * configure.in: bump to 0.6cvs 5608 56092003-02-28 John Levon <levon@movementarian.org> 5610 5611 * doc/Makefile.am: tweak 5612 5613 * libregex/Makefile.am: fix make dist 5614 56152003-02-27 John Levon <levon@movementarian.org> 5616 5617 * configure.in: bump to 0.5.1 5618 56192003-02-27 John Levon <levon@movementarian.org> 5620 5621 * doc/oprofile.xml: clarify --separate=kernel 5622 56232003-02-25 John Levon <levon@movementarian.org> 5624 5625 * configure.in: clarify --with-kernel-support 5626 5627 * libop/op_events.c: 5628 * module/x86/op_nmi.c: 5629 * module/ia64/op_nmi.c: remove sanity checking - it's 5630 the wrong place to have such code, is a barrier to op_events 5631 cleanup, and makes life harder for NDAers. 5632 56332003-02-25 Will Cohen <wcohen@redhat.com> 5634 5635 * utils/opcontrol (do_deinit): Correct search for /dev/oprofile. 5636 56372003-02-24 Dave Jones <davej@codemonkey.org.uk> 5638 5639 * module/x86/op_apic.[c|h]: move NMI gate setup to architecture 5640 specific SET_NMI_GATE macro. x86=no change. 5641 Make x86-64 use the kernels _set_gate instead of its own open 5642 coded variant. 5643 56442003-02-23 John Levon <levon@movementarian.org> 5645 5646 * version-1.h.in: another rename 5647 56482003-02-23 John Levon <levon@movementarian.org> 5649 5650 * configure.in: set up OP_DATADIR and OP_BINDIR 5651 5652 * gui/oprof_start.cpp: 5653 * libregex/demangle_symbol.cpp: use the above 5654 5655 * version_tpl.h.in: move to ... 5656 5657 * version.h.in.in: ... here 5658 56592003-02-23 Philippe Elie <phil.el@wanadoo.fr> 5660 5661 * TODO: update 5662 5663 * configure.in: add AX_COPY_IF_CHANGE() use it to generate version.h 5664 * .cvsignore: update 5665 5666 * gui/Makefile.am: 5667 * gui/oprof_start.cpp: 5668 * libregex/Makefile.am: 5669 * libregex/demangle_symbol.cpp: don't use -DBINDIR, rather include 5670 version.h to get install path 5671 56722003-02-23 John Levon <levon@movementarian.org> 5673 5674 * README: quick start build insns 5675 56762003-02-23 Philippe Elie <phil.el@wanadoo.fr> 5677 5678 * TODO: update 5679 5680 * libregex/Makefile.am: install stl.pat in $prefix/share/oprofile 5681 * libregex/demangle_symbol.cpp: use DATADIR not BINDIR 5682 * libregex/magle-name.txt: add test for pointer 5683 * libregex/stl.pat: partial support for pointer 5684 56852003-02-23 John Levon <levon@movementarian.org> 5686 5687 * autogen.sh: error out if options passed 5688 56892003-02-23 John Levon <levon@movementarian.org> 5690 5691 * libregex/op_regex.h: 5692 * libregex/regex_test.cpp: fix std:: 5693 56942003-02-23 Philippe Elie <phil.el@wanadoo.fr> 5695 5696 * libutil++/demangle_symbol.cpp: 5697 * libutil++/demangle_symbol.h: move to 5698 * libregex/demangle_symbol.cpp: 5699 * libregex/demangle_symbol.h: here to avoid circular reference between 5700 libutil++ and libregex 5701 * libregex/Makefile.am: 5702 * libutil++/Makefile.am: update according to file move 5703 5704 * pp/Makefile.am: 5705 * pp/op_time.cpp: 5706 * pp/op_time_options.cpp: 5707 * pp/op_to_source.cpp: 5708 * pp/op_to_source_options.cpp: 5709 * pp/oprofpp.cpp: 5710 * pp/oprofpp_options.cpp: add -D --Demangle options enabling C++ 5711 demangled name filtering. 5712 57132003-02-23 Philippe Elie <phil.el@wanadoo.fr> 5714 5715 * libutil++/string_manip.h: 5716 * libutil++/string_manip.cpp: trim(), ltrim(), rtrim() new functions 5717 5718 * Makefile.am: handle libregex directory 5719 * configure.in: handle libregex/Makefile 5720 5721 * libregex/.cvsignore: 5722 * libregex/Makefile.am : 5723 * libregex/mangled-name.txt: 5724 * libregex/op_regex.cpp: 5725 * libregex/op_regex.h: 5726 * libregex/regex_test.cpp: 5727 * libregex/stl.pat: new file implementing a match and replace regular 5728 expression around glibc regex. Not used for now, next commit will 5729 use this for pp tools C++ name demangling. 5730 57312003-02-22 John Levon <levon@movementarian.org> 5732 5733 * configure.in: fix X, non-Qt build case 5734 57352003-02-22 John Levon <levon@movementarian.org> 5736 5737 * libutil++/Makefile.am: fix make dist 5738 57392003-02-21 Dave Jones <davej@codemonkey.org.uk> 5740 5741 * configure.in: Enable building on hammer again. 5742 57432003-02-21 John Levon <levon@movementarian.org> 5744 5745 * utils/opcontrol: "Params used" was lying 5746 57472003-02-20 John Levon <levon@movementarian.org> 5748 5749 * daemon/opd_image.c: Fixed a bitch of a bug with separate-kernel, 5750 now attribution of kernel samples should be more accurate 5751 57522003-02-20 John Levon <levon@movementarian.org> 5753 5754 * utils/opcontrol: set LIB_SAMPLES if KERNEL_SAMPLES in .daemonrc 5755 57562003-02-20 John Levon <levon@movementarian.org> 5757 5758 * dae/opd_stats.h: 5759 * dae/opd_stats.c: 5760 * daemon/opd_stats.h: 5761 * daemon/opd_stats.c: 5762 * dae/opd_proc.c: 5763 * daemon/opd_image.c: remove unused OPD_SAMPLE_COUNTS. Actually 5764 count samples for 2.5 5765 57662003-02-20 John Levon <levon@movementarian.org> 5767 5768 * libop/op_interface_25.h: 5769 * daemon/opd_kernel.c: implement module dropping 5770 5771 * daemon/opd_image.c: 5772 * daemon/opd_kernel.c: attempt to make verbose logs 5773 less confusing 5774 57752003-02-22 Dave Jones <davej@codemonkey.org.uk> 5776 5777 * libop/op_events.c: segregload is utm_mask not utm_exclusive 5778 57792003-02-20 Philippe Elie <phil.el@wanadoo.fr> 5780 5781 * TODO: update 5782 5783 * pp/output_format.h: 5784 * pp/output_format.cpp: 5785 * pp/op_time.cpp: 5786 * pp/oprofpp.cpp: 5787 * pp/opp_symbol.h: better handling of 64/32 bits bfd_vma 5788 in output 5789 57902003-02-20 John Levon <levon@movementarian.org> 5791 5792 * libutil++/op_exception.h: 5793 * libutil++/op_exception.cpp: throw() where needed 5794 57952003-02-19 Philippe Elie <phil.el@wanadoo.fr> 5796 5797 * TODO: update 5798 5799 * daemon/opd_image.h: 5800 * daemon/opd_image.cpp: 5801 * daemon/opd_kernel.cpp: fix thinko with --separate=kernel resulting 5802 in duplicate opening of the same samples file. 5803 58042003-02-19 Philippe Elie <phil.el@wanadoo.fr> 5805 5806 * libutil++/op_exception.h: 5807 * libutil++/op_exception.cpp: new files, base class for exception. 5808 Not used for now. 5809 58102003-02-19 John Levon <levon@movementarian.org> 5811 5812 * acinclude.m4: update from upstream 5813 5814 * gui/ui/oprof_start.base.ui: 5815 * gui/oprof_start.cpp: separate --setup,--start. 5816 Hide non-2.5 stuff in 2.5. 5817 58182003-02-18 Philippe Elie <phil.el@wanadoo.fr> 5819 5820 * TODO: update 5821 5822 * dae/opd_sample_files.c: 5823 * daemon/opd_sample_files.c: opd_handle_old_sample_file() don't 5824 try to delete old samples files if they don't exist. 5825 58262003-02-18 Will Cohen <wcohen@redhat.com> 5827 5828 * utils/opcontrol (do_options): Better option error checking. 5829 58302003-02-17 Will Cohen <wcohen@redhat.com> 5831 5832 * pp/format_output.h (show_help): namespace std. 5833 58342003-02-17 Will Cohen <wcohen@redhat.com> 5835 5836 * TODO: update. 5837 58382003-02-17 Philippe Elie <phil.el@wanadoo.fr> 5839 5840 From Anton Blanchard : 5841 5842 * daemon/opd_image.c: cookie_t fix for 64 bits 5843 58442003-02-17 Philippe Elie <phil.el@wanadoo.fr> 5845 5846 * TODO: update 5847 5848 * libopt++/popt_options.cpp: 5849 * libopt++/popt_options.h: handle an user specific additional 5850 help string 5851 5852 * pp/output_format.h: 5853 * pp/output_format.cpp: 5854 * pp/op_time_options.cpp: 5855 * pp/oprofpp_options.cpp: use it to show in --output_format 5856 options details. 5857 58582003-02-14 Philippe Elie <phil.el@wanadoo.fr> 5859 5860 * doc/oprofile.1.in: 5861 * doc/oprofile.xml: 5862 * pp/oprofpp_options.cpp: allow --show-shared-libs with -s 5863 58642003-02-13 Philippe Elie <phil.el@wanadoo.fr> 5865 5866 * TODO: update 5867 5868 * pp/output_format.h: 5869 * pp/output_format.cpp: fix #686272, crash when using 5870 oprofpp -s symb_name. 5871 58722003-02-13 Philippe Elie <phil.el@wanadoo.fr> 5873 5874 * dae/opd_kernel.h: 5875 * dae/opd_image.h: 5876 * dae/opd_image.c: don't use hash entry zero for kernel image 5877 fix #686175 5878 58792003-02-13 Will Cohen <wcohen@redhat.com> 5880 5881 * daemon/opd_cookie.h(opd_nr_lookup_dcookie): Correct number. 5882 58832003-02-13 Will Cohen <wcohen@redhat.com> 5884 5885 * daemon/opd_cookie.h(opd_nr_lookup_dcookie): Add x86_64. 5886 58872003-02-13 John Levon <levon@movementarian.org> 5888 5889 * dae/opd_image.c: little cleanup and fix error message 5890 to not lie 5891 58922003-02-12 Philippe Elie <phil.el@wanadoo.fr> 5893 5894 * doc/oprofile.1.in: 5895 * doc/oprofile.xml: enhance doc about --separate=kernel 5896 5897 * utils/opcontrol: handle gracefully opcontrol --deinit if profiler 5898 was already shutdown. Avoid wrong warning when umount /dev/oprofile 5899 59002003-02-12 Will Cohen <wcohen@redhat.com> 5901 5902 * gui/oprof_start.cpp (oprof_start::oprof_start, 5903 oprof_start::on_flush_profiler_data, 5904 oprof_start::on_start_profiler, 5905 oprof_start::on_stop_profiler): Use opcontrol. 5906 * gui/oprof_start_util.cpp (daemon_status::daemon_status): 5907 Allow reading interrupt info from new kernel interface. 5908 * libop/op_get_interface.c: New. 5909 * libop/Makefile.am: Add libop/op_get_interface.c. 5910 * libop/op_cpu_type.h: Add enum op_interface. 5911 5912 I Added some bits. Phil 5913 * gui/oprof_start.cpp: correct --separate= handling 5914 * gui/oprof_start_util.cpp: read only the real number of interrupts 5915 59162003-02-12 Philippe Elie <phil.el@wanadoo.fr> 5917 5918 * utils/opcontrol: handle --note-table-size --kernel-only (2.4 kernel) 5919 59202003-02-12 Philippe Elie <phil.el@wanadoo.fr> 5921 5922 * utils/op_start: map --separate-samples to daemon option 5923 --separate-lib-samples. 5924 59252003-02-11 Philippe Elie <phil.el@wanadoo.fr> 5926 5927 * dae/opd_image.c: 5928 * dae/opd_kernel.c: 5929 * dae/opd_kernel.h: 5930 * dae/opd_parse_proc.c: 5931 * dae/opd_proc.c: 5932 * dae/opd_proc.h: 5933 * dae/opd_sample_files.c: 5934 * dae/oprofiled.c: 5935 * daemon/opd_image.c: 5936 * daemon/opd_image.h: 5937 * daemon/opd_kernel.c: 5938 * daemon/opd_kernel.h: 5939 * daemon/opd_sample_files.c: 5940 * daemon/oprofiled.c: per application kernel samples files 5941 5942 * doc/oprofile.1.in: 5943 * doc/oprofile.xml: document opcontrol --separate=kernel 5944 5945 * gui/oprof_start.cpp: 5946 * gui/oprof_start_config.cpp: 5947 * gui/oprof_start_config.h: 5948 * gui/ui/oprof_start.base.ui: remove ignore_daemon checkbox, handle 5949 --separate=[library|kernel] 5950 5951 * libop/op_sample_file.h: add separate_kernel_samples field, file 5952 format is backward compatible 5953 5954 * libabi/abi.cpp: 5955 * libabi/abi_test.cpp: 5956 * libabi/op_import.cpp: handle new samples file header field 5957 5958 * pp/counter_profile.cpp: dump new sample files header field. 5959 5960 * utils/opcontrol: handle --separate=kernel 5961 59622003-02-09 Will Cohen <wcohen@redhat.com> 5963 5964 * utils/opcontrol: Add rtc-value option. 5965 59662003-02-09 John Levon <levon@movementarian.org> 5967 5968 * utils/opcontrol: stale lock file detection 5969 59702003-02-06 Will Cohen <wcohen@redhat.com> 5971 5972 * utils/opcontrol (do_dump): Do not exit if no daemon. 5973 59742003-02-06 Will cohen <wcohen@redhat.com> 5975 5976 * doc/oprofile.1.in: Update man page information. 5977 59782003-02-03 John Levon <levon@movementarian.org> 5979 5980 * configure.in: 0.6cvs 5981 59822003-02-02 John Levon <levon@movementarian.org> 5983 5984 * configure.in: bump to 0.5 5985 59862003-02-02 John Levon <levon@movementarian.org> 5987 5988 * configure.in: disable x86_64 5989 59902003-02-02 John Levon <levon@movementarian.org> 5991 5992 * pp/format_output.cpp: revert previous patch, Phil's 5993 x86 binutils is built with 64-bit bfd_vma 5994 59952003-02-01 John Levon <levon@movementarian.org> 5996 5997 * utils/opcontrol: rename --separate-samples to --separate=library 5998 for future proofing. 5999 6000 * pp/format_output.cpp: output vma at a suitable width 6001 60022003-01-31 Will Cohen <wcohen@redhat.com> 6003 6004 * utils/opcontrol(get_kernel_range): Match only .text segment. 6005 60062003-01-31 Graydon Hoare <graydon@redhat.com> 6007 6008 * libabi/abi.cpp 6009 * libabi/abi_test.cpp 6010 * libabi/op_import.cpp: Treat endianness as a property of the datum 6011 being imported, rather than the memory architecture. 6012 60132003-01-31 Dave Jones <davej@codemonkey.org.uk> 6014 6015 * module/x86/op_model_athlon.c: Don't poke reserved bits in the counter. 6016 Only rdmsr/wrmsr counters that we've enabled in the NMI handler. 6017 ulong->uint conversion. 6018 60192003-01-30 Philippe Elie <phil.el@wanadoo.fr> 6020 6021 From Randolph Chung : 6022 6023 * daemon/opd_cookie.h: add parisc support 6024 60252003-01-30 John Levon <levon@movementarian.org> 6026 6027 From Anton Blanchard : 6028 6029 * daemon/opd_cookie.h: add ppc32/64 6030 6031 * utils/op_start_25: fix start of kernel for ppc 6032 60332003-01-30 Will Cohen <wcohen@redhat.com> 6034 6035 * utils/opcontrol(get_kernel_range): Avoid using perl arithmetic. 6036 60372003-01-29 Dave Jones <davej@codemonkey.org.uk> 6038 6039 * utils/opcontrol: Trying to use the options --pid-filter=pid and 6040 --pgmr-filter=pgmr, opcontrol returned "command not found. 6041 This was due to 2 missing 'test' statements. 6042 60432003-01-29 Philippe Elie <phil.el@wanadoo.fr> 6044 6045 * pp/op_to_source.cpp: read vma with strtoull not strtoul fixing 6046 32/64 failure to read output of objdump 6047 60482003-01-29 Dave Jones <davej@codemonkey.org.uk> 6049 6050 * libop/op_cpu_type.c: Clue the user in on why the cpu type isn't 6051 recognised, by suggesting the module wasn't loaded. 6052 * libop/op_events.c: Doh, unit masks use bit numbers, not values. 6053 60542003-01-28 Philippe Elie <phil.el@wanadoo.fr> 6055 6056 * utils/op_help.c: get cpu type only if not forced on command line. 6057 Avoid wrong warning about unsupported cpu type. 6058 60592003-01-27 Will Cohen <wcohen@redhat.com> 6060 6061 * daemon/opd_cookie.h(opd_nr_lookup_dcookie): Add ia64 version. 6062 60632003-01-27 Dave Jones <davej@codemonkey.org.uk> 6064 6065 * libop/op_events.c: K8 HT events are utm_exclusive, not utm_bitmask 6066 * libop/op_events.c: Add additional K8 unit masks. 6067 60682003-01-23 Philippe Elie <phil.el@wanadoo.fr> 6069 6070 * libop/op_interface_25.h: 6071 * daemon/opd_image.c: prepare drop modules support. exit() when 6072 receiving unknown escape code. 6073 60742003-01-23 Randolph Chung <tausq@debian.org> 6075 6076 Added minor change: backward compatibility, u_int to uint, fix 6077 32/64 bits escape code marker comparison. Phil 6078 6079 * libop/op_interface_25.h: 6080 * daemon/opd_kernel.c: 6081 * daemon/opd_image.c: new scheme to recognize kernel or user space 6082 eip, now kernel module pass the relevent information through 6083 escape sequence. 6084 60852003-01-21 Dave Jones <davej@codemonkey.org.uk> 6086 6087 * libop/op_events.c: Add unit mask for Hypertransport events. 6088 60892003-01-21 Dave Jones <davej@codemonkey.org.uk> 6090 6091 * libop/op_events.c: Add x86-64 specific events. 6092 60932003-01-21 Philippe Elie <phil.el@wanadoo.fr> 6094 6095 * daemon/opd_kernel.c: use sscanf to parse /proc/modules 6096 60972003-01-20 Philippe Elie <phil.el@wanadoo.fr> 6098 6099 * daemon/opd_kernel.c: more robust /proc/modules parsing. 6100 61012003-01-20 Philippe Elie <phil.el@wanadoo.fr> 6102 6103 * daemon/opd_kernel.c: 2.5 modules support, for now I keep 6104 the code for /proc/ksyms parsing in daemon. Let's it living a few 6105 weeks please. 6106 61072003-01-18 Falk Hueffner <falk@debian.org> 6108 6109 I added to the original patch all %L to %ll, Phil 6110 6111 * daemon/opd_image.c: 6112 * daemon/opd_kernel.c: 6113 * libutil/op_types.h: 64 bits printf/scanf safety. 6114 61152003-01-18 Falk Hueffner <falk@debian.org> 6116 6117 * libop/op_cpu_type.h: 6118 * libop/op_cpu_type.c: add Alpha CPU families. 6119 * libop/op_events.h: make op_event.cpu_mask u32, since we now have 6120 more than 16 CPU types 6121 * libop/op_hw_config.h: bump OP_MAX_COUNTERS to 20 for Alpha 6122 * libop/op_events.c: add Alpha events 6123 * daemon/opd_cookie.h: add dcookie syscall number for Alpha 6124 * utils/op_help.c (main): add help string for Alpha 6125 61262003-01-18 John Levon <levon@movementarian.org> 6127 6128 * module/Makefile.in: 6129 * module/x86/Makefile.in: 6130 * module/ia64/Makefile.in: kernel headers are too fubar 6131 for -Werror. So I'm taking my ball home. 6132 61332003-01-17 John Levon <levon@movementarian.org> 6134 6135 * HACKING: 6136 * doc/CodingStyle: add 6137 61382003-01-17 John Levon <levon@movementarian.org> 6139 6140 * TODO: some updates 6141 61422003-01-15 Philippe Elie <phil.el@wanadoo.fr> 6143 6144 * module/x86/op_model_p4.c: pmc_setup_one_p4_counter() show clearly 6145 than event == 0 is an error 6146 61472003-01-15 John Levon <levon@movementarian.org> 6148 6149 * utils/opcontrol: prefer oprofiled/op_help binaries in the same 6150 dir as opcontrol 6151 61522003-01-12 Philippe Elie <phil.el@wanadoo.fr> 6153 6154 * libop/op_events.c: rename OP_P4_HT2 to OP_P4_ALL 6155 61562003-01-12 Philippe Elie <phil.el@wanadoo.fr> 6157 6158 * libop++/op_print_event.cpp: no event,nor unit mask for CPU_TIMER_INT, 6159 problem reported by Ka Fai Lu. 6160 61612003-01-12 John Levon <levon@movementarian.org> 6162 6163 From Graydon Hoare 6164 6165 * libop/op_cpu_type.h: 6166 * libop/op_cpu_type.c: add P4 HT 6167 6168 * libop/op_events.c: tag P4 HT events 6169 61702003-01-11 Randolph Chung <tausq@debian.org> 6171 6172 * daemon/oprofiled.c: fix ELF sniff 6173 61742003-01-11 John Levon <levon@movementarian.org> 6175 6176 * daemon/opd_image.c: bail out immediately on dcookie 6177 lookup failure. 6178 61792003-01-10 John Levon <levon@movementarian.org> 6180 6181 * daemon/opd_cookie.h: insulate against missing arch support 6182 for sys_lookup_dcookie 6183 6184 * daemon/opd_image.c: use the above 6185 61862003-01-10 John Levon <levon@movementarian.org> 6187 6188 * daemon/opd_image.c: 6189 * daemon/oprofiled.c: move complete_dump to a better place 6190 61912003-01-10 John Levon <levon@movementarian.org> 6192 6193 * libutil/op_types.h: add cookie_t and vma_t 6194 6195 * daemon/opd_image.c: 6196 * daemon/opd_image.h: 6197 * daemon/opd_kernel.c: 6198 * daemon/opd_kernel.h: use above types, and kernel_pointer_size 6199 6200 * daemon/oprofiled.c: sniff /proc/kcore for kernel_pointer_size 6201 62022003-01-10 Philippe Elie <phil.el@wanadoo.fr> 6203 6204 * libopt++/popt_options.cpp: 6205 * libopt++/popt_options.h: work-around to support both gcc new parser 6206 and gcc 2.95 6207 62082003-01-08 John Levon <levon@movementarian.org> 6209 6210 * libop/op_type.cpp: support for ascii-string cpu types 6211 62122003-01-08 Philippe Elie <phil.el@wanadoo.fr> 6213 6214 * libutil++/op_bfd.cpp: 6215 * libutil++/op_bfd.h: 6216 * pp/oprofpp.cpp: more use of bfd_vma 6217 62182003-01-08 Philippe Elie <phil.el@wanadoo.fr> 6219 6220 * libdb/Makefile.am: fix include dir 6221 * libdb/db_test.c: don't assume than sizeof(struct opd_header) == 128 6222 62232003-01-06 Philippe Elie <phil.el@wanadoo.fr> 6224 6225 * libutil++/op_bfd.h: fix for 64 bits. 6226 62272003-01-06 Philippe Elie <phil.el@wanadoo.fr> 6228 6229 * libabi/abi.cpp: 6230 * libabi/op_import.cpp: broken by my last change in libdb. 6231 62322003-01-06 Philippe Elie <phil.el@wanadoo.fr> 6233 6234 * db/db_hash.h: do_hash() use db_key_t as parameter 6235 62362003-01-04 John Levon <levon@movementarian.org> 6237 6238 * pp/op_time.cpp: suggest opcontrol --dump instead 6239 6240 * utils/opcontrol: implement --start-daemon. Fix a number 6241 of bugs 6242 6243 * doc/oprofile.xml: 6244 * doc/oprofile.1.in: document --start-daemon 6245 62462003-01-03 Will Cohen <wcohen@redhat.com> 6247 6248 * daemon/oprofiled.c (opd_do_samples): Typecast to match 6249 arguments. 6250 6251See ChangeLog-2002 for earlier changelogs. 6252