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
(16) |
2
(16) |
3
(17) |
|
4
(14) |
5
(16) |
6
(4) |
7
(18) |
8
(24) |
9
(19) |
10
(8) |
|
11
(6) |
12
(4) |
13
|
14
|
15
(1) |
16
(15) |
17
(13) |
|
18
(16) |
19
(11) |
20
(18) |
21
(6) |
22
(4) |
23
(15) |
24
(15) |
|
25
(22) |
26
(17) |
27
(18) |
28
(2) |
29
(16) |
30
(8) |
|
|
From: <sv...@va...> - 2012-11-08 23:04:23
|
florian 2012-11-08 23:04:16 +0000 (Thu, 08 Nov 2012)
New Revision: 13114
Log:
Announce fix for BZ 308886.
Modified files:
trunk/NEWS
Modified: trunk/NEWS (+1 -0)
===================================================================
--- trunk/NEWS 2012-11-08 20:27:05 +00:00 (rev 13113)
+++ trunk/NEWS 2012-11-08 23:04:16 +00:00 (rev 13114)
@@ -41,6 +41,7 @@
308341 [390] vgdb should report process exit (or fatal signal)
308644 [390] vgdb command for having the info for the track-fds option
308711 [390] give more info about aspacemgr and arenas in out_of_memory
+308886 [390] Missing support for PTRACE_SET/GETREGSET
n-i-bz [390] report error for vgdb snapshot requested before execution
n-i-bz [390] Some wrong command line options could be ignored
n-i-bz [390] same as 303624 (fixed in 3.8.0), but for x86 android
|
|
From: <sv...@va...> - 2012-11-08 20:27:14
|
cborntra 2012-11-08 20:27:05 +0000 (Thu, 08 Nov 2012)
New Revision: 13113
Log:
also wire up arm, x86 and amd64 regarding ptrace regsets
original patch from
Andreas Arnez <arnez AT linux DOT vnet DOT ibm DOT com>
Seems that ppc and mips dont have ptrace support....
Modified files:
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
trunk/coregrind/m_syswrap/syswrap-arm-linux.c
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-x86-linux.c (+9 -0)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2012-11-08 20:10:10 +00:00 (rev 13112)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2012-11-08 20:27:05 +00:00 (rev 13113)
@@ -1139,6 +1139,12 @@
case VKI_PTRACE_SETSIGINFO:
PRE_MEM_READ( "ptrace(setsiginfo)", ARG4, sizeof(vki_siginfo_t));
break;
+ case VKI_PTRACE_GETREGSET:
+ ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
+ break;
+ case VKI_PTRACE_SETREGSET:
+ ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
+ break;
default:
break;
}
@@ -1170,6 +1176,9 @@
*/
POST_MEM_WRITE( ARG4, sizeof(vki_siginfo_t));
break;
+ case VKI_PTRACE_GETREGSET:
+ ML_(linux_POST_getregset)(tid, ARG3, ARG4);
+ break;
default:
break;
}
Modified: trunk/coregrind/m_syswrap/syswrap-arm-linux.c (+9 -0)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2012-11-08 20:10:10 +00:00 (rev 13112)
+++ trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2012-11-08 20:27:05 +00:00 (rev 13113)
@@ -1110,6 +1110,12 @@
case VKI_PTRACE_SETSIGINFO:
PRE_MEM_READ( "ptrace(setsiginfo)", ARG4, sizeof(vki_siginfo_t));
break;
+ case VKI_PTRACE_GETREGSET:
+ ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
+ break;
+ case VKI_PTRACE_SETREGSET:
+ ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
+ break;
default:
break;
}
@@ -1149,6 +1155,9 @@
*/
POST_MEM_WRITE( ARG4, sizeof(vki_siginfo_t));
break;
+ case VKI_PTRACE_GETREGSET:
+ ML_(linux_POST_getregset)(tid, ARG3, ARG4);
+ break;
default:
break;
}
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c (+9 -0)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2012-11-08 20:10:10 +00:00 (rev 13112)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2012-11-08 20:27:05 +00:00 (rev 13113)
@@ -617,6 +617,12 @@
case VKI_PTRACE_SETSIGINFO:
PRE_MEM_READ( "ptrace(setsiginfo)", ARG4, sizeof(vki_siginfo_t));
break;
+ case VKI_PTRACE_GETREGSET:
+ ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
+ break;
+ case VKI_PTRACE_SETREGSET:
+ ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
+ break;
default:
break;
}
@@ -645,6 +651,9 @@
*/
POST_MEM_WRITE( ARG4, sizeof(vki_siginfo_t));
break;
+ case VKI_PTRACE_GETREGSET:
+ ML_(linux_POST_getregset)(tid, ARG3, ARG4);
+ break;
default:
break;
}
|
|
From: <sv...@va...> - 2012-11-08 20:10:18
|
cborntra 2012-11-08 20:10:10 +0000 (Thu, 08 Nov 2012)
New Revision: 13112
Log:
add s390 specific fix for getregset
Modified files:
trunk/coregrind/m_syswrap/priv_syswrap-linux.h
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-s390x-linux.c
trunk/include/vki/vki-linux.h
trunk/memcheck/tests/linux/getregset.c
Modified: trunk/coregrind/m_syswrap/syswrap-s390x-linux.c (+17 -4)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-s390x-linux.c 2012-11-08 19:46:29 +00:00 (rev 13111)
+++ trunk/coregrind/m_syswrap/syswrap-s390x-linux.c 2012-11-08 20:10:10 +00:00 (rev 13112)
@@ -345,10 +345,13 @@
DECL_TEMPLATE(s390x_linux, sys_rt_sigreturn);
DECL_TEMPLATE(s390x_linux, sys_fadvise64);
-// PEEK TEXT,DATA and USER are common to all architectures
-// PEEKUSR_AREA and POKEUSR_AREA are special, having a memory area
-// containing the real addr, data, and len field pointed to by ARG3
-// instead of ARG4
+/* PEEK TEXT,DATA and USER are common to all architectures.
+ PEEKUSR_AREA and POKEUSR_AREA are special, having a memory area
+ containing the real addr, data, and len field pointed to by ARG3
+ instead of ARG4.
+ GETREGSET and SETREGSET use a struct iovec (pointed to by ARG4) for
+ the address and size of the user buffer. */
+
PRE(sys_ptrace)
{
PRINT("sys_ptrace ( %ld, %ld, %#lx, %#lx )", ARG1,ARG2,ARG3,ARG4);
@@ -404,6 +407,12 @@
pa->vki_process_addr, pa->vki_len);
break;
}
+ case VKI_PTRACE_GETREGSET:
+ ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
+ break;
+ case VKI_PTRACE_SETREGSET:
+ ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
+ break;
default:
break;
}
@@ -432,7 +441,11 @@
pa = (vki_ptrace_area *) ARG3;
POST_MEM_WRITE(pa->vki_process_addr, pa->vki_len);
+ break;
}
+ case VKI_PTRACE_GETREGSET:
+ ML_(linux_POST_getregset)(tid, ARG3, ARG4);
+ break;
default:
break;
}
Modified: trunk/memcheck/tests/linux/getregset.c (+1 -1)
===================================================================
--- trunk/memcheck/tests/linux/getregset.c 2012-11-08 19:46:29 +00:00 (rev 13111)
+++ trunk/memcheck/tests/linux/getregset.c 2012-11-08 20:10:10 +00:00 (rev 13112)
@@ -24,7 +24,7 @@
non_empty(const char *buf, size_t len)
{
size_t i;
- int c;
+ int c = 0;
volatile const char *p = buf;
for (i = 0; i != len; i++)
Modified: trunk/include/vki/vki-linux.h (+2 -0)
===================================================================
--- trunk/include/vki/vki-linux.h 2012-11-08 19:46:29 +00:00 (rev 13111)
+++ trunk/include/vki/vki-linux.h 2012-11-08 20:10:10 +00:00 (rev 13112)
@@ -2251,6 +2251,8 @@
#define VKI_PTRACE_GETEVENTMSG 0x4201
#define VKI_PTRACE_GETSIGINFO 0x4202
#define VKI_PTRACE_SETSIGINFO 0x4203
+#define VKI_PTRACE_GETREGSET 0x4204
+#define VKI_PTRACE_SETREGSET 0x4205
//----------------------------------------------------------------------
// From linux-2.6.14/include/sound/asound.h
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c (+40 -0)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2012-11-08 19:46:29 +00:00 (rev 13111)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2012-11-08 20:10:10 +00:00 (rev 13112)
@@ -7230,6 +7230,46 @@
}
}
+/* ---------------------------------------------------------------------
+ ptrace wrapper helpers
+ ------------------------------------------------------------------ */
+
+void
+ML_(linux_PRE_getregset) ( ThreadId tid, long arg3, long arg4 )
+{
+ struct vki_iovec *iov = (struct vki_iovec *) arg4;
+
+ PRE_MEM_READ("ptrace(getregset iovec->iov_base)",
+ (unsigned long) &iov->iov_base, sizeof(iov->iov_base));
+ PRE_MEM_READ("ptrace(getregset iovec->iov_len)",
+ (unsigned long) &iov->iov_len, sizeof(iov->iov_len));
+ PRE_MEM_WRITE("ptrace(getregset *(iovec->iov_base))",
+ (unsigned long) iov->iov_base, iov->iov_len);
+}
+
+void
+ML_(linux_PRE_setregset) ( ThreadId tid, long arg3, long arg4 )
+{
+ struct vki_iovec *iov = (struct vki_iovec *) arg4;
+
+ PRE_MEM_READ("ptrace(setregset iovec->iov_base)",
+ (unsigned long) &iov->iov_base, sizeof(iov->iov_base));
+ PRE_MEM_READ("ptrace(setregset iovec->iov_len)",
+ (unsigned long) &iov->iov_len, sizeof(iov->iov_len));
+ PRE_MEM_READ("ptrace(setregset *(iovec->iov_base))",
+ (unsigned long) iov->iov_base, iov->iov_len);
+}
+
+void
+ML_(linux_POST_getregset) ( ThreadId tid, long arg3, long arg4 )
+{
+ struct vki_iovec *iov = (struct vki_iovec *) arg4;
+
+ /* XXX: The actual amount of data written by the kernel might be
+ less than iov_len, depending on the regset (arg3). */
+ POST_MEM_WRITE((unsigned long) iov->iov_base, iov->iov_len);
+}
+
#undef PRE
#undef POST
Modified: trunk/coregrind/m_syswrap/priv_syswrap-linux.h (+5 -0)
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2012-11-08 19:46:29 +00:00 (rev 13111)
+++ trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2012-11-08 20:10:10 +00:00 (rev 13112)
@@ -290,6 +290,11 @@
extern void ML_(linux_PRE_sys_getsockopt) ( TId, UW, UW, UW, UW, UW );
extern void ML_(linux_POST_sys_getsockopt) ( TId, SR, UW, UW, UW, UW, UW );
+// Linux-specific (but non-arch-specific) ptrace wrapper helpers
+extern void ML_(linux_PRE_getregset) ( ThreadId, long, long );
+extern void ML_(linux_PRE_setregset) ( ThreadId, long, long );
+extern void ML_(linux_POST_getregset)( ThreadId, long, long );
+
#undef TId
#undef UW
#undef SR
|
|
From: <sv...@va...> - 2012-11-08 19:46:36
|
cborntra 2012-11-08 19:46:29 +0000 (Thu, 08 Nov 2012)
New Revision: 13111
Log:
wire up testcase
Modified files:
trunk/memcheck/tests/linux/Makefile.am
Modified: trunk/memcheck/tests/linux/Makefile.am (+3 -1)
===================================================================
--- trunk/memcheck/tests/linux/Makefile.am 2012-11-08 19:42:00 +00:00 (rev 13110)
+++ trunk/memcheck/tests/linux/Makefile.am 2012-11-08 19:46:29 +00:00 (rev 13111)
@@ -16,11 +16,13 @@
syslog-syscall.vgtest syslog-syscall.stderr.exp \
timerfd-syscall.vgtest timerfd-syscall.stderr.exp \
with-space.stderr.exp with-space.stdout.exp with-space.vgtest \
- proc-auxv.vgtest proc-auxv.stderr.exp
+ proc-auxv.vgtest proc-auxv.stderr.exp getregset.vgtest \
+ getregset.stderr.exp getregset.stdout.exp
check_PROGRAMS = \
brk \
capget \
+ getregset \
lsframe1 \
lsframe2 \
sigqueue \
|
|
From: <sv...@va...> - 2012-11-08 19:42:07
|
cborntra 2012-11-08 19:42:00 +0000 (Thu, 08 Nov 2012)
New Revision: 13110
Log:
Add ptrace getreset testcase from Andreas Arnez
arnez AT linux DOT vnet DOT ibm DOT com
Added files:
trunk/memcheck/tests/linux/getregset.c
trunk/memcheck/tests/linux/getregset.stderr.exp
trunk/memcheck/tests/linux/getregset.stdout.exp
trunk/memcheck/tests/linux/getregset.vgtest
Added: trunk/memcheck/tests/linux/getregset.vgtest (+2 -0)
===================================================================
--- trunk/memcheck/tests/linux/getregset.vgtest 2012-11-08 15:45:16 +00:00 (rev 13109)
+++ trunk/memcheck/tests/linux/getregset.vgtest 2012-11-08 19:42:00 +00:00 (rev 13110)
@@ -0,0 +1,2 @@
+prog: getregset
+vgopts: -q
\ No newline at end of file
Added: trunk/memcheck/tests/linux/getregset.stderr.exp (+0 -0)
===================================================================
Added: trunk/memcheck/tests/linux/getregset.stdout.exp (+1 -0)
===================================================================
--- trunk/memcheck/tests/linux/getregset.stdout.exp 2012-11-08 15:45:16 +00:00 (rev 13109)
+++ trunk/memcheck/tests/linux/getregset.stdout.exp 2012-11-08 19:42:00 +00:00 (rev 13110)
@@ -0,0 +1 @@
+OK
Added: trunk/memcheck/tests/linux/getregset.c (+76 -0)
===================================================================
--- trunk/memcheck/tests/linux/getregset.c 2012-11-08 15:45:16 +00:00 (rev 13109)
+++ trunk/memcheck/tests/linux/getregset.c 2012-11-08 19:42:00 +00:00 (rev 13110)
@@ -0,0 +1,76 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#include <assert.h>
+#include <elf.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <sys/ptrace.h>
+#include <sys/types.h>
+#include <sys/uio.h>
+#include <sys/user.h>
+#include <sys/wait.h>
+
+static int
+err_out(const char *msg)
+{
+ perror(msg);
+ return 1;
+}
+
+static int
+non_empty(const char *buf, size_t len)
+{
+ size_t i;
+ int c;
+ volatile const char *p = buf;
+
+ for (i = 0; i != len; i++)
+ c |= p[i];
+ return c;
+}
+
+static int
+do_child(void)
+{
+ if (ptrace(PTRACE_TRACEME, 0, NULL, NULL) == -1)
+ return err_out("ptrace traceme");
+ raise(SIGUSR1);
+ return 0;
+}
+
+int
+main(void)
+{
+ char buf[1024];
+ struct iovec iov;
+ pid_t cpid, pid;
+ int status;
+
+ cpid = fork();
+ if (cpid == -1)
+ return err_out("fork");
+ if (cpid == 0)
+ return do_child();
+
+ pid = wait(&status);
+ if (pid == -1)
+ return err_out("wait");
+
+ /* Intentionally provide an uninitialized buffer to ptrace. */
+ iov.iov_len = sizeof(buf);
+ iov.iov_base = buf;
+ if (ptrace(0x4204, cpid, NT_PRSTATUS, &iov) == -1)
+ return err_out("ptrace getregset");
+
+ assert(iov.iov_base == buf);
+ assert(iov.iov_len > 0 && iov.iov_len < sizeof(buf));
+
+ /* We're assuming here that NT_PRSTATUS never contains
+ all-zeros. */
+ assert(non_empty(buf, iov.iov_len));
+ puts("OK");
+ return 0;
+}
|
|
From: <sv...@va...> - 2012-11-08 15:45:31
|
sewardj 2012-11-08 15:45:16 +0000 (Thu, 08 Nov 2012)
New Revision: 13109
Log:
Ignore ELF sections that have zero size. Fixes #309600.
(Dragos Tatulea, dra...@gm...)
Modified files:
trunk/coregrind/m_debuginfo/readelf.c
Modified: trunk/coregrind/m_debuginfo/readelf.c (+27 -21)
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2012-11-08 10:58:16 +00:00 (rev 13108)
+++ trunk/coregrind/m_debuginfo/readelf.c 2012-11-08 15:45:16 +00:00 (rev 13109)
@@ -1713,7 +1713,7 @@
UChar* name = shdr_strtab_img + shdr->sh_name;
Addr svma = shdr->sh_addr;
OffT foff = shdr->sh_offset;
- UWord size = shdr->sh_size;
+ UWord size = shdr->sh_size; /* Do not change this to be signed. */
UInt alyn = shdr->sh_addralign;
Bool bits = !(shdr->sh_type == SHT_NOBITS);
/* Look through our collection of info obtained from the PT_LOAD
@@ -1754,6 +1754,12 @@
goto out;
}
+ /* Ignore zero sized sections. */
+ if (size == 0) {
+ TRACE_SYMTAB("zero sized section \"%s\", ignoring\n", name);
+ continue;
+ }
+
# define BAD(_secname) \
do { ML_(symerr)(di, True, \
"Can't make sense of " _secname \
@@ -1770,7 +1776,7 @@
/* Accept .text where mapped as rx (code), even if zero-sized */
if (0 == VG_(strcmp)(name, ".text")) {
- if (inrx && size >= 0 && !di->text_present) {
+ if (inrx && !di->text_present) {
di->text_present = True;
di->text_svma = svma;
di->text_avma = svma + inrx->bias;
@@ -1792,7 +1798,7 @@
/* Accept .data where mapped as rw (data), even if zero-sized */
if (0 == VG_(strcmp)(name, ".data")) {
- if (inrw && size >= 0 && !di->data_present) {
+ if (inrw && !di->data_present) {
di->data_present = True;
di->data_svma = svma;
di->data_avma = svma + inrw->bias;
@@ -1814,7 +1820,7 @@
/* Accept .sdata where mapped as rw (data) */
if (0 == VG_(strcmp)(name, ".sdata")) {
- if (inrw && size > 0 && !di->sdata_present) {
+ if (inrw && !di->sdata_present) {
di->sdata_present = True;
di->sdata_svma = svma;
di->sdata_avma = svma + inrw->bias;
@@ -1836,7 +1842,7 @@
/* Accept .rodata where mapped as rx (data), even if zero-sized */
if (0 == VG_(strcmp)(name, ".rodata")) {
- if (inrx && size >= 0 && !di->rodata_present) {
+ if (inrx && !di->rodata_present) {
di->rodata_present = True;
di->rodata_svma = svma;
di->rodata_avma = svma + inrx->bias;
@@ -1858,7 +1864,7 @@
}
if (0 == VG_(strcmp)(name, ".dynbss")) {
- if (inrw && size > 0 && !di->bss_present) {
+ if (inrw && !di->bss_present) {
dynbss_present = True;
di->bss_present = True;
di->bss_svma = svma;
@@ -1879,7 +1885,7 @@
/* Accept .bss where mapped as rw (data), even if zero-sized */
if (0 == VG_(strcmp)(name, ".bss")) {
- if (inrw && size > 0 && dynbss_present) {
+ if (inrw && dynbss_present) {
vg_assert(di->bss_present);
dynbss_present = False;
vg_assert(di->bss_svma + di->bss_size == svma);
@@ -1891,7 +1897,7 @@
TRACE_SYMTAB("acquiring .bss bias = %#lx\n", di->bss_bias);
} else
- if (inrw && size >= 0 && !di->bss_present) {
+ if (inrw && !di->bss_present) {
di->bss_present = True;
di->bss_svma = svma;
di->bss_avma = svma + inrw->bias;
@@ -1909,7 +1915,7 @@
} else
/* Now one from the wtf?! department ... */
- if (inrx && (!inrw) && size >= 0 && !di->bss_present) {
+ if (inrx && (!inrw) && !di->bss_present) {
/* File contains a .bss, but it got mapped as rx only.
This is very strange. For now, just pretend we didn't
see it :-) */
@@ -1930,7 +1936,7 @@
}
} else
- if ((!inrw) && (!inrx) && size >= 0 && !di->bss_present) {
+ if ((!inrw) && (!inrx) && !di->bss_present) {
/* File contains a .bss, but it didn't get mapped. Ignore. */
di->bss_present = False;
di->bss_svma = 0;
@@ -1943,7 +1949,7 @@
}
if (0 == VG_(strcmp)(name, ".sdynbss")) {
- if (inrw && size >= 0 && !di->sbss_present) {
+ if (inrw && !di->sbss_present) {
sdynbss_present = True;
di->sbss_present = True;
di->sbss_svma = svma;
@@ -1964,7 +1970,7 @@
/* Accept .sbss where mapped as rw (data) */
if (0 == VG_(strcmp)(name, ".sbss")) {
- if (inrw && size > 0 && sdynbss_present) {
+ if (inrw && sdynbss_present) {
vg_assert(di->sbss_present);
sdynbss_present = False;
vg_assert(di->sbss_svma + di->sbss_size == svma);
@@ -1976,7 +1982,7 @@
TRACE_SYMTAB("acquiring .sbss bias = %#lx\n", di->sbss_bias);
} else
- if (inrw && size > 0 && !di->sbss_present) {
+ if (inrw && !di->sbss_present) {
di->sbss_present = True;
di->sbss_svma = svma;
di->sbss_avma = svma + inrw->bias;
@@ -1998,7 +2004,7 @@
/* Accept .got where mapped as rw (data) */
if (0 == VG_(strcmp)(name, ".got")) {
- if (inrw && size > 0 && !di->got_present) {
+ if (inrw && !di->got_present) {
di->got_present = True;
di->got_avma = svma + inrw->bias;
di->got_size = size;
@@ -2010,7 +2016,7 @@
/* Accept .got.plt where mapped as rw (data) */
if (0 == VG_(strcmp)(name, ".got.plt")) {
- if (inrw && size > 0 && !di->gotplt_present) {
+ if (inrw && !di->gotplt_present) {
di->gotplt_present = True;
di->gotplt_avma = svma + inrw->bias;
di->gotplt_size = size;
@@ -2026,7 +2032,7 @@
|| defined(VGP_mips32_linux)
/* Accept .plt where mapped as rx (code) */
if (0 == VG_(strcmp)(name, ".plt")) {
- if (inrx && size > 0 && !di->plt_present) {
+ if (inrx && !di->plt_present) {
di->plt_present = True;
di->plt_avma = svma + inrx->bias;
di->plt_size = size;
@@ -2038,7 +2044,7 @@
# elif defined(VGP_ppc32_linux)
/* Accept .plt where mapped as rw (data) */
if (0 == VG_(strcmp)(name, ".plt")) {
- if (inrw && size > 0 && !di->plt_present) {
+ if (inrw && !di->plt_present) {
di->plt_present = True;
di->plt_avma = svma + inrw->bias;
di->plt_size = size;
@@ -2050,7 +2056,7 @@
# elif defined(VGP_ppc64_linux)
/* Accept .plt where mapped as rw (data), or unmapped */
if (0 == VG_(strcmp)(name, ".plt")) {
- if (inrw && size > 0 && !di->plt_present) {
+ if (inrw && !di->plt_present) {
di->plt_present = True;
di->plt_avma = svma + inrw->bias;
di->plt_size = size;
@@ -2073,7 +2079,7 @@
/* Accept .opd where mapped as rw (data) */
if (0 == VG_(strcmp)(name, ".opd")) {
- if (inrw && size > 0 && !di->opd_present) {
+ if (inrw && !di->opd_present) {
di->opd_present = True;
di->opd_avma = svma + inrw->bias;
di->opd_size = size;
@@ -2088,14 +2094,14 @@
rw (data) instead. We can handle up to N_EHFRAME_SECTS per
ELF object. */
if (0 == VG_(strcmp)(name, ".eh_frame")) {
- if (inrx && size > 0 && di->n_ehframe < N_EHFRAME_SECTS) {
+ if (inrx && di->n_ehframe < N_EHFRAME_SECTS) {
di->ehframe_avma[di->n_ehframe] = svma + inrx->bias;
di->ehframe_size[di->n_ehframe] = size;
TRACE_SYMTAB("acquiring .eh_frame avma = %#lx\n",
di->ehframe_avma[di->n_ehframe]);
di->n_ehframe++;
} else
- if (inrw && size > 0 && di->n_ehframe < N_EHFRAME_SECTS) {
+ if (inrw && di->n_ehframe < N_EHFRAME_SECTS) {
di->ehframe_avma[di->n_ehframe] = svma + inrw->bias;
di->ehframe_size[di->n_ehframe] = size;
TRACE_SYMTAB("acquiring .eh_frame avma = %#lx\n",
|
|
From: Rich C. <rc...@wi...> - 2012-11-08 13:40:54
|
valgrind revision: 13107
VEX revision: 2558
C compiler: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646) (dot 1)
Assembler:
C library: unknown
uname -mrs: Darwin 10.8.0 i386
Vendor version: unknown
Nightly build on macamd64 ( Darwin 10.8.0 i386 )
Started at 2012-11-08 00:35:00 CST
Ended at 2012-11-08 07:40:29 CST
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 545 tests, 93 stderr failures, 17 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/accounting (stderr)
memcheck/tests/amd64/more_x87_fp (stdout)
memcheck/tests/badpoll (stderr)
memcheck/tests/big_blocks_freed_list (stderr)
memcheck/tests/bug287260 (stderr)
memcheck/tests/darwin/aio (stderr)
memcheck/tests/darwin/pth-supp (stderr)
memcheck/tests/darwin/scalar (stderr)
memcheck/tests/darwin/scalar_nocancel (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/leak-segv-jmp (stderr)
memcheck/tests/memcmptest (stderr)
memcheck/tests/mismatches (stderr)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/overlap (stdout)
memcheck/tests/overlap (stderr)
memcheck/tests/post-syscall (stderr)
memcheck/tests/sem (stderr)
memcheck/tests/strchr (stderr)
memcheck/tests/test-plo-no (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo5 (stderr)
memcheck/tests/vbit-test/vbit-test (stderr)
memcheck/tests/vcpu_fnfns (stdout)
memcheck/tests/writev1 (stderr)
massif/tests/pages_as_heap (stderr)
none/tests/allexec32 (stdout)
none/tests/allexec32 (stderr)
none/tests/allexec64 (stdout)
none/tests/allexec64 (stderr)
none/tests/amd64/bug137714-amd64 (stdout)
none/tests/amd64/bug137714-amd64 (stderr)
none/tests/amd64/bug156404-amd64 (stdout)
none/tests/amd64/bug156404-amd64 (stderr)
none/tests/amd64/fcmovnu (stdout)
none/tests/amd64/fcmovnu (stderr)
none/tests/amd64/fxtract (stdout)
none/tests/amd64/fxtract (stderr)
none/tests/amd64/jrcxz (stdout)
none/tests/amd64/jrcxz (stderr)
none/tests/amd64/looper (stdout)
none/tests/amd64/looper (stderr)
none/tests/amd64/loopnel (stdout)
none/tests/amd64/loopnel (stderr)
none/tests/amd64/shrld (stdout)
none/tests/amd64/shrld (stderr)
none/tests/amd64/slahf-amd64 (stdout)
none/tests/amd64/slahf-amd64 (stderr)
none/tests/async-sigs (stderr)
none/tests/execve (stderr)
none/tests/faultstatus (stderr)
none/tests/fdleak_cmsg (stderr)
none/tests/manythreads (stdout)
none/tests/manythreads (stderr)
none/tests/mmap_fcntl_bug (stderr)
none/tests/pth_blockedsig (stderr)
none/tests/pth_exit (stderr)
none/tests/require-text-symbol-2 (stderr)
none/tests/rlimit64_nofile (stderr)
none/tests/syscall-restart1 (stderr)
none/tests/thread-exits (stdout)
none/tests/thread-exits (stderr)
none/tests/x86/cse_fail (stdout)
none/tests/x86/cse_fail (stderr)
helgrind/tests/annotate_hbefore (stderr)
helgrind/tests/annotate_rwlock (stderr)
helgrind/tests/annotate_smart_pointer (stderr)
helgrind/tests/cond_timedwait_invalid (stderr)
helgrind/tests/free_is_write (stderr)
helgrind/tests/hg01_all_ok (stderr)
helgrind/tests/hg02_deadlock (stderr)
helgrind/tests/hg03_inherit (stderr)
helgrind/tests/hg04_race (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/hg06_readshared (stderr)
helgrind/tests/locked_vs_unlocked1_fwd (stderr)
helgrind/tests/locked_vs_unlocked1_rev (stderr)
helgrind/tests/locked_vs_unlocked2 (stderr)
helgrind/tests/locked_vs_unlocked3 (stderr)
helgrind/tests/pth_destroy_cond (stderr)
helgrind/tests/rwlock_race (stderr)
helgrind/tests/rwlock_test (stderr)
helgrind/tests/t2t_laog (stderr)
helgrind/tests/tc01_simple_race (stderr)
helgrind/tests/tc02_simple_tls (stderr)
helgrind/tests/tc03_re_excl (stderr)
helgrind/tests/tc04_free_lock (stderr)
helgrind/tests/tc05_simple_race (stderr)
helgrind/tests/tc06_two_races (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc07_hbl1 (stderr)
helgrind/tests/tc08_hbl2 (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc10_rec_lock (stderr)
helgrind/tests/tc11_XCHG (stderr)
helgrind/tests/tc12_rwl_trivial (stderr)
helgrind/tests/tc13_laog1 (stderr)
helgrind/tests/tc14_laog_dinphils (stderr)
helgrind/tests/tc15_laog_lockdel (stderr)
helgrind/tests/tc16_byterace (stderr)
helgrind/tests/tc17_sembar (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc19_shadowmem (stderr)
helgrind/tests/tc21_pthonce (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
helgrind/tests/tc24_nonzero_sem (stderr)
drd/tests/annotate_barrier_xml (stderr)
drd/tests/annotate_smart_pointer2 (stderr)
drd/tests/hg03_inherit (stderr)
drd/tests/sem_wait (stderr)
=================================================
./valgrind-new/drd/tests/annotate_barrier_xml.stderr.diff
=================================================
--- annotate_barrier_xml.stderr.exp 2012-11-08 07:20:18.000000000 -0600
+++ annotate_barrier_xml.stderr.out 2012-11-08 07:37:06.000000000 -0600
@@ -188,7 +188,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
</stack>
<auxwhat>Address 0x........ is at offset 0 from 0x.........</auxwhat>
=================================================
./valgrind-new/drd/tests/annotate_smart_pointer2.stderr.diff
=================================================
--- annotate_smart_pointer2.stderr.exp 2012-11-08 07:20:18.000000000 -0600
+++ annotate_smart_pointer2.stderr.out 2012-11-08 07:37:57.000000000 -0600
@@ -5,7 +5,8 @@
by 0x........: smart_ptr<counter>::operator=(counter*) (annotate_smart_pointer.cpp:?)
by 0x........: main (annotate_smart_pointer.cpp:?)
Address 0x........ is at offset ... from 0x......... Allocation context:
- at 0x........: ...operator new... (vg_replace_malloc.c:...)
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
by 0x........: main (annotate_smart_pointer.cpp:?)
Done.
=================================================
./valgrind-new/drd/tests/hg03_inherit.stderr.diff
=================================================
--- hg03_inherit.stderr.exp 2012-11-08 07:20:18.000000000 -0600
+++ hg03_inherit.stderr.out 2012-11-08 07:38:22.000000000 -0600
@@ -12,5 +12,10 @@
Location 0x........ is 0 bytes inside shared[1],
declared at hg03_inherit.c:11, in frame #? of thread 3
+Conflicting load by thread 3 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: _pthread_free_pthread_onstack (in /...libc...)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+
+ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/sem_wait.stderr.diff
=================================================
--- sem_wait.stderr.exp 2012-11-08 07:20:18.000000000 -0600
+++ sem_wait.stderr.out 2012-11-08 07:39:16.000000000 -0600
@@ -1,5 +1,8 @@
-Calling sem_trywait
-Wait would have blocked
+sem_init() is not yet supported on Darwin
+ at 0x........: sem_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (sem_wait.cpp:?)
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+sem_init failed: Function not implemented
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/annotate_hbefore.stderr.diff
=================================================
--- annotate_hbefore.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ annotate_hbefore.stderr.out 2012-11-08 07:35:36.000000000 -0600
@@ -0,0 +1,869 @@
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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 (annotate_hbefore.c:333)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:333)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:333)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:333)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:333)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:334)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
+ ...
+
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/annotate_rwlock.stderr.diff
=================================================
--- annotate_rwlock.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ annotate_rwlock.stderr.out 2012-11-08 07:35:38.000000000 -0600
@@ -1,17 +1,132 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
+ ...
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/annotate_smart_pointer.stderr.diff
=================================================
--- annotate_smart_pointer.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ annotate_smart_pointer.stderr.out 2012-11-08 07:35:41.000000000 -0600
@@ -1,4 +1,944 @@
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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........: Thread::Create(void* (*)(void*), void*) (annotate_smart_pointer.cpp:145)
+ by 0x........: main (annotate_smart_pointer.cpp:319)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: Thread::Create(void* (*)(void*), void*) (annotate_smart_pointer.cpp:145)
+ by 0x........: main (annotate_smart_pointer.cpp:319)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: Thread::Create(void* (*)(void*), void*) (annotate_smart_pointer.cpp:145)
+ by 0x........: main (annotate_smart_pointer.cpp:319)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: Thread::Create(void* (*)(void*), void*) (annotate_smart_pointer.cpp:145)
+ by 0x........: main (annotate_smart_pointer.cpp:319)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: Thread::Create(void* (*)(void*), void*) (annotate_smart_pointer.cpp:145)
+ by 0x........: main (annotate_smart_pointer.cpp:319)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/cond_timedwait_invalid.stderr.diff
=================================================
--- cond_timedwait_invalid.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ cond_timedwait_invalid.stderr.out 2012-11-08 07:35:42.000000000 -0600
@@ -5,11 +5,31 @@
----------------------------------------------------------------
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
Thread #x's call to pthread_cond_timedwait failed
with error code 22 (EINVAL: Invalid argument)
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ by 0x........: pthread_cond_timedwait (hg_intercepts.c:...)
by 0x........: main (cond_timedwait_invalid.c:22)
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/free_is_write.stderr.diff
=================================================
--- free_is_write.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ free_is_write.stderr.out 2012-11-08 07:35:44.000000000 -0600
@@ -1,16 +1,192 @@
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
Start.
---Thread-Announcement------------------------------------------
Thread #x was created
...
by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
by 0x........: main (free_is_write.c:32)
----Thread-Announcement------------------------------------------
+----------------------------------------------------------------
-Thread #x is the program's root thread
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (free_is_write.c:32)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (free_is_write.c:32)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (free_is_write.c:32)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (free_is_write.c:32)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_join_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (free_is_write.c:39)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg01_all_ok.stderr.diff
=================================================
--- hg01_all_ok.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ hg01_all_ok.stderr.out 2012-11-08 07:35:44.000000000 -0600
@@ -1,3 +1,990 @@
+---Thread-Announcement------------------------------------------
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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 (hg01_all_ok.c:25)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:25)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:25)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:25)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:25)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:26)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg02_deadlock.stderr.diff
=================================================
--- hg02_deadlock.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ hg02_deadlock.stderr.out 2012-11-08 07:35:45.000000000 -0600
@@ -1,14 +1,275 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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 (hg02_deadlock.c:35)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:35)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:35)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:35)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:35)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:36)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
+ ...
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg03_inherit.stderr.diff
=================================================
--- hg03_inherit.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ hg03_inherit.stderr.out 2012-11-08 07:35:49.000000000 -0600
@@ -1,15 +1,508 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:44)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:44)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:44)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:44)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:44)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:46)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg04_race.stderr.diff
=================================================
--- hg04_race.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ hg04_race.stderr.out 2012-11-08 07:35:50.000000000 -0600
@@ -1,19 +1,238 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg04_race.c:19)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg04_race.c:19)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg04_race.c:19)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg04_race.c:19)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg04_race.c:19)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ hg05_race2.stderr.out 2012-11-08 07:35:52.000000000 -0600
@@ -1,19 +1,238 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg05_race2.c:27)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg05_race2.c:27)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg05_race2.c:27)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg05_race2.c:27)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg05_race2.c:27)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg06_readshared.stderr.diff
=================================================
--- hg06_readshared.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ hg06_readshared.stderr.out 2012-11-08 07:35:53.000000000 -0600
@@ -1,3 +1,755 @@
+---Thread-Announcement------------------------------------------
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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 (hg06_readshared.c:24)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:24)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:24)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:24)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:24)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:25)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked1_fwd.stderr.diff
=================================================
--- locked_vs_unlocked1_fwd.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ locked_vs_unlocked1_fwd.stderr.out 2012-11-08 07:35:54.000000000 -0600
@@ -1,18 +1,241 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked1_rev.stderr.diff
=================================================
--- locked_vs_unlocked1_rev.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ locked_vs_unlocked1_rev.stderr.out 2012-11-08 07:35:56.000000000 -0600
@@ -1,18 +1,237 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked2.stderr.diff
=================================================
--- locked_vs_unlocked2.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ locked_vs_unlocked2.stderr.out 2012-11-08 07:35:58.000000000 -0600
@@ -1,17 +1,272 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked2.c:61)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked2.c:61)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked2.c:61)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
by 0x........: main (locked_vs_unlocked2.c:61)
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked2.c:61)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked2.c:62)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
+ ...
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked3.stderr.diff
=================================================
--- locked_vs_unlocked3.stderr.exp 2012-11-08 07:20:01.000000000 -0600
+++ locked_vs_unlocked3.stderr.out 2012-11-08 07:35:59.000000000 -0600
@@ -1,21 +1,259 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (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........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked3.c:53)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
[ truncated ... over 100000 chars ]
|
|
From: <sv...@va...> - 2012-11-08 10:58:27
|
sewardj 2012-11-08 10:58:16 +0000 (Thu, 08 Nov 2012)
New Revision: 13108
Log:
Improve accuracy of definedness tracking through the x86 PMOVMSKB and
BSF instructions, as the lack of it causes false positives (Valgrind
side). Fixes #308627. (Patrick J. LoPresti <lop...@gm...>)
Modified files:
trunk/memcheck/mc_translate.c
trunk/memcheck/tests/vbit-test/irops.c
Modified: trunk/memcheck/mc_translate.c (+83 -4)
===================================================================
--- trunk/memcheck/mc_translate.c 2012-11-07 13:42:36 +00:00 (rev 13107)
+++ trunk/memcheck/mc_translate.c 2012-11-08 10:58:16 +00:00 (rev 13108)
@@ -887,6 +887,15 @@
tl_assert(sameKindedAtoms(vyy,yy));
switch (ty) {
+ case Ity_I16:
+ opOR = Iop_Or16;
+ opDIFD = Iop_And16;
+ opUIFU = Iop_Or16;
+ opNOT = Iop_Not16;
+ opXOR = Iop_Xor16;
+ opCMP = Iop_CmpEQ16;
+ top = mkU16(0xFFFF);
+ break;
case Ity_I32:
opOR = Iop_Or32;
opDIFD = Iop_And32;
@@ -1793,6 +1802,60 @@
}
+static
+IRAtom* expensiveCountTrailingZeroes ( MCEnv* mce, IROp czop,
+ IRAtom* atom, IRAtom* vatom )
+{
+ IRType ty;
+ IROp xorOp, subOp, andOp;
+ IRExpr *one;
+ IRAtom *improver, *improved;
+ tl_assert(isShadowAtom(mce,vatom));
+ tl_assert(isOriginalAtom(mce,atom));
+ tl_assert(sameKindedAtoms(atom,vatom));
+
+ switch (czop) {
+ case Iop_Ctz32:
+ ty = Ity_I32;
+ xorOp = Iop_Xor32;
+ subOp = Iop_Sub32;
+ andOp = Iop_And32;
+ one = mkU32(1);
+ break;
+ case Iop_Ctz64:
+ ty = Ity_I64;
+ xorOp = Iop_Xor64;
+ subOp = Iop_Sub64;
+ andOp = Iop_And64;
+ one = mkU64(1);
+ break;
+ default:
+ ppIROp(czop);
+ VG_(tool_panic)("memcheck:expensiveCountTrailingZeroes");
+ }
+
+ // improver = atom ^ (atom - 1)
+ //
+ // That is, improver has its low ctz(atom) bits equal to one;
+ // higher bits (if any) equal to zero.
+ improver = assignNew('V', mce,ty,
+ binop(xorOp,
+ atom,
+ assignNew('V', mce, ty,
+ binop(subOp, atom, one))));
+
+ // improved = vatom & improver
+ //
+ // That is, treat any V bits above the first ctz(atom) bits as
+ // "defined".
+ improved = assignNew('V', mce, ty,
+ binop(andOp, vatom, improver));
+
+ // Return pessimizing cast of improved.
+ return mkPCastTo(mce, ty, improved);
+}
+
+
/*------------------------------------------------------------*/
/*--- Scalar shifts. ---*/
/*------------------------------------------------------------*/
@@ -3426,9 +3489,14 @@
case Iop_CmpEQ64:
case Iop_CmpNE64:
if (mce->bogusLiterals)
- return expensiveCmpEQorNE(mce,Ity_I64, vatom1,vatom2, atom1,atom2 );
+ goto expensive_cmp64;
else
goto cheap_cmp64;
+
+ expensive_cmp64:
+ case Iop_ExpCmpNE64:
+ return expensiveCmpEQorNE(mce,Ity_I64, vatom1,vatom2, atom1,atom2 );
+
cheap_cmp64:
case Iop_CmpLE64S: case Iop_CmpLE64U:
case Iop_CmpLT64U: case Iop_CmpLT64S:
@@ -3437,9 +3505,14 @@
case Iop_CmpEQ32:
case Iop_CmpNE32:
if (mce->bogusLiterals)
- return expensiveCmpEQorNE(mce,Ity_I32, vatom1,vatom2, atom1,atom2 );
+ goto expensive_cmp32;
else
goto cheap_cmp32;
+
+ expensive_cmp32:
+ case Iop_ExpCmpNE32:
+ return expensiveCmpEQorNE(mce,Ity_I32, vatom1,vatom2, atom1,atom2 );
+
cheap_cmp32:
case Iop_CmpLE32S: case Iop_CmpLE32U:
case Iop_CmpLT32U: case Iop_CmpLT32S:
@@ -3448,6 +3521,9 @@
case Iop_CmpEQ16: case Iop_CmpNE16:
return mkPCastTo(mce, Ity_I1, mkUifU16(mce, vatom1,vatom2));
+ case Iop_ExpCmpNE16:
+ return expensiveCmpEQorNE(mce,Ity_I16, vatom1,vatom2, atom1,atom2 );
+
case Iop_CmpEQ8: case Iop_CmpNE8:
return mkPCastTo(mce, Ity_I1, mkUifU8(mce, vatom1,vatom2));
@@ -3635,7 +3711,6 @@
case Iop_RoundF64toF64_PosINF:
case Iop_RoundF64toF64_ZERO:
case Iop_Clz64:
- case Iop_Ctz64:
case Iop_D32toD64:
case Iop_ExtractExpD64: /* D64 -> I64 */
case Iop_ExtractExpD128: /* D128 -> I64 */
@@ -3647,12 +3722,15 @@
return mkPCastTo(mce, Ity_I128, vatom);
case Iop_Clz32:
- case Iop_Ctz32:
case Iop_TruncF64asF32:
case Iop_NegF32:
case Iop_AbsF32:
return mkPCastTo(mce, Ity_I32, vatom);
+ case Iop_Ctz32:
+ case Iop_Ctz64:
+ return expensiveCountTrailingZeroes(mce, op, atom, vatom);
+
case Iop_1Uto64:
case Iop_1Sto64:
case Iop_8Uto64:
@@ -3702,6 +3780,7 @@
case Iop_16HIto8:
case Iop_32to8:
case Iop_64to8:
+ case Iop_GetMSBs8x8:
return assignNew('V', mce, Ity_I8, unop(op, vatom));
case Iop_32to1:
Modified: trunk/memcheck/tests/vbit-test/irops.c (+6 -0)
===================================================================
--- trunk/memcheck/tests/vbit-test/irops.c 2012-11-07 13:42:36 +00:00 (rev 13107)
+++ trunk/memcheck/tests/vbit-test/irops.c 2012-11-08 10:58:16 +00:00 (rev 13108)
@@ -62,10 +62,15 @@
{ DEFOP(Iop_CasCmpEQ16, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
{ DEFOP(Iop_CasCmpEQ32, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
{ DEFOP(Iop_CasCmpEQ64, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+
{ DEFOP(Iop_CasCmpNE8, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
{ DEFOP(Iop_CasCmpNE16, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
{ DEFOP(Iop_CasCmpNE32, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
{ DEFOP(Iop_CasCmpNE64, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_ExpCmpNE8, UNDEF_UNKNOWN), }, // exact (expensive) equality
+ { DEFOP(Iop_ExpCmpNE16, UNDEF_UNKNOWN), }, // exact (expensive) equality
+ { DEFOP(Iop_ExpCmpNE32, UNDEF_UNKNOWN), }, // exact (expensive) equality
+ { DEFOP(Iop_ExpCmpNE64, UNDEF_UNKNOWN), }, // exact (expensive) equality
{ DEFOP(Iop_MullS8, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
{ DEFOP(Iop_MullS16, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
{ DEFOP(Iop_MullS32, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
@@ -468,6 +473,7 @@
{ DEFOP(Iop_Reverse64_16x4, UNDEF_UNKNOWN), },
{ DEFOP(Iop_Reverse64_32x2, UNDEF_UNKNOWN), },
{ DEFOP(Iop_Perm8x8, UNDEF_UNKNOWN), },
+ { DEFOP(Iop_GetMSBs8x8, UNDEF_UNKNOWN), },
{ DEFOP(Iop_Recip32x2, UNDEF_UNKNOWN), },
{ DEFOP(Iop_Rsqrte32x2, UNDEF_UNKNOWN), },
/* ------------------ Decimal Floating Point ------------------ */
|
|
From: <sv...@va...> - 2012-11-08 10:57:23
|
sewardj 2012-11-08 10:57:08 +0000 (Thu, 08 Nov 2012)
New Revision: 2559
Log:
Improve accuracy of definedness tracking through the x86 PMOVMSKB and
BSF instructions, as the lack of it causes false positives (VEX side).
Fixes #308627. Combined efforts of Patrick J. LoPresti
<lop...@gm...> and me.
Modified files:
trunk/priv/guest_amd64_defs.h
trunk/priv/guest_amd64_helpers.c
trunk/priv/guest_amd64_toIR.c
trunk/priv/guest_x86_defs.h
trunk/priv/guest_x86_helpers.c
trunk/priv/guest_x86_toIR.c
trunk/priv/host_amd64_isel.c
trunk/priv/host_generic_simd64.c
trunk/priv/host_generic_simd64.h
trunk/priv/host_x86_isel.c
trunk/priv/ir_defs.c
trunk/priv/ir_opt.c
trunk/pub/libvex_ir.h
Modified: trunk/priv/ir_defs.c (+8 -4)
===================================================================
--- trunk/priv/ir_defs.c 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/ir_defs.c 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -147,6 +147,8 @@
str = "CasCmpEQ"; base = Iop_CasCmpEQ8; break;
case Iop_CasCmpNE8 ... Iop_CasCmpNE64:
str = "CasCmpNE"; base = Iop_CasCmpNE8; break;
+ case Iop_ExpCmpNE8 ... Iop_ExpCmpNE64:
+ str = "ExpCmpNE"; base = Iop_ExpCmpNE8; break;
case Iop_Not8 ... Iop_Not64:
str = "Not"; base = Iop_Not8; break;
/* other cases must explicitly "return;" */
@@ -581,6 +583,7 @@
case Iop_Reverse64_16x4: vex_printf("Reverse64_16x4"); return;
case Iop_Reverse64_32x2: vex_printf("Reverse64_32x2"); return;
case Iop_Abs32Fx2: vex_printf("Abs32Fx2"); return;
+ case Iop_GetMSBs8x8: vex_printf("GetMSBs8x8"); return;
case Iop_CmpNEZ32x2: vex_printf("CmpNEZ32x2"); return;
case Iop_CmpNEZ16x4: vex_printf("CmpNEZ16x4"); return;
@@ -2271,18 +2274,18 @@
UNARY(Ity_I64, Ity_I64);
case Iop_CmpEQ8: case Iop_CmpNE8:
- case Iop_CasCmpEQ8: case Iop_CasCmpNE8:
+ case Iop_CasCmpEQ8: case Iop_CasCmpNE8: case Iop_ExpCmpNE8:
COMPARISON(Ity_I8);
case Iop_CmpEQ16: case Iop_CmpNE16:
- case Iop_CasCmpEQ16: case Iop_CasCmpNE16:
+ case Iop_CasCmpEQ16: case Iop_CasCmpNE16: case Iop_ExpCmpNE16:
COMPARISON(Ity_I16);
case Iop_CmpEQ32: case Iop_CmpNE32:
- case Iop_CasCmpEQ32: case Iop_CasCmpNE32:
+ case Iop_CasCmpEQ32: case Iop_CasCmpNE32: case Iop_ExpCmpNE32:
case Iop_CmpLT32S: case Iop_CmpLE32S:
case Iop_CmpLT32U: case Iop_CmpLE32U:
COMPARISON(Ity_I32);
case Iop_CmpEQ64: case Iop_CmpNE64:
- case Iop_CasCmpEQ64: case Iop_CasCmpNE64:
+ case Iop_CasCmpEQ64: case Iop_CasCmpNE64: case Iop_ExpCmpNE64:
case Iop_CmpLT64S: case Iop_CmpLE64S:
case Iop_CmpLT64U: case Iop_CmpLE64U:
COMPARISON(Ity_I64);
@@ -2296,6 +2299,7 @@
case Iop_Left16: UNARY(Ity_I16,Ity_I16);
case Iop_CmpwNEZ32: case Iop_Left32: UNARY(Ity_I32,Ity_I32);
case Iop_CmpwNEZ64: case Iop_Left64: UNARY(Ity_I64,Ity_I64);
+ case Iop_GetMSBs8x8: UNARY(Ity_I64, Ity_I8);
case Iop_MullU8: case Iop_MullS8:
BINARY(Ity_I8,Ity_I8, Ity_I16);
Modified: trunk/priv/guest_amd64_defs.h (+0 -2)
===================================================================
--- trunk/priv/guest_amd64_defs.h 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/guest_amd64_defs.h 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -141,8 +141,6 @@
extern ULong amd64g_calculate_mmx_pmaddwd ( ULong, ULong );
extern ULong amd64g_calculate_mmx_psadbw ( ULong, ULong );
-extern ULong amd64g_calculate_mmx_pmovmskb ( ULong );
-extern ULong amd64g_calculate_sse_pmovmskb ( ULong w64hi, ULong w64lo );
extern ULong amd64g_calculate_sse_phminposuw ( ULong sLo, ULong sHi );
Modified: trunk/priv/host_amd64_isel.c (+24 -3)
===================================================================
--- trunk/priv/host_amd64_isel.c 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/host_amd64_isel.c 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -791,7 +791,7 @@
This should handle expressions of 64, 32, 16 and 8-bit type. All
results are returned in a 64-bit register. For 32-, 16- and 8-bit
- expressions, the upper 32/16/24 bits are arbitrary, so you should
+ expressions, the upper 32/48/56 bits are arbitrary, so you should
mask or sign extend partial values if necessary.
*/
@@ -1586,6 +1586,25 @@
/* These are no-ops. */
return iselIntExpr_R(env, e->Iex.Unop.arg);
+ case Iop_GetMSBs8x8: {
+ /* Note: the following assumes the helper is of
+ signature
+ UInt fn ( ULong ), and is not a regparm fn.
+ */
+ HReg dst = newVRegI(env);
+ HReg arg = iselIntExpr_R(env, e->Iex.Unop.arg);
+ fn = (HWord)h_generic_calc_GetMSBs8x8;
+ addInstr(env, mk_iMOVsd_RR(arg, hregAMD64_RDI()) );
+ addInstr(env, AMD64Instr_Call( Acc_ALWAYS, (ULong)fn, 1 ));
+ /* MovxLQ is not exactly the right thing here. We just
+ need to get the bottom 8 bits of RAX into dst, and zero
+ out everything else. Assuming that the helper returns
+ a UInt with the top 24 bits zeroed out, it'll do,
+ though. */
+ addInstr(env, AMD64Instr_MovxLQ(False, hregAMD64_RAX(), dst));
+ return dst;
+ }
+
default:
break;
}
@@ -2223,13 +2242,15 @@
|| e->Iex.Binop.op == Iop_CmpLE64S
|| e->Iex.Binop.op == Iop_CmpLE64U
|| e->Iex.Binop.op == Iop_CasCmpEQ64
- || e->Iex.Binop.op == Iop_CasCmpNE64)) {
+ || e->Iex.Binop.op == Iop_CasCmpNE64
+ || e->Iex.Binop.op == Iop_ExpCmpNE64)) {
HReg r1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
AMD64RMI* rmi2 = iselIntExpr_RMI(env, e->Iex.Binop.arg2);
addInstr(env, AMD64Instr_Alu64R(Aalu_CMP,rmi2,r1));
switch (e->Iex.Binop.op) {
case Iop_CmpEQ64: case Iop_CasCmpEQ64: return Acc_Z;
- case Iop_CmpNE64: case Iop_CasCmpNE64: return Acc_NZ;
+ case Iop_CmpNE64:
+ case Iop_CasCmpNE64: case Iop_ExpCmpNE64: return Acc_NZ;
case Iop_CmpLT64S: return Acc_L;
case Iop_CmpLT64U: return Acc_B;
case Iop_CmpLE64S: return Acc_LE;
Modified: trunk/priv/guest_x86_helpers.c (+0 -23)
===================================================================
--- trunk/priv/guest_x86_helpers.c 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/guest_x86_helpers.c 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -2514,21 +2514,6 @@
}
/* CALLED FROM GENERATED CODE: CLEAN HELPER */
-UInt x86g_calculate_mmx_pmovmskb ( ULong xx )
-{
- UInt r = 0;
- if (xx & (1ULL << (64-1))) r |= (1<<7);
- if (xx & (1ULL << (56-1))) r |= (1<<6);
- if (xx & (1ULL << (48-1))) r |= (1<<5);
- if (xx & (1ULL << (40-1))) r |= (1<<4);
- if (xx & (1ULL << (32-1))) r |= (1<<3);
- if (xx & (1ULL << (24-1))) r |= (1<<2);
- if (xx & (1ULL << (16-1))) r |= (1<<1);
- if (xx & (1ULL << ( 8-1))) r |= (1<<0);
- return r;
-}
-
-/* CALLED FROM GENERATED CODE: CLEAN HELPER */
ULong x86g_calculate_mmx_psadbw ( ULong xx, ULong yy )
{
UInt t = 0;
@@ -2544,15 +2529,7 @@
return (ULong)t;
}
-/* CALLED FROM GENERATED CODE: CLEAN HELPER */
-UInt x86g_calculate_sse_pmovmskb ( ULong w64hi, ULong w64lo )
-{
- UInt rHi8 = x86g_calculate_mmx_pmovmskb ( w64hi );
- UInt rLo8 = x86g_calculate_mmx_pmovmskb ( w64lo );
- return ((rHi8 & 0xFF) << 8) | (rLo8 & 0xFF);
-}
-
/*---------------------------------------------------------------*/
/*--- Helpers for dealing with segment overrides. ---*/
/*---------------------------------------------------------------*/
Modified: trunk/priv/guest_amd64_helpers.c (+0 -23)
===================================================================
--- trunk/priv/guest_amd64_helpers.c 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/guest_amd64_helpers.c 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -2998,21 +2998,6 @@
}
/* CALLED FROM GENERATED CODE: CLEAN HELPER */
-ULong amd64g_calculate_mmx_pmovmskb ( ULong xx )
-{
- ULong r = 0;
- if (xx & (1ULL << (64-1))) r |= (1<<7);
- if (xx & (1ULL << (56-1))) r |= (1<<6);
- if (xx & (1ULL << (48-1))) r |= (1<<5);
- if (xx & (1ULL << (40-1))) r |= (1<<4);
- if (xx & (1ULL << (32-1))) r |= (1<<3);
- if (xx & (1ULL << (24-1))) r |= (1<<2);
- if (xx & (1ULL << (16-1))) r |= (1<<1);
- if (xx & (1ULL << ( 8-1))) r |= (1<<0);
- return r;
-}
-
-/* CALLED FROM GENERATED CODE: CLEAN HELPER */
ULong amd64g_calculate_mmx_psadbw ( ULong xx, ULong yy )
{
UInt t = 0;
@@ -3029,14 +3014,6 @@
}
/* CALLED FROM GENERATED CODE: CLEAN HELPER */
-ULong amd64g_calculate_sse_pmovmskb ( ULong w64hi, ULong w64lo )
-{
- ULong rHi8 = amd64g_calculate_mmx_pmovmskb ( w64hi );
- ULong rLo8 = amd64g_calculate_mmx_pmovmskb ( w64lo );
- return ((rHi8 & 0xFF) << 8) | (rLo8 & 0xFF);
-}
-
-/* CALLED FROM GENERATED CODE: CLEAN HELPER */
ULong amd64g_calculate_sse_phminposuw ( ULong sLo, ULong sHi )
{
UShort t, min;
Modified: trunk/priv/host_x86_isel.c (+29 -6)
===================================================================
--- trunk/priv/host_x86_isel.c 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/host_x86_isel.c 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -1293,6 +1293,23 @@
/* These are no-ops. */
return iselIntExpr_R(env, e->Iex.Unop.arg);
+ case Iop_GetMSBs8x8: {
+ /* Note: the following assumes the helper is of
+ signature
+ UInt fn ( ULong ), and is not a regparm fn.
+ */
+ HReg xLo, xHi;
+ HReg dst = newVRegI(env);
+ HWord fn = (HWord)h_generic_calc_GetMSBs8x8;
+ iselInt64Expr(&xHi, &xLo, env, e->Iex.Unop.arg);
+ addInstr(env, X86Instr_Push(X86RMI_Reg(xHi)));
+ addInstr(env, X86Instr_Push(X86RMI_Reg(xLo)));
+ addInstr(env, X86Instr_Call( Xcc_ALWAYS, (UInt)fn, 0 ));
+ add_to_esp(env, 2*4);
+ addInstr(env, mk_iMOVsd_RR(hregX86_EAX(), dst));
+ return dst;
+ }
+
default:
break;
}
@@ -1840,7 +1857,8 @@
&& (e->Iex.Binop.op == Iop_CmpEQ16
|| e->Iex.Binop.op == Iop_CmpNE16
|| e->Iex.Binop.op == Iop_CasCmpEQ16
- || e->Iex.Binop.op == Iop_CasCmpNE16)) {
+ || e->Iex.Binop.op == Iop_CasCmpNE16
+ || e->Iex.Binop.op == Iop_ExpCmpNE16)) {
HReg r1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
X86RMI* rmi2 = iselIntExpr_RMI(env, e->Iex.Binop.arg2);
HReg r = newVRegI(env);
@@ -1848,9 +1866,12 @@
addInstr(env, X86Instr_Alu32R(Xalu_XOR,rmi2,r));
addInstr(env, X86Instr_Test32(0xFFFF,X86RM_Reg(r)));
switch (e->Iex.Binop.op) {
- case Iop_CmpEQ16: case Iop_CasCmpEQ16: return Xcc_Z;
- case Iop_CmpNE16: case Iop_CasCmpNE16: return Xcc_NZ;
- default: vpanic("iselCondCode(x86): CmpXX16");
+ case Iop_CmpEQ16: case Iop_CasCmpEQ16:
+ return Xcc_Z;
+ case Iop_CmpNE16: case Iop_CasCmpNE16: case Iop_ExpCmpNE16:
+ return Xcc_NZ;
+ default:
+ vpanic("iselCondCode(x86): CmpXX16");
}
}
@@ -1882,13 +1903,15 @@
|| e->Iex.Binop.op == Iop_CmpLE32S
|| e->Iex.Binop.op == Iop_CmpLE32U
|| e->Iex.Binop.op == Iop_CasCmpEQ32
- || e->Iex.Binop.op == Iop_CasCmpNE32)) {
+ || e->Iex.Binop.op == Iop_CasCmpNE32
+ || e->Iex.Binop.op == Iop_ExpCmpNE32)) {
HReg r1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
X86RMI* rmi2 = iselIntExpr_RMI(env, e->Iex.Binop.arg2);
addInstr(env, X86Instr_Alu32R(Xalu_CMP,rmi2,r1));
switch (e->Iex.Binop.op) {
case Iop_CmpEQ32: case Iop_CasCmpEQ32: return Xcc_Z;
- case Iop_CmpNE32: case Iop_CasCmpNE32: return Xcc_NZ;
+ case Iop_CmpNE32:
+ case Iop_CasCmpNE32: case Iop_ExpCmpNE32: return Xcc_NZ;
case Iop_CmpLT32S: return Xcc_L;
case Iop_CmpLT32U: return Xcc_B;
case Iop_CmpLE32S: return Xcc_LE;
Modified: trunk/priv/host_generic_simd64.h (+2 -0)
===================================================================
--- trunk/priv/host_generic_simd64.h 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/host_generic_simd64.h 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -123,6 +123,8 @@
extern ULong h_generic_calc_Min16Sx4 ( ULong, ULong );
extern ULong h_generic_calc_Min8Ux8 ( ULong, ULong );
+extern UInt h_generic_calc_GetMSBs8x8 ( ULong );
+
/* 32-bit SIMD HELPERS */
extern UInt h_generic_calc_Add16x2 ( UInt, UInt );
Modified: trunk/priv/host_generic_simd64.c (+14 -0)
===================================================================
--- trunk/priv/host_generic_simd64.c 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/host_generic_simd64.c 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -1169,6 +1169,20 @@
);
}
+UInt h_generic_calc_GetMSBs8x8 ( ULong xx )
+{
+ UInt r = 0;
+ if (xx & (1ULL << (64-1))) r |= (1<<7);
+ if (xx & (1ULL << (56-1))) r |= (1<<6);
+ if (xx & (1ULL << (48-1))) r |= (1<<5);
+ if (xx & (1ULL << (40-1))) r |= (1<<4);
+ if (xx & (1ULL << (32-1))) r |= (1<<3);
+ if (xx & (1ULL << (24-1))) r |= (1<<2);
+ if (xx & (1ULL << (16-1))) r |= (1<<1);
+ if (xx & (1ULL << ( 8-1))) r |= (1<<0);
+ return r;
+}
+
/* ------------ SOME 32-bit SIMD HELPERS TOO ------------ */
/* Tuple/select functions for 16x2 vectors. */
Modified: trunk/priv/ir_opt.c (+6 -0)
===================================================================
--- trunk/priv/ir_opt.c 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/ir_opt.c 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -1836,16 +1836,22 @@
/* -- CmpNE -- */
case Iop_CmpNE8:
+ case Iop_CasCmpNE8:
+ case Iop_ExpCmpNE8:
e2 = IRExpr_Const(IRConst_U1(toBool(
((0xFF & e->Iex.Binop.arg1->Iex.Const.con->Ico.U8)
!= (0xFF & e->Iex.Binop.arg2->Iex.Const.con->Ico.U8)))));
break;
case Iop_CmpNE32:
+ case Iop_CasCmpNE32:
+ case Iop_ExpCmpNE32:
e2 = IRExpr_Const(IRConst_U1(toBool(
(e->Iex.Binop.arg1->Iex.Const.con->Ico.U32
!= e->Iex.Binop.arg2->Iex.Const.con->Ico.U32))));
break;
case Iop_CmpNE64:
+ case Iop_CasCmpNE64:
+ case Iop_ExpCmpNE64:
e2 = IRExpr_Const(IRConst_U1(toBool(
(e->Iex.Binop.arg1->Iex.Const.con->Ico.U64
!= e->Iex.Binop.arg2->Iex.Const.con->Ico.U64))));
Modified: trunk/priv/guest_amd64_toIR.c (+18 -17)
===================================================================
--- trunk/priv/guest_amd64_toIR.c 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/guest_amd64_toIR.c 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -7789,11 +7789,15 @@
/* First, widen src to 64 bits if it is not already. */
assign( src64, widenUto64(mkexpr(src)) );
- /* Generate an 8-bit expression which is zero iff the
- original is zero, and nonzero otherwise */
+ /* Generate an 8-bit expression which is zero iff the original is
+ zero, and nonzero otherwise. Ask for a CmpNE version which, if
+ instrumented by Memcheck, is instrumented expensively, since
+ this may be used on the output of a preceding movmskb insn,
+ which has been known to be partially defined, and in need of
+ careful handling. */
assign( src8,
unop(Iop_1Uto8,
- binop(Iop_CmpNE64,
+ binop(Iop_ExpCmpNE64,
mkexpr(src64), mkU64(0))) );
/* Flags: Z is 1 iff source value is zero. All others
@@ -10277,14 +10281,15 @@
UInt rG = gregOfRexRM(pfx,modrm);
IRTemp t0 = newTemp(Ity_I64);
IRTemp t1 = newTemp(Ity_I64);
- IRTemp t5 = newTemp(Ity_I64);
+ IRTemp t5 = newTemp(Ity_I32);
assign(t0, getXMMRegLane64(rE, 0));
assign(t1, getXMMRegLane64(rE, 1));
- assign(t5, mkIRExprCCall( Ity_I64, 0/*regparms*/,
- "amd64g_calculate_sse_pmovmskb",
- &amd64g_calculate_sse_pmovmskb,
- mkIRExprVec_2( mkexpr(t1), mkexpr(t0) )));
- putIReg32(rG, unop(Iop_64to32,mkexpr(t5)));
+ assign(t5,
+ unop(Iop_16Uto32,
+ binop(Iop_8HLto16,
+ unop(Iop_GetMSBs8x8, mkexpr(t1)),
+ unop(Iop_GetMSBs8x8, mkexpr(t0)))));
+ putIReg32(rG, mkexpr(t5));
DIP("%spmovmskb %s,%s\n", isAvx ? "v" : "", nameXMMReg(rE),
nameIReg32(rG));
delta += 1;
@@ -13443,7 +13448,7 @@
}
/* ***--- this is an MMX class insn introduced in SSE1 ---*** */
/* 0F D7 = PMOVMSKB -- extract sign bits from each of 8 lanes in
- mmx(G), turn them into a byte, and put zero-extend of it in
+ mmx(E), turn them into a byte, and put zero-extend of it in
ireg(G). */
if (haveNo66noF2noF3(pfx)
&& (sz == 4 || /* ignore redundant REX.W */ sz == 8)) {
@@ -13451,14 +13456,10 @@
if (epartIsReg(modrm)) {
do_MMX_preamble();
t0 = newTemp(Ity_I64);
- t1 = newTemp(Ity_I64);
+ t1 = newTemp(Ity_I32);
assign(t0, getMMXReg(eregLO3ofRM(modrm)));
- assign(t1, mkIRExprCCall(
- Ity_I64, 0/*regparms*/,
- "amd64g_calculate_mmx_pmovmskb",
- &amd64g_calculate_mmx_pmovmskb,
- mkIRExprVec_1(mkexpr(t0))));
- putIReg32(gregOfRexRM(pfx,modrm), unop(Iop_64to32,mkexpr(t1)));
+ assign(t1, unop(Iop_8Uto32, unop(Iop_GetMSBs8x8, mkexpr(t0))));
+ putIReg32(gregOfRexRM(pfx,modrm), mkexpr(t1));
DIP("pmovmskb %s,%s\n", nameMMXReg(eregLO3ofRM(modrm)),
nameIReg32(gregOfRexRM(pfx,modrm)));
delta += 1;
Modified: trunk/pub/libvex_ir.h (+8 -0)
===================================================================
--- trunk/pub/libvex_ir.h 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/pub/libvex_ir.h 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -437,6 +437,10 @@
Iop_CasCmpEQ8, Iop_CasCmpEQ16, Iop_CasCmpEQ32, Iop_CasCmpEQ64,
Iop_CasCmpNE8, Iop_CasCmpNE16, Iop_CasCmpNE32, Iop_CasCmpNE64,
+ /* Exactly like CmpNE8/16/32/64, but carrying the additional
+ hint that these needs expensive definedness tracking. */
+ Iop_ExpCmpNE8, Iop_ExpCmpNE16, Iop_ExpCmpNE32, Iop_ExpCmpNE64,
+
/* -- Ordering not important after here. -- */
/* Widening multiplies */
@@ -991,6 +995,10 @@
is undefined. */
Iop_Perm8x8,
+ /* MISC CONVERSION -- get high bits of each byte lane, a la
+ x86/amd64 pmovmskb */
+ Iop_GetMSBs8x8, /* I64 -> I8 */
+
/* Vector Reciprocal Estimate and Vector Reciprocal Square Root Estimate
See floating-point equiwalents for details. */
Iop_Recip32x2, Iop_Rsqrte32x2,
Modified: trunk/priv/guest_x86_toIR.c (+18 -19)
===================================================================
--- trunk/priv/guest_x86_toIR.c 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/guest_x86_toIR.c 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -716,6 +716,7 @@
|| op8 == Iop_Shl8 || op8 == Iop_Shr8 || op8 == Iop_Sar8
|| op8 == Iop_CmpEQ8 || op8 == Iop_CmpNE8
|| op8 == Iop_CasCmpNE8
+ || op8 == Iop_ExpCmpNE8
|| op8 == Iop_Not8);
adj = ty==Ity_I8 ? 0 : (ty==Ity_I16 ? 1 : 2);
return adj + op8;
@@ -6385,10 +6386,14 @@
( isReg ? nameIReg(sz, eregOfRM(modrm)) : dis_buf ),
nameIReg(sz, gregOfRM(modrm)));
- /* Generate an 8-bit expression which is zero iff the
- original is zero, and nonzero otherwise */
+ /* Generate an 8-bit expression which is zero iff the original is
+ zero, and nonzero otherwise. Ask for a CmpNE version which, if
+ instrumented by Memcheck, is instrumented expensively, since
+ this may be used on the output of a preceding movmskb insn,
+ which has been known to be partially defined, and in need of
+ careful handling. */
assign( src8,
- unop(Iop_1Uto8, binop(mkSizedOp(ty,Iop_CmpNE8),
+ unop(Iop_1Uto8, binop(mkSizedOp(ty,Iop_ExpCmpNE8),
mkexpr(src), mkU(ty,0))) );
/* Flags: Z is 1 iff source value is zero. All others
@@ -9051,7 +9056,7 @@
/* ***--- this is an MMX class insn introduced in SSE1 ---*** */
/* 0F D7 = PMOVMSKB -- extract sign bits from each of 8 lanes in
- mmx(G), turn them into a byte, and put zero-extend of it in
+ mmx(E), turn them into a byte, and put zero-extend of it in
ireg(G). */
if (sz == 4 && insn[0] == 0x0F && insn[1] == 0xD7) {
modrm = insn[2];
@@ -9060,11 +9065,7 @@
t0 = newTemp(Ity_I64);
t1 = newTemp(Ity_I32);
assign(t0, getMMXReg(eregOfRM(modrm)));
- assign(t1, mkIRExprCCall(
- Ity_I32, 0/*regparms*/,
- "x86g_calculate_mmx_pmovmskb",
- &x86g_calculate_mmx_pmovmskb,
- mkIRExprVec_1(mkexpr(t0))));
+ assign(t1, unop(Iop_8Uto32, unop(Iop_GetMSBs8x8, mkexpr(t0))));
putIReg(4, gregOfRM(modrm), mkexpr(t1));
DIP("pmovmskb %s,%s\n", nameMMXReg(eregOfRM(modrm)),
nameIReg(4,gregOfRM(modrm)));
@@ -10903,11 +10904,9 @@
goto decode_success;
}
- /* 66 0F D7 = PMOVMSKB -- extract sign bits from each of 16 lanes in
- xmm(G), turn them into a byte, and put zero-extend of it in
- ireg(G). Doing this directly is just too cumbersome; give up
- therefore and call a helper. */
- /* UInt x86g_calculate_sse_pmovmskb ( ULong w64hi, ULong w64lo ); */
+ /* 66 0F D7 = PMOVMSKB -- extract sign bits from each of 16 lanes
+ in xmm(E), turn them into a byte, and put zero-extend of it in
+ ireg(G). */
if (sz == 2 && insn[0] == 0x0F && insn[1] == 0xD7) {
modrm = insn[2];
if (epartIsReg(modrm)) {
@@ -10916,11 +10915,11 @@
assign(t0, getXMMRegLane64(eregOfRM(modrm), 0));
assign(t1, getXMMRegLane64(eregOfRM(modrm), 1));
t5 = newTemp(Ity_I32);
- assign(t5, mkIRExprCCall(
- Ity_I32, 0/*regparms*/,
- "x86g_calculate_sse_pmovmskb",
- &x86g_calculate_sse_pmovmskb,
- mkIRExprVec_2( mkexpr(t1), mkexpr(t0) )));
+ assign(t5,
+ unop(Iop_16Uto32,
+ binop(Iop_8HLto16,
+ unop(Iop_GetMSBs8x8, mkexpr(t1)),
+ unop(Iop_GetMSBs8x8, mkexpr(t0)))));
putIReg(4, gregOfRM(modrm), mkexpr(t5));
DIP("pmovmskb %s,%s\n", nameXMMReg(eregOfRM(modrm)),
nameIReg(4,gregOfRM(modrm)));
Modified: trunk/priv/guest_x86_defs.h (+0 -2)
===================================================================
--- trunk/priv/guest_x86_defs.h 2012-10-29 20:23:41 +00:00 (rev 2558)
+++ trunk/priv/guest_x86_defs.h 2012-11-08 10:57:08 +00:00 (rev 2559)
@@ -134,8 +134,6 @@
extern ULong x86g_calculate_mmx_pmaddwd ( ULong, ULong );
extern ULong x86g_calculate_mmx_psadbw ( ULong, ULong );
-extern UInt x86g_calculate_mmx_pmovmskb ( ULong );
-extern UInt x86g_calculate_sse_pmovmskb ( ULong w64hi, ULong w64lo );
/* --- DIRTY HELPERS --- */
|
|
From: Philippe W. <phi...@sk...> - 2012-11-08 04:47:22
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.3.1-3.fc16.ppc64 ppc64 Vendor version: Fedora release 16 (Verne) Nightly build on gcc110 ( Fedora release 16 (Verne), ppc64 ) Started at 2012-11-07 20:00:18 PST Ended at 2012-11-07 20:45:43 PST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 537 tests, 7 stderr failures, 2 stdout failures, 1 stderrB failure, 1 stdoutB failure, 2 post failures == gdbserver_tests/mcmain_pic (stdout) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/mcmain_pic (stdoutB) gdbserver_tests/mcmain_pic (stderrB) memcheck/tests/supp_unknown (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-08 04:09:26
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) Assembler: GNU assembler version 2.18.50.0.6-2 20080403 C library: GNU C Library stable release version 2.8 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2012-11-08 03:41:36 GMT Ended at 2012-11-08 04:09:07 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 609 tests, 0 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == none/tests/amd64/sse4-64 (stdout) |
|
From: Florian K. <br...@ac...> - 2012-11-08 04:03:11
|
On 11/07/2012 07:14 AM, Julian Seward wrote: > > On Wednesday, November 07, 2012, Florian Krohm wrote: >> You could do the zero extension after the load, couldn't you? In which >> case you wouldn't need the IRLoadGOp. >> But representing it the way you propose gives you an advantage in insn >> selection. Is that right? Or is there another reason? Just curious. > ...snip ... > > In the end it seemed simplest to simply combine the load and conversion. > I could have used an IROp to indicate the conversion instead of using a > new enum, but that seems unclean -- obviously almost all of the IROps > one could put it are nonsensical -- and it would also require extending > IROp with a 32-bit identity operation. > > So I did a new enum. Oh yes, that's definitely better. > One other thing I have been thinking about for a while, although haven't done > anything about, is to relax the type rules for condition expressions (guards) > in IRLoadG, IRStoreG, IRMux0X, IRDirty, IRExit. Currently they are > require, respectively, I1, I1, I8, I1, I1. This is inconsistent, Yes, I had wondered about the I8 for the Mux0X condition also.. > and worse, > it leads to chains of pointless IR conversions, like > > 32to1(1Sto32(32to1(1Uto32(CmpNE32(x, 0)))) > > which are surprisingly common, especially in arm-derived IR. > > What I am contemplating is to change all of them to require a value of an > integral type (I1, I8, I16, I32 or I64), and test zero/nonzero, a la C > style conditionals. Then all the chains of conversions would disappear. Seconded. In particular as ir_opt probably does not eliminate all of those chains (not sure, just guessing). So if we can get away with it by construction then that is a good thing. > In an ideal world we could also swap the order of '0' and 'X' clauses in > Mux0X, so it reads more like C's ?-: operator. But that's probably too > big a change given that the reason is only one of aesthetics. It's not just aesthetics. I could not deal with that operator being somehow backwards when I did the IR generation for s390. Always had to think about it. So I wrote a wrapper function mkite (make if-then-else) for my sanity. Changing it may not be that much work. Florian |
|
From: Tom H. <to...@co...> - 2012-11-08 03:58:57
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2) Assembler: GNU assembler version 2.19.51.0.14-3.fc11 20090722 C library: GNU C Library stable release version 2.10.2 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 11 (Leonidas) Nightly build on bristol ( x86_64, Fedora 11 ) Started at 2012-11-08 03:31:26 GMT Ended at 2012-11-08 03:58:42 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 613 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: <br...@ac...> - 2012-11-08 03:57:14
|
valgrind revision: 13107
VEX revision: 2558
C compiler: gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)
Assembler: GNU assembler 2.15.92.0.2 20040927
C library: GNU C Library stable release version 2.3.4
uname -mrs: Linux 2.6.9-42.EL s390x
Vendor version: Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
Nightly build on z10-ec ( s390x build on z10-EC )
Started at 2012-11-07 22:20:06 EST
Ended at 2012-11-07 22:57:01 EST
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 569 tests, 5 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/tc09_bad_unlock (stderr)
helgrind/tests/tc20_verifywrap (stderr)
=================================================
./valgrind-new/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2012-11-07 22:39:44.000000000 -0500
+++ tc09_bad_unlock.stderr.out 2012-11-07 22:52:24.000000000 -0500
@@ -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/tc20_verifywrap.stderr.diff
=================================================
--- tc20_verifywrap.stderr.exp 2012-11-07 22:39:44.000000000 -0500
+++ tc20_verifywrap.stderr.out 2012-11-07 22:52:42.000000000 -0500
@@ -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/helgrind/tests/tc20_verifywrap.stderr.diff-mips32
=================================================
--- tc20_verifywrap.stderr.exp-mips32 2012-11-07 22:39:44.000000000 -0500
+++ tc20_verifywrap.stderr.out 2012-11-07 22:52:42.000000000 -0500
@@ -1,7 +1,7 @@
------- This is output for >= glibc 2.4 ------
+------ This is output for < glibc 2.4 ------
---------------- pthread_create/join ----------------
@@ -35,7 +35,7 @@
----------------------------------------------------------------
Thread #x's call to pthread_join failed
- with error code 45 (EDEADLK: Resource deadlock would occur)
+ with error code 35 (EDEADLK: Resource deadlock would occur)
at 0x........: pthread_join_WRK (hg_intercepts.c:...)
by 0x........: pthread_join (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:83)
@@ -45,13 +45,6 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_init failed
- with error code 122 (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 ----------------
@@ -227,4 +195,4 @@
...
-ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 17 errors from 17 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc20_verifywrap.stderr.diff-s390x
=================================================
--- tc20_verifywrap.stderr.exp-s390x 2012-11-07 22:39:44.000000000 -0500
+++ tc20_verifywrap.stderr.out 2012-11-07 22:52:42.000000000 -0500
@@ -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 ----------------
@@ -227,4 +195,4 @@
...
-ERROR SUMMARY: 22 errors from 22 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 2012-11-07 22:39:52.000000000 -0500
+++ manuel3.stderr.out 2012-11-07 22:46:46.000000000 -0500
@@ -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 2012-11-07 22:39:52.000000000 -0500
+++ partial_load_ok.stderr.out 2012-11-07 22:47:18.000000000 -0500
@@ -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 2012-11-07 22:39:52.000000000 -0500
+++ partial_load_ok.stderr.out 2012-11-07 22:47:18.000000000 -0500
@@ -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 2012-11-07 22:39:52.000000000 -0500
+++ varinfo6.stderr.out 2012-11-07 22:48:20.000000000 -0500
@@ -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 2012-11-07 22:39:51.000000000 -0500
+++ varinfo6.stderr.out 2012-11-07 22:48:20.000000000 -0500
@@ -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/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2012-11-07 22:20:39.000000000 -0500
+++ tc09_bad_unlock.stderr.out 2012-11-07 22:34:37.000000000 -0500
@@ -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/tc20_verifywrap.stderr.diff
=================================================
--- tc20_verifywrap.stderr.exp 2012-11-07 22:20:39.000000000 -0500
+++ tc20_verifywrap.stderr.out 2012-11-07 22:34:55.000000000 -0500
@@ -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/helgrind/tests/tc20_verifywrap.stderr.diff-mips32
=================================================
--- tc20_verifywrap.stderr.exp-mips32 2012-11-07 22:20:39.000000000 -0500
+++ tc20_verifywrap.stderr.out 2012-11-07 22:34:55.000000000 -0500
@@ -1,7 +1,7 @@
------- This is output for >= glibc 2.4 ------
+------ This is output for < glibc 2.4 ------
---------------- pthread_create/join ----------------
@@ -35,7 +35,7 @@
----------------------------------------------------------------
Thread #x's call to pthread_join failed
- with error code 45 (EDEADLK: Resource deadlock would occur)
+ with error code 35 (EDEADLK: Resource deadlock would occur)
at 0x........: pthread_join_WRK (hg_intercepts.c:...)
by 0x........: pthread_join (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:83)
@@ -45,13 +45,6 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_init failed
- with error code 122 (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 ----------------
@@ -227,4 +195,4 @@
...
-ERROR SUMMARY: 22 errors from 22 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 2012-11-07 22:20:54.000000000 -0500
+++ manuel3.stderr.out 2012-11-07 22:28:58.000000000 -0500
@@ -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 2012-11-07 22:20:54.000000000 -0500
+++ partial_load_ok.stderr.out 2012-11-07 22:29:30.000000000 -0500
@@ -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 2012-11-07 22:20:54.000000000 -0500
+++ partial_load_ok.stderr.out 2012-11-07 22:29:30.000000000 -0500
@@ -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 2012-11-07 22:20:54.000000000 -0500
+++ varinfo6.stderr.out 2012-11-07 22:30:32.000000000 -0500
@@ -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 2012-11-07 22:20:54.000000000 -0500
+++ varinfo6.stderr.out 2012-11-07 22:30:32.000000000 -0500
@@ -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: Rich C. <rc...@wi...> - 2012-11-08 03:56:08
|
valgrind revision: 13107
VEX revision: 2558
C compiler: gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585]
Assembler: GNU assembler (GNU Binutils; openSUSE 11.4) 2.21
C library: GNU C Library stable release version 2.11.3 (20110203)
uname -mrs: Linux 2.6.37.6-0.7-desktop x86_64
Vendor version: Welcome to openSUSE 11.4 "Celadon" - Kernel %r (%t).
Nightly build on ultra ( gcc 4.5.1 Linux 2.6.37.6-0.7-desktop x86_64 )
Started at 2012-11-07 21:30:01 CST
Ended at 2012-11-07 21:55:59 CST
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 624 tests, 2 stderr failures, 0 stdout failures, 6 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)
memcheck/tests/linux/timerfd-syscall (stderr)
memcheck/tests/origin5-bz2 (stderr)
=================================================
./valgrind-new/gdbserver_tests/mcbreak.stderrB.diff
=================================================
--- mcbreak.stderrB.exp 2012-11-07 21:43:30.591715924 -0600
+++ mcbreak.stderrB.out 2012-11-07 21:46:51.291968439 -0600
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
vgdb-error value changed from 999999 to 0
n_errs_found 1 n_errs_shown 1 (vgdb-error 0)
vgdb-error value changed from 0 to 0
=================================================
./valgrind-new/gdbserver_tests/mcclean_after_fork.stderrB.diff
=================================================
--- mcclean_after_fork.stderrB.exp 2012-11-07 21:43:30.591715924 -0600
+++ mcclean_after_fork.stderrB.out 2012-11-07 21:46:53.010167557 -0600
@@ -1,4 +1,6 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
monitor command request to kill this process
Remote connection closed
=================================================
./valgrind-new/gdbserver_tests/mcleak.stderrB.diff
=================================================
--- mcleak.stderrB.exp 2012-11-07 21:43:30.587715460 -0600
+++ mcleak.stderrB.out 2012-11-07 21:47:11.287285652 -0600
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
10 bytes in 1 blocks are still reachable in loss record ... of ...
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: f (leak-delta.c:14)
=================================================
./valgrind-new/gdbserver_tests/mcmain_pic.stderrB.diff
=================================================
--- mcmain_pic.stderrB.exp 2012-11-07 21:43:30.595716387 -0600
+++ mcmain_pic.stderrB.out 2012-11-07 21:47:12.899472485 -0600
@@ -1,2 +1,4 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
=================================================
./valgrind-new/gdbserver_tests/mcvabits.stderrB.diff
=================================================
--- mcvabits.stderrB.exp 2012-11-07 21:43:30.596716502 -0600
+++ mcvabits.stderrB.out 2012-11-07 21:47:17.733032635 -0600
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
Address 0x........ len 10 addressable
Address 0x........ is 0 bytes inside data symbol "undefined"
Address 0x........ len 10 defined
=================================================
./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2012-11-07 21:43:30.595716387 -0600
+++ mssnapshot.stderrB.out 2012-11-07 21:47:20.822390655 -0600
@@ -1,5 +1,9 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=92ec8fe859846a62345f74696ab349721415587a"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-new/memcheck/tests/linux/timerfd-syscall.stderr.diff
=================================================
--- timerfd-syscall.stderr.exp 2012-11-07 21:43:31.685842636 -0600
+++ timerfd-syscall.stderr.out 2012-11-07 21:48:30.421456360 -0600
@@ -33,7 +33,7 @@
got timer ticks (1) after 0.5 s
absolute timer test (at 500 ms) ...
waiting timer ...
-got timer ticks (1) after 0.5 s
+got timer ticks (1) after 0.0 s
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2012-11-07 21:43:33.469049152 -0600
+++ origin5-bz2.stderr.out 2012-11-07 21:48:45.920252490 -0600
@@ -75,17 +75,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
- by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
- by 0x........: handle_compress (origin5-bz2.c:4753)
- by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
- by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
- by 0x........: main (origin5-bz2.c:6484)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -131,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc234-s390x 2012-11-07 21:43:33.451047066 -0600
+++ origin5-bz2.stderr.out 2012-11-07 21:48:45.920252490 -0600
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2012-11-07 21:43:33.395040580 -0600
+++ origin5-bz2.stderr.out 2012-11-07 21:48:45.920252490 -0600
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2012-11-07 21:43:33.425044055 -0600
+++ origin5-bz2.stderr.out 2012-11-07 21:48:45.920252490 -0600
@@ -12,7 +12,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -21,7 +21,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -30,7 +30,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -41,7 +41,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -52,7 +52,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -63,7 +63,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -74,7 +74,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -85,7 +85,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -96,7 +96,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -107,7 +107,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2012-11-07 21:43:33.438045560 -0600
+++ origin5-bz2.stderr.out 2012-11-07 21:48:45.920252490 -0600
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -10,7 +10,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -19,7 +19,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -28,7 +28,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -39,7 +39,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -50,7 +50,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -61,7 +61,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -72,7 +72,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -83,7 +83,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -94,7 +94,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -105,7 +105,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
<truncated beyond 100 lines>
=================================================
./valgrind-old/gdbserver_tests/mcbreak.stderrB.diff
=================================================
--- mcbreak.stderrB.exp 2012-11-07 21:30:54.334141207 -0600
+++ mcbreak.stderrB.out 2012-11-07 21:34:16.381536587 -0600
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
vgdb-error value changed from 999999 to 0
n_errs_found 1 n_errs_shown 1 (vgdb-error 0)
vgdb-error value changed from 0 to 0
=================================================
./valgrind-old/gdbserver_tests/mcclean_after_fork.stderrB.diff
=================================================
--- mcclean_after_fork.stderrB.exp 2012-11-07 21:30:54.334141207 -0600
+++ mcclean_after_fork.stderrB.out 2012-11-07 21:34:18.084733807 -0600
@@ -1,4 +1,6 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
monitor command request to kill this process
Remote connection closed
=================================================
./valgrind-old/gdbserver_tests/mcleak.stderrB.diff
=================================================
--- mcleak.stderrB.exp 2012-11-07 21:30:54.330140743 -0600
+++ mcleak.stderrB.out 2012-11-07 21:34:36.727892595 -0600
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
10 bytes in 1 blocks are still reachable in loss record ... of ...
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: f (leak-delta.c:14)
=================================================
./valgrind-old/gdbserver_tests/mcmain_pic.stderrB.diff
=================================================
--- mcmain_pic.stderrB.exp 2012-11-07 21:30:54.338141671 -0600
+++ mcmain_pic.stderrB.out 2012-11-07 21:34:38.330078121 -0600
@@ -1,2 +1,4 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
=================================================
./valgrind-old/gdbserver_tests/mcvabits.stderrB.diff
=================================================
--- mcvabits.stderrB.exp 2012-11-07 21:30:54.339141786 -0600
+++ mcvabits.stderrB.out 2012-11-07 21:34:43.071627171 -0600
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
Address 0x........ len 10 addressable
Address 0x........ is 0 bytes inside data symbol "undefined"
Address 0x........ len 10 defined
=================================================
./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2012-11-07 21:30:54.338141671 -0600
+++ mssnapshot.stderrB.out 2012-11-07 21:34:46.137982243 -0600
@@ -1,5 +1,9 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=92ec8fe859846a62345f74696ab349721415587a"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-old/memcheck/tests/linux/timerfd-syscall.stderr.diff
=================================================
--- timerfd-syscall.stderr.exp 2012-11-07 21:30:56.603403962 -0600
+++ timerfd-syscall.stderr.out 2012-11-07 21:35:56.665149066 -0600
@@ -33,7 +33,7 @@
got timer ticks (1) after 0.5 s
absolute timer test (at 500 ms) ...
waiting timer ...
-got timer ticks (1) after 0.5 s
+got timer ticks (1) after 0.0 s
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2012-11-07 21:30:59.132696824 -0600
+++ origin5-bz2.stderr.out 2012-11-07 21:36:12.234952022 -0600
@@ -75,17 +75,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
- by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
- by 0x........: handle_compress (origin5-bz2.c:4753)
- by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
- by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
- by 0x........: main (origin5-bz2.c:6484)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -131,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc234-s390x 2012-11-07 21:30:59.115694855 -0600
+++ origin5-bz2.stderr.out 2012-11-07 21:36:12.234952022 -0600
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2012-11-07 21:30:59.058688254 -0600
+++ origin5-bz2.stderr.out 2012-11-07 21:36:12.234952022 -0600
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2012-11-07 21:30:59.088691728 -0600
+++ origin5-bz2.stderr.out 2012-11-07 21:36:12.234952022 -0600
@@ -12,7 +12,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -21,7 +21,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -30,7 +30,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -41,7 +41,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -52,7 +52,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -63,7 +63,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -74,7 +74,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -85,7 +85,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -96,7 +96,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -107,7 +107,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2012-11-07 21:30:59.101693234 -0600
+++ origin5-bz2.stderr.out 2012-11-07 21:36:12.234952022 -0600
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -10,7 +10,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -19,7 +19,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -28,7 +28,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -39,7 +39,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -50,7 +50,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -61,7 +61,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -72,7 +72,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -83,7 +83,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -94,7 +94,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -105,7 +105,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
<truncated beyond 100 lines>
|
|
From: Tom H. <to...@co...> - 2012-11-08 03:50:57
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2) Assembler: GNU assembler version 2.20.51.0.2-20.fc13 20091009 C library: GNU C Library stable release version 2.12.2 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 13 (Goddard) Nightly build on bristol ( x86_64, Fedora 13 ) Started at 2012-11-08 03:21:54 GMT Ended at 2012-11-08 03:50:43 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 613 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_barrier3 (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-08 03:43:05
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) Assembler: GNU assembler version 2.20.51.0.7-8.fc14 20100318 C library: GNU C Library stable release version 2.13 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 14 (Laughlin) Nightly build on bristol ( x86_64, Fedora 14 ) Started at 2012-11-08 03:11:41 GMT Ended at 2012-11-08 03:42:33 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 631 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-08 03:36:18
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2012-11-08 03:03:21 GMT Ended at 2012-11-08 03:36:04 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 633 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-08 03:24:53
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2012-11-08 02:52:20 GMT Ended at 2012-11-08 03:24:39 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 633 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-08 03:14:55
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (GCC) 4.7.2 20120921 (Red Hat 4.7.2-2) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: GNU C Library stable release version 2.15 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2012-11-08 02:41:41 GMT Ended at 2012-11-08 03:14:41 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 633 tests, 5 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) memcheck/tests/origin5-bz2 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Christian B. <bor...@de...> - 2012-11-08 03:13:46
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.21.1 C library: GNU C Library stable release version 2.11.3 (20110527) uname -mrs: Linux 3.0.42-0.7-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP2 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2012-11-08 03:45:01 CET Ended at 2012-11-08 04:13:35 CET 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 == 608 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == ================================================= == 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 == 608 tests, 16 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == cachegrind/tests/chdir (stderr) cachegrind/tests/clreq (stderr) cachegrind/tests/dlclose (stderr) cachegrind/tests/notpower2 (stderr) cachegrind/tests/wrap5 (stderr) callgrind/tests/notpower2-hwpref (stderr) callgrind/tests/notpower2-use (stderr) callgrind/tests/notpower2-wb (stderr) callgrind/tests/notpower2 (stderr) callgrind/tests/simwork-both (stderr) callgrind/tests/simwork-cache (stderr) callgrind/tests/simwork1 (stderr) callgrind/tests/simwork2 (stderr) callgrind/tests/simwork3 (stderr) callgrind/tests/threads-use (stderr) helgrind/tests/tc20_verifywrap (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Nov 8 03:59:32 2012 --- new.short Thu Nov 8 04:13:35 2012 *************** *** 8,26 **** ! == 608 tests, 16 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == ! cachegrind/tests/chdir (stderr) ! cachegrind/tests/clreq (stderr) ! cachegrind/tests/dlclose (stderr) ! cachegrind/tests/notpower2 (stderr) ! cachegrind/tests/wrap5 (stderr) ! callgrind/tests/notpower2-hwpref (stderr) ! callgrind/tests/notpower2-use (stderr) ! callgrind/tests/notpower2-wb (stderr) ! callgrind/tests/notpower2 (stderr) ! callgrind/tests/simwork-both (stderr) ! callgrind/tests/simwork-cache (stderr) ! callgrind/tests/simwork1 (stderr) ! callgrind/tests/simwork2 (stderr) ! callgrind/tests/simwork3 (stderr) ! callgrind/tests/threads-use (stderr) ! helgrind/tests/tc20_verifywrap (stderr) --- 8,10 ---- ! == 608 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == |
|
From: Christian B. <bor...@de...> - 2012-11-08 03:06:43
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9bb4) Assembler: GNU assembler version 2.21.51.0.6-6bb6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.6.1-56.x.20121010-s390xperformance s390x Vendor version: unknown Nightly build on fedora390 ( Fedora 15 with devel libc/toolchain on z196 (s390x) ) Started at 2012-11-08 03:45:02 CET Ended at 2012-11-08 04:06:49 CET 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 == 609 tests, 2 stderr failures, 0 stdout failures, 6 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) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (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 == 609 tests, 17 stderr failures, 0 stdout failures, 6 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) cachegrind/tests/chdir (stderr) cachegrind/tests/clreq (stderr) cachegrind/tests/dlclose (stderr) cachegrind/tests/notpower2 (stderr) cachegrind/tests/wrap5 (stderr) callgrind/tests/notpower2-hwpref (stderr) callgrind/tests/notpower2-use (stderr) callgrind/tests/notpower2-wb (stderr) callgrind/tests/notpower2 (stderr) callgrind/tests/simwork-both (stderr) callgrind/tests/simwork-cache (stderr) callgrind/tests/simwork1 (stderr) callgrind/tests/simwork2 (stderr) callgrind/tests/simwork3 (stderr) callgrind/tests/threads-use (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Nov 8 03:55:58 2012 --- new.short Thu Nov 8 04:06:49 2012 *************** *** 8,10 **** ! == 609 tests, 17 stderr failures, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) --- 8,10 ---- ! == 609 tests, 2 stderr failures, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) *************** *** 15,31 **** gdbserver_tests/mssnapshot (stderrB) - cachegrind/tests/chdir (stderr) - cachegrind/tests/clreq (stderr) - cachegrind/tests/dlclose (stderr) - cachegrind/tests/notpower2 (stderr) - cachegrind/tests/wrap5 (stderr) - callgrind/tests/notpower2-hwpref (stderr) - callgrind/tests/notpower2-use (stderr) - callgrind/tests/notpower2-wb (stderr) - callgrind/tests/notpower2 (stderr) - callgrind/tests/simwork-both (stderr) - callgrind/tests/simwork-cache (stderr) - callgrind/tests/simwork1 (stderr) - callgrind/tests/simwork2 (stderr) - callgrind/tests/simwork3 (stderr) - callgrind/tests/threads-use (stderr) helgrind/tests/tc18_semabuse (stderr) --- 15,16 ---- |
|
From: Tom H. <to...@co...> - 2012-11-08 03:04:36
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (GCC) 4.7.2 20121001 (Red Hat 4.7.2-3) Assembler: GNU assembler version 2.23.51.0.1-3.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on bristol ( x86_64, Fedora 18 (Spherical Cow) ) Started at 2012-11-08 02:31:18 GMT Ended at 2012-11-08 03:04:22 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 633 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-08 02:50:58
|
valgrind revision: 13107 VEX revision: 2558 C compiler: gcc (GCC) 4.7.2 20121105 (Red Hat 4.7.2-7) Assembler: GNU assembler version 2.23.51.0.3-3.fc19 20120918 C library: GNU C Library development release version 2.16.90 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 19 (Rawhide) Nightly build on bristol ( x86_64, Fedora 19 ) Started at 2012-11-08 02:22:40 GMT Ended at 2012-11-08 02:50:40 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 633 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |