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
(9) |
|
2
(24) |
3
(22) |
4
(16) |
5
(32) |
6
(19) |
7
(22) |
8
(30) |
|
9
(21) |
10
(21) |
11
(20) |
12
(13) |
13
(24) |
14
(23) |
15
(13) |
|
16
(11) |
17
(6) |
18
(12) |
19
(17) |
20
(26) |
21
(25) |
22
(37) |
|
23
(32) |
24
(21) |
25
(30) |
26
(22) |
27
(24) |
28
(19) |
29
(9) |
|
30
(5) |
31
(6) |
|
|
|
|
|
|
From: Christian B. <bor...@de...> - 2011-10-05 20:53:15
|
On 05/10/11 21:13, Philippe Waroquiers wrote:
>> Right. IIRC Christian said that he did install the debug info but the
>> tests are still failing. Philippe, was there anything else that needed
>> to be done other than installing them? Perhaps a problem with a search path?
> I do not remember having to do anything else than install the debug info.
>
> Are the same messages produced by gdb when debugging directly
> the process and/or when using the gdbserver part of the gdb distribution ?
>
> Philippe
>
Seems that the debug info on SLES11 is missing some parts of ld.so. The error
now look like:
[...]
+1 rtld.c: No such file or directory.
[...]
This patch fixes the problem:
--- gdbserver_tests/filter_vgdb (revision 12106)
+++ gdbserver_tests/filter_vgdb (working copy)
@@ -14,4 +14,7 @@
sed -e 's/\(relaying data between gdb and process \)[0-9][0-9]*/\1..../' \
-e 's/\(sending command .* to pid \)[0-9][0-9]*/\1..../' \
-e '/Cannot access memory at address 0x......../d' \
- -e '/^[1-9][0-9]* \.\.\/sysdeps\/powerpc\/powerpc32\/dl-start\.S: No such file or directory\./d'
+ -e '/^[1-9][0-9]* \.\.\/sysdeps\/powerpc\/powerpc32\/dl-start\.S: No such file or directory\./d' |
+
+# filter some debuginfo problems with ld.so and SLES11
+sed -e '/^1 rtld.c: No such file or directory\./d'
|
|
From: Christian B. <bor...@de...> - 2011-10-05 20:17:20
|
valgrind revision: 12106 VEX revision: 2211 GCC version: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] C library: GNU C Library stable release version 2.11.1 (20100118), by Roland McGrath et al. uname -mrs: Linux 2.6.32.45-0.3-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP1 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2011-10-05 21:45:01 CEST Ended at 2011-10-05 22:17:11 CEST 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 == 499 tests, 8 stderr failures, 0 stdout failures, 8 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) gdbserver_tests/mcclean_after_fork (stderrB) gdbserver_tests/mcleak (stderrB) gdbserver_tests/mcmain_pic (stderrB) gdbserver_tests/mcvabits (stderrB) gdbserver_tests/mssnapshot (stderrB) gdbserver_tests/nlpasssigalrm (stderrB) gdbserver_tests/nlsigvgdb (stderrB) memcheck/tests/linux/timerfd-syscall (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (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 == 499 tests, 5 stderr failures, 0 stdout failures, 8 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) gdbserver_tests/mcclean_after_fork (stderrB) gdbserver_tests/mcleak (stderrB) gdbserver_tests/mcmain_pic (stderrB) gdbserver_tests/mcvabits (stderrB) gdbserver_tests/mssnapshot (stderrB) gdbserver_tests/nlpasssigalrm (stderrB) gdbserver_tests/nlsigvgdb (stderrB) memcheck/tests/linux/timerfd-syscall (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Oct 5 22:01:14 2011 --- new.short Wed Oct 5 22:17:11 2011 *************** *** 8,10 **** ! == 499 tests, 5 stderr failures, 0 stdout failures, 8 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) --- 8,10 ---- ! == 499 tests, 8 stderr failures, 0 stdout failures, 8 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) *************** *** 18,19 **** --- 18,22 ---- memcheck/tests/linux/timerfd-syscall (stderr) + helgrind/tests/pth_barrier1 (stderr) + helgrind/tests/pth_barrier2 (stderr) + helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc18_semabuse (stderr) |
|
From: Christian B. <bor...@de...> - 2011-10-05 20:11:06
|
valgrind revision: 12106 VEX revision: 2211 GCC version: gcc (GCC) 4.5.3 20110121 (Red Hat 4.5.3-3) C library: GNU C Library stable release version 2.12.1, by Roland McGrath et al. uname -mrs: Linux 2.6.38-06555.ga44f99c.48.x.20110321-s390xgit s390x Vendor version: unknown Nightly build on fedora390 ( Fedora 13/14/15 mix with gcc 3.5.3 on z196 (s390x) ) Started at 2011-10-05 21:45:01 CEST Ended at 2011-10-05 22:11:21 CEST 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 == 498 tests, 8 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/linux/timerfd-syscall (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (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 == 498 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/linux/timerfd-syscall (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Oct 5 21:58:13 2011 --- new.short Wed Oct 5 22:11:21 2011 *************** *** 8,11 **** ! == 498 tests, 5 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/linux/timerfd-syscall (stderr) helgrind/tests/tc18_semabuse (stderr) --- 8,14 ---- ! == 498 tests, 8 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/linux/timerfd-syscall (stderr) + helgrind/tests/pth_barrier1 (stderr) + helgrind/tests/pth_barrier2 (stderr) + helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc18_semabuse (stderr) |
|
From: Philippe W. <phi...@sk...> - 2011-10-05 19:21:32
|
> Also wrt Helgrind, on Sandy Bridge I get hangs on annotate_hbefore > and tc08_hbl2. These un-hang when I (eg) scroll around in emacs on > the same machine. I assume therefore they are memory coherence issues. > > Philippe, didn't you try out some memory fences in these or similar > tests? I think we need to put some fences in these two to make them > run reliably. Florian did put a fence in the s390x. I understood that it helped but did not solve the problem reliably : https://bugs.kde.org/show_bug.cgi?id=268623 I also tried to put a fence on amd64, but with no improvement in the test. (as I have a close to 0 knowledge of this subject, I might have done a wrong fence, but as the problem persists both on s390x and amd64, there is maybe a need for a fence; but probably then not enough to avoid the hang). Philippe |
|
From: Philippe W. <phi...@sk...> - 2011-10-05 19:13:58
|
> Right. IIRC Christian said that he did install the debug info but the > tests are still failing. Philippe, was there anything else that needed > to be done other than installing them? Perhaps a problem with a search path? I do not remember having to do anything else than install the debug info. Are the same messages produced by gdb when debugging directly the process and/or when using the gdbserver part of the gdb distribution ? Philippe |
|
From: Bart V. A. <bva...@ac...> - 2011-10-05 15:09:09
|
On Wed, Oct 5, 2011 at 4:49 PM, <sv...@va...> wrote:
> Author: florian
> Date: 2011-10-05 15:49:12 +0100 (Wed, 05 Oct 2011)
> New Revision: 12105
>
> Log:
> Fix GCC warnings about incompatible pointer assignments.
>
>
> Modified:
> trunk/drd/tests/pth_barrier.c
>
>
> Modified: trunk/drd/tests/pth_barrier.c
> ===================================================================
> --- trunk/drd/tests/pth_barrier.c 2011-10-05 14:36:00 UTC (rev 12104)
> +++ trunk/drd/tests/pth_barrier.c 2011-10-05 14:49:12 UTC (rev 12105)
> @@ -47,7 +47,7 @@
> static void* threadfunc(struct threadinfo* p)
> {
> int i;
> - int* const array = p->array;
> + int8_t* const array = p->array;
> pthread_barrier_t* const b = p->b;
> if (! s_silent)
> printf("thread %lx iteration 0\n", pthread_self());
> @@ -70,7 +70,7 @@
> pthread_attr_t attr;
> struct threadinfo* t;
> pthread_barrier_t b;
> - int* array;
> + int8_t* array;
>
> t = malloc(nthread * sizeof(struct threadinfo));
> array = malloc(iterations * sizeof(array[0]));
Thanks - I'm not sure how it's possible that I missed these.
Bart.
|
|
From: Bart V. A. <bva...@ac...> - 2011-10-05 15:04:33
|
On Wed, Oct 5, 2011 at 3:02 PM, Florian Krohm <br...@ac...> wrote: > > On 10/05/2011 02:05 AM, Bart Van Assche wrote: > > > >> However, %p is only meant for printing pointers to void -- according to > >> c99. And we'd be passing in pointers to characters. I did a quick test > >> with GCC 4.4.3 and 3.4.6 and those were benign and did not complain. > >> Although I do remember a compiler issuing warnings about non-void > >> pointers being provided as argument for %p. Perhaps it was EDG... > >> What does clang 2.9 say? Will it let it slide by? > > > > I propose that we address this issue as soon as we encounter a > > compiler that complains about passing char* to %p. > > That is fine. GCC seems OK. How about clang. Does it complain? I don't have access to a system with clang unfortunately.. But according to another paragraph I found in the C99 spec, passing char * / const char * to %p is fine: <quote> A pointer to void shall have the same representation and alignment requirements as a pointer to a character type. Similarly, pointers to qualified or unqualified versions of compatible types shall have the same representation and alignment requirements. </quote> Bart. |
|
From: <sv...@va...> - 2011-10-05 14:56:40
|
Author: florian
Date: 2011-10-05 15:51:55 +0100 (Wed, 05 Oct 2011)
New Revision: 12106
Log:
Declare _exit as "noreturn". This will avoid a GCC warning.
Modified:
trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
Modified: trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
===================================================================
--- trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2011-10-05 14:49:12 UTC (rev 12105)
+++ trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2011-10-05 14:51:55 UTC (rev 12106)
@@ -120,7 +120,7 @@
__asm__ __volatile__(".word 0xFFFFFFFF");
while (1) {}
# else
- extern void _exit(int status);
+ extern __attribute__ ((__noreturn__)) void _exit(int status);
_exit(x);
# endif
}
|
|
From: <sv...@va...> - 2011-10-05 14:54:00
|
Author: florian
Date: 2011-10-05 15:49:12 +0100 (Wed, 05 Oct 2011)
New Revision: 12105
Log:
Fix GCC warnings about incompatible pointer assignments.
Modified:
trunk/drd/tests/pth_barrier.c
Modified: trunk/drd/tests/pth_barrier.c
===================================================================
--- trunk/drd/tests/pth_barrier.c 2011-10-05 14:36:00 UTC (rev 12104)
+++ trunk/drd/tests/pth_barrier.c 2011-10-05 14:49:12 UTC (rev 12105)
@@ -47,7 +47,7 @@
static void* threadfunc(struct threadinfo* p)
{
int i;
- int* const array = p->array;
+ int8_t* const array = p->array;
pthread_barrier_t* const b = p->b;
if (! s_silent)
printf("thread %lx iteration 0\n", pthread_self());
@@ -70,7 +70,7 @@
pthread_attr_t attr;
struct threadinfo* t;
pthread_barrier_t b;
- int* array;
+ int8_t* array;
t = malloc(nthread * sizeof(struct threadinfo));
array = malloc(iterations * sizeof(array[0]));
|
|
From: Florian K. <br...@ac...> - 2011-10-05 14:52:51
|
On 10/05/2011 09:10 AM, sv...@va... wrote:
> Author: bart
> Date: 2011-10-05 14:10:30 +0100 (Wed, 05 Oct 2011)
> New Revision: 12103
>
> Log:
> drd, s390: Make the annotate_ignore_* and the pth_barrier* tests produce
> the same output on s390 as on other systems (not tested yet).
>
>
Thanks for the patch. There were some GCC warnings about incompatible
pointers which I fixed with the patch below. After applying it the
pth_barrier testcases compare (tested on x86 and s390x).
Florian
Index: drd/tests/pth_barrier.c
===================================================================
--- drd/tests/pth_barrier.c (revision 12103)
+++ drd/tests/pth_barrier.c (working copy)
@@ -47,7 +47,7 @@
static void* threadfunc(struct threadinfo* p)
{
int i;
- int* const array = p->array;
+ int8_t* const array = p->array;
pthread_barrier_t* const b = p->b;
if (! s_silent)
printf("thread %lx iteration 0\n", pthread_self());
@@ -70,7 +70,7 @@
pthread_attr_t attr;
struct threadinfo* t;
pthread_barrier_t b;
- int* array;
+ int8_t* array;
t = malloc(nthread * sizeof(struct threadinfo));
array = malloc(iterations * sizeof(array[0]));
|
|
From: <sv...@va...> - 2011-10-05 14:40:45
|
Author: florian
Date: 2011-10-05 15:36:00 +0100 (Wed, 05 Oct 2011)
New Revision: 12104
Log:
Declare _exit as "noreturn". This will avoid a GCC warning.
Modified:
trunk/memcheck/mc_replace_strmem.c
Modified: trunk/memcheck/mc_replace_strmem.c
===================================================================
--- trunk/memcheck/mc_replace_strmem.c 2011-10-05 13:10:30 UTC (rev 12103)
+++ trunk/memcheck/mc_replace_strmem.c 2011-10-05 14:36:00 UTC (rev 12104)
@@ -140,7 +140,7 @@
__asm__ __volatile__(".word 0xFFFFFFFF");
while (1) {}
# else
- extern void _exit(int status);
+ extern __attribute__ ((__noreturn__)) void _exit(int status);
_exit(x);
# endif
}
|
|
From: Tom H. <to...@co...> - 2011-10-05 14:13:55
|
On 05/10/11 15:03, John Reiser wrote: > How should I enhance the valgrind regression testing so that running > on ARMv5 skips the tests which use floating-point hardware? > For memcheck and 'none': badjump2, fprw, origin2-not-quite, > origin6-fp, sh-mem-random, vcpu_fbench, vcpu_fnfns, neon128, > neon64, v6intARM, v6intThumb, v6media, vf > Similarly, atomic_incs requires opcodes that ARMv5 does not implement. Well the normal method is to write a program in the tests directory (see for example tests/x86_amd64_features.c) and then a prereq directive in the vgtest file. See, for example: none/tests/x86/insn_sse2.vgtest which has: prereq: ../../../tests/x86_amd64_features x86-sse2 Tom -- Tom Hughes (to...@co...) http://compton.nu/ |
|
From: John R. <jr...@bi...> - 2011-10-05 14:01:35
|
How should I enhance the valgrind regression testing so that running
on ARMv5 skips the tests which use floating-point hardware?
For memcheck and 'none': badjump2, fprw, origin2-not-quite,
origin6-fp, sh-mem-random, vcpu_fbench, vcpu_fnfns, neon128,
neon64, v6intARM, v6intThumb, v6media, vf
Similarly, atomic_incs requires opcodes that ARMv5 does not implement.
For instance, in configure.in I detect armv5, armv6, armv7 and set
one of:
AC_DEFINE(ARM_ARCH_V7,1,"Defined for v7 architectures")
AC_DEFINE(ARM_ARCH_V6,1,"Defined for v6 architectures")
AC_DEFINE(ARM_ARCH_V5TE,1,"Defined for v5te architectures")
How should I propagate this to "do not run neon128" ?
--
|
|
From: <sv...@va...> - 2011-10-05 13:15:16
|
Author: bart
Date: 2011-10-05 14:10:30 +0100 (Wed, 05 Oct 2011)
New Revision: 12103
Log:
drd, s390: Make the annotate_ignore_* and the pth_barrier* tests produce
the same output on s390 as on other systems (not tested yet).
Removed:
trunk/drd/tests/annotate_ignore_rw2.stderr.exp-s390x-mvc
trunk/drd/tests/annotate_ignore_write.stderr.exp-s390x-mvc
trunk/drd/tests/annotate_ignore_write2.stderr.exp-s390x-mvc
trunk/drd/tests/pth_barrier.stderr.exp-s390x-mvc
trunk/drd/tests/pth_barrier2.stderr.exp-s390x-mvc
trunk/drd/tests/pth_barrier3.stderr.exp-s390x-mvc
Modified:
trunk/drd/tests/annotate_ignore_rw.c
trunk/drd/tests/annotate_ignore_rw.stderr.exp
trunk/drd/tests/annotate_ignore_rw2.stderr.exp
trunk/drd/tests/annotate_ignore_write.c
trunk/drd/tests/annotate_ignore_write.stderr.exp
trunk/drd/tests/annotate_ignore_write2.stderr.exp
trunk/drd/tests/pth_barrier.c
Modified: trunk/drd/tests/annotate_ignore_rw.c
===================================================================
--- trunk/drd/tests/annotate_ignore_rw.c 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/annotate_ignore_rw.c 2011-10-05 13:10:30 UTC (rev 12103)
@@ -2,13 +2,14 @@
#include <assert.h> /* assert() */
#include <pthread.h>
+#include <stdint.h>
#include <stdio.h> /* EOF */
#include <unistd.h> /* getopt() */
#include "../../drd/drd.h"
-static int s_a;
-static int s_b;
-static int s_c;
+static int8_t s_a;
+static int8_t s_b;
+static int8_t s_c;
static void* thread_func(void* arg)
{
Modified: trunk/drd/tests/annotate_ignore_rw.stderr.exp
===================================================================
--- trunk/drd/tests/annotate_ignore_rw.stderr.exp 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/annotate_ignore_rw.stderr.exp 2011-10-05 13:10:30 UTC (rev 12103)
@@ -1,8 +1,8 @@
-Conflicting load by thread 1 at 0x........ size 4
+Conflicting load by thread 1 at 0x........ size 1
at 0x........: main (annotate_ignore_rw.c:?)
Location 0x........ is 0 bytes inside local var "s_c"
-declared at annotate_ignore_rw.c:11, in frame #? of thread 1
+declared at annotate_ignore_rw.c:12, in frame #? of thread 1
Finished.
Modified: trunk/drd/tests/annotate_ignore_rw2.stderr.exp
===================================================================
--- trunk/drd/tests/annotate_ignore_rw2.stderr.exp 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/annotate_ignore_rw2.stderr.exp 2011-10-05 13:10:30 UTC (rev 12103)
@@ -1,18 +1,18 @@
-Conflicting load by thread 1 at 0x........ size 4
+Conflicting load by thread 1 at 0x........ size 1
at 0x........: main (annotate_ignore_rw.c:?)
Location 0x........ is 0 bytes inside local var "s_b"
-declared at annotate_ignore_rw.c:10, in frame #? of thread 1
+declared at annotate_ignore_rw.c:11, in frame #? of thread 1
-Conflicting store by thread 1 at 0x........ size 4
+Conflicting store by thread 1 at 0x........ size 1
at 0x........: main (annotate_ignore_rw.c:?)
Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_rw.c:9, in frame #? of thread 1
+declared at annotate_ignore_rw.c:10, in frame #? of thread 1
-Conflicting load by thread 1 at 0x........ size 4
+Conflicting load by thread 1 at 0x........ size 1
at 0x........: main (annotate_ignore_rw.c:?)
Location 0x........ is 0 bytes inside local var "s_c"
-declared at annotate_ignore_rw.c:11, in frame #? of thread 1
+declared at annotate_ignore_rw.c:12, in frame #? of thread 1
Finished.
Deleted: trunk/drd/tests/annotate_ignore_rw2.stderr.exp-s390x-mvc
===================================================================
--- trunk/drd/tests/annotate_ignore_rw2.stderr.exp-s390x-mvc 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/annotate_ignore_rw2.stderr.exp-s390x-mvc 2011-10-05 13:10:30 UTC (rev 12103)
@@ -1,19 +0,0 @@
-
-Conflicting load by thread 1 at 0x........ size 1
- at 0x........: main (annotate_ignore_rw.c:?)
-Location 0x........ is 0 bytes inside local var "s_b"
-declared at annotate_ignore_rw.c:10, in frame #? of thread 1
-
-Conflicting store by thread 1 at 0x........ size 1
- at 0x........: main (annotate_ignore_rw.c:?)
-Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_rw.c:9, in frame #? of thread 1
-
-Conflicting load by thread 1 at 0x........ size 4
- at 0x........: main (annotate_ignore_rw.c:?)
-Location 0x........ is 0 bytes inside local var "s_c"
-declared at annotate_ignore_rw.c:11, in frame #? of thread 1
-
-Finished.
-
-ERROR SUMMARY: 9 errors from 3 contexts (suppressed: 0 from 0)
Modified: trunk/drd/tests/annotate_ignore_write.c
===================================================================
--- trunk/drd/tests/annotate_ignore_write.c 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/annotate_ignore_write.c 2011-10-05 13:10:30 UTC (rev 12103)
@@ -2,13 +2,14 @@
#include <assert.h> /* assert() */
#include <pthread.h>
+#include <stdint.h>
#include <stdio.h> /* EOF */
#include <unistd.h> /* getopt() */
#include "../../drd/drd.h"
-static int s_a;
-static int s_b;
-static int s_c;
+static int8_t s_a;
+static int8_t s_b;
+static int8_t s_c;
static void* thread_func(void* arg)
{
Modified: trunk/drd/tests/annotate_ignore_write.stderr.exp
===================================================================
--- trunk/drd/tests/annotate_ignore_write.stderr.exp 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/annotate_ignore_write.stderr.exp 2011-10-05 13:10:30 UTC (rev 12103)
@@ -1,18 +1,18 @@
-Conflicting load by thread 1 at 0x........ size 4
+Conflicting load by thread 1 at 0x........ size 1
at 0x........: main (annotate_ignore_write.c:?)
Location 0x........ is 0 bytes inside local var "s_b"
-declared at annotate_ignore_write.c:10, in frame #? of thread 1
+declared at annotate_ignore_write.c:11, in frame #? of thread 1
-Conflicting load by thread 1 at 0x........ size 4
+Conflicting load by thread 1 at 0x........ size 1
at 0x........: main (annotate_ignore_write.c:?)
Location 0x........ is 0 bytes inside local var "s_c"
-declared at annotate_ignore_write.c:11, in frame #? of thread 1
+declared at annotate_ignore_write.c:12, in frame #? of thread 1
-Conflicting store by thread 1 at 0x........ size 4
+Conflicting store by thread 1 at 0x........ size 1
at 0x........: main (annotate_ignore_write.c:?)
Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_write.c:9, in frame #? of thread 1
+declared at annotate_ignore_write.c:10, in frame #? of thread 1
Finished.
Deleted: trunk/drd/tests/annotate_ignore_write.stderr.exp-s390x-mvc
===================================================================
--- trunk/drd/tests/annotate_ignore_write.stderr.exp-s390x-mvc 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/annotate_ignore_write.stderr.exp-s390x-mvc 2011-10-05 13:10:30 UTC (rev 12103)
@@ -1,19 +0,0 @@
-
-Conflicting load by thread 1 at 0x........ size 1
- at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_b"
-declared at annotate_ignore_write.c:10, in frame #? of thread 1
-
-Conflicting load by thread 1 at 0x........ size 1
- at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_c"
-declared at annotate_ignore_write.c:11, in frame #? of thread 1
-
-Conflicting store by thread 1 at 0x........ size 1
- at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_write.c:9, in frame #? of thread 1
-
-Finished.
-
-ERROR SUMMARY: 12 errors from 3 contexts (suppressed: 0 from 0)
Modified: trunk/drd/tests/annotate_ignore_write2.stderr.exp
===================================================================
--- trunk/drd/tests/annotate_ignore_write2.stderr.exp 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/annotate_ignore_write2.stderr.exp 2011-10-05 13:10:30 UTC (rev 12103)
@@ -1,23 +1,23 @@
-Conflicting load by thread 1 at 0x........ size 4
+Conflicting load by thread 1 at 0x........ size 1
at 0x........: main (annotate_ignore_write.c:?)
Location 0x........ is 0 bytes inside local var "s_b"
-declared at annotate_ignore_write.c:10, in frame #? of thread 1
+declared at annotate_ignore_write.c:11, in frame #? of thread 1
-Conflicting store by thread 1 at 0x........ size 4
+Conflicting store by thread 1 at 0x........ size 1
at 0x........: main (annotate_ignore_write.c:?)
Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_write.c:9, in frame #? of thread 1
+declared at annotate_ignore_write.c:10, in frame #? of thread 1
-Conflicting load by thread 1 at 0x........ size 4
+Conflicting load by thread 1 at 0x........ size 1
at 0x........: main (annotate_ignore_write.c:?)
Location 0x........ is 0 bytes inside local var "s_c"
-declared at annotate_ignore_write.c:11, in frame #? of thread 1
+declared at annotate_ignore_write.c:12, in frame #? of thread 1
-Conflicting store by thread 1 at 0x........ size 4
+Conflicting store by thread 1 at 0x........ size 1
at 0x........: main (annotate_ignore_write.c:?)
Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_write.c:9, in frame #? of thread 1
+declared at annotate_ignore_write.c:10, in frame #? of thread 1
Finished.
Deleted: trunk/drd/tests/annotate_ignore_write2.stderr.exp-s390x-mvc
===================================================================
--- trunk/drd/tests/annotate_ignore_write2.stderr.exp-s390x-mvc 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/annotate_ignore_write2.stderr.exp-s390x-mvc 2011-10-05 13:10:30 UTC (rev 12103)
@@ -1,24 +0,0 @@
-
-Conflicting load by thread 1 at 0x........ size 1
- at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_b"
-declared at annotate_ignore_write.c:10, in frame #? of thread 1
-
-Conflicting store by thread 1 at 0x........ size 1
- at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_write.c:9, in frame #? of thread 1
-
-Conflicting load by thread 1 at 0x........ size 1
- at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_c"
-declared at annotate_ignore_write.c:11, in frame #? of thread 1
-
-Conflicting store by thread 1 at 0x........ size 1
- at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_write.c:9, in frame #? of thread 1
-
-Finished.
-
-ERROR SUMMARY: 16 errors from 4 contexts (suppressed: 0 from 0)
Modified: trunk/drd/tests/pth_barrier.c
===================================================================
--- trunk/drd/tests/pth_barrier.c 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/pth_barrier.c 2011-10-05 13:10:30 UTC (rev 12103)
@@ -12,6 +12,7 @@
#include <assert.h>
#include <limits.h>
#include <pthread.h>
+#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -25,7 +26,7 @@
{
pthread_barrier_t* b;
pthread_t tid;
- int* array;
+ int8_t* array;
int iterations;
};
Deleted: trunk/drd/tests/pth_barrier.stderr.exp-s390x-mvc
===================================================================
--- trunk/drd/tests/pth_barrier.stderr.exp-s390x-mvc 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/pth_barrier.stderr.exp-s390x-mvc 2011-10-05 13:10:30 UTC (rev 12103)
@@ -1 +0,0 @@
-ERROR SUMMARY: 4 errors from 1 contexts
Deleted: trunk/drd/tests/pth_barrier2.stderr.exp-s390x-mvc
===================================================================
--- trunk/drd/tests/pth_barrier2.stderr.exp-s390x-mvc 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/pth_barrier2.stderr.exp-s390x-mvc 2011-10-05 13:10:30 UTC (rev 12103)
@@ -1 +0,0 @@
-ERROR SUMMARY: 128 errors
Deleted: trunk/drd/tests/pth_barrier3.stderr.exp-s390x-mvc
===================================================================
--- trunk/drd/tests/pth_barrier3.stderr.exp-s390x-mvc 2011-10-05 08:48:07 UTC (rev 12102)
+++ trunk/drd/tests/pth_barrier3.stderr.exp-s390x-mvc 2011-10-05 13:10:30 UTC (rev 12103)
@@ -1 +0,0 @@
-ERROR SUMMARY: 124 errors
|
|
From: Florian K. <br...@ac...> - 2011-10-05 13:02:37
|
On 10/05/2011 02:05 AM, Bart Van Assche wrote: > >> However, %p is only meant for printing pointers to void -- according to >> c99. And we'd be passing in pointers to characters. I did a quick test >> with GCC 4.4.3 and 3.4.6 and those were benign and did not complain. >> Although I do remember a compiler issuing warnings about non-void >> pointers being provided as argument for %p. Perhaps it was EDG... >> What does clang 2.9 say? Will it let it slide by? > > I propose that we address this issue as soon as we encounter a > compiler that complains about passing char* to %p. > That is fine. GCC seems OK. How about clang. Does it complain? Florian |
|
From: Julian S. <js...@ac...> - 2011-10-05 11:07:23
|
> helgrind > hg05_race2 F15 This fails on F15 because the dwarf var-loc reader complains thusly --18932-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x93 0x93 is DW_OP_piece, which I think the chances of implementing are minimal in the current dwarf3 framework at least. Is it possible to filter this line out? The test does produce the right results otherwise, since that bit of dwarf isn't necessary to produce the test outputs, I suppose. So .. can we just filter the line out, for now? Also wrt Helgrind, on Sandy Bridge I get hangs on annotate_hbefore and tc08_hbl2. These un-hang when I (eg) scroll around in emacs on the same machine. I assume therefore they are memory coherence issues. Philippe, didn't you try out some memory fences in these or similar tests? I think we need to put some fences in these two to make them run reliably. J |
|
From: <sv...@va...> - 2011-10-05 08:52:53
|
Author: tom
Date: 2011-10-05 09:48:07 +0100 (Wed, 05 Oct 2011)
New Revision: 12102
Log:
More fixes for unaligned accesses in the debuginfo code. BZ#282527.
Modified:
trunk/coregrind/m_debuginfo/d3basics.c
trunk/coregrind/m_debuginfo/debuginfo.c
trunk/coregrind/m_debuginfo/misc.c
trunk/coregrind/m_debuginfo/priv_misc.h
trunk/coregrind/m_debuginfo/readdwarf3.c
Modified: trunk/coregrind/m_debuginfo/d3basics.c
===================================================================
--- trunk/coregrind/m_debuginfo/d3basics.c 2011-10-05 07:39:07 UTC (rev 12101)
+++ trunk/coregrind/m_debuginfo/d3basics.c 2011-10-05 08:48:07 UTC (rev 12102)
@@ -558,7 +558,7 @@
/* Presumably what is given in the Dwarf3 is a SVMA (how
could it be otherwise?) So we add the appropriate bias
on before pushing the result. */
- a1 = *(Addr*)expr;
+ a1 = ML_(read_Addr)(expr);
if (bias_address(&a1, di)) {
PUSH( a1 );
expr += sizeof(Addr);
@@ -660,7 +660,7 @@
POP(uw1);
if (VG_(am_is_valid_for_client)( (Addr)uw1, sizeof(Addr),
VKI_PROT_READ )) {
- uw1 = *(UWord*)uw1;
+ uw1 = ML_(read_UWord)((void *)uw1);
PUSH(uw1);
} else {
FAIL("warning: evaluate_Dwarf3_Expr: DW_OP_deref: "
@@ -673,10 +673,10 @@
if (VG_(am_is_valid_for_client)( (Addr)uw1, uw2,
VKI_PROT_READ )) {
switch (uw2) {
- case 1: uw1 = *(UChar*)uw1; break;
- case 2: uw1 = *(UShort*)uw1; break;
- case 4: uw1 = *(UInt*)uw1; break;
- case 8: uw1 = *(ULong*)uw1; break;
+ case 1: uw1 = ML_(read_UChar)((void*)uw1); break;
+ case 2: uw1 = ML_(read_UShort)((void*)uw1); break;
+ case 4: uw1 = ML_(read_UInt)((void*)uw1); break;
+ case 8: uw1 = ML_(read_ULong)((void*)uw1); break;
default:
FAIL("warning: evaluate_Dwarf3_Expr: unhandled "
"DW_OP_deref_size size");
@@ -695,17 +695,17 @@
PUSH(uw1);
break;
case DW_OP_const2u:
- uw1 = *(UShort *)expr;
+ uw1 = ML_(read_UShort)(expr);
expr += 2;
PUSH(uw1);
break;
case DW_OP_const4u:
- uw1 = *(UInt *)expr;
+ uw1 = ML_(read_UInt)(expr);
expr += 4;
PUSH(uw1);
break;
case DW_OP_const8u:
- uw1 = *(ULong *)expr;
+ uw1 = ML_(read_ULong)(expr);
expr += 8;
PUSH(uw1);
break;
@@ -719,17 +719,17 @@
PUSH(uw1);
break;
case DW_OP_const2s:
- uw1 = *(Short *)expr;
+ uw1 = ML_(read_Short)(expr);
expr += 2;
PUSH(uw1);
break;
case DW_OP_const4s:
- uw1 = *(Int *)expr;
+ uw1 = ML_(read_Int)(expr);
expr += 4;
PUSH(uw1);
break;
case DW_OP_const8s:
- uw1 = *(Long *)expr;
+ uw1 = ML_(read_Long)(expr);
expr += 8;
PUSH(uw1);
break;
@@ -826,7 +826,7 @@
#undef UNARY
#undef BINARY
case DW_OP_skip:
- sw1 = *(Short *)expr;
+ sw1 = ML_(read_Short)(expr);
expr += 2;
if (expr + sw1 < limit - exprszB)
FAIL("evaluate_Dwarf3_Expr: DW_OP_skip before start of expr");
@@ -835,7 +835,7 @@
expr += sw1;
break;
case DW_OP_bra:
- sw1 = *(Short *)expr;
+ sw1 = ML_(read_Short)(expr);
expr += 2;
if (expr + sw1 < limit - exprszB)
FAIL("evaluate_Dwarf3_Expr: DW_OP_bra before start of expr");
@@ -853,7 +853,7 @@
"DW_OP_call_frame_cfa but no reg info");
#if defined(VGP_ppc32_linux) || defined(VGP_ppc64_linux)
/* Valgrind on ppc32/ppc64 currently doesn't use unwind info. */
- uw1 = *(Addr *)(regs->sp);
+ uw1 = ML_(read_Addr)(regs->sp);
#else
uw1 = ML_(get_CFA)(regs->ip, regs->sp, regs->fp, 0, ~(UWord) 0);
#endif
@@ -869,19 +869,19 @@
uw1 = 0;
switch (sw1) {
case 1:
- uw1 = *(UChar *)expr;
+ uw1 = ML_(read_UChar)(expr);
expr += 1;
break;
case 2:
- uw1 = *(UShort *)expr;
+ uw1 = ML_(read_UShort)(expr);
expr += 2;
break;
case 4:
- uw1 = *(UInt *)expr;
+ uw1 = ML_(read_UInt)(expr);
expr += 4;
break;
case 8:
- uw1 = *(ULong *)expr;
+ uw1 = ML_(read_ULong)(expr);
expr += 8;
break;
default:
@@ -950,9 +950,9 @@
return res;
}
vg_assert(uc == 0);
- aMin = * (Addr*)p; p += sizeof(Addr);
- aMax = * (Addr*)p; p += sizeof(Addr);
- nbytes = * (UShort*)p; p += sizeof(UShort);
+ aMin = ML_(read_Addr)(p); p += sizeof(Addr);
+ aMax = ML_(read_Addr)(p); p += sizeof(Addr);
+ nbytes = ML_(read_UShort)(p); p += sizeof(UShort);
nGuards++;
if (0) VG_(printf)(" guard %d: %#lx %#lx\n",
(Int)nGuards, aMin,aMax);
@@ -1027,9 +1027,9 @@
if (uc == 1) /*isEnd*/
break;
vg_assert(uc == 0);
- aMin = * (Addr*)p; p += sizeof(Addr);
- aMax = * (Addr*)p; p += sizeof(Addr);
- nbytes = * (UShort*)p; p += sizeof(UShort);
+ aMin = ML_(read_Addr)(p); p += sizeof(Addr);
+ aMax = ML_(read_Addr)(p); p += sizeof(Addr);
+ nbytes = ML_(read_UShort)(p); p += sizeof(UShort);
nGuards++;
if (0) VG_(printf)(" guard %ld: %#lx %#lx\n",
nGuards, aMin,aMax);
@@ -1041,7 +1041,7 @@
obviously a constant. */
if (nbytes == 1 + sizeof(Addr) && *p == DW_OP_addr) {
/* DW_OP_addr a */
- Addr a = *(Addr*)(p+1);
+ Addr a = ML_(read_Addr)((p+1));
if (bias_address(&a, di)) {
thisResult.b = True;
thisResult.ul = (ULong)a;
@@ -1061,7 +1061,7 @@
&& p[0] == DW_OP_addr
&& p[1 + sizeof(Addr)] == DW_OP_plus_uconst
&& p[1 + sizeof(Addr) + 1] < 0x80 /*1-byte ULEB*/) {
- Addr a = *(Addr*)&p[1];
+ Addr a = ML_(read_Addr)(&p[1]);
if (bias_address(&a, di)) {
thisResult.b = True;
thisResult.ul = (ULong)a + (ULong)p[1 + sizeof(Addr) + 1];
@@ -1189,9 +1189,9 @@
if (uc == 1)
break; /*isEnd*/
vg_assert(uc == 0);
- aMin = * (Addr*)p; p += sizeof(Addr);
- aMax = * (Addr*)p; p += sizeof(Addr);
- nbytes = * (UShort*)p; p += sizeof(UShort);
+ aMin = ML_(read_Addr)(p); p += sizeof(Addr);
+ aMax = ML_(read_Addr)(p); p += sizeof(Addr);
+ nbytes = ML_(read_UShort)(p); p += sizeof(UShort);
VG_(printf)("[%#lx,%#lx]=", aMin, aMax);
while (nbytes > 0) {
VG_(printf)("%02x", (UInt)*p++);
Modified: trunk/coregrind/m_debuginfo/debuginfo.c
===================================================================
--- trunk/coregrind/m_debuginfo/debuginfo.c 2011-10-05 07:39:07 UTC (rev 12101)
+++ trunk/coregrind/m_debuginfo/debuginfo.c 2011-10-05 08:48:07 UTC (rev 12102)
@@ -2041,7 +2041,7 @@
return 0;
}
/* let's hope it doesn't trap! */
- return * ((UWord*)a);
+ return ML_(read_UWord)((void *)a);
default:
goto unhandled;
}
@@ -2242,7 +2242,7 @@
Addr a = uregs->sp + cfsi->cfa_off;
if (a < min_accessible || a > max_accessible-sizeof(Addr))
break;
- cfa = *(Addr*)a;
+ cfa = ML_(read_Addr)((void *)a);
break;
}
case CFIR_SAME:
@@ -2385,7 +2385,7 @@
if (a < min_accessible \
|| a > max_accessible-sizeof(Addr)) \
return False; \
- _prev = *(Addr*)a; \
+ _prev = ML_(read_Addr)((void *)a); \
break; \
} \
case CFIR_CFAREL: \
@@ -2547,10 +2547,10 @@
spHere = *spP;
- *ipP = *(Addr *)(spHere + 4*(fpo->cbRegs + fpo->cdwLocals));
- *spP = spHere + 4*(fpo->cbRegs + fpo->cdwLocals + 1
- + fpo->cdwParams);
- *fpP = *(Addr *)(spHere + 4*2);
+ *ipP = ML_(read_Addr)((void *)(spHere + 4*(fpo->cbRegs + fpo->cdwLocals)));
+ *spP = spHere + 4*(fpo->cbRegs + fpo->cdwLocals + 1
+ + fpo->cdwParams);
+ *fpP = ML_(read_Addr)((void *)(spHere + 4*2));
return True;
}
Modified: trunk/coregrind/m_debuginfo/misc.c
===================================================================
--- trunk/coregrind/m_debuginfo/misc.c 2011-10-05 07:39:07 UTC (rev 12101)
+++ trunk/coregrind/m_debuginfo/misc.c 2011-10-05 08:48:07 UTC (rev 12102)
@@ -136,6 +136,27 @@
return r;
}
+UChar *ML_(write_UShort) ( UChar* ptr, UShort val ) {
+ if (host_is_little_endian()) {
+ ptr[0] = val & 0xff;
+ ptr[1] = ( val >> 8 ) & 0xff;
+ } else {
+ ptr[0] = ( val >> 8 ) & 0xff;
+ ptr[1] = val & 0xff;
+ }
+ return ptr + sizeof(UShort);
+}
+
+UWord ML_(read_UWord) ( UChar* data ) {
+ if (sizeof(UWord) == sizeof(UInt)) {
+ return ML_(read_UInt)(data);
+ } else if (sizeof(UWord) == sizeof(ULong)) {
+ return ML_(read_ULong)(data);
+ } else {
+ vg_assert(0);
+ }
+}
+
UInt ML_(read_UInt) ( UChar* data ) {
UInt r = 0;
if (host_is_little_endian()) {
@@ -152,6 +173,21 @@
return r;
}
+UChar* ML_(write_UInt) ( UChar* ptr, UInt val ) {
+ if (host_is_little_endian()) {
+ ptr[0] = val & 0xff;
+ ptr[1] = ( val >> 8 ) & 0xff;
+ ptr[2] = ( val >> 16 ) & 0xff;
+ ptr[3] = ( val >> 24 ) & 0xff;
+ } else {
+ ptr[0] = ( val >> 24 ) & 0xff;
+ ptr[1] = ( val >> 16 ) & 0xff;
+ ptr[2] = ( val >> 8 ) & 0xff;
+ ptr[3] = val & 0xff;
+ }
+ return ptr + sizeof(UInt);
+}
+
ULong ML_(read_ULong) ( UChar* data ) {
ULong r = 0;
if (host_is_little_endian()) {
@@ -176,10 +212,38 @@
return r;
}
+UChar* ML_(write_ULong) ( UChar* ptr, ULong val ) {
+ if (host_is_little_endian()) {
+ ptr[0] = val & 0xff;
+ ptr[1] = ( val >> 8 ) & 0xff;
+ ptr[2] = ( val >> 16 ) & 0xff;
+ ptr[3] = ( val >> 24 ) & 0xff;
+ ptr[4] = ( val >> 32 ) & 0xff;
+ ptr[5] = ( val >> 40 ) & 0xff;
+ ptr[6] = ( val >> 48 ) & 0xff;
+ ptr[7] = ( val >> 56 ) & 0xff;
+ } else {
+ ptr[0] = ( val >> 56 ) & 0xff;
+ ptr[1] = ( val >> 48 ) & 0xff;
+ ptr[2] = ( val >> 40 ) & 0xff;
+ ptr[3] = ( val >> 32 ) & 0xff;
+ ptr[4] = ( val >> 24 ) & 0xff;
+ ptr[5] = ( val >> 16 ) & 0xff;
+ ptr[6] = ( val >> 8 ) & 0xff;
+ ptr[7] = val & 0xff;
+ }
+ return ptr + sizeof(ULong);
+}
+
UChar ML_(read_UChar) ( UChar* data ) {
return data[0];
}
+UChar* ML_(write_UChar) ( UChar* ptr, UChar val ) {
+ ptr[0] = val;
+ return ptr + sizeof(UChar);
+}
+
Addr ML_(read_Addr) ( UChar* data ) {
if (sizeof(Addr) == sizeof(UInt)) {
return ML_(read_UInt)(data);
@@ -190,7 +254,17 @@
}
}
+UChar* ML_(write_Addr) ( UChar* ptr, Addr val ) {
+ if (sizeof(Addr) == sizeof(UInt)) {
+ return ML_(write_UInt)(ptr, val);
+ } else if (sizeof(Addr) == sizeof(ULong)) {
+ return ML_(write_ULong)(ptr, val);
+ } else {
+ vg_assert(0);
+ }
+}
+
/*--------------------------------------------------------------------*/
/*--- end misc.c ---*/
/*--------------------------------------------------------------------*/
Modified: trunk/coregrind/m_debuginfo/priv_misc.h
===================================================================
--- trunk/coregrind/m_debuginfo/priv_misc.h 2011-10-05 07:39:07 UTC (rev 12101)
+++ trunk/coregrind/m_debuginfo/priv_misc.h 2011-10-05 08:48:07 UTC (rev 12102)
@@ -48,11 +48,18 @@
Int ML_(read_Int)( UChar* data );
Long ML_(read_Long)( UChar* data );
UShort ML_(read_UShort)( UChar* data );
+UWord ML_(read_UWord)( UChar* data );
UInt ML_(read_UInt)( UChar* data );
ULong ML_(read_ULong)( UChar* data );
UChar ML_(read_UChar)( UChar* data );
Addr ML_(read_Addr)( UChar* data );
+UChar* ML_(write_UShort)( UChar* ptr, UShort val );
+UChar* ML_(write_UInt)( UChar* ptr, UInt val );
+UChar* ML_(write_ULong)( UChar* ptr, ULong val );
+UChar* ML_(write_UChar)( UChar* ptr, UChar val );
+UChar* ML_(write_Addr)( UChar* ptr, Addr val );
+
/* A handy type, a la Haskell's Maybe type. Yes, I know, C sucks.
Been there. Done that. Seen the movie. Got the T-shirt. Etc. */
typedef struct { ULong ul; Bool b; } MaybeULong;
Modified: trunk/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf3.c 2011-10-05 07:39:07 UTC (rev 12101)
+++ trunk/coregrind/m_debuginfo/readdwarf3.c 2011-10-05 08:48:07 UTC (rev 12102)
@@ -243,7 +243,7 @@
/*NOTREACHED*/
vg_assert(0);
}
- r = * (UShort*) &c->region_start_img[ c->region_next ];
+ r = ML_(read_UShort)(&c->region_start_img[ c->region_next ]);
c->region_next += sizeof(UShort);
return r;
}
@@ -255,7 +255,7 @@
/*NOTREACHED*/
vg_assert(0);
}
- r = * (UInt*) &c->region_start_img[ c->region_next ];
+ r = ML_(read_UInt)(&c->region_start_img[ c->region_next ]);
c->region_next += sizeof(UInt);
return r;
}
@@ -267,7 +267,7 @@
/*NOTREACHED*/
vg_assert(0);
}
- r = * (ULong*) &c->region_start_img[ c->region_next ];
+ r = ML_(read_ULong)(&c->region_start_img[ c->region_next ]);
c->region_next += sizeof(ULong);
return r;
}
@@ -472,8 +472,8 @@
static void bias_GX ( /*MOD*/GExpr* gx, struct _DebugInfo* di )
{
UShort nbytes;
- Addr* pA;
UChar* p = &gx->payload[0];
+ UChar* pA;
UChar uc;
uc = *p++; /*biasMe*/
if (uc == 0)
@@ -486,15 +486,15 @@
break; /*isEnd*/
vg_assert(uc == 0);
/* t-bias aMin */
- pA = (Addr*)p;
- *pA += di->text_debug_bias;
+ pA = (UChar*)p;
+ ML_(write_Addr)(pA, ML_(read_Addr)(pA) + di->text_debug_bias);
p += sizeof(Addr);
/* t-bias aMax */
- pA = (Addr*)p;
- *pA += di->text_debug_bias;
+ pA = (UChar*)p;
+ ML_(write_Addr)(pA, ML_(read_Addr)(pA) + di->text_debug_bias);
p += sizeof(Addr);
/* nbytes, and actual expression */
- nbytes = * (UShort*)p; p += sizeof(UShort);
+ nbytes = ML_(read_UShort)(p); p += sizeof(UShort);
p += nbytes;
}
}
@@ -520,13 +520,13 @@
p = pstart = &gx->payload[0];
- * ((UChar*)p) = 0; /*biasMe*/ p += sizeof(UChar);
- * ((UChar*)p) = 0; /*!isEnd*/ p += sizeof(UChar);
- * ((Addr*)p) = 0; /*aMin*/ p += sizeof(Addr);
- * ((Addr*)p) = ~((Addr)0); /*aMax */ p += sizeof(Addr);
- * ((UShort*)p) = (UShort)nbytes; /*nbytes*/ p += sizeof(UShort);
+ p = ML_(write_UChar)(p, 0); /*biasMe*/
+ p = ML_(write_UChar)(p, 0); /*!isEnd*/
+ p = ML_(write_Addr)(p, 0); /*aMin*/
+ p = ML_(write_Addr)(p, ~0); /*aMax*/
+ p = ML_(write_UShort)(p, nbytes); /*nbytes*/
VG_(memcpy)(p, block, nbytes); p += nbytes;
- * ((UChar*)p) = 1; /*isEnd*/ p += sizeof(UChar);
+ p = ML_(write_UChar)(p, 1); /*isEnd*/
vg_assert( (SizeT)(p - pstart) == bytesReqd);
vg_assert( &gx->payload[bytesReqd]
|
|
From: <br...@ac...> - 2011-10-05 08:24:21
|
valgrind revision: 12100
VEX revision: 2211
GCC version: gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)
C library: GNU C Library stable release version 2.3.4, by Roland McGrath et al.
uname -mrs: Linux 2.6.9-42.EL s390x
Vendor version: Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
Nightly build on z900 ( s390x build on z900 )
Started at 2011-10-05 01:42:18 EDT
Ended at 2011-10-05 04:30:50 EDT
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
== 465 tests, 10 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/manuel3 (stderr)
memcheck/tests/partial_load_ok (stderr)
memcheck/tests/varinfo6 (stderr)
helgrind/tests/pth_barrier2 (stderr)
helgrind/tests/pth_barrier3 (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc20_verifywrap (stderr)
drd/tests/tc04_free_lock (stderr)
drd/tests/tc09_bad_unlock (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
== 465 tests, 11 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/manuel3 (stderr)
memcheck/tests/partial_load_ok (stderr)
memcheck/tests/varinfo6 (stderr)
helgrind/tests/pth_barrier2 (stderr)
helgrind/tests/pth_barrier3 (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc14_laog_dinphils (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc20_verifywrap (stderr)
drd/tests/tc04_free_lock (stderr)
drd/tests/tc09_bad_unlock (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Wed Oct 5 03:05:45 2011
--- new.short Wed Oct 5 04:30:50 2011
***************
*** 8,10 ****
! == 465 tests, 11 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/manuel3 (stderr)
--- 8,10 ----
! == 465 tests, 10 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/manuel3 (stderr)
***************
*** 15,17 ****
helgrind/tests/tc09_bad_unlock (stderr)
- helgrind/tests/tc14_laog_dinphils (stderr)
helgrind/tests/tc18_semabuse (stderr)
--- 15,16 ----
=================================================
./valgrind-new/drd/tests/tc04_free_lock.stderr.diff
=================================================
--- tc04_free_lock.stderr.exp 2011-10-05 03:07:35.000000000 -0400
+++ tc04_free_lock.stderr.out 2011-10-05 04:28:02.000000000 -0400
@@ -8,7 +8,8 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: bar (tc04_free_lock.c:40)
- by 0x........: main (tc04_free_lock.c:26)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: bar (tc04_free_lock.c:38)
@@ -16,19 +17,12 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: foo (tc04_free_lock.c:49)
- by 0x........: main (tc04_free_lock.c:27)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: foo (tc04_free_lock.c:46)
by 0x........: main (tc04_free_lock.c:27)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: bar (tc04_free_lock.c:40)
- by 0x........: main (tc04_free_lock.c:28)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
- by 0x........: bar (tc04_free_lock.c:38)
- by 0x........: main (tc04_free_lock.c:28)
-
-ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 3 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2011-10-05 03:07:35.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2011-10-05 04:28:24.000000000 -0400
@@ -26,7 +26,7 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:49)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
@@ -47,13 +47,5 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:50)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-ERROR SUMMARY: 8 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 6 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc09_bad_unlock.stderr.diff-glibc2.8
=================================================
--- tc09_bad_unlock.stderr.exp-glibc2.8 2011-10-05 03:07:35.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2011-10-05 04:28:24.000000000 -0400
@@ -26,7 +26,7 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: (below main)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
@@ -47,13 +47,5 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: (below main)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-ERROR SUMMARY: 8 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 6 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/pth_barrier2.stderr.diff
=================================================
--- pth_barrier2.stderr.exp 2011-10-05 03:06:05.000000000 -0400
+++ pth_barrier2.stderr.out 2011-10-05 04:07:28.000000000 -0400
@@ -18,13 +18,13 @@
----------------------------------------------------------------
-Possible data race during write of size 4 at 0x........ by thread #x
+Possible data race during write of size 1 at 0x........ by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
-This conflicts with a previous write of size 4 by thread #x
+This conflicts with a previous write of size 1 by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
@@ -37,13 +37,70 @@
----------------------------------------------------------------
-Possible data race during write of size 4 at 0x........ by thread #x
+Possible data race during write of size 1 at 0x........ by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
-This conflicts with a previous write of size 4 by thread #x
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Address 0x........ is 1 bytes inside a block of size 128 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:75)
+ by 0x........: main (pth_barrier.c:121)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Address 0x........ is 2 bytes inside a block of size 128 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:75)
+ by 0x........: main (pth_barrier.c:121)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Address 0x........ is 3 bytes inside a block of size 128 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:75)
+ by 0x........: main (pth_barrier.c:121)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
@@ -56,507 +113,2049 @@
----------------------------------------------------------------
-Possible data race during write of size 4 at 0x........ by thread #x
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/pth_barrier3.stderr.diff
=================================================
--- pth_barrier3.stderr.exp 2011-10-05 03:06:05.000000000 -0400
+++ pth_barrier3.stderr.out 2011-10-05 04:07:32.000000000 -0400
@@ -18,13 +18,13 @@
----------------------------------------------------------------
-Possible data race during write of size 4 at 0x........ by thread #x
+Possible data race during write of size 1 at 0x........ by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
-This conflicts with a previous write of size 4 by thread #x
+This conflicts with a previous write of size 1 by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
=================================================
./valgrind-new/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2011-10-05 03:06:05.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2011-10-05 04:09:08.000000000 -0400
@@ -42,14 +42,6 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:49)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:49)
-
---------------------
----------------------------------------------------------------
@@ -110,16 +102,8 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-----------------------------------------------------------------
-
Thread #x: Exiting thread still holds 1 lock
...
-ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc18_semabuse.stderr.diff
=================================================
--- tc18_semabuse.stderr.exp 2011-10-05 03:06:05.000000000 -0400
+++ tc18_semabuse.stderr.out 2011-10-05 04:09:58.000000000 -0400
@@ -18,13 +18,5 @@
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:...)
- by 0x........: main (tc18_semabuse.c:37)
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc20_verifywrap.stderr.diff
=================================================
--- tc20_verifywrap.stderr.exp 2011-10-05 03:06:05.000000000 -0400
+++ tc20_verifywrap.stderr.out 2011-10-05 04:10:58.000000000 -0400
@@ -1,7 +1,7 @@
------- This is output for >= glibc 2.4 ------
+------ This is output for < glibc 2.4 ------
---------------- pthread_create/join ----------------
@@ -45,13 +45,6 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_init failed
- with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:92)
-
-----------------------------------------------------------------
-
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
@@ -63,26 +56,8 @@
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_lock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:108)
-
-----------------------------------------------------------------
-Thread #x's call to pthread_mutex_trylock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:116)
-
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_timedlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:121)
+make pthread_mutex_lock fail: skipped on glibc < 2.4
----------------------------------------------------------------
@@ -90,13 +65,6 @@
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:125)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:125)
-
---------------- pthread_cond_wait et al ----------------
@@ -215,14 +183,6 @@
by 0x........: sem_wait (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:242)
-----------------------------------------------------------------
-
-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:...)
- by 0x........: main (tc20_verifywrap.c:245)
-
FIXME: can't figure out how to verify wrap of sem_post
@@ -235,4 +195,4 @@
...
-ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 17 errors from 17 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/manuel3.stderr.diff
=================================================
--- manuel3.stderr.exp 2011-10-05 03:06:41.000000000 -0400
+++ manuel3.stderr.out 2011-10-05 03:39:30.000000000 -0400
@@ -1,4 +1,3 @@
Conditional jump or move depends on uninitialised value(s)
- at 0x........: gcc_cant_inline_me (manuel3.c:22)
- by 0x........: main (manuel3.c:14)
+ at 0x........: main (manuel3.c:12)
=================================================
./valgrind-new/memcheck/tests/partial_load_ok.stderr.diff
=================================================
--- partial_load_ok.stderr.exp 2011-10-05 03:06:41.000000000 -0400
+++ partial_load_ok.stderr.out 2011-10-05 03:44:04.000000000 -0400
@@ -1,7 +1,13 @@
-Invalid read of size 4
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
+Invalid read of size 8
at 0x........: main (partial_load.c:23)
- Address 0x........ is 1 bytes inside a block of size 4 alloc'd
+ Address 0x........ is 1 bytes inside a block of size 8 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:20)
@@ -11,9 +17,9 @@
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:28)
-Invalid read of size 4
+Invalid read of size 8
at 0x........: main (partial_load.c:37)
- Address 0x........ is 0 bytes inside a block of size 4 free'd
+ Address 0x........ is 0 bytes inside a block of size 8 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:36)
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/partial_load_ok.stderr.diff64
=================================================
--- partial_load_ok.stderr.exp64 2011-10-05 03:06:41.000000000 -0400
+++ partial_load_ok.stderr.out 2011-10-05 03:44:04.000000000 -0400
@@ -1,4 +1,10 @@
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
Invalid read of size 8
at 0x........: main (partial_load.c:23)
Address 0x........ is 1 bytes inside a block of size 8 alloc'd
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff
=================================================
--- varinfo6.stderr.exp 2011-10-05 03:06:41.000000000 -0400
+++ varinfo6.stderr.out 2011-10-05 03:51:29.000000000 -0400
@@ -7,8 +7,7 @@
by 0x........: BZ2_bzCompress (varinfo6.c:4860)
by 0x........: BZ2_bzBuffToBuffCompress (varinfo6.c:5667)
by 0x........: main (varinfo6.c:6517)
- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo6.c:34)
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff-ppc64
=================================================
--- varinfo6.stderr.exp-ppc64 2011-10-05 03:06:40.000000000 -0400
+++ varinfo6.stderr.out 2011-10-05 03:51:29.000000000 -0400
@@ -1,5 +1,5 @@
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: mainSort (varinfo6.c:2999)
by 0x........: BZ2_blockSort (varinfo6.c:3143)
by 0x........: BZ2_compressBlock (varinfo6.c:4072)
@@ -10,7 +10,7 @@
Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: BZ2_decompress (varinfo6.c:1699)
by 0x........: BZ2_bzDecompress (varinfo6.c:5230)
by 0x........: BZ2_bzBuffToBuffDecompress (varinfo6.c:5715)
=================================================
./valgrind-old/drd/tests/tc04_free_lock.stderr.diff
=================================================
--- tc04_free_lock.stderr.exp 2011-10-05 01:43:55.000000000 -0400
+++ tc04_free_lock.stderr.out 2011-10-05 03:03:00.000000000 -0400
@@ -8,7 +8,8 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: bar (tc04_free_lock.c:40)
- by 0x........: main (tc04_free_lock.c:26)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: bar (tc04_free_lock.c:38)
@@ -16,19 +17,12 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: foo (tc04_free_lock.c:49)
- by 0x........: main (tc04_free_lock.c:27)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: foo (tc04_free_lock.c:46)
by 0x........: main (tc04_free_lock.c:27)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: bar (tc04_free_lock.c:40)
- by 0x........: main (tc04_free_lock.c:28)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
- by 0x........: bar (tc04_free_lock.c:38)
- by 0x........: main (tc04_free_lock.c:28)
-
-ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 3 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/drd/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2011-10-05 01:43:55.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2011-10-05 03:03:20.000000000 -0400
@@ -26,7 +26,7 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:49)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
@@ -47,13 +47,5 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:50)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-ERROR SUMMARY: 8 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 6 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/drd/tests/tc09_bad_unlock.stderr.diff-glibc2.8
=================================================
--- tc09_bad_unlock.stderr.exp-glibc2.8 2011-10-05 01:43:55.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2011-10-05 03:03:20.000000000 -0400
@@ -26,7 +26,7 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: (below main)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
@@ -47,13 +47,5 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: (below main)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-ERROR SUMMARY: 8 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 6 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/pth_barrier2.stderr.diff
=================================================
--- pth_barrier2.stderr.exp 2011-10-05 01:42:36.000000000 -0400
+++ pth_barrier2.stderr.out 2011-10-05 02:42:12.000000000 -0400
@@ -18,13 +18,13 @@
----------------------------------------------------------------
-Possible data race during write of size 4 at 0x........ by thread #x
+Possible data race during write of size 1 at 0x........ by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
-This conflicts with a previous write of size 4 by thread #x
+This conflicts with a previous write of size 1 by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
@@ -37,13 +37,70 @@
----------------------------------------------------------------
-Possible data race during write of size 4 at 0x........ by thread #x
+Possible data race during write of size 1 at 0x........ by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
-This conflicts with a previous write of size 4 by thread #x
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Address 0x........ is 1 bytes inside a block of size 128 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:75)
+ by 0x........: main (pth_barrier.c:121)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Address 0x........ is 2 bytes inside a block of size 128 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:75)
+ by 0x........: main (pth_barrier.c:121)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Address 0x........ is 3 bytes inside a block of size 128 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:75)
+ by 0x........: main (pth_barrier.c:121)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
@@ -56,507 +113,2049 @@
----------------------------------------------------------------
-Possible data race during write of size 4 at 0x........ by thread #x
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ at 0x........: threadfunc (pth_barrier.c:59)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-old/helgrind/tests/pth_barrier3.stderr.diff
=================================================
--- pth_barrier3.stderr.exp 2011-10-05 01:42:36.000000000 -0400
+++ pth_barrier3.stderr.out 2011-10-05 02:42:16.000000000 -0400
@@ -18,13 +18,13 @@
----------------------------------------------------------------
-Possible data race during write of size 4 at 0x........ by thread #x
+Possible data race during write of size 1 at 0x........ by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
-This conflicts with a previous write of size 4 by thread #x
+This conflicts with a previous write of size 1 by thread #x
Locks held: none
at 0x........: threadfunc (pth_barrier.c:59)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
=================================================
./valgrind-old/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2011-10-05 01:42:36.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2011-10-05 02:43:56.000000000 -0400
@@ -42,14 +42,6 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:49)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:49)
-
---------------------
----------------------------------------------------------------
@@ -110,16 +102,8 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-----------------------------------------------------------------
-
Thread #x: Exiting thread still holds 1 lock
...
-ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc14_laog_dinphils.stderr.diff
=================================================
--- tc14_laog_dinphils.stderr.exp 2011-10-05 01:42:36.000000000 -0400
+++ tc14_laog_dinphils.stderr.out 2011-10-05 02:44:23.000000000 -0400
@@ -20,5 +20,47 @@
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
+---Thread-Announcement------------------------------------------
-ERROR SUMMARY: 1000 errors from 1 contexts (suppressed: 0 from 0)
+Thread #x was created
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc14_laog_dinphils.c:34)
+
+----------------------------------------------------------------
+
+Thread #x: lock order "0x........ before 0x........" violated
+
+Observed (incorrect) order is: acquisition of lock at 0x........
+ (stack unavailable)
+
+ followed by a later acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: dine (tc14_laog_dinphils.c:19)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc14_laog_dinphils.c:34)
+
+----------------------------------------------------------------
+
+Thread #x: lock order "0x........ before 0x........" violated
+
+Observed (incorrect) order is: acquisition of lock at 0x........
+ (stack unavailable)
+
+ followed by a later acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: dine (tc14_laog_dinphils.c:19)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+
+ERROR SUMMARY: 1096 errors from 3 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc18_semabuse.stderr.diff
=================================================
--- tc18_semabuse.stderr.exp 2011-10-05 01:42:36.000000000 -0400
+++ tc18_semabuse.stderr.out 2011-10-05 02:44:45.000000000 -0400
@@ -18,13 +18,5 @@
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:...)
- by 0x........: main (tc18_semabuse.c:37)
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc20_verifywrap.stderr.diff
=================================================
--- tc20_verifywrap.stderr.exp 2011-10-05 01:42:36.000000000 -0400
+++ tc20_verifywrap.stderr.out 2011-10-05 02:45:45.000000000 -0400
@@ -1,7 +1,7 @@
------- This is output for >= glibc 2.4 ------
+------ This is output for < glibc 2.4 ------
---------------- pthread_create/join ----------------
@@ -45,13 +45,6 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_init failed
- with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:92)
-
-----------------------------------------------------------------
-
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
@@ -63,26 +56,8 @@
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_lock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:108)
-
-----------------------------------------------------------------
-Thread #x's call to pthread_mutex_trylock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:116)
-
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_timedlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:121)
+make pthread_mutex_lock fail: skipped on glibc < 2.4
----------------------------------------------------------------
@@ -90,13 +65,6 @@
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:125)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:125)
-
---------------- pthread_cond_wait et al ----------------
@@ -215,14 +183,6 @@
by 0x........: sem_wait (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:242)
-----------------------------------------------------------------
-
-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:...)
- by 0x........: main (tc20_verifywrap.c:245)
-
FIXME: can't figure out how to verify wrap of sem_post
@@ -235,4 +195,4 @@
...
-ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 17 errors from 17 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/manuel3.stderr.diff
=================================================
--- manuel3.stderr.exp 2011-10-05 01:42:57.000000000 -0400
+++ manuel3.stderr.out 2011-10-05 02:15:11.000000000 -0400
@@ -1,4 +1,3 @@
Conditional jump or move depends on uninitialised value(s)
- at 0x........: gcc_cant_inline_me (manuel3.c:22)
- by 0x........: main (manuel3.c:14)
+ at 0x........: main (manuel3.c:12)
=================================================
./valgrind-old/memcheck/tests/partial_load_ok.stderr.diff
=================================================
--- partial_load_ok.stderr.exp 2011-10-05 01:42:57.000000000 -0400
+++ partial_load_ok.stderr.out 2011-10-05 02:19:44.000000000 -0400
@@ -1,7 +1,13 @@
-Invalid read of size 4
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
+Invalid read of size 8
at 0x........: main (partial_load.c:23)
- Address 0x........ is 1 bytes inside a block of size 4 alloc'd
+ Address 0x........ is 1 bytes inside a block of size 8 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:20)
@@ -11,9 +17,9 @@
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:28)
-Invalid read of size 4
+Invalid read of size 8
at 0x........: main (partial_load.c:37)
- Address 0x........ is 0 bytes inside a block of size 4 free'd
+ Address 0x........ is 0 bytes inside a block of size 8 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:36)
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/partial_load_ok.stderr.diff64
=================================================
--- partial_load_ok.stderr.exp64 2011-10-05 01:42:56.000000000 -0400
+++ partial_load_ok.stderr.out 2011-10-05 02:19:44.000000000 -0400
@@ -1,4 +1,10 @@
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
Invalid read of size 8
at 0x........: main (partial_load.c:23)
Address 0x........ is 1 bytes inside a block of size 8 alloc'd
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/varinfo6.stderr.diff
=================================================
--- varinfo6.stderr.exp 2011-10-05 01:42:57.000000000 -0400
+++ varinfo6.stderr.out 2011-10-05 02:27:09.000000000 -0400
@@ -7,8 +7,7 @@
by 0x........: BZ2_bzCompress (varinfo6.c:4860)
by 0x........: BZ2_bzBuffToBuffCompress (varinfo6.c:5667)
by 0x........: main (varinfo6.c:6517)
- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo6.c:34)
=================================================
./valgrind-old/memcheck/tests/varinfo6.stderr.diff-ppc64
=================================================
--- varinfo6.stderr.exp-ppc64 2011-10-05 01:42:56.000000000 -0400
+++ varinfo6.stderr.out 2011-10-05 02:27:09.000000000 -0400
@@ -1,5 +1,5 @@
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: mainSort (varinfo6.c:2999)
by 0x........: BZ2_blockSort (varinfo6.c:3143)
by 0x........: BZ2_compressBlock (varinfo6.c:4072)
@@ -10,7 +10,7 @@
Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: BZ2_decompress (varinfo6.c:1699)
by 0x........: BZ2_bzDecompress (varinfo6.c:5230)
by 0x........: BZ2_bzBuffToBuffDecompress (varinfo6.c:5715)
|
|
From: Julian S. <js...@ac...> - 2011-10-05 07:51:52
|
> >> +warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x........ > >> +warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x........ > > > > Oh, right. So this is the Dwarf3 var info reader complaining that it > > doesn't understand something created by the gcc 4.6.x in F15. > > Yes. What is curious is that the test passed on 09/30 and failed on > 10/01? No idea. > Integration into bin/nightly shouldn't be a problem. > Currently, this is done in nightly/conf/z900.sendmail > Would these queries work on Darwin: > > glibc_version="`/lib/libc.so.* | head -1`" > uname_stuff="`uname -mrs`" > vendor_stuff="`cat /etc/issue.net | head -1`" No chance :-( libc isn't at /lib/libc* (it's in different directories on OSX 10.6 and 10.7, for maximum confusion value) and it's certainly not runnable directly: $ /usr/lib/system/libsystem_c.dylib -bash: /usr/lib/system/libsystem_c.dylib: cannot execute binary file uname -mrs is OK, producing: Darwin 11.1.0 i386 and there's an /etc directory, but not /etc/issue*. J |
|
From: <sv...@va...> - 2011-10-05 07:43:54
|
Author: sewardj
Date: 2011-10-05 08:39:07 +0100 (Wed, 05 Oct 2011)
New Revision: 12101
Log:
ppc64-linux only: fix incorrect line number reports in client requests
that create stack traces. Fixes #283243.
Modified:
trunk/include/valgrind.h
Modified: trunk/include/valgrind.h
===================================================================
--- trunk/include/valgrind.h 2011-10-05 03:29:57 UTC (rev 12100)
+++ trunk/include/valgrind.h 2011-10-05 07:39:07 UTC (rev 12101)
@@ -474,8 +474,8 @@
\
__extension__ \
({ unsigned long long int _zzq_args[6]; \
- register unsigned long long int _zzq_result __asm__("r3"); \
- register unsigned long long int* _zzq_ptr __asm__("r4"); \
+ unsigned long long int _zzq_result; \
+ unsigned long long int* _zzq_ptr; \
_zzq_args[0] = (unsigned long long int)(_zzq_request); \
_zzq_args[1] = (unsigned long long int)(_zzq_arg1); \
_zzq_args[2] = (unsigned long long int)(_zzq_arg2); \
@@ -483,32 +483,37 @@
_zzq_args[4] = (unsigned long long int)(_zzq_arg4); \
_zzq_args[5] = (unsigned long long int)(_zzq_arg5); \
_zzq_ptr = _zzq_args; \
- __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE \
+ __asm__ volatile("mr 3,%1\n\t" /*default*/ \
+ "mr 4,%2\n\t" /*ptr*/ \
+ __SPECIAL_INSTRUCTION_PREAMBLE \
/* %R3 = client_request ( %R4 ) */ \
- "or 1,1,1" \
- : "=r" (_zzq_result) \
- : "0" (_zzq_default), "r" (_zzq_ptr) \
- : "cc", "memory"); \
+ "or 1,1,1\n\t" \
+ "mr %0,3" /*result*/ \
+ : "=b" (_zzq_result) \
+ : "b" (_zzq_default), "b" (_zzq_ptr) \
+ : "cc", "memory", "r3", "r4"); \
_zzq_result; \
})
#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval) \
{ volatile OrigFn* _zzq_orig = &(_zzq_rlval); \
- register unsigned long long int __addr __asm__("r3"); \
+ unsigned long long int __addr; \
__asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE \
/* %R3 = guest_NRADDR */ \
- "or 2,2,2" \
- : "=r" (__addr) \
+ "or 2,2,2\n\t" \
+ "mr %0,3" \
+ : "=b" (__addr) \
: \
- : "cc", "memory" \
+ : "cc", "memory", "r3" \
); \
_zzq_orig->nraddr = __addr; \
__asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE \
/* %R3 = guest_NRADDR_GPR2 */ \
- "or 4,4,4" \
- : "=r" (__addr) \
+ "or 4,4,4\n\t" \
+ "mr %0,3" \
+ : "=b" (__addr) \
: \
- : "cc", "memory" \
+ : "cc", "memory", "r3" \
); \
_zzq_orig->r2 = __addr; \
}
|
|
From: Bart V. A. <bva...@ac...> - 2011-10-05 06:05:37
|
On Wed, Oct 5, 2011 at 6:09 AM, Florian Krohm <br...@ac...> wrote: > On 10/04/2011 12:54 PM, Bart Van Assche wrote: > > In order to support escaping XML meta-characters several formatting > > functions in Valgrind support the %t format specifier. That's an unfortunate > > choice since gcc's format specification checker doesn't recognize %t. My > > proposal is to use the format specifier %pS instead of %t and to remove the > > _no_f_c variants of the formatting functions, as is done in the patch below. > > > > It would be good to be able to compile with -Wformat at some point. This > patch is a step in that direction. Does that mean that you are not aware that -Wformat is already enabled in the Valgrind project via -Wall and via the PRINTF_CHECK(x, y) macro ? > However, %p is only meant for printing pointers to void -- according to > c99. And we'd be passing in pointers to characters. I did a quick test > with GCC 4.4.3 and 3.4.6 and those were benign and did not complain. > Although I do remember a compiler issuing warnings about non-void > pointers being provided as argument for %p. Perhaps it was EDG... > What does clang 2.9 say? Will it let it slide by? I propose that we address this issue as soon as we encounter a compiler that complains about passing char* to %p. Bart. |
|
From: Florian K. <br...@ac...> - 2011-10-05 04:09:36
|
On 10/04/2011 12:54 PM, Bart Van Assche wrote: > In order to support escaping XML meta-characters several formatting > functions in Valgrind support the %t format specifier. That's an unfortunate > choice since gcc's format specification checker doesn't recognize %t. My > proposal is to use the format specifier %pS instead of %t and to remove the > _no_f_c variants of the formatting functions, as is done in the patch below. > It would be good to be able to compile with -Wformat at some point. This patch is a step in that direction. However, %p is only meant for printing pointers to void -- according to c99. And we'd be passing in pointers to characters. I did a quick test with GCC 4.4.3 and 3.4.6 and those were benign and did not complain. Although I do remember a compiler issuing warnings about non-void pointers being provided as argument for %p. Perhaps it was EDG... What does clang 2.9 say? Will it let it slide by? Florian |
|
From: <sv...@va...> - 2011-10-05 03:34:43
|
Author: florian
Date: 2011-10-05 04:29:57 +0100 (Wed, 05 Oct 2011)
New Revision: 12100
Log:
Attempt to unbreak this testcase on systems with GCC 4.5.1 and newer.
I suspect the breakage is related to GCC's debug info.
Replace initialization with explicit assignment statement.
Modified:
trunk/exp-sgcheck/tests/bad_percentify.c
Modified: trunk/exp-sgcheck/tests/bad_percentify.c
===================================================================
--- trunk/exp-sgcheck/tests/bad_percentify.c 2011-10-05 03:09:01 UTC (rev 12099)
+++ trunk/exp-sgcheck/tests/bad_percentify.c 2011-10-05 03:29:57 UTC (rev 12100)
@@ -98,8 +98,8 @@
{
printf_buf_t myprintf_buf
= { "", 0, sink };
- UInt ret
- = vprintf_to_buf(&myprintf_buf, format, vargs);
+ UInt ret;
+ ret = vprintf_to_buf(&myprintf_buf, format, vargs);
// Write out any chars left in the buffer.
if (myprintf_buf.buf_used > 0) {
send_bytes_to_logging_sink( myprintf_buf.sink,
|
|
From: Tom H. <th...@cy...> - 2011-10-05 03:17:48
|
valgrind revision: 12098 VEX revision: 2211 GCC version: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) C library: GNU C Library stable release version 2.8, by Roland McGrath et al. uname -mrs: Linux 2.6.40-4.fc15.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2011-10-05 03:40:56 BST Ended at 2011-10-05 04:17:30 BST 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 == 574 tests, 1 stderr failure, 4 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64-linux/defcfaexpr (stderr) none/tests/amd64/bug132918 (stdout) none/tests/amd64/fxtract (stdout) none/tests/amd64/sse4-64 (stdout) none/tests/x86/fxtract (stdout) ================================================= == 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 == 574 tests, 5 stderr failures, 4 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64-linux/defcfaexpr (stderr) memcheck/tests/execve1 (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/fwrite (stderr) memcheck/tests/writev (stderr) none/tests/amd64/bug132918 (stdout) none/tests/amd64/fxtract (stdout) none/tests/amd64/sse4-64 (stdout) none/tests/x86/fxtract (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Oct 5 03:59:39 2011 --- new.short Wed Oct 5 04:17:30 2011 *************** *** 8,15 **** ! == 574 tests, 5 stderr failures, 4 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64-linux/defcfaexpr (stderr) - memcheck/tests/execve1 (stderr) - memcheck/tests/execve2 (stderr) - memcheck/tests/fwrite (stderr) - memcheck/tests/writev (stderr) none/tests/amd64/bug132918 (stdout) --- 8,11 ---- ! == 574 tests, 1 stderr failure, 4 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64-linux/defcfaexpr (stderr) none/tests/amd64/bug132918 (stdout) |
|
From: <sv...@va...> - 2011-10-05 03:14:13
|
Author: florian Date: 2011-10-05 04:09:01 +0100 (Wed, 05 Oct 2011) New Revision: 12099 Log: Change the filter order. Filename base backtrace filtering must come first before the filename gets changed to bogus.S This should unbreak the failure on x86_64. But I can't test it. We shall see. Modified: trunk/memcheck/tests/amd64-linux/filter_defcfaexpr Modified: trunk/memcheck/tests/amd64-linux/filter_defcfaexpr =================================================================== --- trunk/memcheck/tests/amd64-linux/filter_defcfaexpr 2011-10-05 02:34:33 UTC (rev 12098) +++ trunk/memcheck/tests/amd64-linux/filter_defcfaexpr 2011-10-05 03:09:01 UTC (rev 12099) @@ -23,6 +23,6 @@ # stack given the unusual CFAs describing it. +./filter_stderr "$@" | \ sed "s/\/.*\/tests\/amd64-linux\/defcfaexpr/bogus.S:0/" | \ - sed "s/(in /(/" | \ - ./filter_stderr "$@" +sed "s/(in /(/" |