You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
1
(25) |
2
(13) |
3
(3) |
|
4
|
5
(5) |
6
(12) |
7
(5) |
8
(16) |
9
(3) |
10
|
|
11
|
12
|
13
(4) |
14
(1) |
15
(2) |
16
(6) |
17
|
|
18
|
19
(1) |
20
(2) |
21
(10) |
22
(9) |
23
(8) |
24
(5) |
|
25
|
26
(6) |
27
(8) |
28
(8) |
29
(23) |
30
(12) |
31
(6) |
|
From: Bart V. A. <bva...@ac...> - 2010-07-06 16:53:26
|
On Thu, Jul 1, 2010 at 11:20 AM, Konstantin Serebryany <kon...@gm...> wrote: > > [ ... ] > > I don't think we need to use ANNOTATE_* in standard libraries. > Instead, I want to ask the library writers to arrange their code to > make it easier to intercept by valgrind tools. > In particular, for atomic ref counting I want to ask them to have a new > function which simply means "atomically decrement reference count and return > whether count is zero". That function could itself simply call > __exchange_and_add_dispatch or whatever. > The function should not be inlined when compiling in debug mode (or we > need some way to intercept it). Please keep in mind that just decrementing an atomic counter is not sufficient for proper reference counting semantics -- memory barriers have to be inserted before the decrement and after the counter has been decremented from one to zero too. Bart. |
|
From: Bart V. A. <bva...@ac...> - 2010-07-06 10:45:27
|
On Tue, Jul 6, 2010 at 8:57 AM, Konstantin Serebryany <kon...@gm...> wrote: > > On Mon, Jul 5, 2010 at 9:00 PM, Bart Van Assche <bva...@ac...> wrote: > > [ ... ] > > > > We can either try to agree upon one of the above three approaches or > > ask the libstdc++ authors for their opinion. > > Yep, they may have a better idea. > I'll send the bug report (with the link to > http://code.google.com/p/data-race-test/wiki/AtomicReferenceCounting) > tomorrow if nobody objects. Please copy the whole text from the wiki in the bug report. Only mentioning the link has the risk that the link gets broken in the future or that people get confused when the text on the wiki is updated after a discussion on the bug report has been started. Bart. |
|
From: Bart V. A. <bva...@ac...> - 2010-07-06 07:57:46
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2010-07-06 02:27:48 EDT Ended at 2010-07-06 03:57:27 EDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 462 tests, 44 stderr failures, 12 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) callgrind/tests/simwork-both (stdout) callgrind/tests/simwork-both (stderr) callgrind/tests/simwork-branch (stdout) callgrind/tests/simwork-branch (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) |
|
From: Konstantin S. <kon...@gm...> - 2010-07-06 06:58:06
|
On Mon, Jul 5, 2010 at 9:00 PM, Bart Van Assche <bva...@ac...> wrote: > On Mon, Jul 5, 2010 at 12:20 PM, Konstantin Serebryany > <kon...@gm...> wrote: >> >> On Mon, Jul 5, 2010 at 2:13 PM, Bart Van Assche <bva...@ac...> wrote: >> > On Mon, Jul 5, 2010 at 11:32 AM, Konstantin Serebryany >> > <kon...@gm...> wrote: >> >> >> >> +da...@go... >> >> Julian, Bart, >> >> >> >> I've prepared a (draft) message to libstdc++. >> >> Please review it. You are welcome to edit it directly too. >> >> http://code.google.com/p/data-race-test/wiki/AtomicReferenceCounting >> > >> > While I welcome such an initiative, I have a few comments: >> > - Asking the libstdc++ maintainers to use ANNOTATE_HAPPENS_BEFORE() >> > and ANNOTATE_HAPPENS_AFTER() is not an option as long as there exist >> > three different implementations of these macros (one in >> > ThreadSanitizer, one in Helgrind and one in DRD). >> >> Agree. Shall we do something with this? > > I see three possible approaches: > (a) Create a new shared library that contains at least a function for > atomically decrementing a reference counter and kindly ask all authors > of libraries that use reference-counted objects to use that new > library for manipulating reference counts. That way data-race > detection tools can recognize reference counters and the ordering > imposed by decrementing reference counters by intercepting a single > function. > (b) Ask all authors of libraries that use reference-counted objects to > add and export a function that does nothing else than decrementing a > reference count. Also agree with these authors about a naming scheme > for such a function such that all such functions can be intercepted > via a single wildcard pattern in Valgrind. I am in favor of (b). But, as we both mentioned, this will *currently* require the function not to be inlined. > (c) Ask library authors to insert a Valgrind client request before > each reference counter decrement and after each reference counter > decrement that set the reference count equal to zero. I am slightly against (c). The problem with valgrind client requests is that they (currently) support only some architectures and only some compilers. > > We should also consider wherever reference counts are decremented in > inline functions in public header files, to make the above behavior > configurable via preprocessor symbol. Certain behavior of libstdc++ is > already configurable via preprocessor symbols, e.g. via the > preprocessor symbol GLIBCXX_FORCE_NEW. > > We can either try to agree upon one of the above three approaches or > ask the libstdc++ authors for their opinion. Yep, they may have a better idea. I'll send the bug report (with the link to http://code.google.com/p/data-race-test/wiki/AtomicReferenceCounting) tomorrow if nobody objects. --kcc > > Note: as is documented in the header file <valgrind/valgrind.h>, the > preprocessor symbol NVALGRIND controls whether or not Valgrind client > requests are inserted in the output code. > > Bart. > |
|
From: Alexander P. <gl...@go...> - 2010-07-06 06:28:07
|
Nightly build on mcgrind ( Darwin 9.8.0 i386 ) Started at 2010-07-06 09:06:01 MSD Ended at 2010-07-06 09:28:54 MSD Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 484 tests, 145 stderr failures, 15 stdout failures, 0 post failures == memcheck/tests/amd64/more_x87_fp (stdout) memcheck/tests/darwin/scalar (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/post-syscall (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/writev (stderr) none/tests/amd64/bug137714-amd64 (stdout) none/tests/amd64/bug137714-amd64 (stderr) none/tests/amd64/bug156404-amd64 (stdout) none/tests/amd64/bug156404-amd64 (stderr) none/tests/amd64/fcmovnu (stdout) none/tests/amd64/fcmovnu (stderr) none/tests/amd64/fxtract (stdout) none/tests/amd64/fxtract (stderr) none/tests/amd64/jrcxz (stdout) none/tests/amd64/jrcxz (stderr) none/tests/amd64/looper (stdout) none/tests/amd64/looper (stderr) none/tests/amd64/shrld (stdout) none/tests/amd64/shrld (stderr) none/tests/amd64/slahf-amd64 (stdout) none/tests/amd64/slahf-amd64 (stderr) none/tests/async-sigs (stderr) none/tests/coolo_sigaction (stdout) none/tests/empty-exe (stderr) none/tests/faultstatus (stderr) none/tests/manythreads (stdout) none/tests/manythreads (stderr) none/tests/pth_blockedsig (stderr) none/tests/pth_exit (stderr) none/tests/require-text-symbol-2 (stderr) none/tests/res_search (stdout) none/tests/res_search (stderr) none/tests/resolv (stdout) none/tests/resolv (stderr) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) none/tests/syscall-restart1 (stderr) none/tests/syslog (stderr) none/tests/thread-exits (stdout) none/tests/thread-exits (stderr) helgrind/tests/annotate_hbefore (stderr) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/rwlock_test (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc04_free_lock (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc10_rec_lock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc13_laog1 (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc15_laog_lockdel (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) drd/tests/annotate_barrier (stderr) drd/tests/annotate_hb_err (stderr) drd/tests/annotate_hb_race (stderr) drd/tests/annotate_hbefore (stderr) drd/tests/annotate_ignore_read (stderr) drd/tests/annotate_ignore_rw (stderr) drd/tests/annotate_ignore_rw2 (stderr) drd/tests/annotate_ignore_write (stderr) drd/tests/annotate_ignore_write2 (stderr) drd/tests/annotate_order_1 (stderr) drd/tests/annotate_order_2 (stderr) drd/tests/annotate_order_3 (stderr) drd/tests/annotate_publish_hg (stderr) drd/tests/annotate_rwlock (stderr) drd/tests/annotate_smart_pointer (stderr) drd/tests/annotate_spinlock (stderr) drd/tests/annotate_static (stderr) drd/tests/annotate_trace_memory (stderr) drd/tests/atomic_var (stderr) drd/tests/bug-235681 (stderr) drd/tests/circular_buffer (stderr) drd/tests/custom_alloc (stderr) drd/tests/fp_race (stderr) drd/tests/fp_race2 (stderr) drd/tests/hg01_all_ok (stderr) drd/tests/hg02_deadlock (stderr) drd/tests/hg03_inherit (stderr) drd/tests/hg04_race (stderr) drd/tests/hg05_race2 (stderr) drd/tests/hg06_readshared (stderr) drd/tests/hold_lock_1 (stderr) drd/tests/hold_lock_2 (stderr) drd/tests/linuxthreads_det (stderr) drd/tests/memory_allocation (stderr) drd/tests/monitor_example (stderr) drd/tests/new_delete (stderr) drd/tests/pth_broadcast (stderr) drd/tests/pth_cancel_locked (stderr) drd/tests/pth_cleanup_handler (stderr) drd/tests/pth_cond_race (stderr) drd/tests/pth_cond_race2 (stderr) drd/tests/pth_cond_race3 (stderr) drd/tests/pth_create_chain (stderr) drd/tests/pth_detached (stderr) drd/tests/pth_detached2 (stderr) drd/tests/pth_inconsistent_cond_wait (stderr) drd/tests/pth_mutex_reinit (stderr) drd/tests/pth_once (stderr) drd/tests/pth_process_shared_mutex (stderr) drd/tests/pth_uninitialized_cond (stderr) drd/tests/recursive_mutex (stderr) drd/tests/rwlock_race (stderr) drd/tests/rwlock_test (stderr) drd/tests/rwlock_type_checking (stderr) drd/tests/sem_open (stderr) drd/tests/sem_open2 (stderr) drd/tests/sem_open3 (stderr) drd/tests/sem_open_traced (stderr) drd/tests/sigalrm (stderr) drd/tests/tc01_simple_race (stderr) drd/tests/tc02_simple_tls (stderr) drd/tests/tc03_re_excl (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc05_simple_race (stderr) drd/tests/tc06_two_races (stderr) drd/tests/tc07_hbl1 (stderr) drd/tests/tc08_hbl2 (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc10_rec_lock (stderr) drd/tests/tc11_XCHG (stderr) drd/tests/tc12_rwl_trivial (stderr) drd/tests/tc13_laog1 (stderr) drd/tests/tc15_laog_lockdel (stderr) drd/tests/tc16_byterace (stderr) drd/tests/tc17_sembar (stderr) drd/tests/tc19_shadowmem (stderr) drd/tests/tc21_pthonce (stderr) drd/tests/tc23_bogus_condwait (stderr) drd/tests/thread_name (stderr) drd/tests/trylock (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 447 tests, 36 stderr failures, 1 stdout failure, 9 post failures == memcheck/tests/darwin/scalar (stderr) memcheck/tests/null_socket (stdout) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) massif/tests/peak (stderr) massif/tests/peak (post) massif/tests/peak2 (stderr) massif/tests/peak2 (post) massif/tests/realloc (stderr) massif/tests/realloc (post) massif/tests/thresholds_0_0 (stderr) massif/tests/thresholds_0_0 (post) massif/tests/thresholds_0_10 (stderr) massif/tests/thresholds_0_10 (post) massif/tests/thresholds_10_0 (stderr) massif/tests/thresholds_10_0 (post) massif/tests/thresholds_10_10 (stderr) massif/tests/thresholds_10_10 (post) massif/tests/thresholds_5_0 (stderr) massif/tests/thresholds_5_0 (post) massif/tests/thresholds_5_10 (stderr) massif/tests/thresholds_5_10 (post) none/tests/async-sigs (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) none/tests/require-text-symbol-2 (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) drd/tests/circular_buffer (stderr) drd/tests/pth_inconsistent_cond_wait (stderr) drd/tests/sem_open (stderr) drd/tests/sem_open2 (stderr) drd/tests/sem_open3 (stderr) drd/tests/sem_open_traced (stderr) drd/tests/tc17_sembar (stderr) drd/tests/tc23_bogus_condwait (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Jul 6 09:15:38 2010 --- new.short Tue Jul 6 09:28:54 2010 *************** *** 8,50 **** ! == 447 tests, 36 stderr failures, 1 stdout failure, 9 post failures == memcheck/tests/darwin/scalar (stderr) - memcheck/tests/null_socket (stdout) memcheck/tests/origin5-bz2 (stderr) ! memcheck/tests/varinfo1 (stderr) ! memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) - memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) ! massif/tests/peak (stderr) ! massif/tests/peak (post) ! massif/tests/peak2 (stderr) ! massif/tests/peak2 (post) ! massif/tests/realloc (stderr) ! massif/tests/realloc (post) ! massif/tests/thresholds_0_0 (stderr) ! massif/tests/thresholds_0_0 (post) ! massif/tests/thresholds_0_10 (stderr) ! massif/tests/thresholds_0_10 (post) ! massif/tests/thresholds_10_0 (stderr) ! massif/tests/thresholds_10_0 (post) ! massif/tests/thresholds_10_10 (stderr) ! massif/tests/thresholds_10_10 (post) ! massif/tests/thresholds_5_0 (stderr) ! massif/tests/thresholds_5_0 (post) ! massif/tests/thresholds_5_10 (stderr) ! massif/tests/thresholds_5_10 (post) none/tests/async-sigs (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) none/tests/require-text-symbol-2 (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) drd/tests/circular_buffer (stderr) drd/tests/pth_inconsistent_cond_wait (stderr) drd/tests/sem_open (stderr) --- 8,144 ---- ! == 484 tests, 145 stderr failures, 15 stdout failures, 0 post failures == ! memcheck/tests/amd64/more_x87_fp (stdout) memcheck/tests/darwin/scalar (stderr) memcheck/tests/origin5-bz2 (stderr) ! memcheck/tests/post-syscall (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) ! memcheck/tests/writev (stderr) ! none/tests/amd64/bug137714-amd64 (stdout) ! none/tests/amd64/bug137714-amd64 (stderr) ! none/tests/amd64/bug156404-amd64 (stdout) ! none/tests/amd64/bug156404-amd64 (stderr) ! none/tests/amd64/fcmovnu (stdout) ! none/tests/amd64/fcmovnu (stderr) ! none/tests/amd64/fxtract (stdout) ! none/tests/amd64/fxtract (stderr) ! none/tests/amd64/jrcxz (stdout) ! none/tests/amd64/jrcxz (stderr) ! none/tests/amd64/looper (stdout) ! none/tests/amd64/looper (stderr) ! none/tests/amd64/shrld (stdout) ! none/tests/amd64/shrld (stderr) ! none/tests/amd64/slahf-amd64 (stdout) ! none/tests/amd64/slahf-amd64 (stderr) none/tests/async-sigs (stderr) + none/tests/coolo_sigaction (stdout) + none/tests/empty-exe (stderr) none/tests/faultstatus (stderr) + none/tests/manythreads (stdout) + none/tests/manythreads (stderr) none/tests/pth_blockedsig (stderr) + none/tests/pth_exit (stderr) none/tests/require-text-symbol-2 (stderr) + none/tests/res_search (stdout) + none/tests/res_search (stderr) + none/tests/resolv (stdout) + none/tests/resolv (stderr) + none/tests/shell (stdout) + none/tests/shell (stderr) + none/tests/shell_valid1 (stderr) + none/tests/shell_valid2 (stderr) + none/tests/shell_valid3 (stderr) + none/tests/shell_zerolength (stderr) + none/tests/syscall-restart1 (stderr) + none/tests/syslog (stderr) + none/tests/thread-exits (stdout) + none/tests/thread-exits (stderr) + helgrind/tests/annotate_hbefore (stderr) + helgrind/tests/annotate_rwlock (stderr) + helgrind/tests/hg01_all_ok (stderr) + helgrind/tests/hg02_deadlock (stderr) + helgrind/tests/hg03_inherit (stderr) + helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) + helgrind/tests/hg06_readshared (stderr) helgrind/tests/rwlock_race (stderr) + helgrind/tests/rwlock_test (stderr) + helgrind/tests/tc01_simple_race (stderr) + helgrind/tests/tc02_simple_tls (stderr) + helgrind/tests/tc03_re_excl (stderr) + helgrind/tests/tc04_free_lock (stderr) + helgrind/tests/tc05_simple_race (stderr) + helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) + helgrind/tests/tc07_hbl1 (stderr) + helgrind/tests/tc08_hbl2 (stderr) + helgrind/tests/tc09_bad_unlock (stderr) + helgrind/tests/tc10_rec_lock (stderr) + helgrind/tests/tc11_XCHG (stderr) + helgrind/tests/tc12_rwl_trivial (stderr) + helgrind/tests/tc13_laog1 (stderr) + helgrind/tests/tc14_laog_dinphils (stderr) + helgrind/tests/tc15_laog_lockdel (stderr) + helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) + helgrind/tests/tc19_shadowmem (stderr) + helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) + drd/tests/annotate_barrier (stderr) + drd/tests/annotate_hb_err (stderr) + drd/tests/annotate_hb_race (stderr) + drd/tests/annotate_hbefore (stderr) + drd/tests/annotate_ignore_read (stderr) + drd/tests/annotate_ignore_rw (stderr) + drd/tests/annotate_ignore_rw2 (stderr) + drd/tests/annotate_ignore_write (stderr) + drd/tests/annotate_ignore_write2 (stderr) + drd/tests/annotate_order_1 (stderr) + drd/tests/annotate_order_2 (stderr) + drd/tests/annotate_order_3 (stderr) + drd/tests/annotate_publish_hg (stderr) + drd/tests/annotate_rwlock (stderr) + drd/tests/annotate_smart_pointer (stderr) + drd/tests/annotate_spinlock (stderr) + drd/tests/annotate_static (stderr) + drd/tests/annotate_trace_memory (stderr) + drd/tests/atomic_var (stderr) + drd/tests/bug-235681 (stderr) drd/tests/circular_buffer (stderr) + drd/tests/custom_alloc (stderr) + drd/tests/fp_race (stderr) + drd/tests/fp_race2 (stderr) + drd/tests/hg01_all_ok (stderr) + drd/tests/hg02_deadlock (stderr) + drd/tests/hg03_inherit (stderr) + drd/tests/hg04_race (stderr) + drd/tests/hg05_race2 (stderr) + drd/tests/hg06_readshared (stderr) + drd/tests/hold_lock_1 (stderr) + drd/tests/hold_lock_2 (stderr) + drd/tests/linuxthreads_det (stderr) + drd/tests/memory_allocation (stderr) + drd/tests/monitor_example (stderr) + drd/tests/new_delete (stderr) + drd/tests/pth_broadcast (stderr) + drd/tests/pth_cancel_locked (stderr) + drd/tests/pth_cleanup_handler (stderr) + drd/tests/pth_cond_race (stderr) + drd/tests/pth_cond_race2 (stderr) + drd/tests/pth_cond_race3 (stderr) + drd/tests/pth_create_chain (stderr) + drd/tests/pth_detached (stderr) + drd/tests/pth_detached2 (stderr) drd/tests/pth_inconsistent_cond_wait (stderr) + drd/tests/pth_mutex_reinit (stderr) + drd/tests/pth_once (stderr) + drd/tests/pth_process_shared_mutex (stderr) + drd/tests/pth_uninitialized_cond (stderr) + drd/tests/recursive_mutex (stderr) + drd/tests/rwlock_race (stderr) + drd/tests/rwlock_test (stderr) + drd/tests/rwlock_type_checking (stderr) drd/tests/sem_open (stderr) *************** *** 53,56 **** --- 147,170 ---- drd/tests/sem_open_traced (stderr) + drd/tests/sigalrm (stderr) + drd/tests/tc01_simple_race (stderr) + drd/tests/tc02_simple_tls (stderr) + drd/tests/tc03_re_excl (stderr) + drd/tests/tc04_free_lock (stderr) + drd/tests/tc05_simple_race (stderr) + drd/tests/tc06_two_races (stderr) + drd/tests/tc07_hbl1 (stderr) + drd/tests/tc08_hbl2 (stderr) + drd/tests/tc09_bad_unlock (stderr) + drd/tests/tc10_rec_lock (stderr) + drd/tests/tc11_XCHG (stderr) + drd/tests/tc12_rwl_trivial (stderr) + drd/tests/tc13_laog1 (stderr) + drd/tests/tc15_laog_lockdel (stderr) + drd/tests/tc16_byterace (stderr) drd/tests/tc17_sembar (stderr) + drd/tests/tc19_shadowmem (stderr) + drd/tests/tc21_pthonce (stderr) drd/tests/tc23_bogus_condwait (stderr) + drd/tests/thread_name (stderr) + drd/tests/trylock (stderr) -- Alexander Potapenko Software Engineer Google Moscow |
|
From: Rich C. <rc...@wi...> - 2010-07-06 05:19:18
|
Nightly build on ppc32 ( Linux 2.6.27.7-9-default ppc )
Started at 2010-07-05 23:26:01 CDT
Ended at 2010-07-06 00:19:02 CDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 459 tests, 161 stderr failures, 43 stdout failures, 2 post failures ==
memcheck/tests/addressable (stdout)
memcheck/tests/addressable (stderr)
memcheck/tests/atomic_incs (stdout)
memcheck/tests/atomic_incs (stderr)
memcheck/tests/badaddrvalue (stdout)
memcheck/tests/badaddrvalue (stderr)
memcheck/tests/badfree-2trace (stderr)
memcheck/tests/badfree (stderr)
memcheck/tests/badjump (stderr)
memcheck/tests/badjump2 (stderr)
memcheck/tests/badloop (stderr)
memcheck/tests/badpoll (stderr)
memcheck/tests/badrw (stderr)
memcheck/tests/brk2 (stderr)
memcheck/tests/buflen_check (stderr)
memcheck/tests/calloc-overflow (stderr)
memcheck/tests/clientperm (stdout)
memcheck/tests/clientperm (stderr)
memcheck/tests/custom-overlap (stderr)
memcheck/tests/custom_alloc (stderr)
memcheck/tests/deep_templates (stdout)
memcheck/tests/deep_templates (stderr)
memcheck/tests/describe-block (stderr)
memcheck/tests/doublefree (stderr)
memcheck/tests/erringfds (stdout)
memcheck/tests/erringfds (stderr)
memcheck/tests/error_counts (stderr)
memcheck/tests/errs1 (stderr)
memcheck/tests/execve (stderr)
memcheck/tests/execve2 (stderr)
memcheck/tests/exitprog (stderr)
memcheck/tests/file_locking (stderr)
memcheck/tests/fprw (stderr)
memcheck/tests/fwrite (stderr)
memcheck/tests/inits (stderr)
memcheck/tests/inline (stdout)
memcheck/tests/inline (stderr)
memcheck/tests/leak-0 (stderr)
memcheck/tests/leak-cases-full (stderr)
memcheck/tests/leak-cases-summary (stderr)
memcheck/tests/leak-cycle (stderr)
memcheck/tests/leak-pool-0 (stderr)
memcheck/tests/leak-pool-1 (stderr)
memcheck/tests/leak-pool-2 (stderr)
memcheck/tests/leak-pool-3 (stderr)
memcheck/tests/leak-pool-4 (stderr)
memcheck/tests/leak-pool-5 (stderr)
memcheck/tests/leak-tree (stderr)
memcheck/tests/linux/brk (stderr)
memcheck/tests/linux/capget (stderr)
memcheck/tests/linux/lsframe1 (stderr)
memcheck/tests/linux/lsframe2 (stderr)
memcheck/tests/linux/sigqueue (stderr)
memcheck/tests/linux/stack_changes (stdout)
memcheck/tests/linux/stack_changes (stderr)
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/linux/timerfd-syscall (stdout)
memcheck/tests/linux/timerfd-syscall (stderr)
memcheck/tests/linux/with-space (stdout)
memcheck/tests/linux/with-space (stderr)
memcheck/tests/linux-syscalls-2007 (stderr)
memcheck/tests/linux-syslog-syscall (stderr)
memcheck/tests/long-supps (stderr)
memcheck/tests/long_namespace_xml (stdout)
memcheck/tests/long_namespace_xml (stderr)
memcheck/tests/mallinfo (stderr)
memcheck/tests/malloc1 (stderr)
memcheck/tests/malloc2 (stderr)
memcheck/tests/malloc3 (stdout)
memcheck/tests/malloc3 (stderr)
memcheck/tests/malloc_free_fill (stderr)
memcheck/tests/malloc_usable (stderr)
memcheck/tests/manuel1 (stdout)
memcheck/tests/manuel1 (stderr)
memcheck/tests/manuel2 (stdout)
memcheck/tests/manuel2 (stderr)
memcheck/tests/manuel3 (stderr)
memcheck/tests/match-overrun (stderr)
memcheck/tests/memalign2 (stderr)
memcheck/tests/memalign_test (stderr)
memcheck/tests/memcmptest (stdout)
memcheck/tests/memcmptest (stderr)
memcheck/tests/mempool (stderr)
memcheck/tests/metadata (stdout)
memcheck/tests/metadata (stderr)
memcheck/tests/mismatches (stderr)
memcheck/tests/mmaptest (stderr)
memcheck/tests/nanoleak2 (stderr)
memcheck/tests/nanoleak_supp (stderr)
memcheck/tests/new_nothrow (stderr)
memcheck/tests/new_override (stdout)
memcheck/tests/new_override (stderr)
memcheck/tests/noisy_child (stderr)
memcheck/tests/null_socket (stderr)
memcheck/tests/origin1-yes (stderr)
memcheck/tests/origin2-not-quite (stderr)
memcheck/tests/origin3-no (stderr)
memcheck/tests/origin4-many (stderr)
memcheck/tests/origin5-bz2 (stdout)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/origin6-fp (stderr)
memcheck/tests/overlap (stdout)
memcheck/tests/overlap (stderr)
memcheck/tests/partial_load_dflt (stderr)
memcheck/tests/partial_load_ok (stderr)
memcheck/tests/partiallydefinedeq (stdout)
memcheck/tests/partiallydefinedeq (stderr)
memcheck/tests/pdb-realloc (stderr)
memcheck/tests/pdb-realloc2 (stdout)
memcheck/tests/pdb-realloc2 (stderr)
memcheck/tests/pipe (stderr)
memcheck/tests/pointer-trace (stderr)
memcheck/tests/post-syscall (stderr)
memcheck/tests/realloc1 (stderr)
memcheck/tests/realloc2 (stderr)
memcheck/tests/realloc3 (stderr)
memcheck/tests/sh-mem-random (stdout)
memcheck/tests/sh-mem-random (stderr)
memcheck/tests/sh-mem (stderr)
memcheck/tests/sigaltstack (stderr)
memcheck/tests/sigkill (stderr)
memcheck/tests/signal2 (stdout)
memcheck/tests/signal2 (stderr)
memcheck/tests/sigprocmask (stderr)
memcheck/tests/str_tester (stderr)
memcheck/tests/strchr (stderr)
memcheck/tests/supp-dir (stderr)
memcheck/tests/supp1 (stderr)
memcheck/tests/supp2 (stderr)
memcheck/tests/supp_unknown (stderr)
memcheck/tests/suppfree (stderr)
memcheck/tests/trivialleak (stderr)
memcheck/tests/unit_libcbase (stderr)
memcheck/tests/unit_oset (stdout)
memcheck/tests/unit_oset (stderr)
memcheck/tests/varinfo1 (stderr)
memcheck/tests/varinfo2 (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo4 (stdout)
memcheck/tests/varinfo4 (stderr)
memcheck/tests/varinfo5 (stderr)
memcheck/tests/varinfo6 (stdout)
memcheck/tests/varinfo6 (stderr)
memcheck/tests/vcpu_bz2 (stdout)
memcheck/tests/vcpu_bz2 (stderr)
memcheck/tests/vcpu_fbench (stdout)
memcheck/tests/vcpu_fbench (stderr)
memcheck/tests/vcpu_fnfns (stdout)
memcheck/tests/vcpu_fnfns (stderr)
memcheck/tests/wrap1 (stdout)
memcheck/tests/wrap1 (stderr)
memcheck/tests/wrap2 (stdout)
memcheck/tests/wrap2 (stderr)
memcheck/tests/wrap3 (stdout)
memcheck/tests/wrap3 (stderr)
memcheck/tests/wrap4 (stdout)
memcheck/tests/wrap4 (stderr)
memcheck/tests/wrap5 (stdout)
memcheck/tests/wrap5 (stderr)
memcheck/tests/wrap6 (stdout)
memcheck/tests/wrap6 (stderr)
memcheck/tests/wrap7 (stdout)
memcheck/tests/wrap7 (stderr)
memcheck/tests/wrap8 (stdout)
memcheck/tests/wrap8 (stderr)
memcheck/tests/writev (stderr)
memcheck/tests/xml1 (stdout)
memcheck/tests/xml1 (stderr)
massif/tests/deep-D (post)
massif/tests/overloaded-new (post)
none/tests/linux/mremap (stderr)
none/tests/ppc32/jm-fp (stdout)
none/tests/ppc32/jm-fp (stderr)
none/tests/ppc32/jm-vmx (stdout)
none/tests/ppc32/round (stdout)
none/tests/ppc32/round (stderr)
none/tests/ppc32/test_fx (stdout)
none/tests/ppc32/test_fx (stderr)
none/tests/ppc32/test_gx (stdout)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
drd/tests/unit_bitmap (stderr)
drd/tests/unit_vc (stderr)
exp-ptrcheck/tests/bad_percentify (stderr)
exp-ptrcheck/tests/base (stderr)
exp-ptrcheck/tests/ccc (stderr)
exp-ptrcheck/tests/fp (stderr)
exp-ptrcheck/tests/globalerr (stderr)
exp-ptrcheck/tests/hackedbz2 (stderr)
exp-ptrcheck/tests/hp_bounds (stderr)
exp-ptrcheck/tests/hp_dangle (stderr)
exp-ptrcheck/tests/hsg (stderr)
exp-ptrcheck/tests/justify (stderr)
exp-ptrcheck/tests/partial_bad (stderr)
exp-ptrcheck/tests/partial_good (stderr)
exp-ptrcheck/tests/preen_invars (stderr)
exp-ptrcheck/tests/pth_create (stderr)
exp-ptrcheck/tests/pth_specific (stderr)
exp-ptrcheck/tests/realloc (stderr)
exp-ptrcheck/tests/stackerr (stderr)
exp-ptrcheck/tests/strcpy (stderr)
exp-ptrcheck/tests/supp (stderr)
exp-ptrcheck/tests/tricky (stderr)
exp-ptrcheck/tests/unaligned (stderr)
exp-ptrcheck/tests/zero (stderr)
=================================================
./valgrind-new/drd/tests/unit_bitmap.stderr.diff
=================================================
--- unit_bitmap.stderr.exp 2010-07-05 23:52:58.000000000 -0500
+++ unit_bitmap.stderr.out 2010-07-06 00:17:35.000000000 -0500
@@ -1,2 +1,20 @@
-Start of DRD BM unit test.
-End of DRD BM unit test.
+
+valgrind: Fatal error at startup: a function redirection
+valgrind: which is mandatory for this platform-tool combination
+valgrind: cannot be set up. Details of the redirection are:
+valgrind:
+valgrind: A must-be-redirected function
+valgrind: whose name matches the pattern: strlen
+valgrind: in an object with soname matching: ld.so.1
+valgrind: was not found whilst processing
+valgrind: symbols from the object with soname: ld.so.1
+valgrind:
+valgrind: Possible fixes: (1, short term): install glibc's debuginfo
+valgrind: package on this machine. (2, longer term): ask the packagers
+valgrind: for your Linux distribution to please in future ship a non-
+valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
+valgrind: that exports the above-named function using the standard
+valgrind: calling conventions for this platform.
+valgrind:
+valgrind: Cannot continue -- exiting now. Sorry.
+
=================================================
./valgrind-new/drd/tests/unit_vc.stderr.diff
=================================================
--- unit_vc.stderr.exp 2010-07-05 23:52:57.000000000 -0500
+++ unit_vc.stderr.out 2010-07-06 00:17:35.000000000 -0500
@@ -1,5 +1,20 @@
-vc1: [ 3: 7, 5: 8 ]
-vc2: [ 1: 4, 3: 9 ]
-vc3: [ 1: 4, 3: 9, 5: 8 ]
-vc_lte(vc1, vc2) = 0, vc_lte(vc1, vc3) = 1, vc_lte(vc2, vc3) = 1
-vc_lte([ 1: 3, 2: 1 ], [ 1: 4 ]) = 0 sw 0
+
+valgrind: Fatal error at startup: a function redirection
+valgrind: which is mandatory for this platform-tool combination
+valgrind: cannot be set up. Details of the redirection are:
+valgrind:
+valgrind: A must-be-redirected function
+valgrind: whose name matches the pattern: strlen
+valgrind: in an object with soname matching: ld.so.1
+valgrind: was not found whilst processing
+valgrind: symbols from the object with soname: ld.so.1
+valgrind:
+valgrind: Possible fixes: (1, short term): install glibc's debuginfo
+valgrind: package on this machine. (2, longer term): ask the packagers
+valgrind: for your Linux distribution to please in future ship a non-
+valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
+valgrind: that exports the above-named function using the standard
+valgrind: calling conventions for this platform.
+valgrind:
+valgrind: Cannot continue -- exiting now. Sorry.
+
=================================================
./valgrind-new/exp-ptrcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2010-07-05 23:52:41.000000000 -0500
+++ bad_percentify.stderr.out 2010-07-06 00:17:39.000000000 -0500
@@ -1,33 +1,6 @@
-Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
- by 0x........: ...
- by 0x........: VG_print_translation_stats (bad_percentify.c:88)
- by 0x........: main (bad_percentify.c:107)
- Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
- Actual: unknown
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
- by 0x........: ...
- by 0x........: VG_print_translation_stats (bad_percentify.c:93)
- by 0x........: main (bad_percentify.c:107)
- Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
- Actual: unknown
-
-Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
- by 0x........: ...
- by 0x........: VG_print_translation_stats (bad_percentify.c:98)
- by 0x........: main (bad_percentify.c:107)
- Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
- Actual: unknown
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/base.stderr.diff-glibc25-amd64
=================================================
--- base.stderr.exp-glibc25-amd64 2010-07-05 23:52:41.000000000 -0500
+++ base.stderr.out 2010-07-06 00:17:42.000000000 -0500
@@ -1,10 +1,13 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
about to do 14 [0]
about to do 14 [-1]
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (base.c:14)
- Address 0x........ is 8 bytes before the accessing pointer's
- legitimate range, a block of size 80 alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 40 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (arith_include2.c:22)
@@ -13,22 +16,22 @@
about to do 18 [0]
about to do 18 [-1]
about to do 20 [0]
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (base.c:20)
Address 0x........ is not derived from any known block
about to do 20 [-1]
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (base.c:20)
Address 0x........ is not derived from any known block
about to do 22 [0]
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (base.c:22)
Address 0x........ is not derived from any known block
about to do 22 [-1]
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (base.c:22)
Address 0x........ is not derived from any known block
=================================================
./valgrind-new/exp-ptrcheck/tests/base.stderr.diff-glibc25-x86
=================================================
--- base.stderr.exp-glibc25-x86 2010-07-05 23:52:41.000000000 -0500
+++ base.stderr.out 2010-07-06 00:17:42.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
about to do 14 [0]
about to do 14 [-1]
Invalid read of size 4
=================================================
./valgrind-new/exp-ptrcheck/tests/ccc.stderr.diff-glibc25-amd64
=================================================
--- ccc.stderr.exp-glibc25-amd64 2010-07-05 23:52:41.000000000 -0500
+++ ccc.stderr.out 2010-07-06 00:17:45.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (ccc.cpp:20)
Address 0x........ is 4 bytes before the accessing pointer's
@@ -21,21 +24,21 @@
by 0x........: main (ccc.cpp:10)
Invalid read of size 4
- at 0x........: main (ccc.cpp:22)
+ at 0x........: main (ccc.cpp:23)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:11)
Invalid read of size 4
- at 0x........: main (ccc.cpp:23)
+ at 0x........: main (ccc.cpp:24)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
at 0x........: memalign (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:12)
Invalid read of size 4
- at 0x........: main (ccc.cpp:24)
+ at 0x........: main (ccc.cpp:22)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
at 0x........: memalign (vg_replace_malloc.c:...)
=================================================
./valgrind-new/exp-ptrcheck/tests/ccc.stderr.diff-glibc27-x86
=================================================
--- ccc.stderr.exp-glibc27-x86 2010-07-05 23:52:41.000000000 -0500
+++ ccc.stderr.out 2010-07-06 00:17:45.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (ccc.cpp:20)
Address 0x........ is 4 bytes before the accessing pointer's
@@ -35,7 +38,7 @@
by 0x........: main (ccc.cpp:12)
Invalid read of size 4
- at 0x........: main (ccc.cpp:25)
+ at 0x........: main (ccc.cpp:22)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
at 0x........: memalign (vg_replace_malloc.c:...)
=================================================
./valgrind-new/exp-ptrcheck/tests/ccc.stderr.diff-glibc28-amd64
=================================================
--- ccc.stderr.exp-glibc28-amd64 2010-07-05 23:52:41.000000000 -0500
+++ ccc.stderr.out 2010-07-06 00:17:45.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (ccc.cpp:20)
Address 0x........ is 4 bytes before the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/fp.stderr.diff
=================================================
--- fp.stderr.exp 2010-07-05 23:52:41.000000000 -0500
+++ fp.stderr.out 2010-07-06 00:17:48.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 8
at 0x........: main (fp.c:13)
Address 0x........ is 0 bytes inside the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/globalerr.stderr.diff-glibc28-amd64
=================================================
--- globalerr.stderr.exp-glibc28-amd64 2010-07-05 23:52:41.000000000 -0500
+++ globalerr.stderr.out 2010-07-06 00:17:52.000000000 -0500
@@ -1,15 +1,6 @@
-Invalid read of size 2
- at 0x........: main (globalerr.c:12)
- Address 0x........ expected vs actual:
- Expected: global array "a" in object with soname "NONE"
- Actual: unknown
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-Invalid read of size 2
- at 0x........: main (globalerr.c:12)
- Address 0x........ expected vs actual:
- Expected: global array "b" in object with soname "NONE"
- Actual: unknown
-
-
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2010-07-05 23:52:41.000000000 -0500
+++ hackedbz2.stderr.out 2010-07-06 00:18:11.000000000 -0500
@@ -1,16 +1,6 @@
-Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
- by 0x........: vex_printf (hackedbz2.c:1155)
- by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
- by 0x........: handle_compress (hackedbz2.c:4761)
- by 0x........: BZ2_bzCompress (hackedbz2.c:4831)
- by 0x........: BZ2_bzBuffToBuffCompress (hackedbz2.c:5638)
- by 0x........: main (hackedbz2.c:6484)
- Address 0x........ expected vs actual:
- Expected: global array "myprintf_buf" in object with soname "NONE"
- Actual: unknown
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/hp_bounds.stderr.diff
=================================================
--- hp_bounds.stderr.exp 2010-07-05 23:52:41.000000000 -0500
+++ hp_bounds.stderr.out 2010-07-06 00:18:14.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (hp_bounds.c:9)
Address 0x........ is 0 bytes after the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/hp_dangle.stderr.diff
=================================================
--- hp_dangle.stderr.exp 2010-07-05 23:52:41.000000000 -0500
+++ hp_dangle.stderr.out 2010-07-06 00:18:17.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (hp_dangle.c:17)
Address 0x........ is 20 bytes inside the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/hsg.stderr.diff
=================================================
--- hsg.stderr.exp 2010-07-05 23:52:41.000000000 -0500
+++ hsg.stderr.out 2010-07-06 00:18:20.000000000 -0500
@@ -32,70 +32,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <kind>SorG</kind>
- <what>Invalid read of size 2</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>addup_wrongly</fn>
- <dir>...</dir>
- <file>hsg.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>main</fn>
- <dir>...</dir>
- <file>hsg.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ expected vs actual:</auxwhat>
- <auxwhat>Expected: global array "ga" in object with soname "NONE"</auxwhat>
- <auxwhat>Actual: unknown</auxwhat>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <kind>SorG</kind>
- <what>Invalid read of size 2</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>addup_wrongly</fn>
- <dir>...</dir>
- <file>hsg.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>do_other_stuff</fn>
- <dir>...</dir>
- <file>hsg.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>main</fn>
- <dir>...</dir>
- <file>hsg.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ expected vs actual:</auxwhat>
- <auxwhat>Expected: stack array "la" in frame 1 back from here</auxwhat>
- <auxwhat>Actual: unknown</auxwhat>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
<kind>Heap</kind>
<what>Invalid read of size 1</what>
<stack>
@@ -209,14 +145,6 @@
<pair>
<count>...</count>
<unique>0x........</unique>
- </pair>
- <pair>
- <count>...</count>
- <unique>0x........</unique>
- </pair>
- <pair>
- <count>...</count>
- <unique>0x........</unique>
</pair>
<pair>
<count>...</count>
=================================================
./valgrind-new/exp-ptrcheck/tests/justify.stderr.diff
=================================================
--- justify.stderr.exp 2010-07-05 23:52:41.000000000 -0500
+++ justify.stderr.out 2010-07-06 00:18:24.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 1
at 0x........: main (justify.c:20)
Address 0x........ is 5000 bytes after the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/partial_bad.stderr.diff-glibc25-amd64
=================================================
--- partial_bad.stderr.exp-glibc25-amd64 2010-07-05 23:52:41.000000000 -0500
+++ partial_bad.stderr.out 2010-07-06 00:18:27.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (partial.c:21)
Address 0x........ is 0 bytes inside the accessing pointer's
@@ -83,9 +86,9 @@
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:7)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (partial.c:43)
- Address 0x........ is 0 bytes inside the accessing pointer's
+ Address 0x........ is 4 bytes inside the accessing pointer's
legitimate range, a block of size 7 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:8)
=================================================
./valgrind-new/exp-ptrcheck/tests/partial_bad.stderr.diff-glibc25-x86
=================================================
--- partial_bad.stderr.exp-glibc25-x86 2010-07-05 23:52:41.000000000 -0500
+++ partial_bad.stderr.out 2010-07-06 00:18:27.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (partial.c:21)
Address 0x........ is 0 bytes inside the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/partial_good.stderr.diff-glibc25-amd64
=================================================
--- partial_good.stderr.exp-glibc25-amd64 2010-07-05 23:52:41.000000000 -0500
+++ partial_good.stderr.out 2010-07-06 00:18:30.000000000 -0500
@@ -1,11 +1,7 @@
-Invalid read of size 4
- at 0x........: main (partial.c:21)
- Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (partial.c:22)
Address 0x........ is 1 bytes inside the accessing pointer's
@@ -28,13 +24,6 @@
by 0x........: main (partial.c:9)
Invalid read of size 4
- at 0x........: main (partial.c:25)
- Address 0x........ is 4 bytes inside the accessing pointer's
- legitimate range, a block of size 7 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:10)
-
-Invalid read of size 4
at 0x........: main (partial.c:34)
Address 0x........ is 1 bytes before the accessing pointer's
legitimate range, a block of size 3 alloc'd
@@ -42,13 +31,6 @@
by 0x........: main (partial.c:6)
Invalid read of size 4
- at 0x........: main (partial.c:35)
- Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 4
at 0x........: main (partial.c:36)
Address 0x........ is 1 bytes inside the accessing pointer's
legitimate range, a block of size 3 alloc'd
@@ -69,12 +51,12 @@
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
-Invalid read of size 4
- at 0x........: main (partial.c:41)
+Invalid read of size 8
+ at 0x........: main (partial.c:42)
Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
+ legitimate range, a block of size 7 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
+ by 0x........: main (partial.c:7)
Invalid read of size 1
at 0x........: main (partial.c:44)
@@ -91,4 +73,4 @@
by 0x........: main (partial.c:10)
-ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/partial_good.stderr.diff-glibc25-x86
=================================================
--- partial_good.stderr.exp-glibc25-x86 2010-07-05 23:52:41.000000000 -0500
+++ partial_good.stderr.out 2010-07-06 00:18:30.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (partial.c:22)
Address 0x........ is 1 bytes inside the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/preen_invars.stderr.diff-glibc28-amd64
=================================================
--- preen_invars.stderr.exp-glibc28-amd64 2010-07-05 23:52:41.000000000 -0500
+++ preen_invars.stderr.out 2010-07-06 00:18:33.000000000 -0500
@@ -1,9 +1,6 @@
-Invalid read of size 1
- at 0x........: main (preen_invars.c:22)
- Address 0x........ expected vs actual:
- Expected: unknown
- Actual: global array "im_a_global_arr" in object with soname "preen_invars_so"
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/pth_create.stderr.diff
=================================================
--- pth_create.stderr.exp 2010-07-05 23:52:41.000000000 -0500
+++ pth_create.stderr.out 2010-07-06 00:18:36.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid write of size 4
at 0x........: pthread_key_create (in /...libpthread...)
by 0x........: main (pth_create.c:17)
=================================================
./valgrind-new/exp-ptrcheck/tests/pth_specific.stderr.diff
=================================================
--- pth_specific.stderr.exp 2010-07-05 23:52:41.000000000 -0500
+++ pth_specific.stderr.out 2010-07-06 00:18:40.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 1
at 0x........: main (pth_specific.c:19)
Address 0x........ is 1 bytes before the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/realloc.stderr.diff-glibc25-amd64
=================================================
--- realloc.stderr.exp-glibc25-amd64 2010-07-05 23:52:41.000000000 -0500
+++ realloc.stderr.out 2010-07-06 00:18:43.000000000 -0500
@@ -1,43 +1,46 @@
-Invalid read of size 8
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
+Invalid read of size 4
at 0x........: main (realloc.c:20)
- Address 0x........ is 8 bytes before the accessing pointer's
- legitimate range, a block of size 400 alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:17)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (realloc.c:21)
Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 400 alloc'd
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:17)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (realloc.c:28)
- Address 0x........ is 8 bytes before the accessing pointer's
- legitimate range, a block of size 400 alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:25)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (realloc.c:29)
Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 400 alloc'd
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:25)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (realloc.c:38)
- Address 0x........ is 8 bytes before the accessing pointer's
- legitimate range, a block of size 800 alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:33)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (realloc.c:39)
Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 800 alloc'd
+ legitimate range, a block of size 400 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:33)
=================================================
./valgrind-new/exp-ptrcheck/tests/realloc.stderr.diff-glibc25-x86
=================================================
--- realloc.stderr.exp-glibc25-x86 2010-07-05 23:52:41.000000000 -0500
+++ realloc.stderr.out 2010-07-06 00:18:43.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (realloc.c:20)
Address 0x........ is 4 bytes before the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/stackerr.stderr.diff-glibc27-x86
=================================================
--- stackerr.stderr.exp-glibc27-x86 2010-07-05 23:52:41.000000000 -0500
+++ stackerr.stderr.out 2010-07-06 00:18:46.000000000 -0500
@@ -1,27 +1,6 @@
-Invalid write of size 4
- at 0x........: foo (stackerr.c:27)
- by 0x........: bar (stackerr.c:32)
- by 0x........: main (stackerr.c:41)
- Address 0x........ expected vs actual:
- Expected: stack array "a" in frame 2 back from here
- Actual: stack array "beforea" in frame 2 back from here
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-Invalid write of size 4
- at 0x........: main (stackerr.c:44)
- Address 0x........ expected vs actual:
- Expected: stack array "a" in this frame
- Actual: stack array "beforea" in this frame
-
-Invalid write of size 1
- at 0x........: _IO_default_xsputn (in /...libc...)
- by 0x........: ...
- by 0x........: ...
- by 0x........: ...
- by 0x........: main (stackerr.c:49)
- Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 4 back from here
- Actual: stack array "beforebuf" in frame 4 back from here
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/stackerr.stderr.diff-glibc28-amd64
=================================================
--- stackerr.stderr.exp-glibc28-amd64 2010-07-05 23:52:41.000000000 -0500
+++ stackerr.stderr.out 2010-07-06 00:18:46.000000000 -0500
@@ -1,27 +1,6 @@
-Invalid write of size 8
- at 0x........: foo (stackerr.c:27)
- by 0x........: bar (stackerr.c:32)
- by 0x........: main (stackerr.c:41)
- Address 0x........ expected vs actual:
- Expected: stack array "a" in frame 2 back from here
- Actual: unknown
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-Invalid write of size 8
- at 0x........: main (stackerr.c:44)
- Address 0x........ expected vs actual:
- Expected: stack array "a" in this frame
- Actual: unknown
-
-Invalid write of size 1
- at 0x........: _IO_default_xsputn (in /...libc...)
- by 0x........: ...
- by 0x........: ...
- by 0x........: ...
- by 0x........: main (stackerr.c:49)
- Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 4 back from here
- Actual: unknown
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/strcpy.stderr.diff
=================================================
--- strcpy.stderr.exp 2010-07-05 23:52:41.000000000 -0500
+++ strcpy.stderr.out 2010-07-06 00:18:49.000000000 -0500
@@ -1,3 +1,6 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/supp.stderr.diff
=================================================
--- supp.stderr.exp 2010-07-05 23:52:41.000000000 -0500
+++ supp.stderr.out 2010-07-06 00:18:52.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Syscall param write(buf) is non-contiguous
at 0x........: write (in /...libc...)
by 0x........: main (supp.c:16)
=================================================
./valgrind-new/exp-ptrcheck/tests/tricky.stderr.diff
=================================================
--- tricky.stderr.exp 2010-07-05 23:52:41.000000000 -0500
+++ tricky.stderr.out 2010-07-06 00:18:55.000000000 -0500
@@ -1,3 +1,6 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/unaligned.stderr.diff-glibc25-amd64
=================================================
--- unaligned.stderr.exp-glibc25-amd64 2010-07-05 23:52:41.000000000 -0500
+++ unaligned.stderr.out 2010-07-06 00:18:58.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 1
at 0x........: main (unaligned.c:33)
Address 0x........ is 1 bytes before the accessing pointer's
@@ -8,6 +11,14 @@
by 0x........: main (unaligned.c:8)
Invalid read of size 1
+ at 0x........: main (unaligned.c:37)
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: ...
+ by 0x........: main (unaligned.c:8)
+
+Invalid read of size 1
at 0x........: main (unaligned.c:39)
Address 0x........ is 0 bytes after the accessing pointer's
legitimate range, a block of size 6 alloc'd
@@ -15,5 +26,13 @@
by 0x........: ...
by 0x........: main (unaligned.c:8)
+Invalid read of size 1
+ at 0x........: main (unaligned.c:43)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: ...
+ by 0x........: main (unaligned.c:8)
+
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/unaligned.stderr.diff-glibc25-x86
=================================================
--- unaligned.stderr.exp-glibc25-x86 2010-07-05 23:52:41.000000000 -0500
+++ unaligned.stderr.out 2010-07-06 00:18:58.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 1
at 0x........: main (unaligned.c:33)
Address 0x........ is 1 bytes before the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/zero.stderr.diff
=================================================
--- zero.stderr.exp 2010-07-05 23:52:41.000000000 -0500
+++ zero.stderr.out 2010-07-06 00:19:02.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 1
at 0x........: main (zero.c:10)
Address 0x........ is 0 bytes after the accessing pointer's
=================================================
./valgrind-new/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2010-07-05 23:52:40.000000000 -0500
+++ hg05_race2.stderr.out 2010-07-06 00:10:14.000000000 -0500
@@ -17,8 +17,6 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
Possible data race during write of size 4 at 0x........ by thread #x
at 0x........: th (hg05_race2.c:17)
@@ -28,8 +26,6 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-07-05 23:52:40.000000000 -0500
+++ tc06_two_races_xml.stderr.out 2010-07-06 00:10:46.000000000 -0500
@@ -49,7 +49,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
+ <fn>pthread_create@@GLIBC_2.1</fn>
</frame>
<frame>
<ip>0x........</ip>
=================================================
./valgrind-new/helgrind/tests/tc23_bogus_condwait.stderr.diff
=================================================
--- tc23_bogus_condwait.stderr.exp 2010-07-05 23:52:40.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-07-06 00:11:54.000000000 -0500
@@ -5,29 +5,21 @@
at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:69)
-Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:72)
-
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:72)
-
-Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:75)
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:75)
-
-Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:78)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (in /...libpthread...)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (in /...libpthread...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:69)
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:61)
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:78)
+Thread #x: Exiting thread still holds 1 lock
+ ...
+ ...
-ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/massif/tests/deep-D.post.diff
=================================================
--- deep-D.post.exp 2010-07-05 23:52:49.000000000 -0500
+++ deep-D.post.out 2010-07-06 00:07:20.000000000 -0500
@@ -46,8 +46,9 @@
8 3,264 3,264 3,200 64 0
9 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->98.04% (3,600B) 0x........: (below main)
-
+->98.04% (3,600B) 0x........: ??? (in /...libc...)
+ ->98.04% (3,600B) 0x........: (below main)
+
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
=================================================
./valgrind-new/massif/tests/overloaded-new.post.diff
=================================================
--- overloaded-new.post.exp 2010-07-05 23:52:49.000000000 -0500
+++ overloaded-new.post.out 2010-07-06 00:07:28.000000000 -0500
@@ -42,14 +42,18 @@
4 12,032 12,032 12,000 32 0
5 12,032 12,032 12,000 32 0
99.73% (12,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->33.24% (4,000B) 0x........: main (overloaded-new.cpp:49)
-|
-->33.24% (4,000B) 0x........: main (overloaded-new.cpp:50)
-|
-->16.62% (2,000B) 0x........: main (overloaded-new.cpp:51)
-|
-->16.62% (2,000B) 0x........: main (overloaded-new.cpp:52)
-
+->33.24% (4,000B) 0x........: operator new(unsigned int) (overloaded-new.cpp:19)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:49)
+|
+->33.24% (4,000B) 0x........: operator new(unsigned int, std::nothrow_t const&) (overloaded-new.cpp:24)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:50)
+|
+->16.62% (2,000B) 0x........: operator new[](unsigned int) (overloaded-new.cpp:29)
+| ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:51)
+|
+->16.62% (2,000B) 0x........: operator new[](unsigned int, std::nothrow_t const&) (overloaded-new.cpp:34)
+ ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:52)
+
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
=================================================
./valgrind-new/memcheck/tests/addressable.stderr.diff
=================================================
--- addressable.stderr.exp 2010-07-05 23:52:47.000000000 -0500
+++ addressable.stderr.out 2010-07-06 00:05:53.000000000 -0500
@@ -1,91 +1,21 @@
-HEAP SUMMARY:
- in use at exit: ... bytes in ... blocks
- total heap usage: ... allocs, ... frees, ... bytes allocated
+valgrind: Fatal error at startup: a function redirection
+valgrind: which is mandatory for this platform-tool combination
+valgrind: cannot be set up. Details of the redirection are:
+valgrind:
+valgrind: A must-be-redirected function
+valgrind: whose name matches the pattern: strlen
+valgrind: in an object with soname matching: ld.so.1
+valgrind: was not found whilst processing
+valgrind: symbols from the object with soname: ld.so.1
+valgrind:
+valgrind: Possible fixes: (1, short term): install glibc's debuginfo
+valgrind: package on this machine. (2, longer term): ask the packagers
+valgrind: for your Linux distribution to please in future ship a non-
+valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
+valgrind: that exports the above-named function using the standard
+valgrind: calling conventions for this platform.
+valgrind:
+valgrind: Cannot continue -- exiting now. Sorry.
-For a detailed leak analysis, rerun with: --leak-check=full
-
-For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-Unaddressable byte(s) found during client check request
- at 0x........: test2 (addressable.c:48)
- by 0x........: main (addressable.c:125)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
-Invalid write of size 1
- at 0x........: test2 (addressable.c:51)
- by 0x........: main (addressable.c:125)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
-
-Process terminating with default action of signal N (SIGSEGV or SIGBUS)
- Bad memory (SIGSEGV or SIGBUS) at address 0x........
- at 0x........: test2 (addressable.c:51)
- by 0x........: main (addressable.c:125)
- If you believe this happened as a result of a stack
- overflow in your program's main thread (unlikely but
- possible), you can try to increase the size of the
- main thread stack using the --main-stacksize= flag.
- The main thread stack size used in this run was ....
-
-HEAP SUMMARY:
- in use at exit: ... bytes in ... blocks
- total heap usage: ... allocs, ... frees, ... bytes allocated
-
-For a detailed leak analysis, rerun with: --leak-check=full
-
-For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
-
-HEAP SUMMARY:
- in use at exit: ... bytes in ... blocks
- total heap usage: ... allocs, ... frees, ... bytes allocated
-
-For a detailed leak analysis, rerun with: --leak-check=full
-
-For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-
-Process terminating with default action of signal N (SIGSEGV or SIGBUS)
- Bad memory (SIGSEGV or SIGBUS) at address 0x........
- at 0x........: test4 (addressable.c:74)
- by 0x........: main (addressable.c:125)
-
-HEAP SUMMARY:
- in use at exit: ... bytes in ... blocks
- total heap usage: ... allocs, ... frees, ... bytes allocated
-
-For a detailed leak analysis, rerun with: --leak-check=full
-
-For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-Uninitialised byte(s) found during client check request
- at 0x........: test5 (addressable.c:85)
- by 0x........: main (addressable.c:125)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
-Uninitialised byte(s) found during client check request
- at 0x........: test5 (addressable.c:91)
- by 0x........: main (addressable.c:125)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
-
-HEAP SUMMARY:
- in use at exit: ... bytes in ... blocks
- total heap usage: ... allocs, ... frees, ... bytes allocated
-
-For a detailed leak analysis, rerun with: --leak-check=full
-
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/addressable.stdout.diff
=================================================
--- addressable.stdout.exp 2010-07-05 23:52:47.000000000 -0500
+++ addressable.stdout.out 2010-07-06 00:05:53.000000000 -0500
@@ -1,5 +0,0 @@
-Test 1: PASS
-Test 2: PASS
-Test 3: PASS
-Test 4: PASS
-Test 5: PASS
=================================================
./valgrind-new/memcheck/tests/atomic_incs.stderr.diff
=================================================
--- atomic_incs.stderr.exp 2010-07-05 23:52:47.000000000 -0500
+++ atomic_incs.stderr.out 2010-07-06 00:05:54.000000000 -0500
@@ -0,0 +1,20 @@
+
+valgrind: Fatal error at startup: a function redirection
+valgrind: which is mandatory for this platform-tool combination
+valgrind: cannot be set up. Details of the redirection are:
+valgrind:
+valgrind: A must-be-redirected function
+valgrind: whose name matches the pattern: strlen
+valgrind: in an object with soname matching: ld.so.1
+valgrind: was not found whilst processing
+valgrind: symbols from the object with soname: ld.so.1
+valgrind:
+valgrind: Possible fixes: (1, short term): install glibc's debuginfo
+valgrind: package on this machine. (2, longer term): ask the packagers
+valgrind: for your Linux distribution to please in future ship a non-
+valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
+valgrind: that exports the above-named function using the standard
+valgrind: calling conventions for this platform.
+valgrind:
+valgrind: Cannot continue -- exiting now. Sorry.
+
=================================================
./valgrind-new/memcheck/tests/atomic_incs.stdout.diff-32bit
=================================================
--- atomic_incs.stdout.exp-32bit 2010-07-05 23:52:47.000000000 -0500
+++ atomic_incs.stdout.out 2010-07-06 00:05:53.000000000 -0500
@@ -1,7 +0,0 @@
-parent, pre-fork
-child
-parent, pre-fork
-parent
-FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 0
-PASS
-parent exits
=================================================
./valgrind-new/memcheck/tests/atomic_incs.stdout.diff-64bit
=================================================
--- atomic_incs.stdout.exp-64bit 2010-07-05 23:52:47.000000000 -0500
+++ atomic_incs.stdout.out 2010-07-06 00:05:53.000000000 -0500
@@ -1,7 +0,0 @@
-parent, pre-fork
-child
-parent, pre-fork
-parent
-FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 682858642110
-PASS
-parent exits
=================================================
./valgrind-new/memcheck/tests/badaddrvalue.stderr.diff
=================================================
--- badaddrvalue.stderr.exp 2010-07-05 23:52:47.000000000 -0500
+++ badaddrvalue.stderr.out 2010-07-06 00:05:54.000000000 -0500
@@ -1,12 +1,20 @@
-Invalid write of size 1
- at 0x........: main (badaddrvalue.c:8)
- Address 0x........ is 1 bytes before a block of size 8 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (badaddrvalue.c:7)
-Invalid read of size 1
- at 0x........: main (badaddrvalue.c:9)
- Address 0x........ is 1 bytes before a block of size 8 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (badaddrvalue.c:7)
+valgrind: Fatal error at startup: a function redirection
+valgrind: which is mandatory for this platform-tool combination
+valgrind: cannot be set up. Details of the redirection are:
+valgrind:
+valgrind: A must-be-redirected function
+valgrind: whose name matches the pattern: strlen
+valgrind: in an object with soname matching: ld.so.1
+valgrind: was not found whilst processing
+valgrind: symbols from the object with soname: ld.so.1
+valgrind:
+valgrind: Possible fixes: (1, short term): install glibc's debuginfo
+valgrind: package on this machine. (2, longer term...
[truncated message content] |
|
From: Rich C. <rc...@wi...> - 2010-07-06 04:25:23
|
Nightly build on macbook ( Darwin 9.8.0 i386 )
Started at 2010-07-05 23:05:00 CDT
Ended at 2010-07-05 23:25:10 CDT
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... failed
Last 20 lines of verbose log follow echo
Making check in .
make addressable atomic_incs badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk2 buflen_check calloc-overflow clientperm custom_alloc custom-overlap deep_templates describe-block doublefree error_counts errs1 exitprog execve execve2 erringfds file_locking fprw fwrite inits inline leak-0 leak-cases leak-cycle leak-pool leak-tree linux-syslog-syscall linux-syscalls-2007 long_namespace_xml long-supps mallinfo malloc_free_fill malloc_usable malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 match-overrun memalign_test memalign2 memcmptest mempool mmaptest mismatches new_override metadata nanoleak_supp nanoleak2 new_nothrow noisy_child null_socket origin1-yes origin2-not-quite origin3-no origin4-many origin5-bz2 origin6-fp overlap partiallydefinedeq partial_load pdb-realloc pdb-realloc2 pipe pointer-trace post-syscall realloc1 realloc2 realloc3 sh-mem sh-mem-random sigaltstack signal2 sigprocmask sigkill strchr str_tester supp_unknown supp1 supp2 suppfree trivialleak un
it_libcbase unit_oset varinfo1 varinfo2 varinfo3 varinfo4 varinfo5 varinfo5so.so varinfo6 vcpu_fbench vcpu_fnfns xml1 wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 writev
gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_amd64=1 -DVGO_darwin=1 -DVGP_amd64_darwin=1 -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT addressable.o -MD -MP -MF .deps/addressable.Tpo -c -o addressable.o addressable.c
mv -f .deps/addressable.Tpo .deps/addressable.Po
gcc -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -o addressable addressable.o
gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_amd64=1 -DVGO_darwin=1 -DVGP_amd64_darwin=1 -Winline -Wall -Wshadow -g -arch x86_64 -mdynamic-no-pic -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT atomic_incs-atomic_incs.o -MD -MP -MF .deps/atomic_incs-atomic_incs.Tpo -c -o atomic_incs-atomic_incs.o `test -f 'atomic_incs.c' || echo './'`atomic_incs.c
atomic_incs.c: In function 'atomic_add_8bit':
atomic_incs.c:37: error: PIC register 'rbx' clobbered in 'asm'
atomic_incs.c: In function 'atomic_add_16bit':
atomic_incs.c:101: error: PIC register 'rbx' clobbered in 'asm'
atomic_incs.c: In function 'atomic_add_32bit':
atomic_incs.c:164: error: PIC register 'rbx' clobbered in 'asm'
atomic_incs.c: In function 'atomic_add_64bit':
atomic_incs.c:219: error: PIC register 'rbx' clobbered in 'asm'
make[5]: *** [atomic_incs-atomic_incs.o] Error 1
make[4]: *** [check-am] Error 2
make[3]: *** [check-recursive] Error 1
make[2]: *** [check-recursive] Error 1
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 431 tests, 21 stderr failures, 1 stdout failure, 9 post failures ==
memcheck/tests/darwin/scalar (stderr)
memcheck/tests/null_socket (stdout)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo5 (stderr)
massif/tests/peak (stderr)
massif/tests/peak (post)
massif/tests/peak2 (stderr)
massif/tests/peak2 (post)
massif/tests/realloc (stderr)
massif/tests/realloc (post)
massif/tests/thresholds_0_0 (stderr)
massif/tests/thresholds_0_0 (post)
massif/tests/thresholds_0_10 (stderr)
massif/tests/thresholds_0_10 (post)
massif/tests/thresholds_10_0 (stderr)
massif/tests/thresholds_10_0 (post)
massif/tests/thresholds_10_10 (stderr)
massif/tests/thresholds_10_10 (post)
massif/tests/thresholds_5_0 (stderr)
massif/tests/thresholds_5_0 (post)
massif/tests/thresholds_5_10 (stderr)
massif/tests/thresholds_5_10 (post)
none/tests/async-sigs (stderr)
none/tests/faultstatus (stderr)
none/tests/pth_blockedsig (stderr)
none/tests/require-text-symbol-2 (stderr)
helgrind/tests/rwlock_race (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Mon Jul 5 23:19:19 2010
--- new.short Mon Jul 5 23:25:10 2010
***************
*** 3,41 ****
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 431 tests, 21 stderr failures, 1 stdout failure, 9 post failures ==
! memcheck/tests/darwin/scalar (stderr)
! memcheck/tests/null_socket (stdout)
! memcheck/tests/origin5-bz2 (stderr)
! memcheck/tests/varinfo3 (stderr)
! memcheck/tests/varinfo5 (stderr)
! massif/tests/peak (stderr)
! massif/tests/peak (post)
! massif/tests/peak2 (stderr)
! massif/tests/peak2 (post)
! massif/tests/realloc (stderr)
! massif/tests/realloc (post)
! massif/tests/thresholds_0_0 (stderr)
! massif/tests/thresholds_0_0 (post)
! massif/tests/thresholds_0_10 (stderr)
! massif/tests/thresholds_0_10 (post)
! massif/tests/thresholds_10_0 (stderr)
! massif/tests/thresholds_10_0 (post)
! massif/tests/thresholds_10_10 (stderr)
! massif/tests/thresholds_10_10 (post)
! massif/tests/thresholds_5_0 (stderr)
! massif/tests/thresholds_5_0 (post)
! massif/tests/thresholds_5_10 (stderr)
! massif/tests/thresholds_5_10 (post)
! none/tests/async-sigs (stderr)
! none/tests/faultstatus (stderr)
! none/tests/pth_blockedsig (stderr)
! none/tests/require-text-symbol-2 (stderr)
! helgrind/tests/rwlock_race (stderr)
! helgrind/tests/tc06_two_races_xml (stderr)
! helgrind/tests/tc18_semabuse (stderr)
! helgrind/tests/tc23_bogus_condwait (stderr)
--- 3,26 ----
Configuring valgrind ... done
! Building valgrind ... failed
+ Last 20 lines of verbose log follow echo
+ Making check in .
+ make addressable atomic_incs badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk2 buflen_check calloc-overflow clientperm custom_alloc custom-overlap deep_templates describe-block doublefree error_counts errs1 exitprog execve execve2 erringfds file_locking fprw fwrite inits inline leak-0 leak-cases leak-cycle leak-pool leak-tree linux-syslog-syscall linux-syscalls-2007 long_namespace_xml long-supps mallinfo malloc_free_fill malloc_usable malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 match-overrun memalign_test memalign2 memcmptest mempool mmaptest mismatches new_override metadata nanoleak_supp nanoleak2 new_nothrow noisy_child null_socket origin1-yes origin2-not-quite origin3-no origin4-many origin5-bz2 origin6-fp overlap partiallydefinedeq partial_load pdb-realloc pdb-realloc2 pipe pointer-trace post-syscall realloc1 realloc2 realloc3 sh-mem sh-mem-random sigaltstack signal2 sigprocmask sigkill strchr str_tester supp_unknown supp1 supp2 suppfree trivialleak
unit_libcbase unit_oset varinfo1 varinfo2 varinfo3 varinfo4 varinfo5 varinfo5so.so varinfo6 vcpu_fbench vcpu_fnfns xml1 wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 writev
+ gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_amd64=1 -DVGO_darwin=1 -DVGP_amd64_darwin=1 -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT addressable.o -MD -MP -MF .deps/addressable.Tpo -c -o addressable.o addressable.c
+ mv -f .deps/addressable.Tpo .deps/addressable.Po
+ gcc -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -o addressable addressable.o
+ gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_amd64=1 -DVGO_darwin=1 -DVGP_amd64_darwin=1 -Winline -Wall -Wshadow -g -arch x86_64 -mdynamic-no-pic -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT atomic_incs-atomic_incs.o -MD -MP -MF .deps/atomic_incs-atomic_incs.Tpo -c -o atomic_incs-atomic_incs.o `test -f 'atomic_incs.c' || echo './'`atomic_incs.c
+ atomic_incs.c: In function 'atomic_add_8bit':
+ atomic_incs.c:37: error: PIC register 'rbx' clobbered in 'asm'
+ atomic_incs.c: In function 'atomic_add_16bit':
+ atomic_incs.c:101: error: PIC register 'rbx' clobbered in 'asm'
+ atomic_incs.c: In function 'atomic_add_32bit':
+ atomic_incs.c:164: error: PIC register 'rbx' clobbered in 'asm'
+ atomic_incs.c: In function 'atomic_add_64bit':
+ atomic_incs.c:219: error: PIC register 'rbx' clobbered in 'asm'
+ make[5]: *** [atomic_incs-atomic_incs.o] Error 1
+ make[4]: *** [check-am] Error 2
+ make[3]: *** [check-recursive] Error 1
+ make[2]: *** [check-recursive] Error 1
+ make[1]: *** [check-recursive] Error 1
+ make: *** [check] Error 2
=================================================
./valgrind-old/helgrind/tests/rwlock_race.stderr.diff
=================================================
--- rwlock_race.stderr.exp 2010-07-05 23:05:07.000000000 -0500
+++ rwlock_race.stderr.out 2010-07-05 23:16:37.000000000 -0500
@@ -1,25 +1,4 @@
-Thread #x was created
- ...
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (rwlock_race.c:48)
-
-Thread #x was created
- ...
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (rwlock_race.c:47)
-
-Possible data race during write of size 4 at 0x........ by thread #x
- at 0x........: thread_func (rwlock_race.c:29)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
- This conflicts with a previous write of size 4 by thread #x
- at 0x........: thread_func (rwlock_race.c:29)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
- Location 0x........ is 0 bytes inside local var "s_racy"
- declared at rwlock_race.c:18, in frame #x of thread x
-
Result: 2
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-07-05 23:05:07.000000000 -0500
+++ tc06_two_races_xml.stderr.out 2010-07-05 23:16:52.000000000 -0500
@@ -39,17 +39,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
+ <fn>__bsdthread_create</fn>
</frame>
<frame>
<ip>0x........</ip>
@@ -62,7 +52,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>pthread_create@*</fn>
+ <fn>pthread_create</fn>
<dir>...</dir>
<file>hg_intercepts.c</file>
<line>...</line>
@@ -120,12 +110,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -174,12 +164,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -228,12 +218,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -282,12 +272,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
=================================================
./valgrind-old/helgrind/tests/tc18_semabuse.stderr.diff-glibc25-amd64
=================================================
--- tc18_semabuse.stderr.exp-glibc25-amd64 2010-07-05 23:05:07.000000000 -0500
+++ tc18_semabuse.stderr.out 2010-07-05 23:17:05.000000000 -0500
@@ -2,14 +2,30 @@
Thread #x is the program's root thread
Thread #x's call to sem_init failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_init@* (hg_intercepts.c:...)
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:23)
-Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+Thread #x's call to sem_init failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:26)
+
+Thread #x's call to sem_wait failed
+ with error code 9 (EBADF: Bad file number)
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
- by 0x........: sem_wait (hg_intercepts.c:...)
+ by 0x........: sem_wait$* (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:34)
+Thread #x's call to sem_post failed
+ with error code 9 (EBADF: Bad file number)
+ at 0x........: sem_post (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:37)
+
+Thread #x's call to sem_destroy failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_destroy (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:39)
+
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc18_semabuse.stderr.diff-glibc28-amd64
=================================================
--- tc18_semabuse.stderr.exp-glibc28-amd64 2010-07-05 23:05:07.000000000 -0500
+++ tc18_semabuse.stderr.out 2010-07-05 23:17:05.000000000 -0500
@@ -2,20 +2,30 @@
Thread #x is the program's root thread
Thread #x's call to sem_init failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_init@* (hg_intercepts.c:...)
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:23)
-Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+Thread #x's call to sem_init failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:26)
+
+Thread #x's call to sem_wait failed
+ with error code 9 (EBADF: Bad file number)
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
- by 0x........: sem_wait (hg_intercepts.c:...)
+ by 0x........: sem_wait$* (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:34)
Thread #x's call to sem_post failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_post_WRK (hg_intercepts.c:...)
- by 0x........: sem_post (hg_intercepts.c:...)
+ with error code 9 (EBADF: Bad file number)
+ at 0x........: sem_post (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:37)
+Thread #x's call to sem_destroy failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_destroy (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:39)
+
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc23_bogus_condwait.stderr.diff
=================================================
--- tc23_bogus_condwait.stderr.exp 2010-07-05 23:05:07.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-07-05 23:17:33.000000000 -0500
@@ -2,32 +2,52 @@
Thread #x is the program's root thread
Thread #x: pthread_cond_{timed}wait called with invalid mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:69)
+
+Thread #x's call to pthread_cond_wait failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:69)
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:72)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:72)
Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:75)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:75)
+
+Thread #x's call to pthread_cond_wait failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:75)
Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:78)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:78)
+Thread #x: Bug in libpthread: write lock granted on mutex/rwlock which is currently wr-held by a different thread
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: _pthread_cond_wait (in /...libc...)
+ by 0x........: pthread_cond_wait$UNIX2003 (in /...libc...)
+ by 0x........: pthread_cond_wait* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:78)
+
+Thread #x: Exiting thread still holds 1 lock
+ ...
+
-ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/massif/tests/peak.post.diff
=================================================
--- peak.post.exp 2010-07-05 23:05:26.000000000 -0500
+++ peak.post.out 2010-07-05 23:14:00.000000000 -0500
@@ -1,278 +0,0 @@
---------------------------------------------------------------------------------
-Command: ./peak
-Massif arguments: --stacks=no --time-unit=B --peak-inaccuracy=0 --heap-admin=128 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
-ms_print arguments: massif.out
---------------------------------------------------------------------------------
-
-
- KB
-33.89^ #
- | @ #
- | @ :@::#
- | @ @:::@ #
- | @ @:::@ :@ #
- | @ @::@: @ :@ #
- | @ @:::@ @: @ :@ #
- | @ :@::@: @ @: @ :@ #
- | @ @:::@ @: @ @: @ :@ #
- | @ @:::@ :@ @: @ @: @ :@ #
- | @ @::@: @ :@ @: @ @: @ :@ #
- | @ @:::@ @: @ :@ @: @ @: @ :@ #
- | @ :@::@: @ @: @ :@ @: @ @: @ :@ #
- | @ @:::@ @: @ @: @ :@ @: @ @: @ :@ #
- | @ @:::@ :@ @: @ @: @ :@ @: @ @: @ :@ #
- | @ @::@: @ :@ @: @ @: @ :@ @: @ @: @ :@ #
- | @ @:::@ @: @ :@ @: @ @: @ :@ @: @ @: @ :@ #
- | @ :@::@: @ @: @ :@ @: @ @: @ :@ @: @ @: @ :@ #
- | @ @:::@ @: @ @: @ :@ @: @ @: @ :@ @: @ @: @ :@ #
- | @ @:::@ :@ @: @ @: @ :@ @: @ @: @ :@ @: @ @: @ :@ #
- 0 +----------------------------------------------------------------------->KB
- 0 39.38
-
-Number of snapshots: 81
- Detailed snapshots: [3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 63, 67, 71, 75, 79 (peak)]
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 0 0 0 0 0 0
- 1 1,728 1,728 1,600 128 0
- 2 1,872 1,872 1,616 256 0
- 3 1,872 1,872 1,616 256 0
-86.32% (1,616B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->85.47% (1,600B) 0x........: main (peak.c:8)
-|
-->00.85% (16B) in 1+ places, all below ms_print's threshold (01.00%)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 4 2,016 1,728 1,600 128 0
- 5 3,744 3,456 3,200 256 0
- 6 3,888 3,600 3,216 384 0
- 7 3,888 3,600 3,216 384 0
-89.33% (3,216B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->88.89% (3,200B) 0x........: main (peak.c:8)
-|
-->00.44% (16B) in 1+ places, all below ms_print's threshold (01.00%)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 8 4,032 3,456 3,200 256 0
- 9 5,760 5,184 4,800 384 0
- 10 5,904 5,328 4,816 512 0
- 11 5,904 5,328 4,816 512 0
-90.39% (4,816B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->90.09% (4,800B) 0x........: main (peak.c:8)
-|
-->00.30% (16B) in 1+ places, all below ms_print's threshold (01.00%)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 12 6,048 5,184 4,800 384 0
- 13 7,776 6,912 6,400 512 0
- 14 7,920 7,056 6,416 640 0
- 15 7,920 7,056 6,416 640 0
-90.93% (6,416B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->90.70% (6,400B) 0x........: main (peak.c:8)
-|
-->00.23% (16B) in 1+ places, all below ms_print's threshold (01.00%)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 16 8,064 6,912 6,400 512 0
- 17 9,792 8,640 8,000 640 0
- 18 9,936 8,784 8,016 768 0
- 19 9,936 8,784 8,016 768 0
-91.26% (8,016B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->91.07% (8,000B) 0x........: main (peak.c:8)
-|
-->00.18% (16B) in 1+ places, all below ms_print's threshold (01.00%)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
<truncated beyond 100 lines>
=================================================
./valgrind-old/massif/tests/peak.stderr.diff
=================================================
--- peak.stderr.exp 2010-07-05 23:05:26.000000000 -0500
+++ peak.stderr.out 2010-07-05 23:14:00.000000000 -0500
@@ -1,2 +0,0 @@
-
-
=================================================
./valgrind-old/massif/tests/peak2.post.diff
=================================================
--- peak2.post.exp 2010-07-05 23:05:26.000000000 -0500
+++ peak2.post.out 2010-07-05 23:14:00.000000000 -0500
@@ -1,233 +0,0 @@
---------------------------------------------------------------------------------
-Command: ./peak
-Massif arguments: --stacks=no --time-unit=B --peak-inaccuracy=10.0 --heap-admin=128 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
-ms_print arguments: massif.out
---------------------------------------------------------------------------------
-
-
- KB
-33.89^ #
- | : #
- | @ ::::#
- | : @:::: #
- | @ ::::@ :: #
- | : @:::: @ :: #
- | @ ::::@ :: @ :: #
- | : :@:::: @ :: @ :: #
- | @ ::::@ :: @ :: @ :: #
- | : @:::: :@ :: @ :: @ :: #
- | @ :::@: : :@ :: @ :: @ :: #
- | @ @:::: @: : :@ :: @ :: @ :: #
- | @ :@::@: : @: : :@ :: @ :: @ :: #
- | @ @:::@ @: : @: : :@ :: @ :: @ :: #
- | @ @:::@ :@ @: : @: : :@ :: @ :: @ :: #
- | @ @::@: @ :@ @: : @: : :@ :: @ :: @ :: #
- | @ @:::@ @: @ :@ @: : @: : :@ :: @ :: @ :: #
- | @ :@::@: @ @: @ :@ @: : @: : :@ :: @ :: @ :: #
- | @ @:::@ @: @ @: @ :@ @: : @: : :@ :: @ :: @ :: #
- | @ @:::@ :@ @: @ @: @ :@ @: : @: : :@ :: @ :: @ :: #
- 0 +----------------------------------------------------------------------->KB
- 0 39.38
-
-Number of snapshots: 76
- Detailed snapshots: [3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 46, 53, 60, 67, 74 (peak)]
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 0 0 0 0 0 0
- 1 1,728 1,728 1,600 128 0
- 2 1,872 1,872 1,616 256 0
- 3 1,872 1,872 1,616 256 0
-86.32% (1,616B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->85.47% (1,600B) 0x........: main (peak.c:8)
-|
-->00.85% (16B) in 1+ places, all below ms_print's threshold (01.00%)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 4 2,016 1,728 1,600 128 0
- 5 3,744 3,456 3,200 256 0
- 6 3,888 3,600 3,216 384 0
- 7 3,888 3,600 3,216 384 0
-89.33% (3,216B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->88.89% (3,200B) 0x........: main (peak.c:8)
-|
-->00.44% (16B) in 1+ places, all below ms_print's threshold (01.00%)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 8 4,032 3,456 3,200 256 0
- 9 5,760 5,184 4,800 384 0
- 10 5,904 5,328 4,816 512 0
- 11 5,904 5,328 4,816 512 0
-90.39% (4,816B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->90.09% (4,800B) 0x........: main (peak.c:8)
-|
-->00.30% (16B) in 1+ places, all below ms_print's threshold (01.00%)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 12 6,048 5,184 4,800 384 0
- 13 7,776 6,912 6,400 512 0
- 14 7,920 7,056 6,416 640 0
- 15 7,920 7,056 6,416 640 0
-90.93% (6,416B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->90.70% (6,400B) 0x........: main (peak.c:8)
-|
-->00.23% (16B) in 1+ places, all below ms_print's threshold (01.00%)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 16 8,064 6,912 6,400 512 0
- 17 9,792 8,640 8,000 640 0
- 18 9,936 8,784 8,016 768 0
- 19 9,936 8,784 8,016 768 0
-91.26% (8,016B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->91.07% (8,000B) 0x........: main (peak.c:8)
-|
-->00.18% (16B) in 1+ places, all below ms_print's threshold (01.00%)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
<truncated beyond 100 lines>
=================================================
./valgrind-old/massif/tests/peak2.stderr.diff
=================================================
--- peak2.stderr.exp 2010-07-05 23:05:26.000000000 -0500
+++ peak2.stderr.out 2010-07-05 23:14:00.000000000 -0500
@@ -1,118 +0,0 @@
-Massif: alloc-fns:
-Massif: malloc
-Massif: __builtin_new
-Massif: operator new(unsigned)
-Massif: operator new(unsigned long)
-Massif: __builtin_vec_new
-Massif: operator new[](unsigned)
-Massif: operator new[](unsigned long)
-Massif: calloc
-Massif: realloc
-Massif: memalign
-Massif: posix_memalign
-Massif: valloc
-Massif: operator new(unsigned, std::nothrow_t const&)
-Massif: operator new[](unsigned, std::nothrow_t const&)
-Massif: operator new(unsigned long, std::nothrow_t const&)
-Massif: operator new[](unsigned long, std::nothrow_t const&)
-Massif: ignore-fns:
-Massif: 0: __part_load_locale
-Massif: 1: __time_load_locale
-Massif: 2: dwarf2_unwind_dyld_add_image_hook
-Massif: 3: get_or_create_key_element
-Massif: startup S. 0 (t:0, hp:0, ex:0, st:0)
-Massif: alloc S. 1 (t:1728, hp:1600, ex:128, st:0)
-Massif: alloc S. 2 (t:1872, hp:1616, ex:256, st:0)
-Massif: de-PEAK Sp 3 (t:1872, hp:1616, ex:256, st:0)
-Massif: dealloc S. 4 (t:2016, hp:1600, ex:128, st:0)
-Massif: alloc S. 5 (t:3744, hp:3200, ex:256, st:0)
-Massif: alloc S. 6 (t:3888, hp:3216, ex:384, st:0)
-Massif: de-PEAK Sp 7 (t:3888, hp:3216, ex:384, st:0)
-Massif: dealloc S. 8 (t:4032, hp:3200, ex:256, st:0)
-Massif: alloc S. 9 (t:5760, hp:4800, ex:384, st:0)
-Massif: alloc S. 10 (t:5904, hp:4816, ex:512, st:0)
-Massif: de-PEAK Sp 11 (t:5904, hp:4816, ex:512, st:0)
-Massif: dealloc S. 12 (t:6048, hp:4800, ex:384, st:0)
-Massif: alloc S. 13 (t:7776, hp:6400, ex:512, st:0)
-Massif: alloc S. 14 (t:7920, hp:6416, ex:640, st:0)
-Massif: de-PEAK Sp 15 (t:7920, hp:6416, ex:640, st:0)
-Massif: dealloc S. 16 (t:8064, hp:6400, ex:512, st:0)
-Massif: alloc S. 17 (t:9792, hp:8000, ex:640, st:0)
-Massif: alloc S. 18 (t:9936, hp:8016, ex:768, st:0)
-Massif: de-PEAK Sp 19 (t:9936, hp:8016, ex:768, st:0)
-Massif: dealloc S. 20 (t:10080, hp:8000, ex:640, st:0)
-Massif: alloc S. 21 (t:11808, hp:9600, ex:768, st:0)
-Massif: alloc S. 22 (t:11952, hp:9616, ex:896, st:0)
-Massif: de-PEAK Sp 23 (t:11952, hp:9616, ex:896, st:0)
-Massif: dealloc S. 24 (t:12096, hp:9600, ex:768, st:0)
-Massif: alloc S. 25 (t:13824, hp:11200, ex:896, st:0)
-Massif: alloc S. 26 (t:13968, hp:11216, ex:1024, st:0)
-Massif: de-PEAK Sp 27 (t:13968, hp:11216, ex:1024, st:0)
-Massif: dealloc S. 28 (t:14112, hp:11200, ex:896, st:0)
-Massif: alloc S. 29 (t:15840, hp:12800, ex:1024, st:0)
-Massif: alloc S. 30 (t:15984, hp:12816, ex:1152, st:0)
-Massif: de-PEAK Sp 31 (t:15984, hp:12816, ex:1152, st:0)
-Massif: dealloc S. 32 (t:16128, hp:12800, ex:1024, st:0)
-Massif: alloc S. 33 (t:17856, hp:14400, ex:1152, st:0)
-Massif: alloc S. 34 (t:18000, hp:14416, ex:1280, st:0)
-Massif: de-PEAK Sp 35 (t:18000, hp:14416, ex:1280, st:0)
-Massif: dealloc S. 36 (t:18144, hp:14400, ex:1152, st:0)
-Massif: alloc S. 37 (t:19872, hp:16000, ex:1280, st:0)
-Massif: alloc S. 38 (t:20016, hp:16016, ex:1408, st:0)
-Massif: de-PEAK Sp 39 (t:20016, hp:16016, ex:1408, st:0)
-Massif: dealloc S. 40 (t:20160, hp:16000, ex:1280, st:0)
-Massif: alloc S. 41 (t:21888, hp:17600, ex:1408, st:0)
-Massif: alloc S. 42 (t:22032, hp:17616, ex:1536, st:0)
-Massif: dealloc S. 43 (t:22176, hp:17600, ex:1408, st:0)
-Massif: alloc S. 44 (t:23904, hp:19200, ex:1536, st:0)
-Massif: alloc S. 45 (t:24048, hp:19216, ex:1664, st:0)
-Massif: de-PEAK Sp 46 (t:24048, hp:19216, ex:1664, st:0)
-Massif: dealloc S. 47 (t:24192, hp:19200, ex:1536, st:0)
-Massif: alloc S. 48 (t:25920, hp:20800, ex:1664, st:0)
-Massif: alloc S. 49 (t:26064, hp:20816, ex:1792, st:0)
-Massif: dealloc S. 50 (t:26208, hp:20800, ex:1664, st:0)
-Massif: alloc S. 51 (t:27936, hp:22400, ex:1792, st:0)
-Massif: alloc S. 52 (t:28080, hp:22416, ex:1920, st:0)
-Massif: de-PEAK Sp 53 (t:28080, hp:22416, ex:1920, st:0)
-Massif: dealloc S. 54 (t:28224, hp:22400, ex:1792, st:0)
-Massif: alloc S. 55 (t:29952, hp:24000, ex:1920, st:0)
-Massif: alloc S. 56 (t:30096, hp:24016, ex:2048, st:0)
-Massif: dealloc S. 57 (t:30240, hp:24000, ex:1920, st:0)
-Massif: alloc S. 58 (t:31968, hp:25600, ex:2048, st:0)
-Massif: alloc S. 59 (t:32112, hp:25616, ex:2176, st:0)
-Massif: de-PEAK Sp 60 (t:32112, hp:25616, ex:2176, st:0)
-Massif: dealloc S. 61 (t:32256, hp:25600, ex:2048, st:0)
-Massif: alloc S. 62 (t:33984, hp:27200, ex:2176, st:0)
-Massif: alloc S. 63 (t:34128, hp:27216, ex:2304, st:0)
-Massif: dealloc S. 64 (t:34272, hp:27200, ex:2176, st:0)
-Massif: alloc S. 65 (t:36000, hp:28800, ex:2304, st:0)
-Massif: alloc S. 66 (t:36144, hp:28816, ex:2432, st:0)
-Massif: de-PEAK Sp 67 (t:36144, hp:28816, ex:2432, st:0)
-Massif: dealloc S. 68 (t:36288, hp:28800, ex:2304, st:0)
-Massif: alloc S. 69 (t:38016, hp:30400, ex:2432, st:0)
-Massif: alloc S. 70 (t:38160, hp:30416, ex:2560, st:0)
-Massif: dealloc S. 71 (t:38304, hp:30400, ex:2432, st:0)
-Massif: alloc S. 72 (t:40032, hp:32000, ex:2560, st:0)
-Massif: alloc S. 73 (t:40176, hp:32016, ex:2688, st:0)
-Massif: de-PEAK Sp 74 (t:40176, hp:32016, ex:2688, st:0)
<truncated beyond 100 lines>
=================================================
./valgrind-old/massif/tests/realloc.post.diff
=================================================
--- realloc.post.exp 2010-07-05 23:05:26.000000000 -0500
+++ realloc.post.out 2010-07-05 23:14:01.000000000 -0500
@@ -1,65 +0,0 @@
---------------------------------------------------------------------------------
-Command: ./realloc
-Massif arguments: --stacks=no --heap-admin=0 --time-unit=B --threshold=0 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
-ms_print arguments: --threshold=0 massif.out
---------------------------------------------------------------------------------
-
-
- KB
-1.172^ ###################################
- | #
- | #
- | #
- | #
- | #
- | #
- | @:::::::::::#
- | @ #
- | @ #
- | @ #
- | @ #
- | @ #
- | @ #
- | @ #
- | @ #
- | @ #
- | @ #
- | @ #
- | @ #
- 0 +----------------------------------------------------------------------->KB
- 0 2.344
-
-Number of snapshots: 8
- Detailed snapshots: [3, 6 (peak)]
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 0 0 0 0 0 0
- 1 800 800 800 0 0
- 2 800 800 800 0 0
- 3 800 800 800 0 0
-100.00% (800B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->100.00% (800B) 0x........: main (realloc.c:8)
-|
-->00.00% (0B) 0x........: main (realloc.c:5)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 4 800 800 400 400 0
- 5 1,200 1,200 1,200 0 0
- 6 1,200 1,200 1,200 0 0
-100.00% (1,200B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->100.00% (1,200B) 0x........: main (realloc.c:12)
-|
-->00.00% (0B) 0x........: main (realloc.c:5)
-|
-->00.00% (0B) 0x........: main (realloc.c:8)
-|
-->00.00% (0B) 0x........: main (realloc.c:10)
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 7 2,400 0 0 0 0
=================================================
./valgrind-old/massif/tests/realloc.stderr.diff
=================================================
--- realloc.stderr.exp 2010-07-05 23:05:26.000000000 -0500
+++ realloc.stderr.out 2010-07-05 23:14:01.000000000 -0500
@@ -1,50 +0,0 @@
-Massif: alloc-fns:
-Massif: malloc
-Massif: __builtin_new
-Massif: operator new(unsigned)
-Massif: operator new(unsigned long)
-Massif: __builtin_vec_new
-Massif: operator new[](unsigned)
-Massif: operator new[](unsigned long)
-Massif: calloc
-Massif: realloc
-Massif: memalign
-Massif: posix_memalign
-Massif: valloc
-Massif: operator new(unsigned, std::nothrow_t const&)
-Massif: operator new[](unsigned, std::nothrow_t const&)
-Massif: operator new(unsigned long, std::nothrow_t const&)
-Massif: operator new[](unsigned long, std::nothrow_t const&)
-Massif: ignore-fns:
-Massif: 0: __part_load_locale
-Massif: 1: __time_load_locale
-Massif: 2: dwarf2_unwind_dyld_add_image_hook
-Massif: 3: get_or_create_key_element
-Massif: startup S. 0 (t:0, hp:0, ex:0, st:0)
-Massif: alloc S. 1 (t:800, hp:800, ex:0, st:0)
-Massif: realloc S. 2 (t:800, hp:800, ex:0, st:0)
-Massif: re-PEAK Sp 3 (t:800, hp:800, ex:0, st:0)
-Massif: realloc S. 4 (t:800, hp:400, ex:400, st:0)
-Massif: realloc S. 5 (t:1200, hp:1200, ex:0, st:0)
-Massif: de-PEAK Sp 6 (t:1200, hp:1200, ex:0, st:0)
-Massif: dealloc S. 7 (t:2400, hp:0, ex:0, st:0)
-Massif: heap allocs: 1
-Massif: heap reallocs: 3
-Massif: heap frees: 1
-Massif: ignored heap allocs: ...
-Massif: ignored heap frees: ...
-Massif: ignored heap reallocs: ...
-Massif: stack allocs: 0
-Massif: stack frees: 0
-Massif: XPts: ...
-Massif: top-XPts: ...
-Massif: XPt init expansions: ...
-Massif: XPt later expansions: ...
-Massif: SXPt allocs: ...
-Massif: SXPt frees: ...
-Massif: skipped snapshots: 0
-Massif: real snapshots: 8
-Massif: detailed snapshots: 2
-Massif: peak snapshots: 2
-Massif: cullings: 0
-Massif: XCon redos: ...
=================================================
./valgrind-old/massif/tests/thresholds_0_0.post.diff
=================================================
--- thresholds_0_0.post.exp 2010-07-05 23:05:26.000000000 -0500
+++ thresholds_0_0.post.out 2010-07-05 23:14:01.000000000 -0500
@@ -1,75 +0,0 @@
---------------------------------------------------------------------------------
-Command: ./thresholds
-Massif arguments: --stacks=no --time-unit=B --heap-admin=0 --threshold=0 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
-ms_print arguments: massif.out --threshold=0
---------------------------------------------------------------------------------
-
-
- KB
-78.12^ @
- | @
- | @
- | @
- | @
- | ::::::::::::::@
- | ::::::: @
- | ::::: : @
- | ::::::: ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- 0 +----------------------------------------------------------------------->KB
- 0 78.12
-
-Number of snapshots: 10
- Detailed snapshots: [9]
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 0 0 0 0 0 0
- 1 48,000 48,000 48,000 0 0
- 2 55,200 55,200 55,200 0 0
- 3 57,600 57,600 57,600 0 0
- 4 58,400 58,400 58,400 0 0
- 5 59,200 59,200 59,200 0 0
- 6 59,600 59,600 59,600 0 0
- 7 63,600 63,600 63,600 0 0
- 8 79,600 79,600 79,600 0 0
- 9 80,000 80,000 80,000 0 0
-100.00% (80,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->66.50% (53,200B) 0x........: my_malloc1 (thresholds.c:23)
-| ->60.00% (48,000B) 0x........: a7550 (thresholds.c:38)
-| | ->60.00% (48,000B) 0x........: main (thresholds.c:52)
-| |
-| ->05.00% (4,000B) 0x........: main (thresholds.c:54)
-| |
-| ->01.00% (800B) 0x........: a450 (thresholds.c:45)
-| | ->01.00% (800B) 0x........: main (thresholds.c:53)
-| |
-| ->00.50% (400B) 0x........: a450 (thresholds.c:47)
-| ->00.50% (400B) 0x........: main (thresholds.c:53)
-|
-->20.00% (16,000B) 0x........: main (thresholds.c:55)
-|
-->13.00% (10,400B) 0x........: my_malloc2 (thresholds.c:28)
-| ->09.00% (7,200B) 0x........: a7550 (thresholds.c:39)
-| | ->09.00% (7,200B) 0x........: main (thresholds.c:52)
-| |
-| ->03.00% (2,400B) 0x........: a450 (thresholds.c:44)
-| | ->03.00% (2,400B) 0x........: main (thresholds.c:53)
-| |
-| ->01.00% (800B) 0x........: a450 (thresholds.c:46)
-| ->01.00% (800B) 0x........: main (thresholds.c:53)
-|
-->00.50% (400B) 0x........: my_malloc3 (thresholds.c:33)
- ->00.50% (400B) 0x........: main (thresholds.c:56)
-
=================================================
./valgrind-old/massif/tests/thresholds_0_0.stderr.diff
=================================================
--- thresholds_0_0.stderr.exp 2010-07-05 23:05:26.000000000 -0500
+++ thresholds_0_0.stderr.out 2010-07-05 23:14:01.000000000 -0500
@@ -1,2 +0,0 @@
-
-
=================================================
./valgrind-old/massif/tests/thresholds_0_10.post.diff
=================================================
--- thresholds_0_10.post.exp 2010-07-05 23:05:26.000000000 -0500
+++ thresholds_0_10.post.out 2010-07-05 23:14:02.000000000 -0500
@@ -1,61 +0,0 @@
---------------------------------------------------------------------------------
-Command: ./thresholds
-Massif arguments: --stacks=no --time-unit=B --heap-admin=0 --threshold=0 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
-ms_print arguments: massif.out --threshold=10
---------------------------------------------------------------------------------
-
-
- KB
-78.12^ @
- | @
- | @
- | @
- | @
- | ::::::::::::::@
- | ::::::: @
- | ::::: : @
- | ::::::: ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- 0 +----------------------------------------------------------------------->KB
- 0 78.12
-
-Number of snapshots: 10
- Detailed snapshots: [9]
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 0 0 0 0 0 0
- 1 48,000 48,000 48,000 0 0
- 2 55,200 55,200 55,200 0 0
- 3 57,600 57,600 57,600 0 0
- 4 58,400 58,400 58,400 0 0
- 5 59,200 59,200 59,200 0 0
- 6 59,600 59,600 59,600 0 0
- 7 63,600 63,600 63,600 0 0
- 8 79,600 79,600 79,600 0 0
- 9 80,000 80,000 80,000 0 0
-100.00% (80,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->66.50% (53,200B) 0x........: my_malloc1 (thresholds.c:23)
-| ->60.00% (48,000B) 0x........: a7550 (thresholds.c:38)
-| | ->60.00% (48,000B) 0x........: main (thresholds.c:52)
-| |
-| ->06.50% (5,200B) in 3+ places, all below ms_print's threshold (10.00%)
-|
-->20.00% (16,000B) 0x........: main (thresholds.c:55)
-|
-->13.00% (10,400B) 0x........: my_malloc2 (thresholds.c:28)
-| ->13.00% (10,400B) in 3+ places, all below ms_print's threshold (10.00%)
-|
-->00.50% (400B) in 1+ places, all below ms_print's threshold (10.00%)
-
=================================================
./valgrind-old/massif/tests/thresholds_0_10.stderr.diff
=================================================
--- thresholds_0_10.stderr.exp 2010-07-05 23:05:26.000000000 -0500
+++ thresholds_0_10.stderr.out 2010-07-05 23:14:02.000000000 -0500
@@ -1,2 +0,0 @@
-
-
=================================================
./valgrind-old/massif/tests/thresholds_10_0.post.diff
=================================================
--- thresholds_10_0.post.exp 2010-07-05 23:05:26.000000000 -0500
+++ thresholds_10_0.post.out 2010-07-05 23:14:02.000000000 -0500
@@ -1,61 +0,0 @@
---------------------------------------------------------------------------------
-Command: ./thresholds
-Massif arguments: --stacks=no --time-unit=B --heap-admin=0 --threshold=10 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
-ms_print arguments: massif.out --threshold=0
---------------------------------------------------------------------------------
-
-
- KB
-78.12^ @
- | @
- | @
- | @
- | @
- | ::::::::::::::@
- | ::::::: @
- | ::::: : @
- | ::::::: ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- | : : ::: : @
- 0 +----------------------------------------------------------------------->KB
- 0 78.12
-
-Number of snapshots: 10
- Detailed snapshots: [9]
-
---------------------------------------------------------------------------------
- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
---------------------------------------------------------------------------------
- 0 0 0 0 0 0
- 1 48,000 48,000 48,000 0 0
- 2 55,200 55,200 55,200 0 0
- 3 57,600 57,600 57,600 0 0
- 4 58,400 58,400 58,400 0 0
- 5 59,200 59,200 59,200 0 0
- 6 59,600 59,600 59,600 0 0
- 7 63,600 63,600 63,600 0 0
- 8 79,600 79,600 79,600 0 0
- 9 80,000 80,000 80,000 0 0
-100.00% (80,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->66.50% (53,200B) 0x........: my_malloc1 (thresholds.c:23)
-| ->60.00% (48,000B) 0x........: a7550 (thresholds.c:38)
-| | ->60.00% (48,000B) 0x........: main (thresholds.c:52)
-| |
-| ->06.50% (5,200B) in 3 places, all below massif's threshold (10.00%)
-|
-->20.00% (16,000B) 0x........: main (thresholds.c:55)
-|
-->13.00% (10,400B) 0x........: my_malloc2 (thresholds.c:28)
-| ->13.00% (10,400B) in 3 places, all below massif's threshold (10.00%)
-|
-->00.50% (400B) in 1 place, below massif's threshold (10.00%)
-
=================================================
./valgrind-old/massif/tests/thresholds_10_0.stderr.diff
=================================================
--- thresholds_10_0.stderr.exp 2010-07...
[truncated message content] |
|
From: <sv...@va...> - 2010-07-06 04:25:19
|
Author: njn
Date: 2010-07-06 05:25:12 +0100 (Tue, 06 Jul 2010)
New Revision: 11211
Log:
Make -h -h be equivalent to --help-debug.
Modified:
trunk/coregrind/m_main.c
trunk/docs/xml/manual-core.xml
Modified: trunk/coregrind/m_main.c
===================================================================
--- trunk/coregrind/m_main.c 2010-07-06 04:21:47 UTC (rev 11210)
+++ trunk/coregrind/m_main.c 2010-07-06 04:25:12 UTC (rev 11211)
@@ -303,10 +303,10 @@
VG_(printf)("valgrind-" VERSION "\n");
VG_(exit)(0);
}
- else if VG_XACT_CLO(str, "--help", *need_help, 1) {}
- else if VG_XACT_CLO(str, "-h", *need_help, 1) {}
+ else if VG_XACT_CLO(str, "--help", *need_help, *need_help+1) {}
+ else if VG_XACT_CLO(str, "-h", *need_help, *need_help+1) {}
- else if VG_XACT_CLO(str, "--help-debug", *need_help, 2) {}
+ else if VG_XACT_CLO(str, "--help-debug", *need_help, *need_help+2) {}
// The tool has already been determined, but we need to know the name
// here.
@@ -1826,7 +1826,7 @@
//--------------------------------------------------------------
VG_(debugLog)(1, "main", "Print help and quit, if requested\n");
if (need_help) {
- usage_NORETURN(/*--help-debug?*/2 == need_help);
+ usage_NORETURN(/*--help-debug?*/need_help >= 2);
}
//--------------------------------------------------------------
Modified: trunk/docs/xml/manual-core.xml
===================================================================
--- trunk/docs/xml/manual-core.xml 2010-07-06 04:21:47 UTC (rev 11210)
+++ trunk/docs/xml/manual-core.xml 2010-07-06 04:25:12 UTC (rev 11211)
@@ -596,7 +596,8 @@
<term><option>-h --help</option></term>
<listitem>
<para>Show help for all options, both for the core and for the
- selected tool.</para>
+ selected tool. If the option is repeated it is equivalent to giving
+ <option>--help-debug</option>.</para>
</listitem>
</varlistentry>
|
|
From: <sv...@va...> - 2010-07-06 04:21:56
|
Author: njn
Date: 2010-07-06 05:21:47 +0100 (Tue, 06 Jul 2010)
New Revision: 11210
Log:
Replace the handful of uses of Vg_ExtraDebugMsg and VG_(emsg) with
Vg_DebugMsg and VG_(dmsg).
Modified:
trunk/coregrind/m_libcprint.c
trunk/coregrind/m_signals.c
trunk/include/pub_tool_libcprint.h
trunk/tests/filter_stderr_basic
Modified: trunk/coregrind/m_libcprint.c
===================================================================
--- trunk/coregrind/m_libcprint.c 2010-07-06 04:05:23 UTC (rev 11209)
+++ trunk/coregrind/m_libcprint.c 2010-07-06 04:21:47 UTC (rev 11210)
@@ -425,7 +425,6 @@
switch (b->kind) {
case Vg_UserMsg: ch = '='; break;
case Vg_DebugMsg: ch = '-'; break;
- case Vg_DebugExtraMsg: ch = '+'; break;
case Vg_ClientMsg: ch = '*'; break;
default: ch = '?'; break;
}
@@ -567,16 +566,6 @@
return count;
}
-UInt VG_(emsg) ( const HChar* format, ... )
-{
- UInt count;
- va_list vargs;
- va_start(vargs,format);
- count = VG_(vmessage) ( Vg_DebugExtraMsg, format, vargs );
- va_end(vargs);
- return count;
-}
-
/* Flush any output that has accumulated in vmessage_buf as a
result of previous calls to VG_(message) et al. */
void VG_(message_flush) ( void )
Modified: trunk/coregrind/m_signals.c
===================================================================
--- trunk/coregrind/m_signals.c 2010-07-06 04:05:23 UTC (rev 11209)
+++ trunk/coregrind/m_signals.c 2010-07-06 04:21:47 UTC (rev 11210)
@@ -973,7 +973,7 @@
m_SP = VG_(get_SP)(tid);
if (VG_(clo_trace_signals))
- VG_(emsg)("sys_sigaltstack: tid %d, "
+ VG_(dmsg)("sys_sigaltstack: tid %d, "
"ss %p{%p,sz=%llu,flags=0x%llx}, oss %p (current SP %p)\n",
tid, (void*)ss,
ss ? ss->ss_sp : 0,
@@ -1018,7 +1018,7 @@
vki_sigaction_fromK_t* old_act )
{
if (VG_(clo_trace_signals))
- VG_(emsg)("sys_sigaction: sigNo %d, "
+ VG_(dmsg)("sys_sigaction: sigNo %d, "
"new %#lx, old %#lx, new flags 0x%llx\n",
signo, (UWord)new_act, (UWord)old_act,
(ULong)(new_act ? new_act->sa_flags : 0));
@@ -1167,7 +1167,7 @@
vki_sigset_t* oldset )
{
if (VG_(clo_trace_signals))
- VG_(emsg)("do_setmask: tid = %d how = %d (%s), newset = %p (%s)\n",
+ VG_(dmsg)("do_setmask: tid = %d how = %d (%s), newset = %p (%s)\n",
tid, how,
how==VKI_SIG_BLOCK ? "SIG_BLOCK" : (
how==VKI_SIG_UNBLOCK ? "SIG_UNBLOCK" : (
@@ -1179,7 +1179,7 @@
if (oldset) {
*oldset = VG_(threads)[tid].sig_mask;
if (VG_(clo_trace_signals))
- VG_(emsg)("\toldset=%p %s\n", oldset, format_sigset(oldset));
+ VG_(dmsg)("\toldset=%p %s\n", oldset, format_sigset(oldset));
}
if (newset) {
do_sigprocmask_bitops (how, &VG_(threads)[tid].sig_mask, newset );
Modified: trunk/include/pub_tool_libcprint.h
===================================================================
--- trunk/include/pub_tool_libcprint.h 2010-07-06 04:05:23 UTC (rev 11209)
+++ trunk/include/pub_tool_libcprint.h 2010-07-06 04:21:47 UTC (rev 11210)
@@ -75,7 +75,6 @@
Vg_FailMsg, // "valgrind:"
Vg_UserMsg, // "==pid=="
Vg_DebugMsg, // "--pid--"
- Vg_DebugExtraMsg, // "++pid++"
Vg_ClientMsg // "**pid**"
}
VgMsgKind;
@@ -138,10 +137,6 @@
// This is used for debugging messages that are only of use to developers.
extern UInt VG_(dmsg)( const HChar* format, ... ) PRINTF_CHECK(1, 2);
-// This is used for additional debugging messages that are only of use to
-// developers.
-extern UInt VG_(emsg)( const HChar* format, ... ) PRINTF_CHECK(1, 2);
-
/* Flush any output cached by previous calls to VG_(message) et al. */
extern void VG_(message_flush) ( void );
Modified: trunk/tests/filter_stderr_basic
===================================================================
--- trunk/tests/filter_stderr_basic 2010-07-06 04:05:23 UTC (rev 11209)
+++ trunk/tests/filter_stderr_basic 2010-07-06 04:21:47 UTC (rev 11210)
@@ -9,8 +9,8 @@
dir=`dirname $0`
-# Remove ==pid== and --pid-- and ++pid++ and **pid** strings
-perl -p -e 's/(==|--|\+\+|\*\*)[0-9]{1,7}\1 //' |
+# Remove ==pid== and --pid-- and **pid** strings
+perl -p -e 's/(==|--|\*\*)[0-9]{1,7}\1 //' |
# Remove any --pid:0: strings (debuglog level zero output)
sed "/^--[0-9]\{1,7\}:0:*/d" |
|
|
From: <sv...@va...> - 2010-07-06 04:05:38
|
Author: njn
Date: 2010-07-06 05:05:23 +0100 (Tue, 06 Jul 2010)
New Revision: 11209
Log:
Make error messages at start-up more consistent. Every line of such
messages now begin with "valgrind: ", and they're more often printed before
the preamble. This required introducing a new message kind, Vg_FailMsg, and
functions VG_(fmsg) and VG_(fmsg_bad_option), and removing
VG_(err_bad_option).
Where we used to have horrible output like this:
[ocean:~/grind/ws2] vg5 --tool=massif --threshold=101 date
==31877== Massif, a heap profiler
==31877== Copyright (C) 2003-2010, and GNU GPL'd, by Nicholas Nethercote
==31877== Using Valgrind-3.6.0.SVN and LibVEX; rerun with -h for copyright info
==31877== Command: date
==31877==
==31877== --threshold must be between 0.0 and 100.0
valgrind: Bad option '--threshold'; aborting.
valgrind: Use --help for more information.
We now have nice output like this:
[ocean:~/grind/ws2] vg2 --tool=massif --threshold=101 date
valgrind: Bad option: --threshold=101
valgrind: --threshold must be between 0.0 and 100.0
valgrind: Use --help for more information or consult the user manual.
Modified:
trunk/cachegrind/cg_main.c
trunk/callgrind/sim.c
trunk/coregrind/m_libcprint.c
trunk/coregrind/m_main.c
trunk/coregrind/m_options.c
trunk/coregrind/m_replacemalloc/replacemalloc_core.c
trunk/coregrind/m_ume/main.c
trunk/coregrind/pub_core_libcprint.h
trunk/coregrind/pub_core_options.h
trunk/include/pub_tool_libcprint.h
trunk/include/pub_tool_options.h
trunk/include/pub_tool_tooliface.h
trunk/massif/ms_main.c
trunk/memcheck/mc_main.c
trunk/none/tests/cmdline2.stdout.exp
trunk/none/tests/cmdline4.stderr.exp
Modified: trunk/cachegrind/cg_main.c
===================================================================
--- trunk/cachegrind/cg_main.c 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/cachegrind/cg_main.c 2010-07-06 04:05:23 UTC (rev 11209)
@@ -1191,45 +1191,40 @@
static cache_t clo_D1_cache = UNDEFINED_CACHE;
static cache_t clo_L2_cache = UNDEFINED_CACHE;
-/* Checks cache config is ok; makes it so if not. */
-static
-void check_cache(cache_t* cache, Char *name)
+// Checks cache config is ok. Returns NULL if ok, or a pointer to an error
+// string otherwise.
+static Char* check_cache(cache_t* cache)
{
- /* Simulator requires line size and set count to be powers of two */
- if (( cache->size % (cache->line_size * cache->assoc) != 0) ||
- (-1 == VG_(log2)(cache->size/cache->line_size/cache->assoc))) {
- VG_(umsg)("error: %s set count not a power of two; aborting.\n", name);
- VG_(exit)(1);
+ // Simulator requires set count to be a power of two.
+ if ((cache->size % (cache->line_size * cache->assoc) != 0) ||
+ (-1 == VG_(log2)(cache->size/cache->line_size/cache->assoc)))
+ {
+ return "Cache set count is not a power of two.\n";
}
+ // Simulator requires line size to be a power of two.
if (-1 == VG_(log2)(cache->line_size)) {
- VG_(umsg)("error: %s line size of %dB not a power of two; aborting.\n",
- name, cache->line_size);
- VG_(exit)(1);
+ return "Cache line size is not a power of two.\n";
}
// Then check line size >= 16 -- any smaller and a single instruction could
// straddle three cache lines, which breaks a simulation assertion and is
// stupid anyway.
if (cache->line_size < MIN_LINE_SIZE) {
- VG_(umsg)("error: %s line size of %dB too small; aborting.\n",
- name, cache->line_size);
- VG_(exit)(1);
+ return "Cache line size is too small.\n";
}
/* Then check cache size > line size (causes seg faults if not). */
if (cache->size <= cache->line_size) {
- VG_(umsg)("error: %s cache size of %dB <= line size of %dB; aborting.\n",
- name, cache->size, cache->line_size);
- VG_(exit)(1);
+ return "Cache size <= line size.\n";
}
/* Then check assoc <= (size / line size) (seg faults otherwise). */
if (cache->assoc > (cache->size / cache->line_size)) {
- VG_(umsg)("warning: %s associativity > (size / line size); aborting.\n",
- name);
- VG_(exit)(1);
+ return "Cache associativity > (size / line size).\n";
}
+
+ return NULL;
}
static
@@ -1237,27 +1232,29 @@
{
#define DEFINED(L) (-1 != L.size || -1 != L.assoc || -1 != L.line_size)
- Int n_clos = 0;
+ Char* checkRes;
// Count how many were defined on the command line.
- if (DEFINED(clo_I1_cache)) { n_clos++; }
- if (DEFINED(clo_D1_cache)) { n_clos++; }
- if (DEFINED(clo_L2_cache)) { n_clos++; }
+ Bool all_caches_clo_defined =
+ (DEFINED(clo_I1_cache) &&
+ DEFINED(clo_D1_cache) &&
+ DEFINED(clo_L2_cache));
// Set the cache config (using auto-detection, if supported by the
- // architecture)
- VG_(configure_caches)( I1c, D1c, L2c, (3 == n_clos) );
+ // architecture).
+ VG_(configure_caches)( I1c, D1c, L2c, all_caches_clo_defined );
- // Then replace with any defined on the command line.
+ // Check the default/auto-detected values.
+ checkRes = check_cache(I1c); tl_assert(!checkRes);
+ checkRes = check_cache(D1c); tl_assert(!checkRes);
+ checkRes = check_cache(L2c); tl_assert(!checkRes);
+
+ // Then replace with any defined on the command line. (Already checked in
+ // parse_cache_opt().)
if (DEFINED(clo_I1_cache)) { *I1c = clo_I1_cache; }
if (DEFINED(clo_D1_cache)) { *D1c = clo_D1_cache; }
if (DEFINED(clo_L2_cache)) { *L2c = clo_L2_cache; }
- // Then check values and fix if not acceptable.
- check_cache(I1c, "I1");
- check_cache(D1c, "D1");
- check_cache(L2c, "L2");
-
if (VG_(clo_verbosity) >= 2) {
VG_(umsg)("Cache configuration used:\n");
VG_(umsg)(" I1: %dB, %d-way, %dB lines\n",
@@ -1671,13 +1668,14 @@
/*--- Command line processing ---*/
/*--------------------------------------------------------------------*/
-static void parse_cache_opt ( cache_t* cache, Char* opt )
+static void parse_cache_opt ( cache_t* cache, Char* opt, Char* optval )
{
Long i1, i2, i3;
Char* endptr;
+ Char* checkRes;
// Option argument looks like "65536,2,64". Extract them.
- i1 = VG_(strtoll10)(opt, &endptr); if (*endptr != ',') goto bad;
+ i1 = VG_(strtoll10)(optval, &endptr); if (*endptr != ',') goto bad;
i2 = VG_(strtoll10)(endptr+1, &endptr); if (*endptr != ',') goto bad;
i3 = VG_(strtoll10)(endptr+1, &endptr); if (*endptr != '\0') goto bad;
@@ -1689,14 +1687,20 @@
if (cache->assoc != i2) goto overflow;
if (cache->line_size != i3) goto overflow;
+ checkRes = check_cache(cache);
+ if (checkRes) {
+ VG_(fmsg)("%s", checkRes);
+ goto bad;
+ }
+
return;
+ bad:
+ VG_(fmsg_bad_option)(opt, "");
+
overflow:
- VG_(umsg)("one of the cache parameters was too large and overflowed\n");
- bad:
- // XXX: this omits the "--I1/D1/L2=" part from the message, but that's
- // not a big deal.
- VG_(err_bad_option)(opt);
+ VG_(fmsg_bad_option)(opt,
+ "One of the cache parameters was too large and overflowed.\n");
}
static Bool cg_process_cmd_line_option(Char* arg)
@@ -1705,11 +1709,11 @@
// 5 is length of "--I1="
if VG_STR_CLO(arg, "--I1", tmp_str)
- parse_cache_opt(&clo_I1_cache, tmp_str);
+ parse_cache_opt(&clo_I1_cache, arg, tmp_str);
else if VG_STR_CLO(arg, "--D1", tmp_str)
- parse_cache_opt(&clo_D1_cache, tmp_str);
+ parse_cache_opt(&clo_D1_cache, arg, tmp_str);
else if VG_STR_CLO(arg, "--L2", tmp_str)
- parse_cache_opt(&clo_L2_cache, tmp_str);
+ parse_cache_opt(&clo_L2_cache, arg, tmp_str);
else if VG_STR_CLO( arg, "--cachegrind-out-file", clo_cachegrind_out_file) {}
else if VG_BOOL_CLO(arg, "--cache-sim", clo_cache_sim) {}
Modified: trunk/callgrind/sim.c
===================================================================
--- trunk/callgrind/sim.c 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/callgrind/sim.c 2010-07-06 04:05:23 UTC (rev 11209)
@@ -1271,49 +1271,40 @@
static cache_t clo_L2_cache = UNDEFINED_CACHE;
-/* Checks cache config is ok; makes it so if not. */
-static
-void check_cache(cache_t* cache, Char *name)
+// Checks cache config is ok. Returns NULL if ok, or a pointer to an error
+// string otherwise.
+static Char* check_cache(cache_t* cache)
{
- /* Simulator requires line size and set count to be powers of two */
+ // Simulator requires line size and set count to be powers of two.
if (( cache->size % (cache->line_size * cache->assoc) != 0) ||
- (-1 == VG_(log2)(cache->size/cache->line_size/cache->assoc))) {
- VG_(message)(Vg_UserMsg,
- "error: %s set count not a power of two; aborting.\n",
- name);
+ (-1 == VG_(log2)(cache->size/cache->line_size/cache->assoc)))
+ {
+ return "Cache set count is not a power of two.\n";
}
+ // Simulator requires line size to be a power of two.
if (-1 == VG_(log2)(cache->line_size)) {
- VG_(message)(Vg_UserMsg,
- "error: %s line size of %dB not a power of two; aborting.\n",
- name, cache->line_size);
- VG_(exit)(1);
+ return "Cache line size is not a power of two.\n";
}
// Then check line size >= 16 -- any smaller and a single instruction could
// straddle three cache lines, which breaks a simulation assertion and is
// stupid anyway.
if (cache->line_size < MIN_LINE_SIZE) {
- VG_(message)(Vg_UserMsg,
- "error: %s line size of %dB too small; aborting.\n",
- name, cache->line_size);
- VG_(exit)(1);
+ return "Cache line size is too small.\n";
}
/* Then check cache size > line size (causes seg faults if not). */
if (cache->size <= cache->line_size) {
- VG_(message)(Vg_UserMsg,
- "error: %s cache size of %dB <= line size of %dB; aborting.\n",
- name, cache->size, cache->line_size);
- VG_(exit)(1);
+ return "Cache size <= line size.\n";
}
/* Then check assoc <= (size / line size) (seg faults otherwise). */
if (cache->assoc > (cache->size / cache->line_size)) {
- VG_(message)(Vg_UserMsg,
- "warning: %s associativity > (size / line size); aborting.\n", name);
- VG_(exit)(1);
+ return "Cache associativity > (size / line size).\n";
}
+
+ return NULL;
}
static
@@ -1321,27 +1312,27 @@
{
#define DEFINED(L) (-1 != L.size || -1 != L.assoc || -1 != L.line_size)
- Int n_clos = 0;
+ Char* checkRes;
- // Count how many were defined on the command line.
- if (DEFINED(clo_I1_cache)) { n_clos++; }
- if (DEFINED(clo_D1_cache)) { n_clos++; }
- if (DEFINED(clo_L2_cache)) { n_clos++; }
+ Bool all_caches_clo_defined =
+ (DEFINED(clo_I1_cache) &&
+ DEFINED(clo_D1_cache) &&
+ DEFINED(clo_L2_cache));
// Set the cache config (using auto-detection, if supported by the
- // architecture)
- VG_(configure_caches)( I1c, D1c, L2c, (3 == n_clos) );
+ // architecture).
+ VG_(configure_caches)( I1c, D1c, L2c, all_caches_clo_defined );
+ // Check the default/auto-detected values.
+ checkRes = check_cache(I1c); tl_assert(!checkRes);
+ checkRes = check_cache(D1c); tl_assert(!checkRes);
+ checkRes = check_cache(L2c); tl_assert(!checkRes);
+
// Then replace with any defined on the command line.
if (DEFINED(clo_I1_cache)) { *I1c = clo_I1_cache; }
if (DEFINED(clo_D1_cache)) { *D1c = clo_D1_cache; }
if (DEFINED(clo_L2_cache)) { *L2c = clo_L2_cache; }
- // Then check values and fix if not acceptable.
- check_cache(I1c, "I1");
- check_cache(D1c, "D1");
- check_cache(L2c, "L2");
-
if (VG_(clo_verbosity) > 1) {
VG_(message)(Vg_UserMsg, "Cache configuration used:\n");
VG_(message)(Vg_UserMsg, " I1: %dB, %d-way, %dB lines\n",
@@ -1503,13 +1494,14 @@
);
}
-static void parse_opt ( cache_t* cache, char* opt )
+static void parse_opt ( cache_t* cache, char* opt, Char* optval )
{
Long i1, i2, i3;
Char* endptr;
+ Char* checkRes;
// Option argument looks like "65536,2,64". Extract them.
- i1 = VG_(strtoll10)(opt, &endptr); if (*endptr != ',') goto bad;
+ i1 = VG_(strtoll10)(optval, &endptr); if (*endptr != ',') goto bad;
i2 = VG_(strtoll10)(endptr+1, &endptr); if (*endptr != ',') goto bad;
i3 = VG_(strtoll10)(endptr+1, &endptr); if (*endptr != '\0') goto bad;
@@ -1521,15 +1513,20 @@
if (cache->assoc != i2) goto overflow;
if (cache->line_size != i3) goto overflow;
+ checkRes = check_cache(cache);
+ if (checkRes) {
+ VG_(fmsg)("%s", checkRes);
+ goto bad;
+ }
+
return;
- overflow:
- VG_(message)(Vg_UserMsg,
- "one of the cache parameters was too large and overflowed\n");
bad:
- // XXX: this omits the "--I1/D1/L2=" part from the message, but that's
- // not a big deal.
- VG_(err_bad_option)(opt);
+ VG_(fmsg_bad_option)(opt, "");
+
+ overflow:
+ VG_(fmsg_bad_option)(opt,
+ "One of the cache parameters was too large and overflowed.\n");
}
/* Check for command line option for cache configuration.
@@ -1553,11 +1550,11 @@
}
else if VG_STR_CLO(arg, "--I1", tmp_str)
- parse_opt(&clo_I1_cache, tmp_str);
+ parse_opt(&clo_I1_cache, arg, tmp_str);
else if VG_STR_CLO(arg, "--D1", tmp_str)
- parse_opt(&clo_D1_cache, tmp_str);
+ parse_opt(&clo_D1_cache, arg, tmp_str);
else if VG_STR_CLO(arg, "--L2", tmp_str)
- parse_opt(&clo_L2_cache, tmp_str);
+ parse_opt(&clo_L2_cache, arg, tmp_str);
else
return False;
Modified: trunk/coregrind/m_libcprint.c
===================================================================
--- trunk/coregrind/m_libcprint.c 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/coregrind/m_libcprint.c 2010-07-06 04:05:23 UTC (rev 11209)
@@ -400,14 +400,6 @@
HChar ch;
Int i, depth;
- switch (b->kind) {
- case Vg_UserMsg: ch = '='; break;
- case Vg_DebugMsg: ch = '-'; break;
- case Vg_DebugExtraMsg: ch = '+'; break;
- case Vg_ClientMsg: ch = '*'; break;
- default: ch = '?'; break;
- }
-
// Print one '>' in front of the messages for each level of
// self-hosting being performed.
depth = RUNNING_ON_VALGRIND;
@@ -417,26 +409,48 @@
b->buf[b->buf_used++] = '>';
}
- b->buf[b->buf_used++] = ch;
- b->buf[b->buf_used++] = ch;
+ if (Vg_FailMsg == b->kind) {
+ // "valgrind: " prefix.
+ b->buf[b->buf_used++] = 'v';
+ b->buf[b->buf_used++] = 'a';
+ b->buf[b->buf_used++] = 'l';
+ b->buf[b->buf_used++] = 'g';
+ b->buf[b->buf_used++] = 'r';
+ b->buf[b->buf_used++] = 'i';
+ b->buf[b->buf_used++] = 'n';
+ b->buf[b->buf_used++] = 'd';
+ b->buf[b->buf_used++] = ':';
+ b->buf[b->buf_used++] = ' ';
+ } else {
+ switch (b->kind) {
+ case Vg_UserMsg: ch = '='; break;
+ case Vg_DebugMsg: ch = '-'; break;
+ case Vg_DebugExtraMsg: ch = '+'; break;
+ case Vg_ClientMsg: ch = '*'; break;
+ default: ch = '?'; break;
+ }
- if (VG_(clo_time_stamp)) {
- VG_(memset)(tmp, 0, sizeof(tmp));
- VG_(elapsed_wallclock_time)(tmp);
+ b->buf[b->buf_used++] = ch;
+ b->buf[b->buf_used++] = ch;
+
+ if (VG_(clo_time_stamp)) {
+ VG_(memset)(tmp, 0, sizeof(tmp));
+ VG_(elapsed_wallclock_time)(tmp);
+ tmp[sizeof(tmp)-1] = 0;
+ for (i = 0; tmp[i]; i++)
+ b->buf[b->buf_used++] = tmp[i];
+ }
+
+ VG_(sprintf)(tmp, "%d", VG_(getpid)());
tmp[sizeof(tmp)-1] = 0;
for (i = 0; tmp[i]; i++)
b->buf[b->buf_used++] = tmp[i];
+
+ b->buf[b->buf_used++] = ch;
+ b->buf[b->buf_used++] = ch;
+ b->buf[b->buf_used++] = ' ';
}
- VG_(sprintf)(tmp, "%d", VG_(getpid)());
- tmp[sizeof(tmp)-1] = 0;
- for (i = 0; tmp[i]; i++)
- b->buf[b->buf_used++] = tmp[i];
-
- b->buf[b->buf_used++] = ch;
- b->buf[b->buf_used++] = ch;
- b->buf[b->buf_used++] = ' ';
-
/* We can't possibly have stuffed 96 chars in merely as a result
of making the preamble (can we?) */
vg_assert(b->buf_used < sizeof(b->buf)-32);
@@ -503,7 +517,36 @@
return count;
}
+static void revert_to_stderr ( void )
+{
+ VG_(log_output_sink).fd = 2; /* stderr */
+ VG_(log_output_sink).is_socket = False;
+}
+
/* VG_(message) variants with hardwired first argument. */
+
+UInt VG_(fmsg) ( const HChar* format, ... )
+{
+ UInt count;
+ va_list vargs;
+ va_start(vargs,format);
+ count = VG_(vmessage) ( Vg_FailMsg, format, vargs );
+ va_end(vargs);
+ return count;
+}
+
+void VG_(fmsg_bad_option) ( HChar* opt, const HChar* format, ... )
+{
+ va_list vargs;
+ va_start(vargs,format);
+ revert_to_stderr();
+ VG_(message) (Vg_FailMsg, "Bad option: %s\n", opt);
+ VG_(vmessage)(Vg_FailMsg, format, vargs );
+ VG_(message) (Vg_FailMsg, "Use --help for more information or consult the user manual.\n");
+ VG_(exit)(1);
+ va_end(vargs);
+}
+
UInt VG_(umsg) ( const HChar* format, ... )
{
UInt count;
@@ -543,7 +586,25 @@
b->buf_used = 0;
}
+__attribute__((noreturn))
+void VG_(err_missing_prog) ( void )
+{
+ revert_to_stderr();
+ VG_(fmsg)("no program specified\n");
+ VG_(fmsg)("Use --help for more information.\n");
+ VG_(exit)(1);
+}
+__attribute__((noreturn))
+void VG_(err_config_error) ( Char* msg )
+{
+ revert_to_stderr();
+ VG_(fmsg)("Startup or configuration error:\n %s\n", msg);
+ VG_(fmsg)("Unable to start up properly. Giving up.\n");
+ VG_(exit)(1);
+}
+
+
/*--------------------------------------------------------------------*/
/*--- end ---*/
/*--------------------------------------------------------------------*/
Modified: trunk/coregrind/m_main.c
===================================================================
--- trunk/coregrind/m_main.c 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/coregrind/m_main.c 2010-07-06 04:05:23 UTC (rev 11209)
@@ -177,8 +177,8 @@
Char* usage2 =
"\n"
" debugging options for all Valgrind tools:\n"
-" --stats=no|yes show tool and core statistics [no]\n"
" -d show verbose debugging output\n"
+" --stats=no|yes show tool and core statistics [no]\n"
" --sanity-level=<number> level of sanity checking to do [1]\n"
" --trace-flags=<XXXXXXXX> show generated code? (X = 0|1) [00000000]\n"
" --profile-flags=<XXXXXXXX> ditto, but for profiling (X = 0|1) [00000000]\n"
@@ -542,11 +542,9 @@
else if VG_STR_CLO(arg, "--suppressions", tmp_str) {
if (VG_(clo_n_suppressions) >= VG_CLO_MAX_SFILES) {
- VG_(message)(Vg_UserMsg,
- "Too many suppression files specified.\n");
- VG_(message)(Vg_UserMsg,
- "Increase VG_CLO_MAX_SFILES and recompile.\n");
- VG_(err_bad_option)(arg);
+ VG_(fmsg_bad_option)(arg,
+ "Too many suppression files specified.\n"
+ "Increase VG_CLO_MAX_SFILES and recompile.\n");
}
VG_(clo_suppressions)[VG_(clo_n_suppressions)] = tmp_str;
VG_(clo_n_suppressions)++;
@@ -554,11 +552,9 @@
else if VG_STR_CLO(arg, "--require-text-symbol", tmp_str) {
if (VG_(clo_n_req_tsyms) >= VG_CLO_MAX_REQ_TSYMS) {
- VG_(message)(Vg_UserMsg,
- "Too many --require-text-symbol= specifications.\n");
- VG_(message)(Vg_UserMsg,
- "Increase VG_CLO_MAX_REQ_TSYMS and recompile.\n");
- VG_(err_bad_option)(arg);
+ VG_(fmsg_bad_option)(arg,
+ "Too many --require-text-symbol= specifications.\n"
+ "Increase VG_CLO_MAX_REQ_TSYMS and recompile.\n");
}
/* String needs to be of the form C?*C?*, where C is any
character, but is the same both times. Having it in this
@@ -577,9 +573,8 @@
ok = VG_(string_match)(patt, tmp_str);
}
if (!ok) {
- VG_(message)(Vg_UserMsg,
- "Invalid --require-text-symbol= specification.\n");
- VG_(err_bad_option)(arg);
+ VG_(fmsg_bad_option)(arg,
+ "Invalid --require-text-symbol= specification.\n");
}
VG_(clo_req_tsyms)[VG_(clo_n_req_tsyms)] = tmp_str;
VG_(clo_n_req_tsyms)++;
@@ -590,17 +585,15 @@
Int j;
if (8 != VG_(strlen)(tmp_str)) {
- VG_(message)(Vg_UserMsg,
- "--trace-flags argument must have 8 digits\n");
- VG_(err_bad_option)(arg);
+ VG_(fmsg_bad_option)(arg,
+ "--trace-flags argument must have 8 digits\n");
}
for (j = 0; j < 8; j++) {
if ('0' == tmp_str[j]) { /* do nothing */ }
else if ('1' == tmp_str[j]) VG_(clo_trace_flags) |= (1 << (7-j));
else {
- VG_(message)(Vg_UserMsg, "--trace-flags argument can only "
- "contain 0s and 1s\n");
- VG_(err_bad_option)(arg);
+ VG_(fmsg_bad_option)(arg,
+ "--trace-flags argument can only contain 0s and 1s\n");
}
}
}
@@ -610,17 +603,15 @@
Int j;
if (8 != VG_(strlen)(tmp_str)) {
- VG_(message)(Vg_UserMsg,
- "--profile-flags argument must have 8 digits\n");
- VG_(err_bad_option)(arg);
+ VG_(fmsg_bad_option)(arg,
+ "--profile-flags argument must have 8 digits\n");
}
for (j = 0; j < 8; j++) {
if ('0' == tmp_str[j]) { /* do nothing */ }
else if ('1' == tmp_str[j]) VG_(clo_profile_flags) |= (1 << (7-j));
else {
- VG_(message)(Vg_UserMsg, "--profile-flags argument can only "
- "contain 0s and 1s\n");
- VG_(err_bad_option)(arg);
+ VG_(fmsg_bad_option)(arg,
+ "--profile-flags argument can only contain 0s and 1s\n");
}
}
}
@@ -636,7 +627,7 @@
else if ( ! VG_(needs).command_line_options
|| ! VG_TDICT_CALL(tool_process_cmd_line_option, arg) ) {
- VG_(err_bad_option)(arg);
+ VG_(fmsg_bad_option)(arg, "");
}
}
@@ -659,20 +650,17 @@
if (VG_(clo_gen_suppressions) > 0 &&
!VG_(needs).core_errors && !VG_(needs).tool_errors) {
- VG_(message)(Vg_UserMsg,
- "Can't use --gen-suppressions= with this tool,\n");
- VG_(message)(Vg_UserMsg,
- "as it doesn't generate errors.\n");
- VG_(err_bad_option)("--gen-suppressions=");
+ VG_(fmsg_bad_option)("--gen-suppressions=yes",
+ "Can't use --gen-suppressions= with %s\n"
+ "because it doesn't generate errors.\n", VG_(details).name);
}
/* If XML output is requested, check that the tool actually
supports it. */
if (VG_(clo_xml) && !VG_(needs).xml_output) {
VG_(clo_xml) = False;
- VG_(message)(Vg_UserMsg,
+ VG_(fmsg_bad_option)("--xml=yes",
"%s does not support XML output.\n", VG_(details).name);
- VG_(err_bad_option)("--xml=yes");
/*NOTREACHED*/
}
@@ -693,33 +681,28 @@
(--gen-suppressions=all is still OK since we don't need any
user interaction in this case.) */
if (VG_(clo_gen_suppressions) == 1) {
- VG_(umsg)(
- "When --xml=yes is specified, only --gen-suppressions=no\n"
- "or --gen-suppressions=all are allowed, but not "
+ VG_(fmsg_bad_option)(
+ "--xml=yes together with --gen-suppressions=yes",
+ "When --xml=yes is specified, --gen-suppressions=no\n"
+ "or --gen-suppressions=all is allowed, but not "
"--gen-suppressions=yes.\n");
- /* FIXME: this is really a misuse of VG_(err_bad_option). */
- VG_(err_bad_option)(
- "--xml=yes together with --gen-suppressions=yes");
}
/* We can't allow DB attaching (or we maybe could, but results
could be chaotic ..) since it requires user input. Hence
disallow. */
if (VG_(clo_db_attach)) {
- VG_(umsg)("--db-attach=yes is not allowed in XML mode,\n"
- "as it would require user input.\n");
- /* FIXME: this is really a misuse of VG_(err_bad_option). */
- VG_(err_bad_option)(
- "--xml=yes together with --db-attach=yes");
+ VG_(fmsg_bad_option)(
+ "--xml=yes together with --db-attach=yes",
+ "--db-attach=yes is not allowed with --xml=yes\n"
+ "because it would require user input.\n");
}
/* Disallow dump_error in XML mode; sounds like a recipe for
chaos. No big deal; dump_error is a flag for debugging V
itself. */
if (VG_(clo_dump_error) > 0) {
- /* FIXME: this is really a misuse of VG_(err_bad_option). */
- VG_(err_bad_option)(
- "--xml=yes together with --dump-error=");
+ VG_(fmsg_bad_option)("--xml=yes together with --dump-error", "");
}
/* Disable error limits (this might be a bad idea!) */
@@ -777,11 +760,9 @@
tmp_log_fd = sr_Res(sres);
VG_(clo_log_fname_expanded) = logfilename;
} else {
- VG_(message)(Vg_UserMsg,
- "Can't create log file '%s' (%s); giving up!\n",
- logfilename, VG_(strerror)(sr_Err(sres)));
- VG_(err_bad_option)(
- "--log-file=<file> (didn't work out for some reason.)");
+ VG_(fmsg)("can't create log file '%s': %s\n",
+ logfilename, VG_(strerror)(sr_Err(sres)));
+ VG_(exit)(1);
/*NOTREACHED*/
}
break;
@@ -792,23 +773,16 @@
vg_assert(VG_(strlen)(log_fsname_unexpanded) <= 900); /* paranoia */
tmp_log_fd = VG_(connect_via_socket)( log_fsname_unexpanded );
if (tmp_log_fd == -1) {
- VG_(message)(Vg_UserMsg,
- "Invalid --log-socket=ipaddr or "
- "--log-socket=ipaddr:port spec\n");
- VG_(message)(Vg_UserMsg,
- "of '%s'; giving up!\n", log_fsname_unexpanded );
- VG_(err_bad_option)(
- "--log-socket=");
+ VG_(fmsg)("Invalid --log-socket spec of '%s'\n",
+ log_fsname_unexpanded);
+ VG_(exit)(1);
/*NOTREACHED*/
}
if (tmp_log_fd == -2) {
- VG_(message)(Vg_UserMsg,
- "valgrind: failed to connect to logging server '%s'.\n",
- log_fsname_unexpanded );
- VG_(message)(Vg_UserMsg,
- "Log messages will sent to stderr instead.\n" );
- VG_(message)(Vg_UserMsg,
- "\n" );
+ VG_(umsg)("failed to connect to logging server '%s'.\n"
+ "Log messages will sent to stderr instead.\n",
+ log_fsname_unexpanded );
+
/* We don't change anything here. */
vg_assert(VG_(log_output_sink).fd == 2);
tmp_log_fd = 2;
@@ -848,11 +822,9 @@
*xml_fname_unexpanded = VG_(strdup)( "main.mpclo.2",
xml_fsname_unexpanded );
} else {
- VG_(message)(Vg_UserMsg,
- "Can't create XML file '%s' (%s); giving up!\n",
- xmlfilename, VG_(strerror)(sr_Err(sres)));
- VG_(err_bad_option)(
- "--xml-file=<file> (didn't work out for some reason.)");
+ VG_(fmsg)("can't create XML file '%s': %s\n",
+ xmlfilename, VG_(strerror)(sr_Err(sres)));
+ VG_(exit)(1);
/*NOTREACHED*/
}
break;
@@ -863,23 +835,15 @@
vg_assert(VG_(strlen)(xml_fsname_unexpanded) <= 900); /* paranoia */
tmp_xml_fd = VG_(connect_via_socket)( xml_fsname_unexpanded );
if (tmp_xml_fd == -1) {
- VG_(message)(Vg_UserMsg,
- "Invalid --xml-socket=ipaddr or "
- "--xml-socket=ipaddr:port spec\n");
- VG_(message)(Vg_UserMsg,
- "of '%s'; giving up!\n", xml_fsname_unexpanded );
- VG_(err_bad_option)(
- "--xml-socket=");
+ VG_(fmsg)("Invalid --xml-socket spec of '%s'\n",
+ xml_fsname_unexpanded );
+ VG_(exit)(1);
/*NOTREACHED*/
}
if (tmp_xml_fd == -2) {
- VG_(message)(Vg_UserMsg,
- "valgrind: failed to connect to XML logging server '%s'.\n",
- xml_fsname_unexpanded );
- VG_(message)(Vg_UserMsg,
- "XML output will sent to stderr instead.\n" );
- VG_(message)(Vg_UserMsg,
- "\n" );
+ VG_(umsg)("failed to connect to XML logging server '%s'.\n"
+ "XML output will sent to stderr instead.\n",
+ xml_fsname_unexpanded);
/* We don't change anything here. */
vg_assert(VG_(xml_output_sink).fd == 2);
tmp_xml_fd = 2;
@@ -897,13 +861,12 @@
but that is likely to confuse the hell out of users, which is
distinctly Ungood. */
if (VG_(clo_xml) && tmp_xml_fd == -1) {
- VG_(umsg)(
+ VG_(fmsg_bad_option)(
+ "--xml=yes, but no XML destination specified",
"--xml=yes has been specified, but there is no XML output\n"
"destination. You must specify an XML output destination\n"
- "using --xml-fd=, --xml-file= or --xml=socket=.\n" );
- /* FIXME: this is really a misuse of VG_(err_bad_option). */
- VG_(err_bad_option)(
- "--xml=yes, but no XML destination specified");
+ "using --xml-fd, --xml-file or --xml-socket.\n"
+ );
}
// Finalise the output fds: the log fd ..
@@ -1133,8 +1096,8 @@
VG_(printf_xml_no_f_c)(" <exe>%t</exe>\n",
VG_(name_of_launcher));
else
- VG_(printf_xml_no_f_c)(Vg_UserMsg, " <exe>%t</exe>\n",
- "(launcher name unknown)");
+ VG_(printf_xml_no_f_c)(" <exe>%t</exe>\n",
+ "(launcher name unknown)");
for (i = 0; i < VG_(sizeXA)( VG_(args_for_valgrind) ); i++) {
VG_(printf_xml_no_f_c)(
" <arg>%t</arg>\n",
Modified: trunk/coregrind/m_options.c
===================================================================
--- trunk/coregrind/m_options.c 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/coregrind/m_options.c 2010-07-06 04:05:23 UTC (rev 11209)
@@ -1,7 +1,6 @@
/*--------------------------------------------------------------------*/
-/*--- Command line options. ---*/
-/*--- m_options.c ---*/
+/*--- Command line options. m_options.c ---*/
/*--------------------------------------------------------------------*/
/*
@@ -100,42 +99,9 @@
/*====================================================================*/
-/*=== Command line errors ===*/
+/*=== File expansion ===*/
/*====================================================================*/
-static void revert_to_stderr ( void )
-{
- VG_(log_output_sink).fd = 2; /* stderr */
- VG_(log_output_sink).is_socket = False;
-}
-
-__attribute__((noreturn))
-void VG_(err_bad_option) ( Char* opt )
-{
- revert_to_stderr();
- VG_(printf)("valgrind: Bad option '%s'; aborting.\n", opt);
- VG_(printf)("valgrind: Use --help for more information.\n");
- VG_(exit)(1);
-}
-
-__attribute__((noreturn))
-void VG_(err_missing_prog) ( void )
-{
- revert_to_stderr();
- VG_(printf)("valgrind: no program specified\n");
- VG_(printf)("valgrind: Use --help for more information.\n");
- VG_(exit)(1);
-}
-
-__attribute__((noreturn))
-void VG_(err_config_error) ( Char* msg )
-{
- revert_to_stderr();
- VG_(printf)("valgrind: Startup or configuration error:\n %s\n", msg);
- VG_(printf)("valgrind: Unable to start up properly. Giving up.\n");
- VG_(exit)(1);
-}
-
// Copies the string, prepending it with the startup working directory, and
// expanding %p and %q entries. Returns a new, malloc'd string.
Char* VG_(expand_file_name)(Char* option_name, Char* format)
@@ -149,7 +115,7 @@
if (VG_STREQ(format, "")) {
// Empty name, bad.
- VG_(umsg)("%s: filename is empty", option_name);
+ VG_(fmsg)("%s: filename is empty", option_name);
goto bad;
}
@@ -158,11 +124,13 @@
// that we don't allow a legitimate filename beginning with '~' but that
// seems very unlikely.
if (format[0] == '~') {
- VG_(umsg)("%s: filename begins with '~'\n", option_name);
- VG_(umsg)("You probably expected the shell to expand the '~', but it\n");
- VG_(umsg)("didn't. The rules for '~'-expansion "
- "vary from shell to shell.\n");
- VG_(umsg)("You might have more luck using $HOME instead.\n");
+ VG_(fmsg)(
+ "%s: filename begins with '~'\n"
+ "You probably expected the shell to expand the '~', but it\n"
+ "didn't. The rules for '~'-expansion vary from shell to shell.\n"
+ "You might have more luck using $HOME instead.\n",
+ option_name
+ );
goto bad;
}
@@ -216,8 +184,7 @@
qualname = &format[i];
while (True) {
if (0 == format[i]) {
- VG_(message)(Vg_UserMsg, "%s: malformed %%q specifier\n",
- option_name);
+ VG_(fmsg)("%s: malformed %%q specifier\n", option_name);
goto bad;
} else if ('}' == format[i]) {
// Temporarily replace the '}' with NUL to extract var
@@ -225,9 +192,8 @@
format[i] = 0;
qual = VG_(getenv)(qualname);
if (NULL == qual) {
- VG_(message)(Vg_UserMsg,
- "%s: environment variable %s is not set\n",
- option_name, qualname);
+ VG_(fmsg)("%s: environment variable %s is not set\n",
+ option_name, qualname);
format[i] = '}'; // Put the '}' back.
goto bad;
}
@@ -240,15 +206,14 @@
ENSURE_THIS_MUCH_SPACE(VG_(strlen)(qual));
j += VG_(sprintf)(&out[j], "%s", qual);
} else {
- VG_(message)(Vg_UserMsg,
- "%s: expected '{' after '%%q'\n", option_name);
+ VG_(fmsg)("%s: expected '{' after '%%q'\n", option_name);
goto bad;
}
}
else {
// Something else, abort.
- VG_(message)(Vg_UserMsg,
- "%s: expected 'p' or 'q' or '%%' after '%%'\n", option_name);
+ VG_(fmsg)("%s: expected 'p' or 'q' or '%%' after '%%'\n",
+ option_name);
goto bad;
}
}
@@ -265,7 +230,7 @@
VG_(strcpy)(opt, option_name);
VG_(strcat)(opt, "=");
VG_(strcat)(opt, format);
- VG_(err_bad_option)(opt);
+ VG_(fmsg_bad_option)(opt, "");
}
}
@@ -335,5 +300,5 @@
/*--------------------------------------------------------------------*/
-/*--- end m_options.c ---*/
+/*--- end ---*/
/*--------------------------------------------------------------------*/
Modified: trunk/coregrind/m_replacemalloc/replacemalloc_core.c
===================================================================
--- trunk/coregrind/m_replacemalloc/replacemalloc_core.c 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/coregrind/m_replacemalloc/replacemalloc_core.c 2010-07-06 04:05:23 UTC (rev 11209)
@@ -58,12 +58,9 @@
VG_(clo_alignment) > 4096 ||
VG_(log2)( VG_(clo_alignment) ) == -1 /* not a power of 2 */)
{
- VG_(message)(Vg_UserMsg,
- "Invalid --alignment= setting. "
- "Should be a power of 2, >= %d, <= 4096.\n",
- VG_MIN_MALLOC_SZB
- );
- VG_(err_bad_option)("--alignment");
+ VG_(fmsg_bad_option)(arg,
+ "Alignment must be a power of 2 in the range %d..4096.\n",
+ VG_MIN_MALLOC_SZB);
}
}
Modified: trunk/coregrind/m_ume/main.c
===================================================================
--- trunk/coregrind/m_ume/main.c 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/coregrind/m_ume/main.c 2010-07-06 04:05:23 UTC (rev 11209)
@@ -189,7 +189,7 @@
// Something went wrong. This will only happen if we earlier
// succeeded in opening the file but fail here (eg. the file was
// deleted between then and now).
- VG_(printf)("valgrind: %s: unknown error\n", f);
+ VG_(fmsg)("%s: unknown error\n", f);
VG_(exit)(126); // 126 == NOEXEC
}
}
@@ -210,7 +210,7 @@
// Is it a binary file?
if (is_binary_file(exe_name)) {
- VG_(printf)("valgrind: %s: cannot execute binary file\n", exe_name);
+ VG_(fmsg)("%s: cannot execute binary file\n", exe_name);
VG_(exit)(126); // 126 == NOEXEC
}
@@ -226,7 +226,7 @@
if (0 != ret) {
// Something went wrong with executing the default interpreter
- VG_(printf)("valgrind: %s: bad interpreter (%s): %s\n",
+ VG_(fmsg)("%s: bad interpreter (%s): %s\n",
exe_name, info->interp_name, VG_(strerror)(ret));
VG_(exit)(126); // 126 == NOEXEC
}
@@ -238,21 +238,20 @@
// Was it a directory?
res = VG_(stat)(exe_name, &st);
if (!sr_isError(res) && VKI_S_ISDIR(st.mode)) {
- VG_(printf)("valgrind: %s: is a directory\n", exe_name);
+ VG_(fmsg)("%s: is a directory\n", exe_name);
// Was it not executable?
} else if (0 != VG_(check_executable)(NULL, exe_name,
False/*allow_setuid*/)) {
- VG_(printf)("valgrind: %s: %s\n", exe_name, VG_(strerror)(ret));
+ VG_(fmsg)("%s: %s\n", exe_name, VG_(strerror)(ret));
// Did it start with "#!"? If so, it must have been a bad interpreter.
} else if (is_hash_bang_file(exe_name)) {
- VG_(printf)("valgrind: %s: bad interpreter: %s\n",
- exe_name, VG_(strerror)(ret));
+ VG_(fmsg)("%s: bad interpreter: %s\n", exe_name, VG_(strerror)(ret));
// Otherwise it was something else.
} else {
- VG_(printf)("valgrind: %s: %s\n", exe_name, VG_(strerror)(ret));
+ VG_(fmsg)("%s: %s\n", exe_name, VG_(strerror)(ret));
}
// 126 means NOEXEC; I think this is Posix, and that in some cases we
// should be returning 127, meaning NOTFOUND. Oh well.
Modified: trunk/coregrind/pub_core_libcprint.h
===================================================================
--- trunk/coregrind/pub_core_libcprint.h 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/coregrind/pub_core_libcprint.h 2010-07-06 04:05:23 UTC (rev 11209)
@@ -54,6 +54,16 @@
m_main during startup. */
void VG_(elapsed_wallclock_time) ( /*OUT*/HChar* buf );
+/* Call this if the executable is missing. This function prints an
+ error message, then shuts down the entire system. */
+__attribute__((noreturn))
+extern void VG_(err_missing_prog) ( void );
+
+/* Similarly - complain and stop if there is some kind of config
+ error. */
+__attribute__((noreturn))
+extern void VG_(err_config_error) ( Char* msg );
+
#endif // __PUB_CORE_LIBCPRINT_H
/*--------------------------------------------------------------------*/
Modified: trunk/coregrind/pub_core_options.h
===================================================================
--- trunk/coregrind/pub_core_options.h 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/coregrind/pub_core_options.h 2010-07-06 04:05:23 UTC (rev 11209)
@@ -210,18 +210,6 @@
.dSYM directories as necessary? */
extern Bool VG_(clo_dsymutil);
-/* --------- Functions --------- */
-
-/* Call this if the executable is missing. This function prints an
- error message, then shuts down the entire system. */
-__attribute__((noreturn))
-extern void VG_(err_missing_prog) ( void );
-
-/* Similarly - complain and stop if there is some kind of config
- error. */
-__attribute__((noreturn))
-extern void VG_(err_config_error) ( Char* msg );
-
/* Should we trace into this child executable (across execve etc) ?
This involves considering --trace-children=, --trace-children-skip=
and the name of the executable. */
Modified: trunk/include/pub_tool_libcprint.h
===================================================================
--- trunk/include/pub_tool_libcprint.h 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/include/pub_tool_libcprint.h 2010-07-06 04:05:23 UTC (rev 11209)
@@ -32,19 +32,9 @@
#define __PUB_TOOL_LIBCPRINT_H
/* ---------------------------------------------------------------------
- Basic printing
+ Formatting functions
------------------------------------------------------------------ */
-/* Note that they all output to the file descriptor given by the
- --log-fd/--log-file/--log-socket argument, which defaults to 2
- (stderr). Hence no need for VG_(fprintf)().
-*/
-extern UInt VG_(printf) ( const HChar *format, ... )
- PRINTF_CHECK(1, 2);
-
-extern UInt VG_(vprintf) ( const HChar *format, va_list vargs )
- PRINTF_CHECK(1, 0);
-
extern UInt VG_(sprintf) ( Char* buf, const HChar* format, ... )
PRINTF_CHECK(2, 3);
@@ -59,64 +49,97 @@
const HChar *format, va_list vargs )
PRINTF_CHECK(3, 0);
-/* Yet another, totally general, version of vprintf, which hands all
- output bytes to CHAR_SINK, passing it OPAQUE as the second arg. */
-extern void VG_(vcbprintf)( void(*char_sink)(HChar, void* opaque),
- void* opaque,
- const HChar* format, va_list vargs );
-
-/* These are the same as the non "_xml" versions above, except the
- output goes on the selected XML output channel instead of the
- normal one.
-*/
-extern UInt VG_(printf_xml) ( const HChar *format, ... )
- PRINTF_CHECK(1, 2);
-
-extern UInt VG_(vprintf_xml) ( const HChar *format, va_list vargs )
- PRINTF_CHECK(1, 0);
-
-extern UInt VG_(printf_xml_no_f_c) ( const HChar *format, ... );
-
// Percentify n/m with d decimal places. Includes the '%' symbol at the end.
// Right justifies in 'buf'.
extern void VG_(percentify)(ULong n, ULong m, UInt d, Int n_buf, char buf[]);
/* ---------------------------------------------------------------------
- Messages for the user
+ Output-printing functions
------------------------------------------------------------------ */
+// Note that almost all output goes to the file descriptor given by the
+// --log-fd/--log-file/--log-socket argument, which defaults to 2 (stderr).
+// (Except that some text always goes to stdout/stderr at startup, and
+// debugging messages always go to stderr.) Hence no need for
+// VG_(fprintf)().
+
/* No, really. I _am_ that strange. */
#define OINK(nnn) VG_(message)(Vg_DebugMsg, "OINK %d\n",nnn)
-/* Print a message prefixed by "??<pid>?? "; '?' depends on the VgMsgKind.
+/* Print a message with a prefix that depends on the VgMsgKind.
Should be used for all user output. */
typedef
- enum { Vg_UserMsg, /* '?' == '=' */
- Vg_DebugMsg, /* '?' == '-' */
- Vg_DebugExtraMsg, /* '?' == '+' */
- Vg_ClientMsg /* '?' == '*' */
+ enum { // Prefix
+ Vg_FailMsg, // "valgrind:"
+ Vg_UserMsg, // "==pid=="
+ Vg_DebugMsg, // "--pid--"
+ Vg_DebugExtraMsg, // "++pid++"
+ Vg_ClientMsg // "**pid**"
}
VgMsgKind;
-/* Send a single-part message. The format specification may contain
- any ISO C format specifier or %t. No attempt is made to let the
- compiler verify consistency of the format string and the argument
- list. */
+// These print output that isn't prefixed with anything, and should be
+// used in very few cases, such as printing usage messages.
+extern UInt VG_(printf) ( const HChar *format, ... )
+ PRINTF_CHECK(1, 2);
+extern UInt VG_(vprintf) ( const HChar *format, va_list vargs )
+ PRINTF_CHECK(1, 0);
+
+// The "_no_f_c" functions here are just like their non-"_no_f_c" counterparts
+// but without the PRINTF_CHECK, so they can be used with our non-standard %t
+// format specifier.
+
+// These are the same as the non "_xml" versions above, except the
+// output goes on the selected XML output channel instead of the
+// normal one.
+extern UInt VG_(printf_xml) ( const HChar *format, ... )
+ PRINTF_CHECK(1, 2);
+
+extern UInt VG_(vprintf_xml) ( const HChar *format, va_list vargs )
+ PRINTF_CHECK(1, 0);
+
+extern UInt VG_(printf_xml_no_f_c) ( const HChar *format, ... );
+
+/* Yet another, totally general, version of vprintf, which hands all
+ output bytes to CHAR_SINK, passing it OPAQUE as the second arg. */
+extern void VG_(vcbprintf)( void(*char_sink)(HChar, void* opaque),
+ void* opaque,
+ const HChar* format, va_list vargs );
+
extern UInt VG_(message_no_f_c)( VgMsgKind kind, const HChar* format, ... );
-/* Send a single-part message. The format specification may contain
- any ISO C format specifier. The gcc compiler will verify
- consistency of the format string and the argument list. */
extern UInt VG_(message)( VgMsgKind kind, const HChar* format, ... )
- PRINTF_CHECK(2, 3);
+ PRINTF_CHECK(2, 3);
extern UInt VG_(vmessage)( VgMsgKind kind, const HChar* format, va_list vargs )
- PRINTF_CHECK(2, 0);
+ PRINTF_CHECK(2, 0);
// Short-cuts for VG_(message)().
+
+// This is used for messages printed due to start-up failures that occur
+// before the preamble is printed, eg. due a bad executable.
+extern UInt VG_(fmsg)( const HChar* format, ... ) PRINTF_CHECK(1, 2);
+
+// This is used if an option was bad for some reason. Note: don't use it just
+// because an option was unrecognised -- return 'False' from
+// VG_(tdict).tool_process_cmd_line_option) to indicate that -- use it if eg.
+// an option was given an inappropriate argument. This function prints an
+// error message, then shuts down the entire system.
+__attribute__((noreturn))
+extern void VG_(fmsg_bad_option) ( HChar* opt, const HChar* format, ... )
+ PRINTF_CHECK(2, 3);
+
+// This is used for messages that are interesting to the user: info about
+// their program (eg. preamble, tool error messages, postamble) or stuff they
+// requested.
extern UInt VG_(umsg)( const HChar* format, ... ) PRINTF_CHECK(1, 2);
+
+// This is used for debugging messages that are only of use to developers.
extern UInt VG_(dmsg)( const HChar* format, ... ) PRINTF_CHECK(1, 2);
+
+// This is used for additional debugging messages that are only of use to
+// developers.
extern UInt VG_(emsg)( const HChar* format, ... ) PRINTF_CHECK(1, 2);
/* Flush any output cached by previous calls to VG_(message) et al. */
Modified: trunk/include/pub_tool_options.h
===================================================================
--- trunk/include/pub_tool_options.h 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/include/pub_tool_options.h 2010-07-06 04:05:23 UTC (rev 11209)
@@ -77,7 +77,7 @@
Long n = VG_(strtoll10)( val, &s ); \
(qq_var) = n; \
/* Check for non-numeralness, or overflow. */ \
- if ('\0' != s[0] || (qq_var) != n) VG_(err_bad_option)(qq_arg); \
+ if ('\0' != s[0] || (qq_var) != n) VG_(fmsg_bad_option)(qq_arg, ""); \
True; \
}) \
)
@@ -91,15 +91,16 @@
Char* s; \
Long n = VG_(strtoll##qq_base)( val, &s ); \
(qq_var) = n; \
+ /* MMM: separate the two cases, and explain the problem; likewise */ \
+ /* for all the other macros in this file. */ \
/* Check for non-numeralness, or overflow. */ \
/* Nb: it will overflow if qq_var is unsigned and qq_val is negative! */ \
- if ('\0' != s[0] || (qq_var) != n) VG_(err_bad_option)(qq_arg); \
+ if ('\0' != s[0] || (qq_var) != n) VG_(fmsg_bad_option)(qq_arg, ""); \
/* Check bounds. */ \
if ((qq_var) < (qq_lo) || (qq_var) > (qq_hi)) { \
- VG_(message)(Vg_UserMsg, \
- "'%s' argument must be between %lld and %lld\n", \
- (qq_option), (Long)(qq_lo), (Long)(qq_hi)); \
- VG_(err_bad_option)(qq_arg); \
+ VG_(fmsg_bad_option)(qq_arg, \
+ "'%s' argument must be between %lld and %lld\n", \
+ (qq_option), (Long)(qq_lo), (Long)(qq_hi)); \
} \
True; \
}) \
@@ -124,7 +125,7 @@
double n = VG_(strtod)( val, &s ); \
(qq_var) = n; \
/* Check for non-numeralness */ \
- if ('\0' != s[0]) VG_(err_bad_option)(qq_arg); \
+ if ('\0' != s[0]) VG_(fmsg_bad_option)(qq_arg, ""); \
True; \
}) \
)
@@ -165,15 +166,6 @@
extern Bool VG_(clo_show_below_main);
-/* Call this if a recognised option was bad for some reason. Note:
- don't use it just because an option was unrecognised -- return
- 'False' from VG_(tdict).tool_process_cmd_line_option) to indicate that --
- use it if eg. an option was given an inappropriate argument.
- This function prints an error message, then shuts down the entire system.
- It returns a Bool so it can be used in the _CLO_ macros. */
-__attribute__((noreturn))
-extern void VG_(err_bad_option) ( Char* opt );
-
/* Used to expand file names. "option_name" is the option name, eg.
"--log-file". 'format' is what follows, eg. "cachegrind.out.%p". In
'format':
Modified: trunk/include/pub_tool_tooliface.h
===================================================================
--- trunk/include/pub_tool_tooliface.h 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/include/pub_tool_tooliface.h 2010-07-06 04:05:23 UTC (rev 11209)
@@ -374,10 +374,17 @@
/* Tool defines its own command line options? */
extern void VG_(needs_command_line_options) (
- // Return True if option was recognised. Presumably sets some state to
- // record the option as well. Nb: tools can assume that the argv will
- // never disappear. So they can, for example, store a pointer to a string
- // within an option, rather than having to make a copy.
+ // Return True if option was recognised, False if it wasn't (but also see
+ // below). Presumably sets some state to record the option as well.
+ //
+ // Nb: tools can assume that the argv will never disappear. So they can,
+ // for example, store a pointer to a string within an option, rather than
+ // having to make a copy.
+ //
+ // Options (and combinations of options) should be checked in this function
+ // if possible rather than in post_clo_init(), and if they are bad then
+ // VG_(fmsg_bad_option)() should be called. This ensures that the
+ // messaging is consistent with command line option errors from the core.
Bool (*process_cmd_line_option)(Char* argv),
// Print out command line usage for options for normal tool operation.
Modified: trunk/massif/ms_main.c
===================================================================
--- trunk/massif/ms_main.c 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/massif/ms_main.c 2010-07-06 04:05:23 UTC (rev 11209)
@@ -442,7 +442,12 @@
VG_(addToXA)(ignore_fns, &tmp_str);
}
- else if VG_DBL_CLO(arg, "--threshold", clo_threshold) {}
+ else if VG_DBL_CLO(arg, "--threshold", clo_threshold) {
+ if (clo_threshold < 0 || clo_threshold > 100) {
+ VG_(fmsg_bad_option)(arg,
+ "--threshold must be between 0.0 and 100.0\n");
+ }
+ }
else if VG_DBL_CLO(arg, "--peak-inaccuracy", clo_peak_inaccuracy) {}
@@ -2386,14 +2391,10 @@
Char* s2;
// Check options.
- if (clo_threshold < 0 || clo_threshold > 100) {
- VG_(umsg)("--threshold must be between 0.0 and 100.0\n");
- VG_(err_bad_option)("--threshold");
- }
if (clo_pages_as_heap) {
if (clo_stacks) {
- VG_(umsg)("--pages-as-heap=yes cannot be used with --stacks=yes\n");
- VG_(err_bad_option)("--pages-as-heap=yes with --stacks=yes");
+ VG_(fmsg_bad_option)(
+ "--pages-as-heap=yes together with --stacks=yes", "");
}
}
if (!clo_heap) {
Modified: trunk/memcheck/mc_main.c
===================================================================
--- trunk/memcheck/mc_main.c 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/memcheck/mc_main.c 2010-07-06 04:05:23 UTC (rev 11209)
@@ -4752,8 +4752,6 @@
static Bool mc_process_cmd_line_options(Char* arg)
{
Char* tmp_str;
- Char* bad_level_msg =
- "ERROR: --track-origins=yes has no effect when --undef-value-errors=no";
tl_assert( MC_(clo_mc_level) >= 1 && MC_(clo_mc_level) <= 3 );
@@ -4768,8 +4766,7 @@
*/
if (0 == VG_(strcmp)(arg, "--undef-value-errors=no")) {
if (MC_(clo_mc_level) == 3) {
- VG_(message)(Vg_DebugMsg, "%s\n", bad_level_msg);
- return False;
+ goto bad_level;
} else {
MC_(clo_mc_level) = 1;
return True;
@@ -4787,8 +4784,7 @@
}
if (0 == VG_(strcmp)(arg, "--track-origins=yes")) {
if (MC_(clo_mc_level) == 1) {
- VG_(message)(Vg_DebugMsg, "%s\n", bad_level_msg);
- return False;
+ goto bad_level;
} else {
MC_(clo_mc_level) = 3;
return True;
@@ -4854,6 +4850,11 @@
return VG_(replacement_malloc_process_cmd_line_option)(arg);
return True;
+
+
+ bad_level:
+ VG_(fmsg_bad_option)(arg,
+ "--track-origins=yes has no effect when --undef-value-errors=no.\n");
}
static void mc_print_usage(void)
Modified: trunk/none/tests/cmdline2.stdout.exp
===================================================================
--- trunk/none/tests/cmdline2.stdout.exp 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/none/tests/cmdline2.stdout.exp 2010-07-06 04:05:23 UTC (rev 11209)
@@ -65,8 +65,8 @@
(none)
debugging options for all Valgrind tools:
+ -d show verbose debugging output
--stats=no|yes show tool and core statistics [no]
- -d show verbose debugging output
--sanity-level=<number> level of sanity checking to do [1]
--trace-flags=<XXXXXXXX> show generated code? (X = 0|1) [00000000]
--profile-flags=<XXXXXXXX> ditto, but for profiling (X = 0|1) [00000000]
Modified: trunk/none/tests/cmdline4.stderr.exp
===================================================================
--- trunk/none/tests/cmdline4.stderr.exp 2010-07-05 07:21:22 UTC (rev 11208)
+++ trunk/none/tests/cmdline4.stderr.exp 2010-07-06 04:05:23 UTC (rev 11209)
@@ -1,2 +1,2 @@
-valgrind: Bad option '--bad-bad-option'; aborting.
-valgrind: Use --help for more information.
+valgrind: Bad option: --bad-bad-option
+valgrind: Use --help for more information or consult the user manual.
|
|
From: Tom H. <th...@cy...> - 2010-07-06 02:51:10
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2010-07-06 03:05:13 BST Ended at 2010-07-06 03:50:57 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 546 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2010-07-06 02:37:14
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2010-07-06 03:10:06 BST Ended at 2010-07-06 03:37:00 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 553 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |