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
(18) |
2
(1) |
3
(17) |
4
(10) |
5
(18) |
6
(17) |
|
7
(21) |
8
(25) |
9
(16) |
10
(1) |
11
(4) |
12
(27) |
13
(13) |
|
14
(11) |
15
(19) |
16
(18) |
17
(14) |
18
(25) |
19
(23) |
20
(22) |
|
21
(29) |
22
(16) |
23
(17) |
24
(16) |
25
|
26
(4) |
27
(21) |
|
28
(15) |
29
(19) |
30
(15) |
31
(6) |
|
|
|
|
From: <sv...@va...> - 2012-10-21 21:49:40
|
philippe 2012-10-21 22:49:33 +0100 (Sun, 21 Oct 2012)
New Revision: 13079
Log:
Follow-up to sys_ipc restructuration
Rev 13078 removed a PRE call (for SEMCTL) in the POST(sys_ipc).
This commit adds the correct POST call for SEMCTL in POST(sys_ipc).
(note: some tests are missing in this area, as removing PRE
and adding POST did not cause any test result to change).
This is the last patch to restructure the sys_ipc code.
After this patch, should be able to do the real fix
for 23837 (semctl GETVAL false positive)
Modified files:
trunk/coregrind/m_syswrap/syswrap-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c (+7 -1)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-21 22:13:39 +01:00 (rev 13078)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-21 22:49:33 +01:00 (rev 13079)
@@ -3303,7 +3303,8 @@
PRE(sys_ipc)
{
- PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+ PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )",
+ ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
// XXX: this is simplistic -- some args are not used in all circumstances.
PRE_REG_READ6(int, "ipc",
vki_uint, call, int, first, int, second, int, third,
@@ -3387,8 +3388,13 @@
switch (ARG1 /* call */) {
case VKI_SEMOP:
case VKI_SEMGET:
+ break;
case VKI_SEMCTL:
+ {
+ UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
+ ML_(generic_POST_sys_semctl)( tid, RES, ARG2, ARG3, ARG4, arg );
break;
+ }
case VKI_SEMTIMEDOP:
case VKI_MSGSND:
break;
|
|
From: <sv...@va...> - 2012-10-21 21:13:45
|
philippe 2012-10-21 22:13:39 +0100 (Sun, 21 Oct 2012)
New Revision: 13078
Log:
Follow-up to sys_ipc restructuration
Now that the PRE/POS(sys_ipc) code is not duplicated anymore,
fix two strange things in this code:
* PRE(sys_ipc) : add missing ; after the call PRE_REG_READ6
(strange that this was compiling without it ???)
* POST(sys_ipc) : it seems there was a copy/paste of
the PRE(sys_ipc) code for VKI_SEMCTL.
Cannot understand why we would need to call again
deref_Addr and ML_(generic_PRE_sys_semctl) in the POST(sys_ipc).
Modified files:
trunk/coregrind/m_syswrap/syswrap-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c (+1 -6)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-21 22:03:11 +01:00 (rev 13077)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-21 22:13:39 +01:00 (rev 13078)
@@ -3307,7 +3307,7 @@
// XXX: this is simplistic -- some args are not used in all circumstances.
PRE_REG_READ6(int, "ipc",
vki_uint, call, int, first, int, second, int, third,
- void *, ptr, long, fifth)
+ void *, ptr, long, fifth);
switch (ARG1 /* call */) {
case VKI_SEMOP:
@@ -3387,13 +3387,8 @@
switch (ARG1 /* call */) {
case VKI_SEMOP:
case VKI_SEMGET:
- break;
case VKI_SEMCTL:
- {
- UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
- ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
break;
- }
case VKI_SEMTIMEDOP:
case VKI_MSGSND:
break;
|
|
From: <sv...@va...> - 2012-10-21 21:03:19
|
philippe 2012-10-21 22:03:11 +0100 (Sun, 21 Oct 2012)
New Revision: 13077
Log:
Fix 308711 - give more info about aspacemgr and arenas in out_of_memory
In case of out of memory, Valgrind will output
the state of the address space manager and of the arena.
Then it will output a message to inform the user about the out of memory.
In case out of memory happens again while outputting the aspacemgr
or arena info, then another trial is done to only output the user msg.
Modified files:
trunk/NEWS
trunk/coregrind/m_mallocfree.c
Modified: trunk/NEWS (+1 -0)
===================================================================
--- trunk/NEWS 2012-10-21 21:21:17 +01:00 (rev 13076)
+++ trunk/NEWS 2012-10-21 22:03:11 +01:00 (rev 13077)
@@ -38,6 +38,7 @@
308321 [390] testsuite memcheck filter interferes with gdb_filter
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
n-i-bz [390] report error for vgdb snapshot requested before execution
n-i-bz [390] Some wrong command line options could be ignored
Modified: trunk/coregrind/m_mallocfree.c (+15 -3)
===================================================================
--- trunk/coregrind/m_mallocfree.c 2012-10-21 21:21:17 +01:00 (rev 13076)
+++ trunk/coregrind/m_mallocfree.c 2012-10-21 22:03:11 +01:00 (rev 13077)
@@ -704,7 +704,12 @@
__attribute__((noreturn))
void VG_(out_of_memory_NORETURN) ( HChar* who, SizeT szB )
{
- static Bool alreadyCrashing = False;
+ static Int outputTrial = 0;
+ // We try once to output the full memory state followed by the below message.
+ // If that fails (due to out of memory during first trial), we try to just
+ // output the below message.
+ // And then we abandon.
+
ULong tot_alloc = VG_(am_get_anonsize_total)();
Char* s1 =
"\n"
@@ -729,8 +734,15 @@
" 3GB per process.\n\n"
" Whatever the reason, Valgrind cannot continue. Sorry.\n";
- if (!alreadyCrashing) {
- alreadyCrashing = True;
+ if (outputTrial <= 1) {
+ if (outputTrial == 0) {
+ outputTrial++;
+ VG_(am_show_nsegments) (0, "out_of_memory");
+ VG_(print_all_arena_stats) ();
+ if (VG_(clo_profile_heap))
+ VG_(print_arena_cc_analysis) ();
+ }
+ outputTrial++;
VG_(message)(Vg_UserMsg, s1, who, (ULong)szB, tot_alloc);
} else {
VG_(debugLog)(0,"mallocfree", s1, who, (ULong)szB, tot_alloc);
|
|
From: <sv...@va...> - 2012-10-21 20:21:26
|
philippe 2012-10-21 21:21:17 +0100 (Sun, 21 Oct 2012)
New Revision: 13076
Log:
restructure code for future fixing of 123837 (semctl GETVAL false positive)
Regrouped identical code (except for indentation)
from syswrap-ppc64-linux.c, syswrap-ppc32-linux.c,syswrap-mips32-linux.c
syswrap-x86-linux.c, syswrap-s390x-linux.c
into
syswrap-linux.c
(compiled/regtested on x86, amd64, ppc64, mips32, s390x)
Modified files:
trunk/coregrind/m_syswrap/priv_syswrap-linux.h
trunk/coregrind/m_syswrap/syswrap-generic.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-mips32-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
trunk/coregrind/m_syswrap/syswrap-s390x-linux.c
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-x86-linux.c (+1 -155)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2012-10-21 20:58:04 +01:00 (rev 13075)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2012-10-21 21:21:17 +01:00 (rev 13076)
@@ -800,7 +800,6 @@
DECL_TEMPLATE(x86_linux, old_mmap);
DECL_TEMPLATE(x86_linux, sys_mmap2);
DECL_TEMPLATE(x86_linux, sys_sigreturn);
-DECL_TEMPLATE(x86_linux, sys_ipc);
DECL_TEMPLATE(x86_linux, sys_rt_sigreturn);
DECL_TEMPLATE(x86_linux, sys_modify_ldt);
DECL_TEMPLATE(x86_linux, sys_set_thread_area);
@@ -1177,159 +1176,6 @@
}
}
-static Addr deref_Addr ( ThreadId tid, Addr a, Char* s )
-{
- Addr* a_p = (Addr*)a;
- PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
- return *a_p;
-}
-
-PRE(sys_ipc)
-{
- PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
- // XXX: this is simplistic -- some args are not used in all circumstances.
- PRE_REG_READ6(int, "ipc",
- vki_uint, call, int, first, int, second, int, third,
- void *, ptr, long, fifth)
-
- switch (ARG1 /* call */) {
- case VKI_SEMOP:
- ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
- *flags |= SfMayBlock;
- break;
- case VKI_SEMGET:
- break;
- case VKI_SEMCTL:
- {
- UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
- ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
- break;
- }
- case VKI_SEMTIMEDOP:
- ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
- *flags |= SfMayBlock;
- break;
- case VKI_MSGSND:
- ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
- if ((ARG4 & VKI_IPC_NOWAIT) == 0)
- *flags |= SfMayBlock;
- break;
- case VKI_MSGRCV:
- {
- Addr msgp;
- Word msgtyp;
-
- msgp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
- "msgrcv(msgp)" );
- msgtyp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
- "msgrcv(msgp)" );
-
- ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
-
- if ((ARG4 & VKI_IPC_NOWAIT) == 0)
- *flags |= SfMayBlock;
- break;
- }
- case VKI_MSGGET:
- break;
- case VKI_MSGCTL:
- ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
- break;
- case VKI_SHMAT:
- {
- UWord w;
- PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
- w = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
- if (w == 0)
- SET_STATUS_Failure( VKI_EINVAL );
- else
- ARG5 = w;
- break;
- }
- case VKI_SHMDT:
- if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
- SET_STATUS_Failure( VKI_EINVAL );
- break;
- case VKI_SHMGET:
- break;
- case VKI_SHMCTL: /* IPCOP_shmctl */
- ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
- break;
- default:
- VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld\n", ARG1 );
- VG_(core_panic)("... bye!\n");
- break; /*NOTREACHED*/
- }
-}
-
-POST(sys_ipc)
-{
- vg_assert(SUCCESS);
- switch (ARG1 /* call */) {
- case VKI_SEMOP:
- case VKI_SEMGET:
- break;
- case VKI_SEMCTL:
- {
- UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
- ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
- break;
- }
- case VKI_SEMTIMEDOP:
- case VKI_MSGSND:
- break;
- case VKI_MSGRCV:
- {
- Addr msgp;
- Word msgtyp;
-
- msgp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
- "msgrcv(msgp)" );
- msgtyp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
- "msgrcv(msgp)" );
-
- ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
- break;
- }
- case VKI_MSGGET:
- break;
- case VKI_MSGCTL:
- ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
- break;
- case VKI_SHMAT:
- {
- Addr addr;
-
- /* force readability. before the syscall it is
- * indeed uninitialized, as can be seen in
- * glibc/sysdeps/unix/sysv/linux/shmat.c */
- POST_MEM_WRITE( ARG4, sizeof( Addr ) );
-
- addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
- ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
- break;
- }
- case VKI_SHMDT:
- ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
- break;
- case VKI_SHMGET:
- break;
- case VKI_SHMCTL:
- ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
- break;
- default:
- VG_(message)(Vg_DebugMsg,
- "FATAL: unhandled syscall(ipc) %ld\n",
- ARG1 );
- VG_(core_panic)("... bye!\n");
- break; /*NOTREACHED*/
- }
-}
-
PRE(old_mmap)
{
/* struct mmap_arg_struct {
@@ -1954,7 +1800,7 @@
//zz
//zz // (__NR_swapoff, sys_swapoff), // 115 */Linux
LINXY(__NR_sysinfo, sys_sysinfo), // 116
- PLAXY(__NR_ipc, sys_ipc), // 117
+ LINXY(__NR_ipc, sys_ipc), // 117
GENX_(__NR_fsync, sys_fsync), // 118
PLAX_(__NR_sigreturn, sys_sigreturn), // 119 ?/Linux
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c (+0 -1)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2012-10-21 20:58:04 +01:00 (rev 13075)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2012-10-21 21:21:17 +01:00 (rev 13076)
@@ -1935,7 +1935,6 @@
}
}
-
/* ---------------------------------------------------------------------
Generic handler for mmap
------------------------------------------------------------------ */
Modified: trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c (+1 -154)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2012-10-21 20:58:04 +01:00 (rev 13075)
+++ trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2012-10-21 21:21:17 +01:00 (rev 13076)
@@ -445,7 +445,6 @@
//zz DECL_TEMPLATE(ppc64_linux, sys_stat64);
//zz DECL_TEMPLATE(ppc64_linux, sys_lstat64);
//zz DECL_TEMPLATE(ppc64_linux, sys_fstat64);
-DECL_TEMPLATE(ppc64_linux, sys_ipc);
DECL_TEMPLATE(ppc64_linux, sys_clone);
//zz DECL_TEMPLATE(ppc64_linux, sys_sigreturn);
DECL_TEMPLATE(ppc64_linux, sys_rt_sigreturn);
@@ -797,159 +796,7 @@
//zz POST_MEM_WRITE( ARG2, sizeof(struct vki_stat64) );
//zz }
-static Addr deref_Addr ( ThreadId tid, Addr a, Char* s )
-{
- Addr* a_p = (Addr*)a;
- PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
- return *a_p;
-}
-PRE(sys_ipc)
-{
- PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
- // XXX: this is simplistic -- some args are not used in all circumstances.
- PRE_REG_READ6(int, "ipc",
- vki_uint, call, int, first, int, second, int, third,
- void *, ptr, long, fifth)
-
- switch (ARG1 /* call */) {
- case VKI_SEMOP:
- ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
- *flags |= SfMayBlock;
- break;
- case VKI_SEMGET:
- break;
- case VKI_SEMCTL:
- {
- UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
- ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
- break;
- }
- case VKI_SEMTIMEDOP:
- ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
- *flags |= SfMayBlock;
- break;
- case VKI_MSGSND:
- ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
- if ((ARG4 & VKI_IPC_NOWAIT) == 0)
- *flags |= SfMayBlock;
- break;
- case VKI_MSGRCV:
- {
- Addr msgp;
- Word msgtyp;
-
- msgp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
- "msgrcv(msgp)" );
- msgtyp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
- "msgrcv(msgp)" );
-
- ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
-
- if ((ARG4 & VKI_IPC_NOWAIT) == 0)
- *flags |= SfMayBlock;
- break;
- }
- case VKI_MSGGET:
- break;
- case VKI_MSGCTL:
- ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
- break;
- case VKI_SHMAT:
- {
- UWord w;
- PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
- w = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
- if (w == 0)
- SET_STATUS_Failure( VKI_EINVAL );
- else
- ARG5 = w;
- break;
- }
- case VKI_SHMDT:
- if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
- SET_STATUS_Failure( VKI_EINVAL );
- break;
- case VKI_SHMGET:
- break;
- case VKI_SHMCTL: /* IPCOP_shmctl */
- ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
- break;
- default:
- VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld\n", ARG1 );
- VG_(core_panic)("... bye!\n");
- break; /*NOTREACHED*/
- }
-}
-
-POST(sys_ipc)
-{
- vg_assert(SUCCESS);
- switch (ARG1 /* call */) {
- case VKI_SEMOP:
- case VKI_SEMGET:
- break;
- case VKI_SEMCTL:
- {
- UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
- ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
- break;
- }
- case VKI_SEMTIMEDOP:
- case VKI_MSGSND:
- break;
- case VKI_MSGRCV:
- {
- Addr msgp;
- Word msgtyp;
-
- msgp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
- "msgrcv(msgp)" );
- msgtyp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
- "msgrcv(msgp)" );
-
- ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
- break;
- }
- case VKI_MSGGET:
- break;
- case VKI_MSGCTL:
- ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
- break;
- case VKI_SHMAT:
- {
- Addr addr;
-
- /* force readability. before the syscall it is
- * indeed uninitialized, as can be seen in
- * glibc/sysdeps/unix/sysv/linux/shmat.c */
- POST_MEM_WRITE( ARG4, sizeof( Addr ) );
-
- addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
- ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
- break;
- }
- case VKI_SHMDT:
- ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
- break;
- case VKI_SHMGET:
- break;
- case VKI_SHMCTL:
- ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
- break;
- default:
- VG_(message)(Vg_DebugMsg,
- "FATAL: unhandled syscall(ipc) %ld\n",
- ARG1 );
- VG_(core_panic)("... bye!\n");
- break; /*NOTREACHED*/
- }
-}
-
PRE(sys_clone)
{
UInt cloneflags;
@@ -1237,7 +1084,7 @@
// _____(__NR_swapoff, sys_swapoff), // 115
LINXY(__NR_sysinfo, sys_sysinfo), // 116
- PLAXY(__NR_ipc, sys_ipc), // 117
+ LINXY(__NR_ipc, sys_ipc), // 117
GENX_(__NR_fsync, sys_fsync), // 118
// _____(__NR_sigreturn, sys_sigreturn), // 119
Modified: trunk/coregrind/m_syswrap/syswrap-s390x-linux.c (+1 -156)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-s390x-linux.c 2012-10-21 20:58:04 +01:00 (rev 13075)
+++ trunk/coregrind/m_syswrap/syswrap-s390x-linux.c 2012-10-21 21:21:17 +01:00 (rev 13076)
@@ -341,7 +341,6 @@
DECL_TEMPLATE(s390x_linux, sys_ptrace);
DECL_TEMPLATE(s390x_linux, sys_socketcall);
DECL_TEMPLATE(s390x_linux, sys_mmap);
-DECL_TEMPLATE(s390x_linux, sys_ipc);
DECL_TEMPLATE(s390x_linux, sys_clone);
DECL_TEMPLATE(s390x_linux, sys_sigreturn);
DECL_TEMPLATE(s390x_linux, sys_rt_sigreturn);
@@ -781,160 +780,6 @@
SET_STATUS_from_SysRes(r);
}
-static Addr deref_Addr ( ThreadId tid, Addr a, Char* s )
-{
- Addr* a_p = (Addr*)a;
- PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
- return *a_p;
-}
-
-PRE(sys_ipc)
-{
- PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )",
- ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
- // XXX: this is simplistic -- some args are not used in all circumstances.
- PRE_REG_READ6(int, "ipc",
- vki_uint, call, int, first, int, second, int, third,
- void *, ptr, long, fifth)
-
- switch (ARG1 /* call */) {
- case VKI_SEMOP:
- ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
- *flags |= SfMayBlock;
- break;
- case VKI_SEMGET:
- break;
- case VKI_SEMCTL:
- {
- UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
- ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
- break;
- }
- case VKI_SEMTIMEDOP:
- ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
- *flags |= SfMayBlock;
- break;
- case VKI_MSGSND:
- ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
- if ((ARG4 & VKI_IPC_NOWAIT) == 0)
- *flags |= SfMayBlock;
- break;
- case VKI_MSGRCV:
- {
- Addr msgp;
- Word msgtyp;
-
- msgp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
- "msgrcv(msgp)" );
- msgtyp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
- "msgrcv(msgp)" );
-
- ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
-
- if ((ARG4 & VKI_IPC_NOWAIT) == 0)
- *flags |= SfMayBlock;
- break;
- }
- case VKI_MSGGET:
- break;
- case VKI_MSGCTL:
- ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
- break;
- case VKI_SHMAT:
- {
- UWord w;
- PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
- w = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
- if (w == 0)
- SET_STATUS_Failure( VKI_EINVAL );
- else
- ARG5 = w;
- break;
- }
- case VKI_SHMDT:
- if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
- SET_STATUS_Failure( VKI_EINVAL );
- break;
- case VKI_SHMGET:
- break;
- case VKI_SHMCTL: /* IPCOP_shmctl */
- ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
- break;
- default:
- VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld", ARG1 );
- VG_(core_panic)("... bye!\n");
- break; /*NOTREACHED*/
- }
-}
-
-POST(sys_ipc)
-{
- vg_assert(SUCCESS);
- switch (ARG1 /* call */) {
- case VKI_SEMOP:
- case VKI_SEMGET:
- break;
- case VKI_SEMCTL:
- {
- UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
- ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
- break;
- }
- case VKI_SEMTIMEDOP:
- case VKI_MSGSND:
- break;
- case VKI_MSGRCV:
- {
- Addr msgp;
- Word msgtyp;
-
- msgp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
- "msgrcv(msgp)" );
- msgtyp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
- "msgrcv(msgp)" );
-
- ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
- break;
- }
- case VKI_MSGGET:
- break;
- case VKI_MSGCTL:
- ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
- break;
- case VKI_SHMAT:
- {
- Addr addr;
-
- /* force readability. before the syscall it is
- * indeed uninitialized, as can be seen in
- * glibc/sysdeps/unix/sysv/linux/shmat.c */
- POST_MEM_WRITE( ARG4, sizeof( Addr ) );
-
- addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
- ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
- break;
- }
- case VKI_SHMDT:
- ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
- break;
- case VKI_SHMGET:
- break;
- case VKI_SHMCTL:
- ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
- break;
- default:
- VG_(message)(Vg_DebugMsg,
- "FATAL: unhandled syscall(ipc) %ld",
- ARG1 );
- VG_(core_panic)("... bye!\n");
- break; /*NOTREACHED*/
- }
-}
-
PRE(sys_clone)
{
UInt cloneflags;
@@ -1254,7 +1099,7 @@
// ?????(__NR_swapoff, ), // 115
LINXY(__NR_sysinfo, sys_sysinfo), // 116
- PLAXY(__NR_ipc, sys_ipc), // 117
+ LINXY(__NR_ipc, sys_ipc), // 117
GENX_(__NR_fsync, sys_fsync), // 118
PLAX_(__NR_sigreturn, sys_sigreturn), // 119
Modified: trunk/coregrind/m_syswrap/syswrap-mips32-linux.c (+1 -146)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-mips32-linux.c 2012-10-21 20:58:04 +01:00 (rev 13075)
+++ trunk/coregrind/m_syswrap/syswrap-mips32-linux.c 2012-10-21 21:21:17 +01:00 (rev 13076)
@@ -381,7 +381,6 @@
DECL_TEMPLATE (mips_linux, sys_accept);
DECL_TEMPLATE (mips_linux, sys_sendto);
DECL_TEMPLATE (mips_linux, sys_recvfrom);
-DECL_TEMPLATE (mips_linux, sys_ipc);
DECL_TEMPLATE (mips_linux, sys_semget);
DECL_TEMPLATE (mips_linux, sys_semop);
DECL_TEMPLATE (mips_linux, sys_semctl);
@@ -1080,150 +1079,6 @@
POST_MEM_WRITE (ARG2, sizeof (struct vki_stat64));
}
-static Addr
-deref_Addr (ThreadId tid, Addr a, Char * s)
-{
- Addr * a_p = (Addr *) a;
- PRE_MEM_READ (s, (Addr) a_p, sizeof (Addr));
- return *a_p;
-}
-
-PRE (sys_ipc)
-{
- PRINT ("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1, ARG2, ARG3,
- ARG4, ARG5, ARG6);
- // XXX: this is simplistic -- some args are not used in all circumstances.
- PRE_REG_READ6 (int, "ipc", vki_uint, call, int, first, int, second, int,
- third, void *, ptr, long, fifth)
- switch (ARG1 /* call */ )
- {
- case VKI_SEMOP:
- ML_ (generic_PRE_sys_semop) (tid, ARG2, ARG5, ARG3);
- *flags |= SfMayBlock;
- break;
- case VKI_SEMGET:
- break;
- case VKI_SEMCTL:
- {
- UWord arg = deref_Addr (tid, ARG5, "semctl(arg)");
- ML_ (generic_PRE_sys_semctl) (tid, ARG2, ARG3, ARG4, arg);
- break;
- }
- case VKI_SEMTIMEDOP:
- ML_ (generic_PRE_sys_semtimedop) (tid, ARG2, ARG5, ARG3, ARG6);
- *flags |= SfMayBlock;
- break;
- case VKI_MSGSND:
- ML_ (linux_PRE_sys_msgsnd) (tid, ARG2, ARG5, ARG3, ARG4);
- if ((ARG4 & VKI_IPC_NOWAIT) == 0)
- *flags |= SfMayBlock;
- break;
- case VKI_MSGRCV:
- {
- Addr msgp;
- Word msgtyp;
- msgp = deref_Addr (tid,
- (Addr)(&((struct vki_ipc_kludge *)ARG5)->msgp),
- "msgrcv(msgp)");
- msgtyp = deref_Addr (tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
- "msgrcv(msgp)");
- ML_ (linux_PRE_sys_msgrcv) (tid, ARG2, msgp, ARG3, msgtyp, ARG4);
- if ((ARG4 & VKI_IPC_NOWAIT) == 0)
- *flags |= SfMayBlock;
- break;
- }
- case VKI_MSGGET:
- break;
- case VKI_MSGCTL:
- ML_ (linux_PRE_sys_msgctl) (tid, ARG2, ARG3, ARG5);
- break;
- case VKI_SHMAT:
- {
- PRE_MEM_WRITE ("shmat(raddr)", ARG4, sizeof (Addr));
- break;
- }
- case VKI_SHMDT:
- if (!ML_ (generic_PRE_sys_shmdt) (tid, ARG5))
- SET_STATUS_Failure (VKI_EINVAL);
- break;
- case VKI_SHMGET:
- break;
- case VKI_SHMCTL: /* IPCOP_shmctl */
- ML_ (generic_PRE_sys_shmctl) (tid, ARG2, ARG3, ARG5);
- break;
- default:
- VG_ (message) (Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld\n",
- ARG1);
- VG_ (core_panic) ("... bye!\n");
- break;
- /*NOTREACHED*/
- }
-}
-
-POST (sys_ipc)
-{
- vg_assert (SUCCESS);
- switch (ARG1 /* call */ )
- {
- case VKI_SEMOP:
- case VKI_SEMGET:
- break;
- case VKI_SEMCTL:
- {
- UWord arg = deref_Addr (tid, ARG5, "semctl(arg)");
- ML_ (generic_PRE_sys_semctl) (tid, ARG2, ARG3, ARG4, arg);
- break;
- }
- case VKI_SEMTIMEDOP:
- case VKI_MSGSND:
- break;
- case VKI_MSGRCV:
- {
- Addr msgp;
- Word msgtyp;
- msgp = deref_Addr (tid, (Addr) (&((struct vki_ipc_kludge *)
- ARG5)->msgp),
- "msgrcv(msgp)");
- msgtyp = deref_Addr (tid,
- (Addr) (&((struct vki_ipc_kludge *) ARG5)->msgtyp),
- "msgrcv(msgp)");
- ML_ (linux_POST_sys_msgrcv)(tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4);
- break;
- }
- case VKI_MSGGET:
- break;
- case VKI_MSGCTL:
- ML_ (linux_POST_sys_msgctl) (tid, RES, ARG2, ARG3, ARG5);
- break;
- case VKI_SHMAT:
- {
- Addr addr;
- /* force readability. before the syscall it is
- * indeed uninitialized, as can be seen in
- * glibc/sysdeps/unix/sysv/linux/shmat.c */
- POST_MEM_WRITE (ARG4, sizeof (Addr));
- addr = deref_Addr (tid, ARG4, "shmat(addr)");
- ML_ (generic_POST_sys_shmat) (tid, addr, ARG2, ARG5, ARG3);
- break;
- }
- case VKI_SHMDT:
- ML_ (generic_POST_sys_shmdt) (tid, RES, ARG5);
- break;
- case VKI_SHMGET:
- break;
- case VKI_SHMCTL:
- ML_ (generic_POST_sys_shmctl) (tid, RES, ARG2, ARG3, ARG5);
- break;
- default:
- VG_ (message) (Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld\n",
- ARG1);
- VG_ (core_panic) ("... bye!\n");
- break;
- /*NOTREACHED*/
- }
-}
-
PRE (sys_clone)
{
Bool badarg = False;
@@ -1535,7 +1390,7 @@
//..
//.. // (__NR_swapoff, sys_swapoff), // 115 */Linux
LINXY (__NR_sysinfo, sys_sysinfo), // 116
- PLAXY (__NR_ipc, sys_ipc), // 117
+ LINXY (__NR_ipc, sys_ipc), // 117
GENX_ (__NR_fsync, sys_fsync), // 118
PLAX_ (__NR_sigreturn, sys_sigreturn), // 119 ?/Linux
//..
Modified: trunk/coregrind/m_syswrap/priv_syswrap-linux.h (+4 -0)
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2012-10-21 20:58:04 +01:00 (rev 13075)
+++ trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2012-10-21 21:21:17 +01:00 (rev 13076)
@@ -294,6 +294,10 @@
#undef UW
#undef SR
+/* sys_ipc is a multiplexor which implements several syscalls.
+ Used e.g. by x86, ppc32, ppc64, ... */
+DECL_TEMPLATE(linux, sys_ipc);
+
#endif // __PRIV_SYSWRAP_LINUX_H
/*--------------------------------------------------------------------*/
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c (+160 -0)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-21 20:58:04 +01:00 (rev 13075)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-21 21:21:17 +01:00 (rev 13076)
@@ -3289,6 +3289,166 @@
}
/* ---------------------------------------------------------------------
+ Generic handler for sys_ipc
+ Depending on the platform, some syscalls (e.g. semctl, semop, ...)
+ are either direct system calls, or are all implemented via sys_ipc.
+ ------------------------------------------------------------------ */
+#ifdef __NR_ipc
+static Addr deref_Addr ( ThreadId tid, Addr a, Char* s )
+{
+ Addr* a_p = (Addr*)a;
+ PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
+ return *a_p;
+}
+
+PRE(sys_ipc)
+{
+ PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+ // XXX: this is simplistic -- some args are not used in all circumstances.
+ PRE_REG_READ6(int, "ipc",
+ vki_uint, call, int, first, int, second, int, third,
+ void *, ptr, long, fifth)
+
+ switch (ARG1 /* call */) {
+ case VKI_SEMOP:
+ ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
+ *flags |= SfMayBlock;
+ break;
+ case VKI_SEMGET:
+ break;
+ case VKI_SEMCTL:
+ {
+ UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
+ ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
+ break;
+ }
+ case VKI_SEMTIMEDOP:
+ ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
+ *flags |= SfMayBlock;
+ break;
+ case VKI_MSGSND:
+ ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
+ if ((ARG4 & VKI_IPC_NOWAIT) == 0)
+ *flags |= SfMayBlock;
+ break;
+ case VKI_MSGRCV:
+ {
+ Addr msgp;
+ Word msgtyp;
+
+ msgp = deref_Addr( tid,
+ (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
+ "msgrcv(msgp)" );
+ msgtyp = deref_Addr( tid,
+ (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
+ "msgrcv(msgp)" );
+
+ ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
+
+ if ((ARG4 & VKI_IPC_NOWAIT) == 0)
+ *flags |= SfMayBlock;
+ break;
+ }
+ case VKI_MSGGET:
+ break;
+ case VKI_MSGCTL:
+ ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
+ break;
+ case VKI_SHMAT:
+ {
+ UWord w;
+ PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
+ w = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
+ if (w == 0)
+ SET_STATUS_Failure( VKI_EINVAL );
+ else
+ ARG5 = w;
+ break;
+ }
+ case VKI_SHMDT:
+ if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
+ SET_STATUS_Failure( VKI_EINVAL );
+ break;
+ case VKI_SHMGET:
+ break;
+ case VKI_SHMCTL: /* IPCOP_shmctl */
+ ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
+ break;
+ default:
+ VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld\n", ARG1 );
+ VG_(core_panic)("... bye!\n");
+ break; /*NOTREACHED*/
+ }
+}
+
+POST(sys_ipc)
+{
+ vg_assert(SUCCESS);
+ switch (ARG1 /* call */) {
+ case VKI_SEMOP:
+ case VKI_SEMGET:
+ break;
+ case VKI_SEMCTL:
+ {
+ UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
+ ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
+ break;
+ }
+ case VKI_SEMTIMEDOP:
+ case VKI_MSGSND:
+ break;
+ case VKI_MSGRCV:
+ {
+ Addr msgp;
+ Word msgtyp;
+
+ msgp = deref_Addr( tid,
+ (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
+ "msgrcv(msgp)" );
+ msgtyp = deref_Addr( tid,
+ (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
+ "msgrcv(msgp)" );
+
+ ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
+ break;
+ }
+ case VKI_MSGGET:
+ break;
+ case VKI_MSGCTL:
+ ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
+ break;
+ case VKI_SHMAT:
+ {
+ Addr addr;
+
+ /* force readability. before the syscall it is
+ * indeed uninitialized, as can be seen in
+ * glibc/sysdeps/unix/sysv/linux/shmat.c */
+ POST_MEM_WRITE( ARG4, sizeof( Addr ) );
+
+ addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
+ ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
+ break;
+ }
+ case VKI_SHMDT:
+ ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
+ break;
+ case VKI_SHMGET:
+ break;
+ case VKI_SHMCTL:
+ ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
+ break;
+ default:
+ VG_(message)(Vg_DebugMsg,
+ "FATAL: unhandled syscall(ipc) %ld\n",
+ ARG1 );
+ VG_(core_panic)("... bye!\n");
+ break; /*NOTREACHED*/
+ }
+}
+#endif
+
+/* ---------------------------------------------------------------------
*at wrappers
------------------------------------------------------------------ */
Modified: trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c (+1 -309)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2012-10-21 20:58:04 +01:00 (rev 13075)
+++ trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2012-10-21 21:21:17 +01:00 (rev 13076)
@@ -417,7 +417,6 @@
DECL_TEMPLATE(ppc32_linux, sys_lstat64);
DECL_TEMPLATE(ppc32_linux, sys_fstatat64);
DECL_TEMPLATE(ppc32_linux, sys_fstat64);
-DECL_TEMPLATE(ppc32_linux, sys_ipc);
DECL_TEMPLATE(ppc32_linux, sys_clone);
DECL_TEMPLATE(ppc32_linux, sys_sigreturn);
DECL_TEMPLATE(ppc32_linux, sys_rt_sigreturn);
@@ -784,162 +783,8 @@
POST_MEM_WRITE( ARG2, sizeof(struct vki_stat64) );
}
-static Addr deref_Addr ( ThreadId tid, Addr a, Char* s )
-{
- Addr* a_p = (Addr*)a;
- PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
- return *a_p;
-}
-PRE(sys_ipc)
-{
- PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
- // XXX: this is simplistic -- some args are not used in all circumstances.
- PRE_REG_READ6(int, "ipc",
- vki_uint, call, int, first, int, second, int, third,
- void *, ptr, long, fifth)
- switch (ARG1 /* call */) {
- case VKI_SEMOP:
- ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
- *flags |= SfMayBlock;
- break;
- case VKI_SEMGET:
- break;
- case VKI_SEMCTL:
- {
- UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
- ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
- break;
- }
- case VKI_SEMTIMEDOP:
- ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
- *flags |= SfMayBlock;
- break;
- case VKI_MSGSND:
- ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
- if ((ARG4 & VKI_IPC_NOWAIT) == 0)
- *flags |= SfMayBlock;
- break;
- case VKI_MSGRCV:
- {
- Addr msgp;
- Word msgtyp;
-
- msgp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
- "msgrcv(msgp)" );
- msgtyp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
- "msgrcv(msgp)" );
-
- ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
-
- if ((ARG4 & VKI_IPC_NOWAIT) == 0)
- *flags |= SfMayBlock;
- break;
- }
- case VKI_MSGGET:
- break;
- case VKI_MSGCTL:
- ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
- break;
- case VKI_SHMAT:
- {
- UWord w;
- PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
- w = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
- if (w == 0)
- SET_STATUS_Failure( VKI_EINVAL );
- else
- ARG5 = w;
- break;
- }
- case VKI_SHMDT:
- if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
- SET_STATUS_Failure( VKI_EINVAL );
- break;
- case VKI_SHMGET:
- break;
- case VKI_SHMCTL: /* IPCOP_shmctl */
- ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
- break;
- default:
- VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld\n", ARG1 );
- VG_(core_panic)("... bye!\n");
- break; /*NOTREACHED*/
- }
-}
-
-POST(sys_ipc)
-{
- vg_assert(SUCCESS);
- switch (ARG1 /* call */) {
- case VKI_SEMOP:
- case VKI_SEMGET:
- break;
- case VKI_SEMCTL:
- {
- UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
- ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
- break;
- }
- case VKI_SEMTIMEDOP:
- case VKI_MSGSND:
- break;
- case VKI_MSGRCV:
- {
- Addr msgp;
- Word msgtyp;
-
- msgp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
- "msgrcv(msgp)" );
- msgtyp = deref_Addr( tid,
- (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
- "msgrcv(msgp)" );
-
- ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
- break;
- }
- case VKI_MSGGET:
- break;
- case VKI_MSGCTL:
- ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
- break;
- case VKI_SHMAT:
- {
- Addr addr;
-
- /* force readability. before the syscall it is
- * indeed uninitialized, as can be seen in
- * glibc/sysdeps/unix/sysv/linux/shmat.c */
- POST_MEM_WRITE( ARG4, sizeof( Addr ) );
-
- addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
- ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
- break;
- }
- case VKI_SHMDT:
- ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
- break;
- case VKI_SHMGET:
- break;
- case VKI_SHMCTL:
- ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
- break;
- default:
- VG_(message)(Vg_DebugMsg,
- "FATAL: unhandled syscall(ipc) %ld\n",
- ARG1 );
- VG_(core_panic)("... bye!\n");
- break; /*NOTREACHED*/
- }
-}
-
-
-
-
//.. PRE(old_select, MayBlock)
//.. {
//.. /* struct sel_arg_struct {
@@ -1240,159 +1085,6 @@
//.. }
//.. }
-//.. // XXX: this duplicates a function in coregrind/vg_syscalls.c, yuk
-//.. static Addr deref_Addr ( ThreadId tid, Addr a, Char* s )
-//.. {
-//.. Addr* a_p = (Addr*)a;
-//.. PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
-//.. return *a_p;
-//.. }
-
-//.. // XXX: should use the constants here (eg. SHMAT), not the numbers directly!
-//.. PRE(sys_ipc, 0)
-//.. {
-//.. PRINT("sys_ipc ( %d, %d, %d, %d, %p, %d )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-//.. // XXX: this is simplistic -- some args are not used in all circumstances.
-//.. PRE_REG_READ6(int, "ipc",
-//.. vki_uint, call, int, first, int, second, int, third,
-//.. void *, ptr, long, fifth)
-//..
-//.. switch (ARG1 /* call */) {
-//.. case VKI_SEMOP:
-//.. ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
-//.. /* tst->sys_flags |= MayBlock; */
-//.. break;
-//.. case VKI_SEMGET:
-//.. break;
-//.. case VKI_SEMCTL:
-//.. {
-//.. UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-//.. ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-//.. break;
-//.. }
-//.. case VKI_SEMTIMEDOP:
-//.. ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
-//.. /* tst->sys_flags |= MayBlock; */
-//.. break;
-//.. case VKI_MSGSND:
-//.. ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
-//.. /* if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-//.. tst->sys_flags |= MayBlock;
-//.. */
-//.. break;
-//.. case VKI_MSGRCV:
-//.. {
-//.. Addr msgp;
-//.. Word msgtyp;
-//..
-//.. msgp = deref_Addr( tid,
-//.. (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-//.. "msgrcv(msgp)" );
-//.. msgtyp = deref_Addr( tid,
-//.. (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-//.. "msgrcv(msgp)" );
-//..
-//.. ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
-//..
-//.. /* if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-//.. tst->sys_flags |= MayBlock;
-//.. */
-//.. break;
-//.. }
-//.. case VKI_MSGGET:
-//.. break;
-//.. case VKI_MSGCTL:
-//.. ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
-//.. break;
-//.. case VKI_SHMAT:
-//.. PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
-//.. ARG5 = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
-//.. if (ARG5 == 0)
-//.. SET_RESULT( -VKI_EINVAL );
-//.. break;
-//.. case VKI_SHMDT:
-//.. if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
-//.. SET_RESULT( -VKI_EINVAL );
-//.. break;
-//.. case VKI_SHMGET:
-//.. break;
-//.. case VKI_SHMCTL: /* IPCOP_shmctl */
-//.. ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
-//.. break;
-//.. default:
-//.. VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %d", ARG1 );
-//.. VG_(core_panic)("... bye!\n");
-//.. break; /*NOTREACHED*/
-//.. }
-//.. }
-
-//.. POST(sys_ipc)
-//.. {
-//.. switch (ARG1 /* call */) {
-//.. case VKI_SEMOP:
-//.. case VKI_SEMGET:
-//.. break;
-//.. case VKI_SEMCTL:
-//.. {
-//.. UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-//.. ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-//.. break;
-//.. }
-//.. case VKI_SEMTIMEDOP:
-//.. case VKI_MSGSND:
-//.. break;
-//.. case VKI_MSGRCV:
-//.. {
-//.. Addr msgp;
-//.. Word msgtyp;
-//..
-//.. msgp = deref_Addr( tid,
-//.. (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-//.. "msgrcv(msgp)" );
-//.. msgtyp = deref_Addr( tid,
-//.. (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-//.. "msgrcv(msgp)" );
-//..
-//.. ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
-//.. break;
-//.. }
-//.. case VKI_MSGGET:
-//.. break;
-//.. case VKI_MSGCTL:
-//.. ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
-//.. break;
-//.. case VKI_SHMAT:
-//.. {
-//.. Addr addr;
-//..
-//.. /* force readability. before the syscall it is
-//.. * indeed uninitialized, as can be seen in
-//.. * glibc/sysdeps/unix/sysv/linux/shmat.c */
-//.. POST_MEM_WRITE( ARG4, sizeof( Addr ) );
-//..
-//.. addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
-//.. if ( addr > 0 ) {
-//.. ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
-//.. }
-//.. break;
-//.. }
-//.. case VKI_SHMDT:
-//.. ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
-//.. break;
-//.. case VKI_SHMGET:
-//.. break;
-//.. case VKI_SHMCTL:
-//.. ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
-//.. break;
-//.. default:
-//.. VG_(message)(Vg_DebugMsg,
-//.. "FATAL: unhandled syscall(ipc) %d",
-//.. ARG1 );
-//.. VG_(core_panic)("... bye!\n");
-//.. break; /*NOTREACHED*/
-//.. }
-//.. }
-
/* NB: This is an almost identical clone of versions for x86-linux and
arm-linux, which are themselves literally identical. */
PRE(sys_sigsuspend)
@@ -1591,7 +1283,7 @@
//..
//.. // (__NR_swapoff, sys_swapoff), // 115 */Linux
LINXY(__NR_sysinfo, sys_sysinfo), // 116
- PLAXY(__NR_ipc, sys_ipc), // 117
+ LINXY(__NR_ipc, sys_ipc), // 117
GENX_(__NR_fsync, sys_fsync), // 118
PLAX_(__NR_sigreturn, sys_sigreturn), // 119 ?/Linux
//..
|
|
From: <sv...@va...> - 2012-10-21 19:58:12
|
florian 2012-10-21 20:58:04 +0100 (Sun, 21 Oct 2012)
New Revision: 13075
Log:
Fix memory leak.
Modified files:
trunk/memcheck/tests/vbit-test/main.c
Modified: trunk/memcheck/tests/vbit-test/main.c (+2 -0)
===================================================================
--- trunk/memcheck/tests/vbit-test/main.c 2012-10-21 20:43:43 +01:00 (rev 13074)
+++ trunk/memcheck/tests/vbit-test/main.c 2012-10-21 20:58:04 +01:00 (rev 13075)
@@ -143,6 +143,8 @@
default:
panic("operator not handled");
}
+
+ free(data);
}
return 0;
|
|
From: <sv...@va...> - 2012-10-21 19:43:52
|
florian 2012-10-21 20:43:43 +0100 (Sun, 21 Oct 2012)
New Revision: 13074
Log:
First round of Char/HChar fixups for coregrind and memcheck.
Little bit of ripple in tools, too.
Modified files:
trunk/coregrind/m_errormgr.c
trunk/coregrind/m_main.c
trunk/coregrind/m_syswrap/priv_syswrap-generic.h
trunk/coregrind/m_syswrap/syswrap-generic.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_tooliface.c
trunk/coregrind/pub_core_syswrap.h
trunk/coregrind/pub_core_tooliface.h
trunk/drd/drd_error.c
trunk/drd/drd_main.c
trunk/exp-dhat/dh_main.c
trunk/exp-sgcheck/pc_common.c
trunk/exp-sgcheck/pc_common.h
trunk/helgrind/hg_errors.c
trunk/helgrind/hg_errors.h
trunk/helgrind/hg_main.c
trunk/include/pub_tool_errormgr.h
trunk/include/pub_tool_tooliface.h
trunk/memcheck/mc_errors.c
trunk/memcheck/mc_include.h
trunk/memcheck/mc_main.c
Modified: trunk/drd/drd_error.c (+2 -2)
===================================================================
--- trunk/drd/drd_error.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/drd/drd_error.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -43,7 +43,7 @@
/* Local function declarations. */
-static Char* drd_get_error_name(Error* e);
+static const HChar* drd_get_error_name(Error* e);
/* Local variables. */
@@ -569,7 +569,7 @@
return VG_(get_supp_kind)(supp) == VG_(get_error_kind)(e);
}
-static Char* drd_get_error_name(Error* e)
+static const HChar* drd_get_error_name(Error* e)
{
switch (VG_(get_error_kind)(e))
{
Modified: trunk/memcheck/mc_include.h (+5 -5)
===================================================================
--- trunk/memcheck/mc_include.h 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/memcheck/mc_include.h 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -382,7 +382,7 @@
Bool MC_(get_extra_suppression_info) ( Error* err,
/*OUT*/Char* buf, Int nBuf );
-HChar* MC_(get_error_name) ( Error* err );
+const HChar* MC_(get_error_name) ( Error* err );
/* Recording of errors */
void MC_(record_address_error) ( ThreadId tid, Addr a, Int szB,
@@ -395,12 +395,12 @@
void MC_(record_illegal_mempool_error) ( ThreadId tid, Addr a );
void MC_(record_freemismatch_error) ( ThreadId tid, MC_Chunk* mc );
-void MC_(record_overlap_error) ( ThreadId tid, Char* function,
+void MC_(record_overlap_error) ( ThreadId tid, const HChar* function,
Addr src, Addr dst, SizeT szB );
-void MC_(record_core_mem_error) ( ThreadId tid, Char* msg );
-void MC_(record_regparam_error) ( ThreadId tid, Char* msg, UInt otag );
+void MC_(record_core_mem_error) ( ThreadId tid, const HChar* msg );
+void MC_(record_regparam_error) ( ThreadId tid, const HChar* msg, UInt otag );
void MC_(record_memparam_error) ( ThreadId tid, Addr a,
- Bool isAddrErr, Char* msg, UInt otag );
+ Bool isAddrErr, const HChar* msg, UInt otag );
void MC_(record_user_error) ( ThreadId tid, Addr a,
Bool isAddrErr, UInt otag );
Modified: trunk/exp-sgcheck/pc_common.h (+1 -1)
===================================================================
--- trunk/exp-sgcheck/pc_common.h 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/exp-sgcheck/pc_common.h 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -55,7 +55,7 @@
Bool pc_read_extra_suppression_info ( Int fd, Char** bufpp,
SizeT* nBufp, Supp* su );
Bool pc_error_matches_suppression (Error* err, Supp* su);
-HChar* pc_get_error_name ( Error* err );
+const HChar* pc_get_error_name ( Error* err );
Bool pc_get_extra_suppression_info ( Error* err,
/*OUT*/Char* buf, Int nBuf );
Modified: trunk/exp-sgcheck/pc_common.c (+3 -3)
===================================================================
--- trunk/exp-sgcheck/pc_common.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/exp-sgcheck/pc_common.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -544,7 +544,7 @@
Addr hi = xe->XE.SysParam.hi;
Seg* seglo = xe->XE.SysParam.seglo;
Seg* seghi = xe->XE.SysParam.seghi;
- Char* s = VG_(get_error_string) (err);
+ const HChar* s = VG_(get_error_string) (err);
HChar* what;
tl_assert(BOTTOM != seglo && BOTTOM != seghi);
@@ -764,7 +764,7 @@
}
}
-HChar* pc_get_error_name ( Error* err )
+const HChar* pc_get_error_name ( Error* err )
{
XError *xe = (XError*)VG_(get_error_extra)(err);
tl_assert(xe);
@@ -784,7 +784,7 @@
tl_assert(buf);
tl_assert(nBuf >= 16); // stay sane
if (XE_SysParam == ekind) {
- Char* errstr = VG_(get_error_string)(err);
+ const HChar* errstr = VG_(get_error_string)(err);
tl_assert(errstr);
VG_(snprintf)(buf, nBuf-1, "%s", errstr);
return True;
Modified: trunk/memcheck/mc_errors.c (+7 -7)
===================================================================
--- trunk/memcheck/mc_errors.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/memcheck/mc_errors.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -890,12 +890,12 @@
/* --- Called from non-generated code --- */
/* This is for memory errors in signal-related memory. */
-void MC_(record_core_mem_error) ( ThreadId tid, Char* msg )
+void MC_(record_core_mem_error) ( ThreadId tid, const HChar* msg )
{
VG_(maybe_record_error)( tid, Err_CoreMem, /*addr*/0, msg, /*extra*/NULL );
}
-void MC_(record_regparam_error) ( ThreadId tid, Char* msg, UInt otag )
+void MC_(record_regparam_error) ( ThreadId tid, const HChar* msg, UInt otag )
{
MC_Error extra;
tl_assert(VG_INVALID_THREADID != tid);
@@ -907,7 +907,7 @@
}
void MC_(record_memparam_error) ( ThreadId tid, Addr a,
- Bool isAddrErr, Char* msg, UInt otag )
+ Bool isAddrErr, const HChar* msg, UInt otag )
{
MC_Error extra;
tl_assert(VG_INVALID_THREADID != tid);
@@ -963,7 +963,7 @@
VG_(maybe_record_error)( tid, Err_IllegalMempool, a, /*s*/NULL, &extra );
}
-void MC_(record_overlap_error) ( ThreadId tid, Char* function,
+void MC_(record_overlap_error) ( ThreadId tid, const HChar* function,
Addr src, Addr dst, SizeT szB )
{
MC_Error extra;
@@ -1025,7 +1025,7 @@
switch (VG_(get_error_kind)(e1)) {
case Err_CoreMem: {
- Char *e1s, *e2s;
+ const HChar *e1s, *e2s;
e1s = VG_(get_error_string)(e1);
e2s = VG_(get_error_string)(e2);
if (e1s == e2s) return True;
@@ -1518,7 +1518,7 @@
}
}
-HChar* MC_(get_error_name) ( Error* err )
+const HChar* MC_(get_error_name) ( Error* err )
{
switch (VG_(get_error_kind)(err)) {
case Err_RegParam: return "Param";
@@ -1565,7 +1565,7 @@
tl_assert(buf);
tl_assert(nBuf >= 16); // stay sane
if (Err_RegParam == ekind || Err_MemParam == ekind) {
- Char* errstr = VG_(get_error_string)(err);
+ const HChar* errstr = VG_(get_error_string)(err);
tl_assert(errstr);
VG_(snprintf)(buf, nBuf-1, "%s", errstr);
return True;
Modified: trunk/coregrind/pub_core_tooliface.h (+6 -6)
===================================================================
--- trunk/coregrind/pub_core_tooliface.h 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/coregrind/pub_core_tooliface.h 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -124,7 +124,7 @@
Bool (*tool_recognised_suppression) (Char*, Supp*);
Bool (*tool_read_extra_suppression_info) (Int, Char**, SizeT*, Supp*);
Bool (*tool_error_matches_suppression) (Error*, Supp*);
- Char* (*tool_get_error_name) (Error*);
+ const HChar* (*tool_get_error_name) (Error*);
Bool (*tool_get_extra_suppression_info) (Error*,/*OUT*/Char*,Int);
// VG_(needs).superblock_discards
@@ -212,13 +212,13 @@
void (*track_ban_mem_stack)(Addr, SizeT);
- void (*track_pre_mem_read) (CorePart, ThreadId, Char*, Addr, SizeT);
- void (*track_pre_mem_read_asciiz)(CorePart, ThreadId, Char*, Addr);
- void (*track_pre_mem_write) (CorePart, ThreadId, Char*, Addr, SizeT);
+ void (*track_pre_mem_read) (CorePart, ThreadId, const HChar*, Addr, SizeT);
+ void (*track_pre_mem_read_asciiz)(CorePart, ThreadId, const HChar*, Addr);
+ void (*track_pre_mem_write) (CorePart, ThreadId, const HChar*, Addr, SizeT);
void (*track_post_mem_write) (CorePart, ThreadId, Addr, SizeT);
- void (*track_pre_reg_read) (CorePart, ThreadId, Char*, PtrdiffT, SizeT);
- void (*track_post_reg_write)(CorePart, ThreadId, PtrdiffT, SizeT);
+ void (*track_pre_reg_read) (CorePart, ThreadId, const HChar*, PtrdiffT, SizeT);
+ void (*track_post_reg_write)(CorePart, ThreadId, PtrdiffT, SizeT);
void (*track_post_reg_write_clientcall_return)(ThreadId, PtrdiffT, SizeT,
Addr);
Modified: trunk/coregrind/m_errormgr.c (+5 -5)
===================================================================
--- trunk/coregrind/m_errormgr.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/coregrind/m_errormgr.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -139,7 +139,7 @@
ExeContext* where; // Initialised by core
ErrorKind ekind; // Used by ALL. Must be in the range (0..)
Addr addr; // Used frequently
- Char* string; // Used frequently
+ const HChar* string; // Used frequently
void* extra; // For any tool-specific extras
};
@@ -159,7 +159,7 @@
return err->addr;
}
-Char* VG_(get_error_string) ( Error* err )
+const HChar* VG_(get_error_string) ( Error* err )
{
return err->string;
}
@@ -618,7 +618,7 @@
/* Construct an error */
static
void construct_error ( Error* err, ThreadId tid, ErrorKind ekind, Addr a,
- Char* s, void* extra, ExeContext* where )
+ const HChar* s, void* extra, ExeContext* where )
{
/* DO NOT MAKE unique_counter NON-STATIC */
static UInt unique_counter = 0;
@@ -652,7 +652,7 @@
All detected errors are notified here; this routine decides if/when the
user should see the error. */
void VG_(maybe_record_error) ( ThreadId tid,
- ErrorKind ekind, Addr a, Char* s, void* extra )
+ ErrorKind ekind, Addr a, const HChar* s, void* extra )
{
Error err;
Error* p;
@@ -824,7 +824,7 @@
suppressed. Bool 'print_error' dictates whether to print the error.
Bool 'count_error' dictates whether to count the error in n_errs_found.
*/
-Bool VG_(unique_error) ( ThreadId tid, ErrorKind ekind, Addr a, Char* s,
+Bool VG_(unique_error) ( ThreadId tid, ErrorKind ekind, Addr a, const HChar* s,
void* extra, ExeContext* where, Bool print_error,
Bool allow_db_attach, Bool count_error )
{
Modified: trunk/helgrind/hg_errors.h (+1 -1)
===================================================================
--- trunk/helgrind/hg_errors.h 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/helgrind/hg_errors.h 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -43,7 +43,7 @@
Bool HG_(read_extra_suppression_info) ( Int fd, Char** bufpp, SizeT* nBufp,
Supp* su );
Bool HG_(error_matches_suppression) ( Error* err, Supp* su );
-HChar* HG_(get_error_name) ( Error* err );
+const HChar* HG_(get_error_name) ( Error* err );
Bool HG_(get_extra_suppression_info) ( Error* err,
/*OUT*/Char* buf, Int nBuf );
Modified: trunk/helgrind/hg_errors.c (+1 -1)
===================================================================
--- trunk/helgrind/hg_errors.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/helgrind/hg_errors.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -1333,7 +1333,7 @@
} /* switch (VG_(get_error_kind)(err)) */
}
-HChar* HG_(get_error_name) ( Error* err )
+const HChar* HG_(get_error_name) ( Error* err )
{
switch (VG_(get_error_kind)(err)) {
case XE_Race: return "Race";
Modified: trunk/memcheck/mc_main.c (+4 -4)
===================================================================
--- trunk/memcheck/mc_main.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/memcheck/mc_main.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -3723,7 +3723,7 @@
/*------------------------------------------------------------*/
static
-void check_mem_is_addressable ( CorePart part, ThreadId tid, Char* s,
+void check_mem_is_addressable ( CorePart part, ThreadId tid, const HChar* s,
Addr base, SizeT size )
{
Addr bad_addr;
@@ -3747,7 +3747,7 @@
}
static
-void check_mem_is_defined ( CorePart part, ThreadId tid, Char* s,
+void check_mem_is_defined ( CorePart part, ThreadId tid, const HChar* s,
Addr base, SizeT size )
{
UInt otag = 0;
@@ -3781,7 +3781,7 @@
static
void check_mem_is_defined_asciiz ( CorePart part, ThreadId tid,
- Char* s, Addr str )
+ const HChar* s, Addr str )
{
MC_ReadResult res;
Addr bad_addr = 0; // shut GCC up
@@ -3962,7 +3962,7 @@
[offset, offset+len). If any part of that is undefined, record
a parameter error.
*/
-static void mc_pre_reg_read ( CorePart part, ThreadId tid, Char* s,
+static void mc_pre_reg_read ( CorePart part, ThreadId tid, const HChar* s,
PtrdiffT offset, SizeT size)
{
Int i;
Modified: trunk/include/pub_tool_tooliface.h (+5 -5)
===================================================================
--- trunk/include/pub_tool_tooliface.h 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/include/pub_tool_tooliface.h 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -331,7 +331,7 @@
// This should return the suppression name, for --gen-suppressions, or NULL
// if that error type cannot be suppressed. This is the inverse of
// VG_(tdict).tool_recognised_suppression().
- Char* (*get_error_name)(Error* err),
+ const HChar* (*get_error_name)(Error* err),
// This should print into buf[0..nBuf-1] any extra info for the
// error, for --gen-suppressions, but not including any leading
@@ -585,18 +585,18 @@
/* These ones occur around syscalls, signal handling, etc */
void VG_(track_pre_mem_read) (void(*f)(CorePart part, ThreadId tid,
- Char* s, Addr a, SizeT size));
+ const HChar* s, Addr a, SizeT size));
void VG_(track_pre_mem_read_asciiz)(void(*f)(CorePart part, ThreadId tid,
- Char* s, Addr a));
+ const HChar* s, Addr a));
void VG_(track_pre_mem_write) (void(*f)(CorePart part, ThreadId tid,
- Char* s, Addr a, SizeT size));
+ const HChar* s, Addr a, SizeT size));
void VG_(track_post_mem_write) (void(*f)(CorePart part, ThreadId tid,
Addr a, SizeT size));
/* Register events. Use VG_(set_shadow_state_area)() to set the shadow regs
for these events. */
void VG_(track_pre_reg_read) (void(*f)(CorePart part, ThreadId tid,
- Char* s, PtrdiffT guest_state_offset,
+ const HChar* s, PtrdiffT guest_state_offset,
SizeT size));
void VG_(track_post_reg_write)(void(*f)(CorePart part, ThreadId tid,
PtrdiffT guest_state_offset,
Modified: trunk/helgrind/hg_main.c (+3 -3)
===================================================================
--- trunk/helgrind/hg_main.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/helgrind/hg_main.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -1701,7 +1701,7 @@
}
static
-void evh__pre_mem_read ( CorePart part, ThreadId tid, Char* s,
+void evh__pre_mem_read ( CorePart part, ThreadId tid, const HChar* s,
Addr a, SizeT size) {
if (SHOW_EVENTS >= 2
|| (SHOW_EVENTS >= 1 && size != 1))
@@ -1714,7 +1714,7 @@
static
void evh__pre_mem_read_asciiz ( CorePart part, ThreadId tid,
- Char* s, Addr a ) {
+ const HChar* s, Addr a ) {
Int len;
if (SHOW_EVENTS >= 1)
VG_(printf)("evh__pre_mem_asciiz(ctid=%d, \"%s\", %p)\n",
@@ -1732,7 +1732,7 @@
}
static
-void evh__pre_mem_write ( CorePart part, ThreadId tid, Char* s,
+void evh__pre_mem_write ( CorePart part, ThreadId tid, const HChar* s,
Addr a, SizeT size ) {
if (SHOW_EVENTS >= 1)
VG_(printf)("evh__pre_mem_write(ctid=%d, \"%s\", %p, %lu)\n",
Modified: trunk/drd/drd_main.c (+2 -2)
===================================================================
--- trunk/drd/drd_main.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/drd/drd_main.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -262,7 +262,7 @@
static void drd_pre_mem_read(const CorePart part,
const ThreadId tid,
- Char* const s,
+ const HChar* const s,
const Addr a,
const SizeT size)
{
@@ -274,7 +274,7 @@
static void drd_pre_mem_read_asciiz(const CorePart part,
const ThreadId tid,
- Char* const s,
+ const HChar* const s,
const Addr a)
{
const char* p = (void*)a;
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c (+33 -29)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -72,7 +72,7 @@
client or is free or a reservation. */
Bool ML_(valid_client_addr)(Addr start, SizeT size, ThreadId tid,
- const Char *syscallname)
+ const HChar *syscallname)
{
Bool ret;
@@ -592,7 +592,7 @@
void ML_(record_fd_open_named)(ThreadId tid, Int fd)
{
static HChar buf[VKI_PATH_MAX];
- Char* name;
+ HChar* name;
if (VG_(resolve_filename)(fd, buf, VKI_PATH_MAX))
name = buf;
else
@@ -608,7 +608,7 @@
}
static
-Char *unix2name(struct vki_sockaddr_un *sa, UInt len, Char *name)
+HChar *unix2name(struct vki_sockaddr_un *sa, UInt len, HChar *name)
{
if (sa == NULL || len == 0 || sa->sun_path[0] == '\0') {
VG_(sprintf)(name, "<unknown>");
@@ -620,7 +620,7 @@
}
static
-Char *inet2name(struct vki_sockaddr_in *sa, UInt len, Char *name)
+HChar *inet2name(struct vki_sockaddr_in *sa, UInt len, HChar *name)
{
if (sa == NULL || len == 0) {
VG_(sprintf)(name, "<unknown>");
@@ -691,7 +691,7 @@
/* Dump out a summary, and a more detailed list, of open file descriptors. */
-void VG_(show_open_fds) (HChar* when)
+void VG_(show_open_fds) (const HChar* when)
{
OpenFd *i = allocated_fds;
@@ -802,10 +802,11 @@
}
static
-Char *strdupcat ( HChar* cc, const Char *s1, const Char *s2, ArenaId aid )
+HChar *strdupcat ( const HChar* cc, const HChar *s1, const HChar *s2,
+ ArenaId aid )
{
UInt len = VG_(strlen) ( s1 ) + VG_(strlen) ( s2 ) + 1;
- Char *result = VG_(arena_malloc) ( aid, cc, len );
+ HChar *result = VG_(arena_malloc) ( aid, cc, len );
VG_(strcpy) ( result, s1 );
VG_(strcat) ( result, s2 );
return result;
@@ -813,20 +814,20 @@
static
void pre_mem_read_sendmsg ( ThreadId tid, Bool read,
- Char *msg, Addr base, SizeT size )
+ const HChar *msg, Addr base, SizeT size )
{
- Char *outmsg = strdupcat ( "di.syswrap.pmrs.1",
- "sendmsg", msg, VG_AR_CORE );
+ HChar *outmsg = strdupcat ( "di.syswrap.pmrs.1",
+ "sendmsg", msg, VG_AR_CORE );
PRE_MEM_READ( outmsg, base, size );
VG_(arena_free) ( VG_AR_CORE, outmsg );
}
static
void pre_mem_write_recvmsg ( ThreadId tid, Bool read,
- Char *msg, Addr base, SizeT size )
+ const HChar *msg, Addr base, SizeT size )
{
- Char *outmsg = strdupcat ( "di.syswrap.pmwr.1",
- "recvmsg", msg, VG_AR_CORE );
+ HChar *outmsg = strdupcat ( "di.syswrap.pmwr.1",
+ "recvmsg", msg, VG_AR_CORE );
if ( read )
PRE_MEM_READ( outmsg, base, size );
else
@@ -836,7 +837,7 @@
static
void post_mem_write_recvmsg ( ThreadId tid, Bool read,
- Char *fieldName, Addr base, SizeT size )
+ const HChar *fieldName, Addr base, SizeT size )
{
if ( !read )
POST_MEM_WRITE( base, size );
@@ -845,13 +846,13 @@
static
void msghdr_foreachfield (
ThreadId tid,
- Char *name,
+ const HChar *name,
struct vki_msghdr *msg,
UInt length,
- void (*foreach_func)( ThreadId, Bool, Char *, Addr, SizeT )
+ void (*foreach_func)( ThreadId, Bool, const HChar *, Addr, SizeT )
)
{
- Char *fieldName;
+ HChar *fieldName;
if ( !msg )
return;
@@ -928,10 +929,10 @@
/* GrP kernel ignores sa_len (at least on Darwin); this checks the rest */
static
void pre_mem_read_sockaddr ( ThreadId tid,
- Char *description,
+ const HChar *description,
struct vki_sockaddr *sa, UInt salen )
{
- Char *outmsg;
+ HChar *outmsg;
struct vki_sockaddr_un* sun = (struct vki_sockaddr_un *)sa;
struct vki_sockaddr_in* sin = (struct vki_sockaddr_in *)sa;
struct vki_sockaddr_in6* sin6 = (struct vki_sockaddr_in6 *)sa;
@@ -985,7 +986,7 @@
}
/* Dereference a pointer to a UInt. */
-static UInt deref_UInt ( ThreadId tid, Addr a, Char* s )
+static UInt deref_UInt ( ThreadId tid, Addr a, const HChar* s )
{
UInt* a_p = (UInt*)a;
PRE_MEM_READ( s, (Addr)a_p, sizeof(UInt) );
@@ -996,7 +997,7 @@
}
void ML_(buf_and_len_pre_check) ( ThreadId tid, Addr buf_p, Addr buflen_p,
- Char* buf_s, Char* buflen_s )
+ const HChar* buf_s, const HChar* buflen_s )
{
if (VG_(tdict).track_pre_mem_write) {
UInt buflen_in = deref_UInt( tid, buflen_p, buflen_s);
@@ -1008,7 +1009,7 @@
}
void ML_(buf_and_len_post_check) ( ThreadId tid, SysRes res,
- Addr buf_p, Addr buflen_p, Char* s )
+ Addr buf_p, Addr buflen_p, const HChar* s )
{
if (!sr_isError(res) && VG_(tdict).track_post_mem_write) {
UInt buflen_out = deref_UInt( tid, buflen_p, s);
@@ -1156,7 +1157,8 @@
*/
/* Return true if we're allowed to use or create this fd */
-Bool ML_(fd_allowed)(Int fd, const Char *syscallname, ThreadId tid, Bool isNewFd)
+Bool ML_(fd_allowed)(Int fd, const HChar *syscallname, ThreadId tid,
+ Bool isNewFd)
{
Bool allowed = True;
@@ -1507,7 +1509,8 @@
/* ------ */
void
-ML_(generic_PRE_sys_sendmsg) ( ThreadId tid, Char *name, struct vki_msghdr *msg )
+ML_(generic_PRE_sys_sendmsg) ( ThreadId tid, const HChar *name,
+ struct vki_msghdr *msg )
{
msghdr_foreachfield ( tid, name, msg, ~0, pre_mem_read_sendmsg );
}
@@ -1515,13 +1518,15 @@
/* ------ */
void
-ML_(generic_PRE_sys_recvmsg) ( ThreadId tid, Char *name, struct vki_msghdr *msg )
+ML_(generic_PRE_sys_recvmsg) ( ThreadId tid, const HChar *name,
+ struct vki_msghdr *msg )
{
msghdr_foreachfield ( tid, name, msg, ~0, pre_mem_write_recvmsg );
}
void
-ML_(generic_POST_sys_recvmsg) ( ThreadId tid, Char *name, struct vki_msghdr *msg, UInt length )
+ML_(generic_POST_sys_recvmsg) ( ThreadId tid, const HChar *name,
+ struct vki_msghdr *msg, UInt length )
{
msghdr_foreachfield( tid, name, msg, length, post_mem_write_recvmsg );
check_cmsg_for_fds( tid, msg );
@@ -2482,7 +2487,7 @@
}
// Pre_read a char** argument.
-static void pre_argv_envp(Addr a, ThreadId tid, Char* s1, Char* s2)
+static void pre_argv_envp(Addr a, ThreadId tid, const HChar* s1, const HChar* s2)
{
while (True) {
Addr a_deref;
@@ -2582,7 +2587,7 @@
// ok, etc. We allow setuid executables to run only in the case when
// we are not simulating them, that is, they to be run natively.
setuid_allowed = trace_this_child ? False : True;
- res = VG_(pre_exec_check)((const Char*)ARG1, NULL, setuid_allowed);
+ res = VG_(pre_exec_check)((const HChar *)ARG1, NULL, setuid_allowed);
if (sr_isError(res)) {
SET_STATUS_Failure( sr_Err(res) );
return;
@@ -4217,4 +4222,3 @@
/*--------------------------------------------------------------------*/
/*--- end ---*/
/*--------------------------------------------------------------------*/
-
Modified: trunk/coregrind/m_syswrap/priv_syswrap-generic.h (+11 -7)
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-generic.h 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/coregrind/m_syswrap/priv_syswrap-generic.h 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -38,7 +38,7 @@
// address space.
extern
Bool ML_(valid_client_addr)(Addr start, SizeT size, ThreadId tid,
- const Char *syscallname);
+ const HChar *syscallname);
/* Handy small function to help stop wrappers from segfaulting when
presented with bogus client addresses. Is not used for generating
@@ -50,7 +50,8 @@
// Return true if we're allowed to use or create this fd.
extern
-Bool ML_(fd_allowed)(Int fd, const Char *syscallname, ThreadId tid, Bool isNewFD);
+Bool ML_(fd_allowed)(Int fd, const HChar *syscallname, ThreadId tid,
+ Bool isNewFD);
extern void ML_(record_fd_open_named) (ThreadId tid, Int fd);
extern void ML_(record_fd_open_nameless) (ThreadId tid, Int fd);
@@ -74,10 +75,10 @@
extern void
ML_(buf_and_len_pre_check) ( ThreadId tid, Addr buf_p, Addr buflen_p,
- Char* buf_s, Char* buflen_s );
+ const HChar* buf_s, const HChar* buflen_s );
extern void
ML_(buf_and_len_post_check) ( ThreadId tid, SysRes res,
- Addr buf_p, Addr buflen_p, Char* s );
+ Addr buf_p, Addr buflen_p, const HChar* s );
/* PRE and POST for unknown ioctls based on ioctl request encoding */
extern
@@ -235,9 +236,12 @@
extern void ML_(generic_POST_sys_getsockname) ( TId, SR, UW, UW, UW );
extern void ML_(generic_PRE_sys_getpeername) ( TId, UW, UW, UW );
extern void ML_(generic_POST_sys_getpeername) ( TId, SR, UW, UW, UW );
-extern void ML_(generic_PRE_sys_sendmsg) ( TId, Char *, struct vki_msghdr * );
-extern void ML_(generic_PRE_sys_recvmsg) ( TId, Char *, struct vki_msghdr * );
-extern void ML_(generic_POST_sys_recvmsg) ( TId, Char *, struct vki_msghdr *, UInt );
+extern void ML_(generic_PRE_sys_sendmsg) ( TId, const HChar *,
+ struct vki_msghdr * );
+extern void ML_(generic_PRE_sys_recvmsg) ( TId, const HChar *,
+ struct vki_msghdr * );
+extern void ML_(generic_POST_sys_recvmsg) ( TId, const HChar *,
+ struct vki_msghdr *, UInt );
extern void ML_(generic_PRE_sys_semop) ( TId, UW, UW, UW );
extern void ML_(generic_PRE_sys_semtimedop) ( TId, UW, UW, UW, UW );
Modified: trunk/coregrind/m_tooliface.c (+6 -6)
===================================================================
--- trunk/coregrind/m_tooliface.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/coregrind/m_tooliface.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -233,7 +233,7 @@
Bool (*recog) (Char*, Supp*),
Bool (*read_extra) (Int, Char**, SizeT*, Supp*),
Bool (*matches) (Error*, Supp*),
- Char* (*name) (Error*),
+ const HChar* (*name) (Error*),
Bool (*get_xtra_si)(Error*,/*OUT*/Char*,Int)
)
{
@@ -395,13 +395,13 @@
DEF0(track_ban_mem_stack, Addr, SizeT)
-DEF0(track_pre_mem_read, CorePart, ThreadId, Char*, Addr, SizeT)
-DEF0(track_pre_mem_read_asciiz, CorePart, ThreadId, Char*, Addr)
-DEF0(track_pre_mem_write, CorePart, ThreadId, Char*, Addr, SizeT)
+DEF0(track_pre_mem_read, CorePart, ThreadId, const HChar*, Addr, SizeT)
+DEF0(track_pre_mem_read_asciiz, CorePart, ThreadId, const HChar*, Addr)
+DEF0(track_pre_mem_write, CorePart, ThreadId, const HChar*, Addr, SizeT)
DEF0(track_post_mem_write, CorePart, ThreadId, Addr, SizeT)
-DEF0(track_pre_reg_read, CorePart, ThreadId, Char*, PtrdiffT, SizeT)
-DEF0(track_post_reg_write, CorePart, ThreadId, PtrdiffT, SizeT)
+DEF0(track_pre_reg_read, CorePart, ThreadId, const HChar*, PtrdiffT, SizeT)
+DEF0(track_post_reg_write, CorePart, ThreadId, PtrdiffT, SizeT)
DEF0(track_post_reg_write_clientcall_return, ThreadId, PtrdiffT, SizeT, Addr)
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c (+3 -3)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -3684,7 +3684,7 @@
PRE(sys_sendmmsg)
{
struct vki_mmsghdr *mmsg = (struct vki_mmsghdr *)ARG2;
- Char name[32];
+ HChar name[32];
UInt i;
*flags |= SfMayBlock;
PRINT("sys_sendmmsg ( %ld, %#lx, %ld, %ld )",ARG1,ARG2,ARG3,ARG4);
@@ -3712,7 +3712,7 @@
PRE(sys_recvmmsg)
{
struct vki_mmsghdr *mmsg = (struct vki_mmsghdr *)ARG2;
- Char name[32];
+ HChar name[32];
UInt i;
*flags |= SfMayBlock;
PRINT("sys_recvmmsg ( %ld, %#lx, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4,ARG5);
@@ -3733,7 +3733,7 @@
{
if (RES > 0) {
struct vki_mmsghdr *mmsg = (struct vki_mmsghdr *)ARG2;
- Char name[32];
+ HChar name[32];
UInt i;
for (i = 0; i < RES; i++) {
VG_(sprintf)(name, "mmsg[%u].msg_hdr", i);
Modified: trunk/exp-dhat/dh_main.c (+1 -1)
===================================================================
--- trunk/exp-dhat/dh_main.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/exp-dhat/dh_main.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -727,7 +727,7 @@
// boundary and so we can treat it just as one giant
// read or write.
static
-void dh_handle_noninsn_read ( CorePart part, ThreadId tid, Char* s,
+void dh_handle_noninsn_read ( CorePart part, ThreadId tid, const HChar* s,
Addr base, SizeT size )
{
switch (part) {
Modified: trunk/coregrind/pub_core_syswrap.h (+1 -1)
===================================================================
--- trunk/coregrind/pub_core_syswrap.h 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/coregrind/pub_core_syswrap.h 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -63,7 +63,7 @@
/* fd leakage calls. */
extern void VG_(init_preopened_fds) ( void );
-extern void VG_(show_open_fds) ( HChar* when );
+extern void VG_(show_open_fds) ( const HChar* when );
// When the final thread is done, where shall I call to shutdown the
// system cleanly? Is set once at startup (in m_main) and never
Modified: trunk/coregrind/m_main.c (+3 -3)
===================================================================
--- trunk/coregrind/m_main.c 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/coregrind/m_main.c 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -108,7 +108,7 @@
- for the name of the GDB executable
- for the name of vgdb's path prefix
which must be supplied when they are VG_(printf)'d. */
- const HChar* usage1 =
+ const HChar usage1[] =
"usage: valgrind [options] prog-and-args\n"
"\n"
" tool-selection option, with default in [ ]:\n"
@@ -200,7 +200,7 @@
" in libxyzzy.so: --soname-synonyms=somalloc=libxyzzy.so\n"
"\n";
- const HChar* usage2 =
+ const HChar usage2[] =
"\n"
" debugging options for all Valgrind tools:\n"
" -d show verbose debugging output\n"
@@ -257,7 +257,7 @@
" --trace-malloc=no|yes show client malloc details? [no]\n"
"\n";
- const HChar* usage3 =
+ const HChar usage3[] =
"\n"
" Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc\n"
"\n"
Modified: trunk/include/pub_tool_errormgr.h (+7 -7)
===================================================================
--- trunk/include/pub_tool_errormgr.h 2012-10-21 19:46:09 +01:00 (rev 13073)
+++ trunk/include/pub_tool_errormgr.h 2012-10-21 20:43:43 +01:00 (rev 13074)
@@ -56,11 +56,11 @@
/* Useful in VG_(tdict).tool_error_matches_suppression(),
* VG_(tdict).tool_pp_Error(), etc */
-ExeContext* VG_(get_error_where) ( Error* err );
-ErrorKind VG_(get_error_kind) ( Error* err );
-Addr VG_(get_error_address) ( Error* err );
-Char* VG_(get_error_string) ( Error* err );
-void* VG_(get_error_extra) ( Error* err );
+ExeContext* VG_(get_error_where) ( Error* err );
+ErrorKind VG_(get_error_kind) ( Error* err );
+Addr VG_(get_error_address) ( Error* err );
+const HChar* VG_(get_error_string) ( Error* err );
+void* VG_(get_error_extra) ( Error* err );
/* Call this when an error occurs. It will be recorded if it hasn't been
seen before. If it has, the existing error record will have its count
@@ -73,7 +73,7 @@
If no 'a', 's' or 'extra' of interest needs to be recorded, just use
NULL for them. */
extern void VG_(maybe_record_error) ( ThreadId tid, ErrorKind ekind,
- Addr a, Char* s, void* extra );
+ Addr a, const HChar* s, void* extra );
/* Similar to VG_(maybe_record_error)(), except this one doesn't record the
error -- useful for errors that can only happen once. The errors can be
@@ -83,7 +83,7 @@
be suppressed without possibly printing it. 'count_error' dictates
whether to add the error in the error total count (another mild hack). */
extern Bool VG_(unique_error) ( ThreadId tid, ErrorKind ekind,
- Addr a, Char* s, void* extra,
+ Addr a, const HChar* s, void* extra,
ExeContext* where, Bool print_error,
Bool allow_GDB_attach, Bool count_error );
|
|
From: <sv...@va...> - 2012-10-21 18:46:17
|
philippe 2012-10-21 19:46:09 +0100 (Sun, 21 Oct 2012)
New Revision: 13073
Log:
Introduce a test to reproduce bug 123837 (semctl GETVAL false positive)
The test succeeds on amd64, but fails on x86, with the following diff:
+Syscall param semctl(arg) points to uninitialised byte(s)
+ at 0x........: semctl@@GLIBC_2.2 (semctl.c:109)
+ by 0x........: main (sem.c:36)
+ Address 0x........ is on thread 1's stack
+
+Syscall param semctl(arg) points to uninitialised byte(s)
+ at 0x........: semctl@@GLIBC_2.2 (semctl.c:109)
+ by 0x........: main (sem.c:43)
+ Address 0x........ is on thread 1's stack
+
Added files:
trunk/memcheck/tests/sem.stderr.exp
trunk/memcheck/tests/sem.vgtest
Modified files:
trunk/memcheck/tests/Makefile.am
trunk/none/tests/sem.c
Modified: trunk/memcheck/tests/Makefile.am (+1 -0)
===================================================================
--- trunk/memcheck/tests/Makefile.am 2012-10-21 15:37:14 +01:00 (rev 13072)
+++ trunk/memcheck/tests/Makefile.am 2012-10-21 19:46:09 +01:00 (rev 13073)
@@ -180,6 +180,7 @@
realloc2.stderr.exp realloc2.vgtest \
realloc3.stderr.exp realloc3.vgtest \
sbfragment.stdout.exp sbfragment.stderr.exp sbfragment.vgtest \
+ sem.stderr.exp sem.vgtest \
sh-mem.stderr.exp sh-mem.vgtest \
sh-mem-random.stderr.exp sh-mem-random.stdout.exp64 \
sh-mem-random.stdout.exp sh-mem-random.vgtest \
Added: trunk/memcheck/tests/sem.vgtest (+1 -0)
===================================================================
--- trunk/memcheck/tests/sem.vgtest 2012-10-21 15:37:14 +01:00 (rev 13072)
+++ trunk/memcheck/tests/sem.vgtest 2012-10-21 19:46:09 +01:00 (rev 13073)
@@ -0,0 +1 @@
+prog: ../../none/tests/sem
Modified: trunk/none/tests/sem.c (+15 -0)
===================================================================
--- trunk/none/tests/sem.c 2012-10-21 15:37:14 +01:00 (rev 13072)
+++ trunk/none/tests/sem.c 2012-10-21 19:46:09 +01:00 (rev 13073)
@@ -7,6 +7,7 @@
#include <sys/ipc.h>
#include <sys/sem.h>
#include <time.h>
+#include <unistd.h>
int main(int argc, char **argv)
{
int semid;
@@ -32,6 +33,20 @@
exit(1);
}
+ if (semctl(semid, 0, GETVAL) != 1)
+ {
+ perror("semctl GETVAL");
+ semctl(semid, 0, IPC_RMID);
+ exit(1);
+ }
+
+ if (semctl(semid, 0, GETPID) != getpid())
+ {
+ perror("semctl GETPID");
+ semctl(semid, 0, IPC_RMID);
+ exit(1);
+ }
+
/* The next call to semtimedop causes the program to hang on
ppc32-linux (Yellow Dog 4.0). I don't know why. Hence the
extended ifdef. */
Added: trunk/memcheck/tests/sem.stderr.exp (+10 -0)
===================================================================
--- trunk/memcheck/tests/sem.stderr.exp 2012-10-21 15:37:14 +01:00 (rev 13072)
+++ trunk/memcheck/tests/sem.stderr.exp 2012-10-21 19:46:09 +01:00 (rev 13073)
@@ -0,0 +1,10 @@
+
+
+HEAP SUMMARY:
+ in use at exit: 0 bytes in 0 blocks
+ total heap usage: 0 allocs, 0 frees, 0 bytes allocated
+
+For a detailed leak analysis, rerun with: --leak-check=full
+
+For counts of detected and suppressed errors, rerun with: -v
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
|
|
From: <sv...@va...> - 2012-10-21 14:37:22
|
philippe 2012-10-21 15:37:14 +0100 (Sun, 21 Oct 2012)
New Revision: 13072
Log:
Fix 308644 vgdb command for having the info for the track-fds option
(allows to have the list of opened fds and the associated info
on request from GDB or from the shell, using vgdb)
Modified files:
trunk/NEWS
trunk/coregrind/m_gdbserver/server.c
trunk/coregrind/m_main.c
trunk/coregrind/m_syswrap/syswrap-generic.c
trunk/coregrind/pub_core_syswrap.h
trunk/docs/xml/manual-core-adv.xml
trunk/docs/xml/manual-core.xml
trunk/gdbserver_tests/mchelp.stdoutB.exp
trunk/gdbserver_tests/mssnapshot.stderrB.exp
Modified: trunk/docs/xml/manual-core-adv.xml (+7 -0)
===================================================================
--- trunk/docs/xml/manual-core-adv.xml 2012-10-21 04:43:20 +01:00 (rev 13071)
+++ trunk/docs/xml/manual-core-adv.xml 2012-10-21 15:37:14 +01:00 (rev 13072)
@@ -1274,6 +1274,13 @@
</listitem>
<listitem>
+ <para><varname>v.info open_fds</varname> shows the list of open file
+ descriptors and details related to the file descriptor.
+ This only works if <option>--track-fds=yes</option>
+ was given at Valgrind startup.</para>
+ </listitem>
+
+ <listitem>
<para><varname>v.set {gdb_output | log_output |
mixed_output}</varname> allows redirection of the Valgrind output
(e.g. the errors detected by the tool). The default setting is
Modified: trunk/coregrind/m_main.c (+1 -1)
===================================================================
--- trunk/coregrind/m_main.c 2012-10-21 04:43:20 +01:00 (rev 13071)
+++ trunk/coregrind/m_main.c 2012-10-21 15:37:14 +01:00 (rev 13072)
@@ -2491,7 +2491,7 @@
/* Print out file descriptor summary and stats. */
if (VG_(clo_track_fds))
- VG_(show_open_fds)();
+ VG_(show_open_fds)("at exit");
/* Call the tool's finalisation function. This makes Memcheck's
leak checker run, and possibly chuck a bunch of leak errors into
Modified: trunk/gdbserver_tests/mchelp.stdoutB.exp (+4 -2)
===================================================================
--- trunk/gdbserver_tests/mchelp.stdoutB.exp 2012-10-21 04:43:20 +01:00 (rev 13071)
+++ trunk/gdbserver_tests/mchelp.stdoutB.exp 2012-10-21 15:37:14 +01:00 (rev 13072)
@@ -1,9 +1,10 @@
general valgrind monitor commands:
- help [debug] : monitor command help. With debug: + debugging commands
+ help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
v.info all_errors : show all errors found so far
v.info last_error : show last error found
v.info n_errs_found : show the nr of errors found so far
+ v.info open_fds : show open file descriptors (only if --track-fds=yes)
v.kill : kill the Valgrind process
v.set gdb_output : set valgrind output to gdb
v.set log_output : set valgrind output to log
@@ -36,11 +37,12 @@
with len > 1, will also show "interior pointers")
general valgrind monitor commands:
- help [debug] : monitor command help. With debug: + debugging commands
+ help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
v.info all_errors : show all errors found so far
v.info last_error : show last error found
v.info n_errs_found : show the nr of errors found so far
+ v.info open_fds : show open file descriptors (only if --track-fds=yes)
v.kill : kill the Valgrind process
v.set gdb_output : set valgrind output to gdb
v.set log_output : set valgrind output to log
Modified: trunk/docs/xml/manual-core.xml (+5 -4)
===================================================================
--- trunk/docs/xml/manual-core.xml 2012-10-21 04:43:20 +01:00 (rev 13071)
+++ trunk/docs/xml/manual-core.xml 2012-10-21 15:37:14 +01:00 (rev 13072)
@@ -773,10 +773,11 @@
</term>
<listitem>
<para>When enabled, Valgrind will print out a list of open file
- descriptors on exit. Along with each file descriptor is printed a
- stack backtrace of where the file was opened and any details
- relating to the file descriptor such as the file name or socket
- details.</para>
+ descriptors on exit or on request, via the gdbserver monitor
+ command <varname>v.info open_fds</varname>. Along with each
+ file descriptor is printed a stack backtrace of where the file
+ was opened and any details relating to the file descriptor such
+ as the file name or socket details.</para>
</listitem>
</varlistentry>
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c (+2 -2)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2012-10-21 04:43:20 +01:00 (rev 13071)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2012-10-21 15:37:14 +01:00 (rev 13072)
@@ -691,11 +691,11 @@
/* Dump out a summary, and a more detailed list, of open file descriptors. */
-void VG_(show_open_fds) (void)
+void VG_(show_open_fds) (HChar* when)
{
OpenFd *i = allocated_fds;
- VG_(message)(Vg_UserMsg, "FILE DESCRIPTORS: %d open at exit.\n", fd_count);
+ VG_(message)(Vg_UserMsg, "FILE DESCRIPTORS: %d open %s.\n", fd_count, when);
while (i) {
if (i->pathname) {
Modified: trunk/gdbserver_tests/mssnapshot.stderrB.exp (+2 -1)
===================================================================
--- trunk/gdbserver_tests/mssnapshot.stderrB.exp 2012-10-21 04:43:20 +01:00 (rev 13071)
+++ trunk/gdbserver_tests/mssnapshot.stderrB.exp 2012-10-21 15:37:14 +01:00 (rev 13072)
@@ -1,11 +1,12 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
general valgrind monitor commands:
- help [debug] : monitor command help. With debug: + debugging commands
+ help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
v.info all_errors : show all errors found so far
v.info last_error : show last error found
v.info n_errs_found : show the nr of errors found so far
+ v.info open_fds : show open file descriptors (only if --track-fds=yes)
v.kill : kill the Valgrind process
v.set gdb_output : set valgrind output to gdb
v.set log_output : set valgrind output to log
Modified: trunk/coregrind/pub_core_syswrap.h (+1 -1)
===================================================================
--- trunk/coregrind/pub_core_syswrap.h 2012-10-21 04:43:20 +01:00 (rev 13071)
+++ trunk/coregrind/pub_core_syswrap.h 2012-10-21 15:37:14 +01:00 (rev 13072)
@@ -63,7 +63,7 @@
/* fd leakage calls. */
extern void VG_(init_preopened_fds) ( void );
-extern void VG_(show_open_fds) ( void );
+extern void VG_(show_open_fds) ( HChar* when );
// When the final thread is done, where shall I call to shutdown the
// system cleanly? Is set once at startup (in m_main) and never
Modified: trunk/coregrind/m_gdbserver/server.c (+12 -2)
===================================================================
--- trunk/coregrind/m_gdbserver/server.c 2012-10-21 04:43:20 +01:00 (rev 13071)
+++ trunk/coregrind/m_gdbserver/server.c 2012-10-21 15:37:14 +01:00 (rev 13072)
@@ -160,11 +160,12 @@
VG_(gdb_printf) (
"general valgrind monitor commands:\n"
-" help [debug] : monitor command help. With debug: + debugging commands\n"
+" help [debug] : monitor command help. With debug: + debugging commands\n"
" v.wait [<ms>] : sleep <ms> (default 0) then continue\n"
" v.info all_errors : show all errors found so far\n"
" v.info last_error : show last error found\n"
" v.info n_errs_found : show the nr of errors found so far\n"
+" v.info open_fds : show open file descriptors (only if --track-fds=yes)\n"
" v.kill : kill the Valgrind process\n"
" v.set gdb_output : set valgrind output to gdb\n"
" v.set log_output : set valgrind output to log\n"
@@ -239,7 +240,7 @@
wcmd = strtok_r (NULL, " ", &ssaveptr);
switch (kwdid = VG_(keyword_id)
("all_errors n_errs_found last_error gdbserver_status memory"
- " scheduler",
+ " scheduler open_fds",
wcmd, kwd_report_all)) {
case -2:
case -1:
@@ -282,6 +283,15 @@
VG_(show_sched_status) ();
ret = 1;
break;
+ case 6: /* open_fds */
+ if (VG_(clo_track_fds))
+ VG_(show_open_fds) ("");
+ else
+ VG_(gdb_printf)
+ ("Valgrind must be started with --track-fds=yes"
+ " to show open fds\n");
+ ret = 1;
+ break;
default:
vg_assert(0);
}
Modified: trunk/NEWS (+4 -0)
===================================================================
--- trunk/NEWS 2012-10-21 04:43:20 +01:00 (rev 13071)
+++ trunk/NEWS 2012-10-21 15:37:14 +01:00 (rev 13072)
@@ -7,6 +7,9 @@
* ==================== OTHER CHANGES ====================
+ - Addition of GDB server monitor command 'v.info open_fds' that gives the
+ list of open file descriptors and additional details.
+
* ==================== FIXED BUGS ====================
The following bugs have been fixed or resolved. Note that "n-i-bz"
@@ -34,6 +37,7 @@
307155 [390] filter_gdb should filter out syscall-template.S T_PSEUDO
308321 [390] testsuite memcheck filter interferes with gdb_filter
308341 [390] vgdb should report process exit (or fatal signal)
+308644 [390] vgdb command for having the info for the track-fds option
n-i-bz [390] report error for vgdb snapshot requested before execution
n-i-bz [390] Some wrong command line options could be ignored
|
|
From: Rich C. <rc...@wi...> - 2012-10-21 05:17:52
|
valgrind revision: 13071
VEX revision: 2555
C compiler: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
Assembler:
C library: unknown
uname -mrs: Darwin 10.8.0 i386
Vendor version: unknown
Nightly build on macx86 ( Darwin 10.8.0 i386 )
Started at 2012-10-20 23:35:01 CDT
Ended at 2012-10-21 00:17:36 CDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 500 tests, 146 stderr failures, 4 stdout failures, 3 stderrB failures, 3 stdoutB failures, 1 post failure ==
gdbserver_tests/mchelp (stdoutB)
gdbserver_tests/mchelp (stderrB)
gdbserver_tests/mcinvokeRU (stdoutB)
gdbserver_tests/mcinvokeRU (stderrB)
gdbserver_tests/mcinvokeWS (stdoutB)
gdbserver_tests/mcinvokeWS (stderrB)
memcheck/tests/accounting (stderr)
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/deep-backtrace (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/leak-delta (stderr)
memcheck/tests/leak-segv-jmp (stderr)
memcheck/tests/memcmptest (stderr)
memcheck/tests/mismatches (stderr)
memcheck/tests/null_socket (stdout)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/overlap (stdout)
memcheck/tests/overlap (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/big-alloc (post)
massif/tests/pages_as_heap (stderr)
none/tests/allexec32 (stderr)
none/tests/allexec64 (stderr)
none/tests/async-sigs (stderr)
none/tests/cmdline5 (stderr)
none/tests/execve (stderr)
none/tests/faultstatus (stderr)
none/tests/mmap_fcntl_bug (stderr)
none/tests/nodir (stderr)
none/tests/pth_blockedsig (stderr)
none/tests/require-text-symbol-2 (stderr)
none/tests/rlimit64_nofile (stderr)
none/tests/shell_nosuchfile (stderr)
none/tests/x86/cse_fail (stdout)
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 (stderr)
drd/tests/annotate_barrier_xml (stderr)
drd/tests/annotate_hb_race (stderr)
drd/tests/annotate_hbefore (stderr)
drd/tests/annotate_ignore_read (stderr)
drd/tests/annotate_ignore_rw (stderr)
drd/tests/annotate_ignore_rw2 (stderr)
drd/tests/annotate_ignore_write (stderr)
drd/tests/annotate_ignore_write2 (stderr)
drd/tests/annotate_order_1 (stderr)
drd/tests/annotate_order_2 (stderr)
drd/tests/annotate_order_3 (stderr)
drd/tests/annotate_rwlock (stderr)
drd/tests/annotate_smart_pointer (stderr)
drd/tests/annotate_smart_pointer2 (stderr)
drd/tests/annotate_spinlock (stderr)
drd/tests/annotate_static (stderr)
drd/tests/atomic_var (stderr)
drd/tests/bug-235681 (stderr)
drd/tests/circular_buffer (stderr)
drd/tests/fp_race (stderr)
drd/tests/fp_race2 (stderr)
drd/tests/fp_race_xml (stderr)
drd/tests/free_is_write (stderr)
drd/tests/free_is_write2 (stderr)
drd/tests/hg01_all_ok (stderr)
drd/tests/hg02_deadlock (stderr)
drd/tests/hg03_inherit (stderr)
drd/tests/hg04_race (stderr)
drd/tests/hg05_race2 (stderr)
drd/tests/hg06_readshared (stderr)
drd/tests/linuxthreads_det (stderr)
drd/tests/monitor_example (stderr)
drd/tests/pth_broadcast (stderr)
drd/tests/pth_cleanup_handler (stderr)
drd/tests/pth_cond_race (stderr)
drd/tests/pth_cond_race2 (stderr)
drd/tests/pth_cond_race3 (stderr)
drd/tests/pth_create_chain (stderr)
drd/tests/pth_detached3 (stderr)
drd/tests/pth_inconsistent_cond_wait (stderr)
drd/tests/pth_once (stderr)
drd/tests/read_and_free_race (stderr)
drd/tests/rwlock_race (stderr)
drd/tests/rwlock_test (stderr)
drd/tests/sem_open (stderr)
drd/tests/sem_open2 (stderr)
drd/tests/sem_open3 (stderr)
drd/tests/sem_open_traced (stderr)
drd/tests/sem_wait (stderr)
drd/tests/sigalrm (stderr)
drd/tests/tc01_simple_race (stderr)
drd/tests/tc02_simple_tls (stderr)
drd/tests/tc03_re_excl (stderr)
drd/tests/tc05_simple_race (stderr)
drd/tests/tc06_two_races (stderr)
drd/tests/tc07_hbl1 (stderr)
drd/tests/tc08_hbl2 (stderr)
drd/tests/tc09_bad_unlock (stderr)
drd/tests/tc11_XCHG (stderr)
drd/tests/tc16_byterace (stderr)
drd/tests/tc17_sembar (stderr)
drd/tests/tc19_shadowmem (stderr)
drd/tests/tc21_pthonce (stderr)
drd/tests/tc23_bogus_condwait (stderr)
drd/tests/thread_name (stderr)
drd/tests/thread_name_xml (stderr)
drd/tests/threaded-fork (stderr)
drd/tests/unit_bitmap (stderr)
drd/tests/unit_vc (stderr)
=================================================
./valgrind-new/drd/tests/annotate_barrier.stderr.diff
=================================================
--- annotate_barrier.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_barrier.stderr.out 2012-10-21 00:14:23.000000000 -0500
@@ -37,6 +37,117 @@
by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
Thread 1:
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Address 0x........ is at offset 8 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Address 0x........ is at offset 8 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
<truncated beyond 100 lines>
=================================================
./valgrind-new/drd/tests/annotate_barrier_xml.stderr.diff
=================================================
--- annotate_barrier_xml.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_barrier_xml.stderr.out 2012-10-21 00:14:24.000000000 -0500
@@ -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>
@@ -258,6 +258,549 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
+ <kind>ConflictingAccess</kind>
+ <what>Conflicting load by thread 1 at 0x........ size 4</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$UNIX2003</fn>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$*</fn>
+ <dir>...</dir>
+ <file>drd_pthread_intercepts.c</file>
+ <line>...</line>
+ </frame>
+ </stack>
+ <auxwhat>Allocation context: Data section of /usr/lib/libSystem.B.dylib</auxwhat>
+</error>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>ConflictingAccess</kind>
+ <what>Conflicting load by thread 1 at 0x........ size 4</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>new_sem_from_pool</fn>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$UNIX2003</fn>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$*</fn>
+ <dir>...</dir>
+ <file>drd_pthread_intercepts.c</file>
+ <line>...</line>
+ </frame>
+ </stack>
+ <auxwhat>Allocation context: Data section of /usr/lib/libSystem.B.dylib</auxwhat>
+</error>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>ConflictingAccess</kind>
+ <what>Conflicting load by thread 1 at 0x........ size 4</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>new_sem_from_pool</fn>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$UNIX2003</fn>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$*</fn>
+ <dir>...</dir>
+ <file>drd_pthread_intercepts.c</file>
+ <line>...</line>
+ </frame>
+ </stack>
+ <auxwhat>Allocation context: Data section of /usr/lib/libSystem.B.dylib</auxwhat>
+</error>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>ConflictingAccess</kind>
+ <what>Conflicting load by thread 1 at 0x........ size 4</what>
+ <stack>
<truncated beyond 100 lines>
=================================================
./valgrind-new/drd/tests/annotate_hb_race.stderr.diff
=================================================
--- annotate_hb_race.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_hb_race.stderr.out 2012-10-21 00:14:26.000000000 -0500
@@ -3,6 +3,60 @@
at 0x........: main (annotate_hb_race.c:?)
Allocation context: BSS section of annotate_hb_race
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Address 0x........ is at offset 4 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Done.
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_hbefore.stderr.diff
=================================================
--- annotate_hbefore.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_hbefore.stderr.out 2012-10-21 00:14:28.000000000 -0500
@@ -1,3 +1,44 @@
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+Address 0x........ is at offset 4 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_ignore_read.stderr.diff
=================================================
--- annotate_ignore_read.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_ignore_read.stderr.out 2012-10-21 00:14:30.000000000 -0500
@@ -1,6 +1,159 @@
FLAGS [phb=1, fm=0]
test69: negative
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Address 0x........ is at offset 12 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
<truncated beyond 100 lines>
=================================================
./valgrind-new/drd/tests/annotate_ignore_rw.stderr.diff
=================================================
--- annotate_ignore_rw.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_ignore_rw.stderr.out 2012-10-21 00:14:32.000000000 -0500
@@ -4,6 +4,60 @@
Location 0x........ is 0 bytes inside local var "s_c"
declared at annotate_ignore_rw.c:12, in frame #? of thread 1
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Address 0x........ is at offset 0 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Finished.
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_ignore_rw2.stderr.diff
=================================================
--- annotate_ignore_rw2.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_ignore_rw2.stderr.out 2012-10-21 00:14:33.000000000 -0500
@@ -14,6 +14,60 @@
Location 0x........ is 0 bytes inside local var "s_c"
declared at annotate_ignore_rw.c:12, in frame #? of thread 1
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Address 0x........ is at offset 0 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Finished.
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_ignore_write.stderr.diff
=================================================
--- annotate_ignore_write.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_ignore_write.stderr.out 2012-10-21 00:14:34.000000000 -0500
@@ -14,6 +14,60 @@
Location 0x........ is 0 bytes inside local var "s_a"
declared at annotate_ignore_write.c:10, in frame #? of thread 1
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Address 0x........ is at offset 0 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Finished.
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_ignore_write2.stderr.diff
=================================================
--- annotate_ignore_write2.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_ignore_write2.stderr.out 2012-10-21 00:14:35.000000000 -0500
@@ -19,6 +19,60 @@
Location 0x........ is 0 bytes inside local var "s_a"
declared at annotate_ignore_write.c:10, in frame #? of thread 1
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Address 0x........ is at offset 0 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Finished.
-ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_order_1.stderr.diff
=================================================
--- annotate_order_1.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_order_1.stderr.out 2012-10-21 00:14:37.000000000 -0500
@@ -1,6 +1,18 @@
FLAGS [phb=1, fm=0]
test03: negative
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: ThreadPool::~ThreadPool() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: test03::Waiter() (tsan_unittest.cpp:?)
+ by 0x........: test03::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
GLOB=2
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_order_2.stderr.diff
=================================================
--- annotate_order_2.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_order_2.stderr.out 2012-10-21 00:14:39.000000000 -0500
@@ -1,6 +1,71 @@
FLAGS [phb=1, fm=0]
test30: negative
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Address 0x........ is at offset 12 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
GLOB=47
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_order_3.stderr.diff
=================================================
--- annotate_order_3.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_order_3.stderr.out 2012-10-21 00:14:41.000000000 -0500
@@ -1,6 +1,71 @@
FLAGS [phb=1, fm=0]
test31: negative
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Address 0x........ is at offset 4 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
GLOB=48
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_rwlock.stderr.diff
=================================================
--- annotate_rwlock.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_rwlock.stderr.out 2012-10-21 00:14:46.000000000 -0500
@@ -1,4 +1,58 @@
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Address 0x........ is at offset 36 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Finished.
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_smart_pointer.stderr.diff
=================================================
--- annotate_smart_pointer.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_smart_pointer.stderr.out 2012-10-21 00:14:57.000000000 -0500
@@ -1,4 +1,64 @@
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Address 0x........ is at offset 196 from 0x......... Allocation context:
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Done.
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_smart_pointer2.stderr.diff
=================================================
--- annotate_smart_pointer2.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_smart_pointer2.stderr.out 2012-10-21 00:14:58.000000000 -0500
@@ -5,9 +5,71 @@
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:?)
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Address 0x........ is at offset ... from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Done.
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_spinlock.stderr.diff
=================================================
--- annotate_spinlock.stderr.exp 2012-10-20 23:56:53.000000000 -0500
+++ annotate_spinlock.stderr.out 2012-10-21 00:14:59.000000000 -0500
@@ -1,6 +1,88 @@
FLAGS [phb=1, fm=0]
test27: negative
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test27::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test27::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c...
[truncated message content] |
|
From: Philippe W. <phi...@sk...> - 2012-10-21 03:46:56
|
valgrind revision: 13069 VEX revision: 2555 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-10-20 20:00:13 PDT Ended at 2012-10-20 20:45:23 PDT 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 == 536 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: <sv...@va...> - 2012-10-21 03:43:28
|
florian 2012-10-21 04:43:20 +0100 (Sun, 21 Oct 2012)
New Revision: 13071
Log:
First round of Char/HChar fixes for memcheck.
Modified files:
trunk/memcheck/mc_errors.c
trunk/memcheck/mc_include.h
trunk/memcheck/mc_main.c
trunk/memcheck/mc_malloc_wrappers.c
trunk/memcheck/mc_translate.c
Modified: trunk/memcheck/mc_errors.c (+4 -4)
===================================================================
--- trunk/memcheck/mc_errors.c 2012-10-21 04:23:36 +01:00 (rev 13070)
+++ trunk/memcheck/mc_errors.c 2012-10-21 04:43:20 +01:00 (rev 13071)
@@ -99,7 +99,7 @@
// blocks.
struct {
BlockKind block_kind;
- Char* block_desc; // "block", "mempool" or user-defined
+ const HChar* block_desc; // "block", "mempool" or user-defined
SizeT block_szB;
PtrdiffT rwoffset;
ExeContext* lastchange;
@@ -322,7 +322,7 @@
SizeT block_szB = ai->Addr.Block.block_szB;
PtrdiffT rwoffset = ai->Addr.Block.rwoffset;
SizeT delta;
- const Char* relative;
+ const HChar* relative;
if (rwoffset < 0) {
delta = (SizeT)(-rwoffset);
@@ -412,7 +412,7 @@
static void mc_pp_origin ( ExeContext* ec, UInt okind )
{
- HChar* src = NULL;
+ const HChar* src = NULL;
tl_assert(ec);
switch (okind) {
@@ -1518,7 +1518,7 @@
}
}
-Char* MC_(get_error_name) ( Error* err )
+HChar* MC_(get_error_name) ( Error* err )
{
switch (VG_(get_error_kind)(err)) {
case Err_RegParam: return "Param";
Modified: trunk/memcheck/mc_include.h (+2 -2)
===================================================================
--- trunk/memcheck/mc_include.h 2012-10-21 04:23:36 +01:00 (rev 13070)
+++ trunk/memcheck/mc_include.h 2012-10-21 04:43:20 +01:00 (rev 13071)
@@ -382,7 +382,7 @@
Bool MC_(get_extra_suppression_info) ( Error* err,
/*OUT*/Char* buf, Int nBuf );
-Char* MC_(get_error_name) ( Error* err );
+HChar* MC_(get_error_name) ( Error* err );
/* Recording of errors */
void MC_(record_address_error) ( ThreadId tid, Addr a, Int szB,
@@ -429,7 +429,7 @@
Addr start;
SizeT size;
ExeContext* where;
- Char* desc;
+ HChar* desc;
}
CGenBlock;
Modified: trunk/memcheck/mc_translate.c (+2 -2)
===================================================================
--- trunk/memcheck/mc_translate.c 2012-10-21 04:23:36 +01:00 (rev 13070)
+++ trunk/memcheck/mc_translate.c 2012-10-21 04:43:20 +01:00 (rev 13071)
@@ -3843,7 +3843,7 @@
IRAtom* addr, UInt bias )
{
void* helper;
- Char* hname;
+ const HChar* hname;
IRDirty* di;
IRTemp datavbits;
IRAtom* addrAct;
@@ -4155,7 +4155,7 @@
IROp mkAdd;
IRType ty, tyAddr;
void* helper = NULL;
- Char* hname = NULL;
+ const HChar* hname = NULL;
IRConst* c;
tyAddr = mce->hWordTy;
Modified: trunk/memcheck/mc_main.c (+2 -2)
===================================================================
--- trunk/memcheck/mc_main.c 2012-10-21 04:23:36 +01:00 (rev 13070)
+++ trunk/memcheck/mc_main.c 2012-10-21 04:43:20 +01:00 (rev 13071)
@@ -1373,7 +1373,7 @@
if (lenT > 256 * 1024 * 1024) {
if (VG_(clo_verbosity) > 0 && !VG_(clo_xml)) {
- Char* s = "unknown???";
+ const HChar* s = "unknown???";
if (vabits16 == VA_BITS16_NOACCESS ) s = "noaccess";
if (vabits16 == VA_BITS16_UNDEFINED) s = "undefined";
if (vabits16 == VA_BITS16_DEFINED ) s = "defined";
@@ -5481,7 +5481,7 @@
/* VG_(printf)("allocated %d %p\n", i, cgbs); */
cgbs[i].start = arg[1];
cgbs[i].size = arg[2];
- cgbs[i].desc = VG_(strdup)("mc.mhcr.1", (Char *)arg[3]);
+ cgbs[i].desc = (HChar *)VG_(strdup)("mc.mhcr.1", (Char *)arg[3]);
cgbs[i].where = VG_(record_ExeContext) ( tid, 0/*first_ip_delta*/ );
*ret = i;
} else
Modified: trunk/memcheck/mc_malloc_wrappers.c (+1 -1)
===================================================================
--- trunk/memcheck/mc_malloc_wrappers.c 2012-10-21 04:23:36 +01:00 (rev 13070)
+++ trunk/memcheck/mc_malloc_wrappers.c 2012-10-21 04:43:20 +01:00 (rev 13071)
@@ -222,7 +222,7 @@
/*------------------------------------------------------------*/
// XXX: should make this a proper error (bug #79311).
-static Bool complain_about_silly_args(SizeT sizeB, Char* fn)
+static Bool complain_about_silly_args(SizeT sizeB, const HChar* fn)
{
// Cast to a signed type to catch any unexpectedly negative args. We're
// assuming here that the size asked for is not greater than 2^31 bytes
|
|
From: <sv...@va...> - 2012-10-21 03:23:48
|
florian 2012-10-21 04:23:36 +0100 (Sun, 21 Oct 2012)
New Revision: 13070
Log:
Fix Char/HChar mixups in helgrind and then some.
Also fix all usages of the wordFM data structure. Once upon a time
wordFM used Words but now it uses UWords.
Likewise for WordBag.
Modified files:
trunk/helgrind/hg_errors.c
trunk/helgrind/hg_errors.h
trunk/helgrind/hg_lock_n_thread.c
trunk/helgrind/hg_main.c
trunk/helgrind/libhb_core.c
Modified: trunk/helgrind/libhb_core.c (+4 -3)
===================================================================
--- trunk/helgrind/libhb_core.c 2012-10-21 03:55:56 +01:00 (rev 13069)
+++ trunk/helgrind/libhb_core.c 2012-10-21 04:23:36 +01:00 (rev 13070)
@@ -1796,7 +1796,7 @@
static void scalarts_limitations_fail_NORETURN ( Bool due_to_nThrs )
{
if (due_to_nThrs) {
- HChar* s =
+ const HChar* s =
"\n"
"Helgrind: cannot continue, run aborted: too many threads.\n"
"Sorry. Helgrind can only handle programs that create\n"
@@ -1804,7 +1804,7 @@
"\n";
VG_(umsg)(s, (ULong)(ThrID_MAX_VALID - 1024));
} else {
- HChar* s =
+ const HChar* s =
"\n"
"Helgrind: cannot continue, run aborted: too many\n"
"synchronisation events. Sorry. Helgrind can only handle\n"
@@ -6491,7 +6491,8 @@
if (XXX2 && a <= XXX2 && XXX2 <= a+szB) return True;
return False;
}
-static void trace ( Thr* thr, Addr a, SizeT szB, HChar* s ) {
+static void trace ( Thr* thr, Addr a, SizeT szB, const HChar* s )
+{
SVal sv = zsm_sread08(a);
VG_(printf)("thr %p (%#lx,%lu) %s: 0x%016llx ", thr,a,szB,s,sv);
show_thread_state("", thr);
Modified: trunk/helgrind/hg_lock_n_thread.c (+2 -2)
===================================================================
--- trunk/helgrind/hg_lock_n_thread.c 2012-10-21 03:55:56 +01:00 (rev 13069)
+++ trunk/helgrind/hg_lock_n_thread.c 2012-10-21 04:23:36 +01:00 (rev 13070)
@@ -52,9 +52,9 @@
static Bool is_sane_Bag_of_Threads ( WordBag* bag )
{
Thread* thr;
- Word count;
+ UWord count;
VG_(initIterBag)( bag );
- while (VG_(nextIterBag)( bag, (Word*)&thr, &count )) {
+ while (VG_(nextIterBag)( bag, (UWord*)&thr, &count )) {
if (count < 1) return False;
if (!HG_(is_sane_Thread)(thr)) return False;
}
Modified: trunk/helgrind/hg_errors.h (+1 -1)
===================================================================
--- trunk/helgrind/hg_errors.h 2012-10-21 03:55:56 +01:00 (rev 13069)
+++ trunk/helgrind/hg_errors.h 2012-10-21 04:23:36 +01:00 (rev 13070)
@@ -43,7 +43,7 @@
Bool HG_(read_extra_suppression_info) ( Int fd, Char** bufpp, SizeT* nBufp,
Supp* su );
Bool HG_(error_matches_suppression) ( Error* err, Supp* su );
-Char* HG_(get_error_name) ( Error* err );
+HChar* HG_(get_error_name) ( Error* err );
Bool HG_(get_extra_suppression_info) ( Error* err,
/*OUT*/Char* buf, Int nBuf );
Modified: trunk/helgrind/hg_errors.c (+8 -8)
===================================================================
--- trunk/helgrind/hg_errors.c 2012-10-21 03:55:56 +01:00 (rev 13069)
+++ trunk/helgrind/hg_errors.c 2012-10-21 04:23:36 +01:00 (rev 13070)
@@ -77,7 +77,7 @@
tl_assert(string_table);
}
if (VG_(lookupFM)( string_table,
- NULL, (Word*)©, (Word)str )) {
+ NULL, (UWord*)©, (UWord)str )) {
tl_assert(copy);
if (0) VG_(printf)("string_table_strdup: %p -> %p\n", str, copy );
return copy;
@@ -165,7 +165,7 @@
HG_(free), lock_unique_cmp );
tl_assert(map_LockN_to_P);
}
- if (!VG_(lookupFM)( map_LockN_to_P, NULL, (Word*)&lkp, (Word)lkn)) {
+ if (!VG_(lookupFM)( map_LockN_to_P, NULL, (UWord*)&lkp, (UWord)lkn)) {
lkp = HG_(zalloc)( "hg.mLPfLN.2", sizeof(Lock) );
*lkp = *lkn;
lkp->admin_next = NULL;
@@ -178,7 +178,7 @@
lkp->heldBy = NULL;
lkp->acquired_at = NULL;
lkp->hbso = NULL;
- VG_(addToFM)( map_LockN_to_P, (Word)lkp, (Word)lkp );
+ VG_(addToFM)( map_LockN_to_P, (UWord)lkp, (UWord)lkp );
}
tl_assert( HG_(is_sane_LockP)(lkp) );
return lkp;
@@ -739,7 +739,7 @@
/* Do a printf-style operation on either the XML or normal output
channel, depending on the setting of VG_(clo_xml).
*/
-static void emit_WRK ( HChar* format, va_list vargs )
+static void emit_WRK ( const HChar* format, va_list vargs )
{
if (VG_(clo_xml)) {
VG_(vprintf_xml)(format, vargs);
@@ -747,8 +747,8 @@
VG_(vmessage)(Vg_UserMsg, format, vargs);
}
}
-static void emit ( HChar* format, ... ) PRINTF_CHECK(1, 2);
-static void emit ( HChar* format, ... )
+static void emit ( const HChar* format, ... ) PRINTF_CHECK(1, 2);
+static void emit ( const HChar* format, ... )
{
va_list vargs;
va_start(vargs, format);
@@ -1182,7 +1182,7 @@
case XE_Race: {
Addr err_ga;
- HChar* what;
+ const HChar* what;
Int szB;
what = xe->XE.Race.isWrite ? "write" : "read";
szB = xe->XE.Race.szB;
@@ -1333,7 +1333,7 @@
} /* switch (VG_(get_error_kind)(err)) */
}
-Char* HG_(get_error_name) ( Error* err )
+HChar* HG_(get_error_name) ( Error* err )
{
switch (VG_(get_error_kind)(err)) {
case XE_Race: return "Race";
Modified: trunk/helgrind/hg_main.c (+106 -108)
===================================================================
--- trunk/helgrind/hg_main.c 2012-10-21 03:55:56 +01:00 (rev 13069)
+++ trunk/helgrind/hg_main.c 2012-10-21 04:23:36 +01:00 (rev 13070)
@@ -100,7 +100,7 @@
#define SHOW_EVENTS 0
-static void all__sanity_check ( Char* who ); /* fwds */
+static void all__sanity_check ( const HChar* who ); /* fwds */
#define HG_CLI__DEFAULT_MALLOC_REDZONE_SZB 16 /* let's say */
@@ -260,7 +260,7 @@
tl_assert(!lk->heldW);
lk->heldW = True;
lk->heldBy = VG_(newBag)( HG_(zalloc), "hg.lNaw.1", HG_(free) );
- VG_(addToBag)( lk->heldBy, (Word)thr );
+ VG_(addToBag)( lk->heldBy, (UWord)thr );
break;
case LK_mbRec:
if (lk->heldBy == NULL)
@@ -270,9 +270,9 @@
/* assert: lk is only held by one thread .. */
tl_assert(VG_(sizeUniqueBag(lk->heldBy)) == 1);
/* assert: .. and that thread is 'thr'. */
- tl_assert(VG_(elemBag)(lk->heldBy, (Word)thr)
+ tl_assert(VG_(elemBag)(lk->heldBy, (UWord)thr)
== VG_(sizeTotalBag)(lk->heldBy));
- VG_(addToBag)(lk->heldBy, (Word)thr);
+ VG_(addToBag)(lk->heldBy, (UWord)thr);
break;
case LK_rdwr:
tl_assert(lk->heldBy == NULL && !lk->heldW); /* must be unheld */
@@ -310,11 +310,11 @@
/* end EXPOSITION only */
if (lk->heldBy) {
- VG_(addToBag)(lk->heldBy, (Word)thr);
+ VG_(addToBag)(lk->heldBy, (UWord)thr);
} else {
lk->heldW = False;
lk->heldBy = VG_(newBag)( HG_(zalloc), "hg.lNar.1", HG_(free) );
- VG_(addToBag)( lk->heldBy, (Word)thr );
+ VG_(addToBag)( lk->heldBy, (UWord)thr );
}
tl_assert(!lk->heldW);
tl_assert(HG_(is_sane_LockN)(lk));
@@ -333,7 +333,7 @@
tl_assert(lk->heldBy);
stats__lockN_releases++;
/* Remove it from the holder set */
- b = VG_(delFromBag)(lk->heldBy, (Word)thr);
+ b = VG_(delFromBag)(lk->heldBy, (UWord)thr);
/* thr must actually have been a holder of lk */
tl_assert(b);
/* normalise */
@@ -356,18 +356,18 @@
}
/* for each thread that holds this lock do ... */
VG_(initIterBag)( lk->heldBy );
- while (VG_(nextIterBag)( lk->heldBy, (Word*)&thr, NULL )) {
+ while (VG_(nextIterBag)( lk->heldBy, (UWord*)&thr, NULL )) {
tl_assert(HG_(is_sane_Thread)(thr));
tl_assert(HG_(elemWS)( univ_lsets,
- thr->locksetA, (Word)lk ));
+ thr->locksetA, (UWord)lk ));
thr->locksetA
- = HG_(delFromWS)( univ_lsets, thr->locksetA, (Word)lk );
+ = HG_(delFromWS)( univ_lsets, thr->locksetA, (UWord)lk );
if (lk->heldW) {
tl_assert(HG_(elemWS)( univ_lsets,
- thr->locksetW, (Word)lk ));
+ thr->locksetW, (UWord)lk ));
thr->locksetW
- = HG_(delFromWS)( univ_lsets, thr->locksetW, (Word)lk );
+ = HG_(delFromWS)( univ_lsets, thr->locksetW, (UWord)lk );
}
}
VG_(doneIterBag)( lk->heldBy );
@@ -388,7 +388,7 @@
static void space ( Int n )
{
Int i;
- Char spaces[128+1];
+ HChar spaces[128+1];
tl_assert(n >= 0 && n < 128);
if (n == 0)
return;
@@ -470,10 +470,10 @@
space(d+3); VG_(printf)("heldBy %p", lk->heldBy);
if (lk->heldBy) {
Thread* thr;
- Word count;
+ UWord count;
VG_(printf)(" { ");
VG_(initIterBag)( lk->heldBy );
- while (VG_(nextIterBag)( lk->heldBy, (Word*)&thr, &count ))
+ while (VG_(nextIterBag)( lk->heldBy, (UWord*)&thr, &count ))
VG_(printf)("%lu:%p ", count, thr);
VG_(doneIterBag)( lk->heldBy );
VG_(printf)("}");
@@ -507,8 +507,8 @@
space(d); VG_(printf)("map_locks (%d entries) {\n",
(Int)VG_(sizeFM)( map_locks ));
VG_(initIterFM)( map_locks );
- while (VG_(nextIterFM)( map_locks, (Word*)&gla,
- (Word*)&lk )) {
+ while (VG_(nextIterFM)( map_locks, (UWord*)&gla,
+ (UWord*)&lk )) {
space(d+3);
VG_(printf)("guest %p -> Lock %p\n", gla, lk);
}
@@ -516,7 +516,7 @@
space(d); VG_(printf)("}\n");
}
-static void pp_everything ( Int flags, Char* caller )
+static void pp_everything ( Int flags, const HChar* caller )
{
Int d = 0;
VG_(printf)("\n");
@@ -555,13 +555,11 @@
tl_assert(admin_threads == NULL);
tl_assert(admin_locks == NULL);
- tl_assert(sizeof(Addr) == sizeof(Word));
-
tl_assert(map_threads == NULL);
map_threads = HG_(zalloc)( "hg.ids.1", VG_N_THREADS * sizeof(Thread*) );
tl_assert(map_threads != NULL);
- tl_assert(sizeof(Addr) == sizeof(Word));
+ tl_assert(sizeof(Addr) == sizeof(UWord));
tl_assert(map_locks == NULL);
map_locks = VG_(newFM)( HG_(zalloc), "hg.ids.2", HG_(free),
NULL/*unboxed Word cmp*/);
@@ -679,12 +677,12 @@
Lock* oldlock = NULL;
tl_assert(HG_(is_sane_ThreadId)(tid));
found = VG_(lookupFM)( map_locks,
- NULL, (Word*)&oldlock, (Word)ga );
+ NULL, (UWord*)&oldlock, (UWord)ga );
if (!found) {
Lock* lock = mk_LockN(lkk, ga);
lock->appeared_at = VG_(record_ExeContext)( tid, 0 );
tl_assert(HG_(is_sane_LockN)(lock));
- VG_(addToFM)( map_locks, (Word)ga, (Word)lock );
+ VG_(addToFM)( map_locks, (UWord)ga, (UWord)lock );
tl_assert(oldlock == NULL);
return lock;
} else {
@@ -699,7 +697,7 @@
{
Bool found;
Lock* lk = NULL;
- found = VG_(lookupFM)( map_locks, NULL, (Word*)&lk, (Word)ga );
+ found = VG_(lookupFM)( map_locks, NULL, (UWord*)&lk, (UWord)ga );
tl_assert(found ? lk != NULL : lk == NULL);
return lk;
}
@@ -709,7 +707,7 @@
Addr ga2 = 0;
Lock* lk = NULL;
VG_(delFromFM)( map_locks,
- (Word*)&ga2, (Word*)&lk, (Word)ga );
+ (UWord*)&ga2, (UWord*)&lk, (UWord)ga );
/* delFromFM produces the val which is being deleted, if it is
found. So assert it is non-null; that in effect asserts that we
are deleting a (ga, Lock) pair which actually exists. */
@@ -725,7 +723,7 @@
static UWord stats__sanity_checks = 0;
-static void laog__sanity_check ( Char* who ); /* fwds */
+static void laog__sanity_check ( const HChar* who ); /* fwds */
/* REQUIRED INVARIANTS:
@@ -801,21 +799,21 @@
static Bool thread_is_a_holder_of_Lock ( Thread* thr, Lock* lk )
{
if (lk->heldBy)
- return VG_(elemBag)( lk->heldBy, (Word)thr ) > 0;
+ return VG_(elemBag)( lk->heldBy, (UWord)thr ) > 0;
else
return False;
}
/* Sanity check Threads, as far as possible */
__attribute__((noinline))
-static void threads__sanity_check ( Char* who )
+static void threads__sanity_check ( const HChar* who )
{
#define BAD(_str) do { how = (_str); goto bad; } while (0)
- Char* how = "no error";
+ const HChar* how = "no error";
Thread* thr;
WordSetID wsA, wsW;
UWord* ls_words;
- Word ls_size, i;
+ UWord ls_size, i;
Lock* lk;
for (thr = admin_threads; thr; thr = thr->admin) {
if (!HG_(is_sane_Thread)(thr)) BAD("1");
@@ -843,10 +841,10 @@
/* Sanity check Locks, as far as possible */
__attribute__((noinline))
-static void locks__sanity_check ( Char* who )
+static void locks__sanity_check ( const HChar* who )
{
#define BAD(_str) do { how = (_str); goto bad; } while (0)
- Char* how = "no error";
+ const HChar* how = "no error";
Addr gla;
Lock* lk;
Int i;
@@ -858,7 +856,7 @@
// gla == lk->guest_addr
VG_(initIterFM)( map_locks );
while (VG_(nextIterFM)( map_locks,
- (Word*)&gla, (Word*)&lk )) {
+ (UWord*)&gla, (UWord*)&lk )) {
if (lk->guestaddr != gla) BAD("2");
}
VG_(doneIterFM)( map_locks );
@@ -873,21 +871,21 @@
// this lock is mentioned in their locksets.
if (lk->heldBy) {
Thread* thr;
- Word count;
+ UWord count;
VG_(initIterBag)( lk->heldBy );
while (VG_(nextIterBag)( lk->heldBy,
- (Word*)&thr, &count )) {
+ (UWord*)&thr, &count )) {
// HG_(is_sane_LockN) above ensures these
tl_assert(count >= 1);
tl_assert(HG_(is_sane_Thread)(thr));
- if (!HG_(elemWS)(univ_lsets, thr->locksetA, (Word)lk))
+ if (!HG_(elemWS)(univ_lsets, thr->locksetA, (UWord)lk))
BAD("6");
// also check the w-only lockset
if (lk->heldW
- && !HG_(elemWS)(univ_lsets, thr->locksetW, (Word)lk))
+ && !HG_(elemWS)(univ_lsets, thr->locksetW, (UWord)lk))
BAD("7");
if ((!lk->heldW)
- && HG_(elemWS)(univ_lsets, thr->locksetW, (Word)lk))
+ && HG_(elemWS)(univ_lsets, thr->locksetW, (UWord)lk))
BAD("8");
}
VG_(doneIterBag)( lk->heldBy );
@@ -907,14 +905,14 @@
}
-static void all_except_Locks__sanity_check ( Char* who ) {
+static void all_except_Locks__sanity_check ( const HChar* who ) {
stats__sanity_checks++;
if (0) VG_(printf)("all_except_Locks__sanity_check(%s)\n", who);
threads__sanity_check(who);
if (HG_(clo_track_lockorders))
laog__sanity_check(who);
}
-static void all__sanity_check ( Char* who ) {
+static void all__sanity_check ( const HChar* who ) {
all_except_Locks__sanity_check(who);
locks__sanity_check(who);
}
@@ -1103,8 +1101,8 @@
laog__pre_thread_acquires_lock( thr, lk );
}
/* update the thread's held-locks set */
- thr->locksetA = HG_(addToWS)( univ_lsets, thr->locksetA, (Word)lk );
- thr->locksetW = HG_(addToWS)( univ_lsets, thr->locksetW, (Word)lk );
+ thr->locksetA = HG_(addToWS)( univ_lsets, thr->locksetA, (UWord)lk );
+ thr->locksetW = HG_(addToWS)( univ_lsets, thr->locksetW, (UWord)lk );
/* fall through */
error:
@@ -1178,7 +1176,7 @@
laog__pre_thread_acquires_lock( thr, lk );
}
/* update the thread's held-locks set */
- thr->locksetA = HG_(addToWS)( univ_lsets, thr->locksetA, (Word)lk );
+ thr->locksetA = HG_(addToWS)( univ_lsets, thr->locksetA, (UWord)lk );
/* but don't update thr->locksetW, since lk is only rd-held */
/* fall through */
@@ -1234,8 +1232,8 @@
client. */
tl_assert(!lock->heldW);
HG_(record_error_UnlockUnlocked)( thr, lock );
- tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetA, (Word)lock ));
- tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (Word)lock ));
+ tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetA, (UWord)lock ));
+ tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (UWord)lock ));
goto error;
}
@@ -1245,7 +1243,7 @@
/* The lock is held. Is this thread one of the holders? If not,
report a bug in the client. */
- n = VG_(elemBag)( lock->heldBy, (Word)thr );
+ n = VG_(elemBag)( lock->heldBy, (UWord)thr );
tl_assert(n >= 0);
if (n == 0) {
/* We are not a current holder of the lock. This is a bug in
@@ -1255,8 +1253,8 @@
Thread* realOwner = (Thread*)VG_(anyElementOfBag)( lock->heldBy );
tl_assert(HG_(is_sane_Thread)(realOwner));
tl_assert(realOwner != thr);
- tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetA, (Word)lock ));
- tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (Word)lock ));
+ tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetA, (UWord)lock ));
+ tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (UWord)lock ));
HG_(record_error_UnlockForeign)( thr, realOwner, lock );
goto error;
}
@@ -1271,16 +1269,16 @@
if (n > 0) {
tl_assert(lock->heldBy);
- tl_assert(n == VG_(elemBag)( lock->heldBy, (Word)thr ));
+ tl_assert(n == VG_(elemBag)( lock->heldBy, (UWord)thr ));
/* We still hold the lock. So either it's a recursive lock
or a rwlock which is currently r-held. */
tl_assert(lock->kind == LK_mbRec
|| (lock->kind == LK_rdwr && !lock->heldW));
- tl_assert(HG_(elemWS)( univ_lsets, thr->locksetA, (Word)lock ));
+ tl_assert(HG_(elemWS)( univ_lsets, thr->locksetA, (UWord)lock ));
if (lock->heldW)
- tl_assert(HG_(elemWS)( univ_lsets, thr->locksetW, (Word)lock ));
+ tl_assert(HG_(elemWS)( univ_lsets, thr->locksetW, (UWord)lock ));
else
- tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (Word)lock ));
+ tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (UWord)lock ));
} else {
/* n is zero. This means we don't hold the lock any more. But
if it's a rwlock held in r-mode, someone else could still
@@ -1306,13 +1304,13 @@
tl_assert(lock->heldW == False);
}
//if (lock->heldBy) {
- // tl_assert(0 == VG_(elemBag)( lock->heldBy, (Word)thr ));
+ // tl_assert(0 == VG_(elemBag)( lock->heldBy, (UWord)thr ));
//}
/* update this thread's lockset accordingly. */
thr->locksetA
- = HG_(delFromWS)( univ_lsets, thr->locksetA, (Word)lock );
+ = HG_(delFromWS)( univ_lsets, thr->locksetA, (UWord)lock );
thr->locksetW
- = HG_(delFromWS)( univ_lsets, thr->locksetW, (Word)lock );
+ = HG_(delFromWS)( univ_lsets, thr->locksetW, (UWord)lock );
/* push our VC into the lock */
tl_assert(thr->hbthr);
tl_assert(lock->hbso);
@@ -1948,7 +1946,7 @@
&& (lk->kind == LK_nonRec || lk->kind == LK_rdwr)
&& lk->heldBy
&& lk->heldW
- && VG_(elemBag)( lk->heldBy, (Word)thr ) > 0 ) {
+ && VG_(elemBag)( lk->heldBy, (UWord)thr ) > 0 ) {
/* uh, it's a non-recursive lock and we already w-hold it, and
this is a real lock operation (not a speculative "tryLock"
kind of thing). Duh. Deadlock coming up; but at least
@@ -2236,7 +2234,7 @@
"pthread_cond_{signal,broadcast}: dubious: "
"associated lock is not held by any thread");
}
- if (lk->heldBy != NULL && 0 == VG_(elemBag)(lk->heldBy, (Word)thr)) {
+ if (lk->heldBy != NULL && 0 == VG_(elemBag)(lk->heldBy, (UWord)thr)) {
HG_(record_error_Misc)(thr,
"pthread_cond_{signal,broadcast}: "
"associated lock is not held by calling thread");
@@ -2298,7 +2296,7 @@
thr, "pthread_cond_{timed}wait called with un-held mutex");
} else
if (lk->heldBy != NULL
- && VG_(elemBag)( lk->heldBy, (Word)thr ) == 0) {
+ && VG_(elemBag)( lk->heldBy, (UWord)thr ) == 0) {
lk_valid = False;
HG_(record_error_Misc)(
thr, "pthread_cond_{timed}wait called with mutex "
@@ -2590,7 +2588,7 @@
} else {
xa = VG_(newXA)( HG_(zalloc), "hg.pSfs.1", HG_(free), sizeof(SO*) );
VG_(addToXA)( xa, &so );
- VG_(addToFM)( map_sem_to_SO_stack, (Word)sem, (Word)xa );
+ VG_(addToFM)( map_sem_to_SO_stack, (UWord)sem, (UWord)xa );
}
}
@@ -3310,8 +3308,8 @@
tl_assert(laog_exposition);
}
-static void laog__show ( Char* who ) {
- Word i, ws_size;
+static void laog__show ( const HChar* who ) {
+ UWord i, ws_size;
UWord* ws_words;
Lock* me;
LAOGLinks* links;
@@ -3319,8 +3317,8 @@
VG_(initIterFM)( laog );
me = NULL;
links = NULL;
- while (VG_(nextIterFM)( laog, (Word*)&me,
- (Word*)&links )) {
+ while (VG_(nextIterFM)( laog, (UWord*)&me,
+ (UWord*)&links )) {
tl_assert(me);
tl_assert(links);
VG_(printf)(" node %p:\n", me);
@@ -3418,7 +3416,7 @@
__attribute__((noinline))
static void laog__add_edge ( Lock* src, Lock* dst ) {
- Word keyW;
+ UWord keyW;
LAOGLinks* links;
Bool presentF, presentR;
if (0) VG_(printf)("laog__add_edge %p %p\n", src, dst);
@@ -3436,34 +3434,34 @@
/* Update the out edges for src */
keyW = 0;
links = NULL;
- if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)src )) {
+ if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)src )) {
WordSetID outs_new;
tl_assert(links);
- tl_assert(keyW == (Word)src);
- outs_new = HG_(addToWS)( univ_laog, links->outs, (Word)dst );
+ tl_assert(keyW == (UWord)src);
+ outs_new = HG_(addToWS)( univ_laog, links->outs, (UWord)dst );
presentF = outs_new == links->outs;
links->outs = outs_new;
} else {
links = HG_(zalloc)("hg.lae.1", sizeof(LAOGLinks));
links->inns = HG_(emptyWS)( univ_laog );
- links->outs = HG_(singletonWS)( univ_laog, (Word)dst );
- VG_(addToFM)( laog, (Word)src, (Word)links );
+ links->outs = HG_(singletonWS)( univ_laog, (UWord)dst );
+ VG_(addToFM)( laog, (UWord)src, (UWord)links );
}
/* Update the in edges for dst */
keyW = 0;
links = NULL;
- if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)dst )) {
+ if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)dst )) {
WordSetID inns_new;
tl_assert(links);
- tl_assert(keyW == (Word)dst);
- inns_new = HG_(addToWS)( univ_laog, links->inns, (Word)src );
+ tl_assert(keyW == (UWord)dst);
+ inns_new = HG_(addToWS)( univ_laog, links->inns, (UWord)src );
presentR = inns_new == links->inns;
links->inns = inns_new;
} else {
links = HG_(zalloc)("hg.lae.2", sizeof(LAOGLinks));
- links->inns = HG_(singletonWS)( univ_laog, (Word)src );
+ links->inns = HG_(singletonWS)( univ_laog, (UWord)src );
links->outs = HG_(emptyWS)( univ_laog );
- VG_(addToFM)( laog, (Word)dst, (Word)links );
+ VG_(addToFM)( laog, (UWord)dst, (UWord)links );
}
tl_assert( (presentF && presentR) || (!presentF && !presentR) );
@@ -3482,7 +3480,7 @@
expo.src_ec = NULL;
expo.dst_ec = NULL;
tl_assert(laog_exposition);
- if (VG_(lookupFM)( laog_exposition, NULL, NULL, (Word)&expo )) {
+ if (VG_(lookupFM)( laog_exposition, NULL, NULL, (UWord)&expo )) {
/* we already have it; do nothing */
} else {
LAOGLinkExposition* expo2 = HG_(zalloc)("hg.lae.3",
@@ -3491,7 +3489,7 @@
expo2->dst_ga = dst->guestaddr;
expo2->src_ec = src->acquired_at;
expo2->dst_ec = dst->acquired_at;
- VG_(addToFM)( laog_exposition, (Word)expo2, (Word)NULL );
+ VG_(addToFM)( laog_exposition, (UWord)expo2, (UWord)NULL );
}
}
@@ -3501,24 +3499,24 @@
__attribute__((noinline))
static void laog__del_edge ( Lock* src, Lock* dst ) {
- Word keyW;
+ UWord keyW;
LAOGLinks* links;
if (0) VG_(printf)("laog__del_edge enter %p %p\n", src, dst);
/* Update the out edges for src */
keyW = 0;
links = NULL;
- if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)src )) {
+ if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)src )) {
tl_assert(links);
- tl_assert(keyW == (Word)src);
- links->outs = HG_(delFromWS)( univ_laog, links->outs, (Word)dst );
+ tl_assert(keyW == (UWord)src);
+ links->outs = HG_(delFromWS)( univ_laog, links->outs, (UWord)dst );
}
/* Update the in edges for dst */
keyW = 0;
links = NULL;
- if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)dst )) {
+ if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)dst )) {
tl_assert(links);
- tl_assert(keyW == (Word)dst);
- links->inns = HG_(delFromWS)( univ_laog, links->inns, (Word)src );
+ tl_assert(keyW == (UWord)dst);
+ links->inns = HG_(delFromWS)( univ_laog, links->inns, (UWord)src );
}
/* Remove the exposition of src,dst (if present) */
@@ -3545,13 +3543,13 @@
__attribute__((noinline))
static WordSetID /* in univ_laog */ laog__succs ( Lock* lk ) {
- Word keyW;
+ UWord keyW;
LAOGLinks* links;
keyW = 0;
links = NULL;
- if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)lk )) {
+ if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)lk )) {
tl_assert(links);
- tl_assert(keyW == (Word)lk);
+ tl_assert(keyW == (UWord)lk);
return links->outs;
} else {
return HG_(emptyWS)( univ_laog );
@@ -3560,13 +3558,13 @@
__attribute__((noinline))
static WordSetID /* in univ_laog */ laog__preds ( Lock* lk ) {
- Word keyW;
+ UWord keyW;
LAOGLinks* links;
keyW = 0;
links = NULL;
- if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)lk )) {
+ if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)lk )) {
tl_assert(links);
- tl_assert(keyW == (Word)lk);
+ tl_assert(keyW == (UWord)lk);
return links->inns;
} else {
return HG_(emptyWS)( univ_laog );
@@ -3574,8 +3572,8 @@
}
__attribute__((noinline))
-static void laog__sanity_check ( Char* who ) {
- Word i, ws_size;
+static void laog__sanity_check ( const HChar* who ) {
+ UWord i, ws_size;
UWord* ws_words;
Lock* me;
LAOGLinks* links;
@@ -3583,22 +3581,22 @@
me = NULL;
links = NULL;
if (0) VG_(printf)("laog sanity check\n");
- while (VG_(nextIterFM)( laog, (Word*)&me,
- (Word*)&links )) {
+ while (VG_(nextIterFM)( laog, (UWord*)&me,
+ (UWord*)&links )) {
tl_assert(me);
tl_assert(links);
HG_(getPayloadWS)( &ws_words, &ws_size, univ_laog, links->inns );
for (i = 0; i < ws_size; i++) {
if ( ! HG_(elemWS)( univ_laog,
laog__succs( (Lock*)ws_words[i] ),
- (Word)me ))
+ (UWord)me ))
goto bad;
}
HG_(getPayloadWS)( &ws_words, &ws_size, univ_laog, links->outs );
for (i = 0; i < ws_size; i++) {
if ( ! HG_(elemWS)( univ_laog,
laog__preds( (Lock*)ws_words[i] ),
- (Word)me ))
+ (UWord)me ))
goto bad;
}
me = NULL;
@@ -3622,12 +3620,12 @@
Lock* laog__do_dfs_from_to ( Lock* src, WordSetID dsts /* univ_lsets */ )
{
Lock* ret;
- Word i, ssz;
+ Word ssz;
XArray* stack; /* of Lock* */
WordFM* visited; /* Lock* -> void, iow, Set(Lock*) */
Lock* here;
WordSetID succs;
- Word succs_size;
+ UWord succs_size, i;
UWord* succs_words;
//laog__sanity_check();
@@ -3651,12 +3649,12 @@
here = *(Lock**) VG_(indexXA)( stack, ssz-1 );
VG_(dropTailXA)( stack, 1 );
- if (HG_(elemWS)( univ_lsets, dsts, (Word)here )) { ret = here; break; }
+ if (HG_(elemWS)( univ_lsets, dsts, (UWord)here )) { ret = here; break; }
- if (VG_(lookupFM)( visited, NULL, NULL, (Word)here ))
+ if (VG_(lookupFM)( visited, NULL, NULL, (UWord)here ))
continue;
- VG_(addToFM)( visited, (Word)here, 0 );
+ VG_(addToFM)( visited, (UWord)here, 0 );
succs = laog__succs( here );
HG_(getPayloadWS)( &succs_words, &succs_size, univ_laog, succs );
@@ -3681,13 +3679,13 @@
)
{
UWord* ls_words;
- Word ls_size, i;
+ UWord ls_size, i;
Lock* other;
/* It may be that 'thr' already holds 'lk' and is recursively
relocking in. In this case we just ignore the call. */
/* NB: univ_lsets really is correct here */
- if (HG_(elemWS)( univ_lsets, thr->locksetA, (Word)lk ))
+ if (HG_(elemWS)( univ_lsets, thr->locksetA, (UWord)lk ))
return;
/* First, the check. Complain if there is any path in laog from lk
@@ -3712,7 +3710,7 @@
key.dst_ec = NULL;
found = NULL;
if (VG_(lookupFM)( laog_exposition,
- (Word*)&found, NULL, (Word)&key )) {
+ (UWord*)&found, NULL, (UWord)&key )) {
tl_assert(found != &key);
tl_assert(found->src_ga == key.src_ga);
tl_assert(found->dst_ga == key.dst_ga);
@@ -3773,7 +3771,7 @@
static void laog__handle_one_lock_deletion ( Lock* lk )
{
WordSetID preds, succs;
- Word preds_size, succs_size, i, j;
+ UWord preds_size, succs_size, i, j;
UWord *preds_words, *succs_words;
preds = laog__preds( lk );
@@ -4142,7 +4140,7 @@
Int goff_sp )
{
IRType tyAddr = Ity_INVALID;
- HChar* hName = NULL;
+ const HChar* hName = NULL;
void* hAddr = NULL;
Int regparms = 0;
IRExpr** argv = NULL;
@@ -4649,7 +4647,7 @@
if (0)
VG_(printf)("XXXX: bind pthread_t %p to Thread* %p\n",
(void*)args[1], (void*)my_thr );
- VG_(addToFM)( map_pthread_t_to_Thread, (Word)args[1], (Word)my_thr );
+ VG_(addToFM)( map_pthread_t_to_Thread, (UWord)args[1], (UWord)my_thr );
break;
}
@@ -4659,7 +4657,7 @@
my_thr = map_threads_maybe_lookup( tid );
tl_assert(my_thr); /* See justification above in SET_MY_PTHREAD_T */
HG_(record_error_PthAPIerror)(
- my_thr, (HChar*)args[1], (Word)args[2], (HChar*)args[3] );
+ my_thr, (HChar*)args[1], (UWord)args[2], (HChar*)args[3] );
break;
}
@@ -4673,7 +4671,7 @@
(void*)args[1]);
map_pthread_t_to_Thread_INIT();
found = VG_(lookupFM)( map_pthread_t_to_Thread,
- NULL, (Word*)&thr_q, (Word)args[1] );
+ NULL, (UWord*)&thr_q, (UWord)args[1] );
/* Can this fail? It would mean that our pthread_join
wrapper observed a successful join on args[1] yet that
thread never existed (or at least, it never lodged an
|
|
From: Tom H. <to...@co...> - 2012-10-21 03:09:37
|
valgrind revision: 13068 VEX revision: 2555 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-10-21 03:41:50 BST Ended at 2012-10-21 04:09:16 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 608 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: <br...@ac...> - 2012-10-21 02:59:42
|
valgrind revision: 13066
VEX revision: 2555
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-10-20 22:20:14 EDT
Ended at 2012-10-20 22:59:30 EDT
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
== 567 tests, 5 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/manuel3 (stderr)
memcheck/tests/partial_load_ok (stderr)
memcheck/tests/varinfo6 (stderr)
none/tests/s390x/fpconv (stdout)
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-10-20 22:42:03.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-10-20 22:54:52.000000000 -0400
@@ -42,14 +42,6 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:49)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:49)
-
---------------------
----------------------------------------------------------------
@@ -110,16 +102,8 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-----------------------------------------------------------------
-
Thread #x: Exiting thread still holds 1 lock
...
-ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc20_verifywrap.stderr.diff
=================================================
--- tc20_verifywrap.stderr.exp 2012-10-20 22:42:03.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-10-20 22:55:10.000000000 -0400
@@ -1,7 +1,7 @@
------- This is output for >= glibc 2.4 ------
+------ This is output for < glibc 2.4 ------
---------------- pthread_create/join ----------------
@@ -45,13 +45,6 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_init failed
- with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:92)
-
-----------------------------------------------------------------
-
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
@@ -63,26 +56,8 @@
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_lock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:108)
-
-----------------------------------------------------------------
-Thread #x's call to pthread_mutex_trylock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:116)
-
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_timedlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:121)
+make pthread_mutex_lock fail: skipped on glibc < 2.4
----------------------------------------------------------------
@@ -90,13 +65,6 @@
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:125)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:125)
-
---------------- pthread_cond_wait et al ----------------
@@ -215,14 +183,6 @@
by 0x........: sem_wait (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:242)
-----------------------------------------------------------------
-
-Thread #x's call to sem_post failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_post_WRK (hg_intercepts.c:...)
- by 0x........: sem_post (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:245)
-
FIXME: can't figure out how to verify wrap of sem_post
@@ -235,4 +195,4 @@
...
-ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 17 errors from 17 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc20_verifywrap.stderr.diff-mips32
=================================================
--- tc20_verifywrap.stderr.exp-mips32 2012-10-20 22:42:03.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-10-20 22:55:10.000000000 -0400
@@ -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/memcheck/tests/manuel3.stderr.diff
=================================================
--- manuel3.stderr.exp 2012-10-20 22:42:11.000000000 -0400
+++ manuel3.stderr.out 2012-10-20 22:49:15.000000000 -0400
@@ -1,4 +1,3 @@
Conditional jump or move depends on uninitialised value(s)
- at 0x........: gcc_cant_inline_me (manuel3.c:22)
- by 0x........: main (manuel3.c:14)
+ at 0x........: main (manuel3.c:12)
=================================================
./valgrind-new/memcheck/tests/partial_load_ok.stderr.diff
=================================================
--- partial_load_ok.stderr.exp 2012-10-20 22:42:11.000000000 -0400
+++ partial_load_ok.stderr.out 2012-10-20 22:49:46.000000000 -0400
@@ -1,7 +1,13 @@
-Invalid read of size 4
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
+Invalid read of size 8
at 0x........: main (partial_load.c:23)
- Address 0x........ is 1 bytes inside a block of size 4 alloc'd
+ Address 0x........ is 1 bytes inside a block of size 8 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:20)
@@ -11,9 +17,9 @@
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:28)
-Invalid read of size 4
+Invalid read of size 8
at 0x........: main (partial_load.c:37)
- Address 0x........ is 0 bytes inside a block of size 4 free'd
+ Address 0x........ is 0 bytes inside a block of size 8 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:36)
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/partial_load_ok.stderr.diff64
=================================================
--- partial_load_ok.stderr.exp64 2012-10-20 22:42:11.000000000 -0400
+++ partial_load_ok.stderr.out 2012-10-20 22:49:46.000000000 -0400
@@ -1,4 +1,10 @@
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
Invalid read of size 8
at 0x........: main (partial_load.c:23)
Address 0x........ is 1 bytes inside a block of size 8 alloc'd
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff
=================================================
--- varinfo6.stderr.exp 2012-10-20 22:42:11.000000000 -0400
+++ varinfo6.stderr.out 2012-10-20 22:50:48.000000000 -0400
@@ -7,8 +7,7 @@
by 0x........: BZ2_bzCompress (varinfo6.c:4860)
by 0x........: BZ2_bzBuffToBuffCompress (varinfo6.c:5667)
by 0x........: main (varinfo6.c:6517)
- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo6.c:34)
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff-ppc64
=================================================
--- varinfo6.stderr.exp-ppc64 2012-10-20 22:42:11.000000000 -0400
+++ varinfo6.stderr.out 2012-10-20 22:50:48.000000000 -0400
@@ -1,5 +1,5 @@
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: mainSort (varinfo6.c:2999)
by 0x........: BZ2_blockSort (varinfo6.c:3143)
by 0x........: BZ2_compressBlock (varinfo6.c:4072)
@@ -10,7 +10,7 @@
Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: BZ2_decompress (varinfo6.c:1699)
by 0x........: BZ2_bzDecompress (varinfo6.c:5230)
by 0x........: BZ2_bzBuffToBuffDecompress (varinfo6.c:5715)
=================================================
./valgrind-new/none/tests/s390x/fpconv.stdout.diff
=================================================
--- fpconv.stdout.exp 2012-10-20 22:42:27.000000000 -0400
+++ fpconv.stdout.out 2012-10-20 22:52:58.000000000 -0400
@@ -35,137 +35,137 @@
"cdgbr" -9223372036854775808.000000
"cdgbr" 9223372036854775808.000000
"cxfbr" 0.000000
-"cxfbr" 1.000000
-"cxfbr" -1.000000
-"cxfbr" -2147483648.000000
-"cxfbr" 2147483647.000000
+"cxfbr" 1.937500
+"cxfbr" -1.937500
+"cxfbr" -7.500000
+"cxfbr" 7.500000
"cxfbr" 0.000000
-"cxfbr" -1.000000
+"cxfbr" -1.937500
"cxfbr" 0.000000
-"cxfbr" -1.000000
+"cxfbr" -1.937500
"cxgbr" 0.000000
-"cxgbr" 1.000000
-"cxgbr" 4294967295.000000
-"cxgbr" 2147483648.000000
-"cxgbr" 2147483647.000000
-"cxgbr" 4294967296.000000
-"cxgbr" -1.000000
-"cxgbr" -9223372036854775808.000000
-"cxgbr" 9223372036854775807.000000
-"cfebr" 4294967295 cc=1
-"cfebr" 0 cc=0
-"cfebr" 1 cc=2
-"cfebr" 1 cc=2
-"cfebr" 2 cc=2
-"cfebr" 2 cc=2
-"cfebr" 16000 cc=2
-"cfebr" 160000000 cc=2
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=2
-"cfebr" 0 cc=2
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=0
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=0
-"cfebr" 2147483647 cc=3
-"cgebr" -1 cc=1
-"cgebr" 0 cc=0
-"cgebr" 1 cc=2
-"cgebr" 1 cc=2
-"cgebr" 2 cc=2
-"cgebr" 2 cc=2
-"cgebr" 16000 cc=2
-"cgebr" 160000000 cc=2
-"cgebr" 1599999967232 cc=2
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=2
-"cgebr" 0 cc=2
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=0
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=0
-"cgebr" 9223372036854775807 cc=3
-"cfdbr" 4294967295 cc=1
-"cfdbr" 0 cc=0
-"cfdbr" 1 cc=2
-"cfdbr" 1 cc=2
-"cfdbr" 2 cc=2
-"cfdbr" 2 cc=2
-"cfdbr" 16000 cc=2
-"cfdbr" 160000000 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=2
-"cfdbr" 0 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=0
-"cfdbr" 2147483647 cc=3
-"cgdbr" -1 cc=1
-"cgdbr" 0 cc=0
-"cgdbr" 1 cc=2
-"cgdbr" 1 cc=2
-"cgdbr" 2 cc=2
-"cgdbr" 2 cc=2
-"cgdbr" 16000 cc=2
-"cgdbr" 160000000 cc=2
-"cgdbr" 1600000000000 cc=2
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 0 cc=2
-"cgdbr" 0 cc=2
<truncated beyond 100 lines>
=================================================
./valgrind-old/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2012-10-20 22:23:15.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-10-20 22:37:07.000000000 -0400
@@ -42,14 +42,6 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:49)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:49)
-
---------------------
----------------------------------------------------------------
@@ -110,16 +102,8 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-----------------------------------------------------------------
-
Thread #x: Exiting thread still holds 1 lock
...
-ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc20_verifywrap.stderr.diff
=================================================
--- tc20_verifywrap.stderr.exp 2012-10-20 22:23:15.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-10-20 22:37:25.000000000 -0400
@@ -1,7 +1,7 @@
------- This is output for >= glibc 2.4 ------
+------ This is output for < glibc 2.4 ------
---------------- pthread_create/join ----------------
@@ -45,13 +45,6 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_init failed
- with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:92)
-
-----------------------------------------------------------------
-
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
@@ -63,26 +56,8 @@
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_lock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:108)
-
-----------------------------------------------------------------
-Thread #x's call to pthread_mutex_trylock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:116)
-
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_timedlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:121)
+make pthread_mutex_lock fail: skipped on glibc < 2.4
----------------------------------------------------------------
@@ -90,13 +65,6 @@
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:125)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:125)
-
---------------- pthread_cond_wait et al ----------------
@@ -215,14 +183,6 @@
by 0x........: sem_wait (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:242)
-----------------------------------------------------------------
-
-Thread #x's call to sem_post failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_post_WRK (hg_intercepts.c:...)
- by 0x........: sem_post (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:245)
-
FIXME: can't figure out how to verify wrap of sem_post
@@ -235,4 +195,4 @@
...
-ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 17 errors from 17 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc20_verifywrap.stderr.diff-mips32
=================================================
--- tc20_verifywrap.stderr.exp-mips32 2012-10-20 22:23:15.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-10-20 22:37:25.000000000 -0400
@@ -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-10-20 22:24:19.000000000 -0400
+++ manuel3.stderr.out 2012-10-20 22:31:29.000000000 -0400
@@ -1,4 +1,3 @@
Conditional jump or move depends on uninitialised value(s)
- at 0x........: gcc_cant_inline_me (manuel3.c:22)
- by 0x........: main (manuel3.c:14)
+ at 0x........: main (manuel3.c:12)
=================================================
./valgrind-old/memcheck/tests/partial_load_ok.stderr.diff
=================================================
--- partial_load_ok.stderr.exp 2012-10-20 22:24:19.000000000 -0400
+++ partial_load_ok.stderr.out 2012-10-20 22:32:01.000000000 -0400
@@ -1,7 +1,13 @@
-Invalid read of size 4
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
+Invalid read of size 8
at 0x........: main (partial_load.c:23)
- Address 0x........ is 1 bytes inside a block of size 4 alloc'd
+ Address 0x........ is 1 bytes inside a block of size 8 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:20)
@@ -11,9 +17,9 @@
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:28)
-Invalid read of size 4
+Invalid read of size 8
at 0x........: main (partial_load.c:37)
- Address 0x........ is 0 bytes inside a block of size 4 free'd
+ Address 0x........ is 0 bytes inside a block of size 8 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:36)
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/partial_load_ok.stderr.diff64
=================================================
--- partial_load_ok.stderr.exp64 2012-10-20 22:24:19.000000000 -0400
+++ partial_load_ok.stderr.out 2012-10-20 22:32:01.000000000 -0400
@@ -1,4 +1,10 @@
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
Invalid read of size 8
at 0x........: main (partial_load.c:23)
Address 0x........ is 1 bytes inside a block of size 8 alloc'd
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/varinfo6.stderr.diff
=================================================
--- varinfo6.stderr.exp 2012-10-20 22:24:19.000000000 -0400
+++ varinfo6.stderr.out 2012-10-20 22:33:03.000000000 -0400
@@ -7,8 +7,7 @@
by 0x........: BZ2_bzCompress (varinfo6.c:4860)
by 0x........: BZ2_bzBuffToBuffCompress (varinfo6.c:5667)
by 0x........: main (varinfo6.c:6517)
- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo6.c:34)
=================================================
./valgrind-old/memcheck/tests/varinfo6.stderr.diff-ppc64
=================================================
--- varinfo6.stderr.exp-ppc64 2012-10-20 22:24:19.000000000 -0400
+++ varinfo6.stderr.out 2012-10-20 22:33:03.000000000 -0400
@@ -1,5 +1,5 @@
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: mainSort (varinfo6.c:2999)
by 0x........: BZ2_blockSort (varinfo6.c:3143)
by 0x........: BZ2_compressBlock (varinfo6.c:4072)
@@ -10,7 +10,7 @@
Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: BZ2_decompress (varinfo6.c:1699)
by 0x........: BZ2_bzDecompress (varinfo6.c:5230)
by 0x........: BZ2_bzBuffToBuffDecompress (varinfo6.c:5715)
=================================================
./valgrind-old/none/tests/s390x/fpconv.stdout.diff
=================================================
--- fpconv.stdout.exp 2012-10-20 22:24:33.000000000 -0400
+++ fpconv.stdout.out 2012-10-20 22:35:13.000000000 -0400
@@ -35,137 +35,137 @@
"cdgbr" -9223372036854775808.000000
"cdgbr" 9223372036854775808.000000
"cxfbr" 0.000000
-"cxfbr" 1.000000
-"cxfbr" -1.000000
-"cxfbr" -2147483648.000000
-"cxfbr" 2147483647.000000
+"cxfbr" 1.937500
+"cxfbr" -1.937500
+"cxfbr" -7.500000
+"cxfbr" 7.500000
"cxfbr" 0.000000
-"cxfbr" -1.000000
+"cxfbr" -1.937500
"cxfbr" 0.000000
-"cxfbr" -1.000000
+"cxfbr" -1.937500
"cxgbr" 0.000000
-"cxgbr" 1.000000
-"cxgbr" 4294967295.000000
-"cxgbr" 2147483648.000000
-"cxgbr" 2147483647.000000
-"cxgbr" 4294967296.000000
-"cxgbr" -1.000000
-"cxgbr" -9223372036854775808.000000
-"cxgbr" 9223372036854775807.000000
-"cfebr" 4294967295 cc=1
-"cfebr" 0 cc=0
-"cfebr" 1 cc=2
-"cfebr" 1 cc=2
-"cfebr" 2 cc=2
-"cfebr" 2 cc=2
-"cfebr" 16000 cc=2
-"cfebr" 160000000 cc=2
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=2
-"cfebr" 0 cc=2
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=0
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=0
-"cfebr" 2147483647 cc=3
-"cgebr" -1 cc=1
-"cgebr" 0 cc=0
-"cgebr" 1 cc=2
-"cgebr" 1 cc=2
-"cgebr" 2 cc=2
-"cgebr" 2 cc=2
-"cgebr" 16000 cc=2
-"cgebr" 160000000 cc=2
-"cgebr" 1599999967232 cc=2
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=2
-"cgebr" 0 cc=2
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=0
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=0
-"cgebr" 9223372036854775807 cc=3
-"cfdbr" 4294967295 cc=1
-"cfdbr" 0 cc=0
-"cfdbr" 1 cc=2
-"cfdbr" 1 cc=2
-"cfdbr" 2 cc=2
-"cfdbr" 2 cc=2
-"cfdbr" 16000 cc=2
-"cfdbr" 160000000 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=2
-"cfdbr" 0 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=0
-"cfdbr" 2147483647 cc=3
-"cgdbr" -1 cc=1
-"cgdbr" 0 cc=0
-"cgdbr" 1 cc=2
-"cgdbr" 1 cc=2
-"cgdbr" 2 cc=2
-"cgdbr" 2 cc=2
-"cgdbr" 16000 cc=2
-"cgdbr" 160000000 cc=2
-"cgdbr" 1600000000000 cc=2
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 0 cc=2
-"cgdbr" 0 cc=2
<truncated beyond 100 lines>
|
|
From: Tom H. <to...@co...> - 2012-10-21 02:58:53
|
valgrind revision: 13067 VEX revision: 2555 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-10-21 03:31:04 BST Ended at 2012-10-21 03:58:29 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 612 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: <sv...@va...> - 2012-10-21 02:56:18
|
florian 2012-10-21 03:55:56 +0100 (Sun, 21 Oct 2012)
New Revision: 13069
Log:
Fix a few Char/HChar mixups in callgrind.
Modified files:
trunk/callgrind/bbcc.c
trunk/callgrind/callstack.c
trunk/callgrind/debug.c
trunk/callgrind/dump.c
trunk/callgrind/events.c
trunk/callgrind/events.h
trunk/callgrind/fn.c
trunk/callgrind/global.h
trunk/callgrind/main.c
trunk/callgrind/sim.c
trunk/callgrind/threads.c
Modified: trunk/callgrind/main.c (+7 -5)
===================================================================
--- trunk/callgrind/main.c 2012-10-21 03:39:42 +01:00 (rev 13068)
+++ trunk/callgrind/main.c 2012-10-21 03:55:56 +01:00 (rev 13069)
@@ -377,7 +377,7 @@
static void flushEvents ( ClgState* clgs )
{
Int i, regparms, inew;
- Char* helperName;
+ const HChar* helperName;
void* helperAddr;
IRExpr** argv;
IRExpr* i_node_expr;
@@ -1377,7 +1377,7 @@
/* Ups, this can go very wrong... */
extern void VG_(discard_translations) ( Addr64 start, ULong range, HChar* who );
-void CLG_(set_instrument_state)(Char* reason, Bool state)
+void CLG_(set_instrument_state)(const HChar* reason, Bool state)
{
if (CLG_(instrument_state) == state) {
CLG_DEBUG(2, "%s: instrumentation already %s\n",
@@ -1581,7 +1581,7 @@
case VG_USERREQ__DUMP_STATS_AT:
{
- Char buf[512];
+ HChar buf[512];
VG_(sprintf)(buf,"Client Request: %s", (Char*)args[1]);
CLG_(dump_profile)(buf, True);
*ret = 0; /* meaningless */
@@ -1700,7 +1700,8 @@
static
void branchsim_printstat(int l1, int l2, int l3)
{
- static Char buf1[128], buf2[128], buf3[128], fmt[128];
+ static Char buf1[128], buf2[128], buf3[128];
+ static HChar fmt[128];
FullCost total;
ULong Bc_total_b, Bc_total_mp, Bi_total_b, Bi_total_mp;
ULong B_total_b, B_total_mp;
@@ -1738,7 +1739,8 @@
static
void finish(void)
{
- Char buf[32+COSTS_LEN], fmt[128];
+ Char buf[32+COSTS_LEN];
+ HChar fmt[128];
Int l1, l2, l3;
FullCost total;
Modified: trunk/callgrind/events.h (+8 -6)
===================================================================
--- trunk/callgrind/events.h 2012-10-21 03:39:42 +01:00 (rev 13068)
+++ trunk/callgrind/events.h 2012-10-21 03:55:56 +01:00 (rev 13069)
@@ -48,14 +48,16 @@
typedef struct _EventGroup EventGroup;
struct _EventGroup {
Int size;
- Char* name[0];
+ const HChar* name[0];
};
/* return 0 if event group can not be registered */
-EventGroup* CLG_(register_event_group) (int id, Char*);
-EventGroup* CLG_(register_event_group2)(int id, Char*, Char*);
-EventGroup* CLG_(register_event_group3)(int id, Char*, Char*, Char*);
-EventGroup* CLG_(register_event_group4)(int id, Char*, Char*, Char*, Char*);
+EventGroup* CLG_(register_event_group) (int id, const HChar*);
+EventGroup* CLG_(register_event_group2)(int id, const HChar*, const HChar*);
+EventGroup* CLG_(register_event_group3)(int id, const HChar*, const HChar*,
+ const HChar*);
+EventGroup* CLG_(register_event_group4)(int id, const HChar*, const HChar*,
+ const HChar*, const HChar*);
EventGroup* CLG_(get_event_group)(int id);
/* Event sets are defined by event groups they consist of. */
@@ -124,7 +126,7 @@
/* Allocate space for an event mapping */
EventMapping* CLG_(get_eventmapping)(EventSet*);
-void CLG_(append_event)(EventMapping*, Char*);
+void CLG_(append_event)(EventMapping*, const HChar*);
/* Returns number of characters written */
Int CLG_(sprint_eventmapping)(Char* buf, EventMapping*);
/* Returns number of characters written */
Modified: trunk/callgrind/events.c (+9 -6)
===================================================================
--- trunk/callgrind/events.c 2012-10-21 03:39:42 +01:00 (rev 13068)
+++ trunk/callgrind/events.c 2012-10-21 03:55:56 +01:00 (rev 13069)
@@ -68,7 +68,7 @@
return eg;
}
-EventGroup* CLG_(register_event_group) (int id, Char* n1)
+EventGroup* CLG_(register_event_group) (int id, const HChar* n1)
{
EventGroup* eg = new_event_group(id, 1);
eg->name[0] = n1;
@@ -76,7 +76,8 @@
return eg;
}
-EventGroup* CLG_(register_event_group2)(int id, Char* n1, Char* n2)
+EventGroup* CLG_(register_event_group2)(int id, const HChar* n1,
+ const HChar* n2)
{
EventGroup* eg = new_event_group(id, 2);
eg->name[0] = n1;
@@ -85,7 +86,8 @@
return eg;
}
-EventGroup* CLG_(register_event_group3)(int id, Char* n1, Char* n2, Char* n3)
+EventGroup* CLG_(register_event_group3)(int id, const HChar* n1,
+ const HChar* n2, const HChar* n3)
{
EventGroup* eg = new_event_group(id, 3);
eg->name[0] = n1;
@@ -95,8 +97,9 @@
return eg;
}
-EventGroup* CLG_(register_event_group4)(int id,
- Char* n1, Char* n2, Char* n3, Char* n4)
+EventGroup* CLG_(register_event_group4)(int id, const HChar* n1,
+ const HChar* n2, const HChar* n3,
+ const HChar* n4)
{
EventGroup* eg = new_event_group(id, 4);
eg->name[0] = n1;
@@ -487,7 +490,7 @@
return em;
}
-void CLG_(append_event)(EventMapping* em, Char* n)
+void CLG_(append_event)(EventMapping* em, const HChar* n)
{
Int i, j, offset = 0;
UInt mask;
Modified: trunk/callgrind/debug.c (+1 -1)
===================================================================
--- trunk/callgrind/debug.c 2012-10-21 03:39:42 +01:00 (rev 13068)
+++ trunk/callgrind/debug.c 2012-10-21 03:55:56 +01:00 (rev 13069)
@@ -377,7 +377,7 @@
Char fn_buf[FN_NAME_LEN];
const UChar* obj_name;
DebugInfo* di;
- int ln, i=0, opos=0;
+ UInt ln, i=0, opos=0;
if (addr == 0) {
VG_(printf)("%08lx", addr);
Modified: trunk/callgrind/threads.c (+1 -2)
===================================================================
--- trunk/callgrind/threads.c 2012-10-21 03:39:42 +01:00 (rev 13068)
+++ trunk/callgrind/threads.c 2012-10-21 03:55:56 +01:00 (rev 13069)
@@ -179,7 +179,7 @@
{
/* check for dumps needed */
static ULong bbs_done = 0;
- static Char buf[512];
+ static HChar buf[512];
if (CLG_(clo).dump_every_bb >0) {
if (CLG_(stat).bb_executions - bbs_done > CLG_(clo).dump_every_bb) {
@@ -453,4 +453,3 @@
return es;
}
-
Modified: trunk/callgrind/dump.c (+10 -10)
===================================================================
--- trunk/callgrind/dump.c 2012-10-21 03:39:42 +01:00 (rev 13068)
+++ trunk/callgrind/dump.c 2012-10-21 03:55:56 +01:00 (rev 13069)
@@ -231,7 +231,7 @@
/*
* tag can be "fn", "cfn", "jfn"
*/
-static void print_fn(Int fd, Char* buf, Char* tag, fn_node* fn)
+static void print_fn(Int fd, Char* buf, const HChar* tag, fn_node* fn)
{
int p;
p = VG_(sprintf)(buf, "%s=",tag);
@@ -251,7 +251,7 @@
my_fwrite(fd, buf, p);
}
-static void print_mangled_fn(Int fd, Char* buf, Char* tag,
+static void print_mangled_fn(Int fd, Char* buf, const HChar* tag,
Context* cxt, int rec_index)
{
int p, i;
@@ -1251,7 +1251,7 @@
-static void fprint_cost_ln(int fd, Char* prefix,
+static void fprint_cost_ln(int fd, const HChar* prefix,
EventMapping* em, ULong* cost)
{
int p;
@@ -1283,7 +1283,7 @@
*
* Returns the file descriptor, and -1 on error (no write permission)
*/
-static int new_dumpfile(Char buf[BUF_LEN], int tid, Char* trigger)
+static int new_dumpfile(Char buf[BUF_LEN], int tid, const HChar* trigger)
{
Bool appending = False;
int i, fd;
@@ -1390,7 +1390,7 @@
my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
VG_(sprintf)(buf, "desc: Trigger: %s\n",
- trigger ? trigger : (Char*)"Program termination");
+ trigger ? trigger : "Program termination");
my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
#if 0
@@ -1503,7 +1503,7 @@
/* Helper for print_bbccs */
static Int print_fd;
-static Char* print_trigger;
+static const HChar* print_trigger;
static Char print_buf[BUF_LEN];
static void print_bbccs_of_thread(thread_info* ti)
@@ -1590,7 +1590,7 @@
}
-static void print_bbccs(Char* trigger, Bool only_current_thread)
+static void print_bbccs(const HChar* trigger, Bool only_current_thread)
{
init_dump_array();
init_debug_cache();
@@ -1615,17 +1615,17 @@
}
-void CLG_(dump_profile)(Char* trigger, Bool only_current_thread)
+void CLG_(dump_profile)(const HChar* trigger, Bool only_current_thread)
{
CLG_DEBUG(2, "+ dump_profile(Trigger '%s')\n",
- trigger ? trigger : (Char*)"Prg.Term.");
+ trigger ? trigger : "Prg.Term.");
CLG_(init_dumps)();
if (VG_(clo_verbosity) > 1)
VG_(message)(Vg_DebugMsg, "Start dumping at BB %llu (%s)...\n",
CLG_(stat).bb_executions,
- trigger ? trigger : (Char*)"Prg.Term.");
+ trigger ? trigger : "Prg.Term.");
out_counter++;
Modified: trunk/callgrind/fn.c (+4 -4)
===================================================================
--- trunk/callgrind/fn.c 2012-10-21 03:39:42 +01:00 (rev 13068)
+++ trunk/callgrind/fn.c 2012-10-21 03:55:56 +01:00 (rev 13069)
@@ -223,7 +223,7 @@
}
-static Char* anonymous_obj = "???";
+static const HChar* anonymous_obj = "???";
static __inline__
obj_node* new_obj_node(DebugInfo* di, obj_node* next)
@@ -232,7 +232,7 @@
obj_node* obj;
obj = (obj_node*) CLG_MALLOC("cl.fn.non.1", sizeof(obj_node));
- obj->name = di ? VG_(strdup)( "cl.fn.non.2",
+ obj->name = di ? (HChar *)VG_(strdup)( "cl.fn.non.2",
VG_(DebugInfo_get_filename)(di) )
: anonymous_obj;
for (i = 0; i < N_FILE_ENTRIES; i++) {
@@ -265,9 +265,9 @@
{
obj_node* curr_obj_node;
UInt objname_hash;
- const UChar* obj_name;
+ const HChar* obj_name;
- obj_name = di ? (Char*) VG_(DebugInfo_get_filename)(di) : anonymous_obj;
+ obj_name = di ? (HChar*) VG_(DebugInfo_get_filename)(di) : anonymous_obj;
/* lookup in obj hash */
objname_hash = str_hash(obj_name, N_OBJ_ENTRIES);
Modified: trunk/callgrind/global.h (+8 -8)
===================================================================
--- trunk/callgrind/global.h 2012-10-21 03:39:42 +01:00 (rev 13068)
+++ trunk/callgrind/global.h 2012-10-21 03:55:56 +01:00 (rev 13069)
@@ -56,8 +56,8 @@
struct _CommandLineOptions {
/* Dump format options */
- Char* out_format; /* Format string for callgrind output file name */
- Bool combine_dumps; /* Dump trace parts into same file? */
+ const HChar* out_format; /* Format string for callgrind output file name */
+ Bool combine_dumps; /* Dump trace parts into same file? */
Bool compress_strings;
Bool compress_events;
Bool compress_pos;
@@ -468,7 +468,7 @@
* zero when object is unmapped (possible at dump time).
*/
struct _obj_node {
- Char* name;
+ const HChar* name;
UInt last_slash_pos;
Addr start; /* Start address of text segment mapping */
@@ -676,9 +676,9 @@
void (*log_0I1Dw)(InstrInfo*, Addr, Word) VG_REGPARM(3);
// function names of helpers (for debugging generated code)
- Char *log_1I0D_name, *log_2I0D_name, *log_3I0D_name;
- Char *log_1I1Dr_name, *log_1I1Dw_name;
- Char *log_0I1Dr_name, *log_0I1Dw_name;
+ const HChar *log_1I0D_name, *log_2I0D_name, *log_3I0D_name;
+ const HChar *log_1I1Dr_name, *log_1I1Dw_name;
+ const HChar *log_0I1Dr_name, *log_0I1Dw_name;
};
// set by setup_bbcc at start of every BB, and needed by log_* helpers
@@ -724,8 +724,8 @@
Bool CLG_(get_debug_info)(Addr, Char filename[FILENAME_LEN],
Char fn_name[FN_NAME_LEN], UInt*, DebugInfo**);
void CLG_(collectBlockInfo)(IRSB* bbIn, UInt*, UInt*, Bool*);
-void CLG_(set_instrument_state)(Char*,Bool);
-void CLG_(dump_profile)(Char* trigger,Bool only_current_thread);
+void CLG_(set_instrument_state)(const HChar*,Bool);
+void CLG_(dump_profile)(const HChar* trigger,Bool only_current_thread);
void CLG_(zero_all_cost)(Bool only_current_thread);
Int CLG_(get_dump_counter)(void);
void CLG_(fini)(Int exitcode);
Modified: trunk/callgrind/bbcc.c (+4 -2)
===================================================================
--- trunk/callgrind/bbcc.c 2012-10-21 03:39:42 +01:00 (rev 13068)
+++ trunk/callgrind/bbcc.c 2012-10-21 03:55:56 +01:00 (rev 13069)
@@ -338,9 +338,9 @@
current_bbccs.entries);
}
-static Char* mangled_cxt(Context* cxt, int rec_index)
+static const HChar* mangled_cxt(Context* cxt, int rec_index)
{
- static Char mangled[FN_NAME_LEN];
+ static HChar mangled[FN_NAME_LEN];
int i, p;
if (!cxt) return "(no context)";
@@ -413,6 +413,8 @@
CLG_DEBUGIF(3)
CLG_(print_bbcc)(-2, bbcc);
+ // FIXME: mangled_cxt returns a pointer to a static buffer that
+ // gets overwritten with each invocation.
CLG_DEBUG(2,"- clone_BBCC(%p, %d) for BB %#lx\n"
" orig %s\n"
" new %s\n",
Modified: trunk/callgrind/callstack.c (+2 -2)
===================================================================
--- trunk/callgrind/callstack.c 2012-10-21 03:39:42 +01:00 (rev 13068)
+++ trunk/callgrind/callstack.c 2012-10-21 03:55:56 +01:00 (rev 13069)
@@ -130,7 +130,7 @@
#endif
if (fn->dump_before) {
- Char trigger[FN_NAME_LEN];
+ HChar trigger[FN_NAME_LEN];
VG_(sprintf)(trigger, "--dump-before=%s", fn->name);
CLG_(dump_profile)(trigger, True);
}
@@ -152,7 +152,7 @@
CLG_ASSERT(fn != 0);
if (fn->dump_after) {
- Char trigger[FN_NAME_LEN];
+ HChar trigger[FN_NAME_LEN];
VG_(sprintf)(trigger, "--dump-after=%s", fn->name);
CLG_(dump_profile)(trigger, True);
}
Modified: trunk/callgrind/sim.c (+1 -1)
===================================================================
--- trunk/callgrind/sim.c 2012-10-21 03:39:42 +01:00 (rev 13068)
+++ trunk/callgrind/sim.c 2012-10-21 03:55:56 +01:00 (rev 13069)
@@ -1034,7 +1034,7 @@
}
static
-Char* cacheRes(CacheModelResult r)
+const HChar* cacheRes(CacheModelResult r)
{
switch(r) {
case L1_Hit: return "L1 Hit ";
|
|
From: Rich C. <rc...@wi...> - 2012-10-21 02:55:35
|
valgrind revision: 13066
VEX revision: 2555
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-10-20 21:30:01 CDT
Ended at 2012-10-20 21:55:25 CDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 623 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-10-20 21:42:57.400395940 -0500
+++ mcbreak.stderrB.out 2012-10-20 21:46:19.204684136 -0500
@@ -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-10-20 21:42:57.400395940 -0500
+++ mcclean_after_fork.stderrB.out 2012-10-20 21:46:20.904880344 -0500
@@ -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-10-20 21:42:57.396395479 -0500
+++ mcleak.stderrB.out 2012-10-20 21:46:40.071092180 -0500
@@ -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-10-20 21:42:57.403396287 -0500
+++ mcmain_pic.stderrB.out 2012-10-20 21:46:41.682278115 -0500
@@ -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-10-20 21:42:57.405396517 -0500
+++ mcvabits.stderrB.out 2012-10-20 21:46:46.442827498 -0500
@@ -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-10-20 21:42:57.404396402 -0500
+++ mssnapshot.stderrB.out 2012-10-20 21:46:49.499180212 -0500
@@ -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-10-20 21:42:57.680428256 -0500
+++ timerfd-syscall.stderr.out 2012-10-20 21:47:59.474255636 -0500
@@ -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-10-20 21:43:00.495753135 -0500
+++ origin5-bz2.stderr.out 2012-10-20 21:48:14.925038738 -0500
@@ -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-10-20 21:43:00.478751173 -0500
+++ origin5-bz2.stderr.out 2012-10-20 21:48:14.925038738 -0500
@@ -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-10-20 21:43:00.418744249 -0500
+++ origin5-bz2.stderr.out 2012-10-20 21:48:14.925038738 -0500
@@ -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-10-20 21:43:00.451748057 -0500
+++ origin5-bz2.stderr.out 2012-10-20 21:48:14.925038738 -0500
@@ -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-10-20 21:43:00.464749559 -0500
+++ origin5-bz2.stderr.out 2012-10-20 21:48:14.925038738 -0500
@@ -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-10-20 21:30:36.384892856 -0500
+++ mcbreak.stderrB.out 2012-10-20 21:33:50.462285121 -0500
@@ -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-10-20 21:30:36.384892856 -0500
+++ mcclean_after_fork.stderrB.out 2012-10-20 21:33:52.163481407 -0500
@@ -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-10-20 21:30:36.380892393 -0500
+++ mcleak.stderrB.out 2012-10-20 21:34:10.785630058 -0500
@@ -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-10-20 21:30:36.388893316 -0500
+++ mcmain_pic.stderrB.out 2012-10-20 21:34:12.395815844 -0500
@@ -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-10-20 21:30:36.389893432 -0500
+++ mcvabits.stderrB.out 2012-10-20 21:34:17.115360394 -0500
@@ -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-10-20 21:30:36.388893316 -0500
+++ mssnapshot.stderrB.out 2012-10-20 21:34:20.194715695 -0500
@@ -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-10-20 21:30:36.915954127 -0500
+++ timerfd-syscall.stderr.out 2012-10-20 21:35:31.812979237 -0500
@@ -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-10-20 21:30:37.382007897 -0500
+++ origin5-bz2.stderr.out 2012-10-20 21:35:46.949725782 -0500
@@ -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-10-20 21:30:37.364005820 -0500
+++ origin5-bz2.stderr.out 2012-10-20 21:35:46.949725782 -0500
@@ -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-10-20 21:30:37.306999244 -0500
+++ origin5-bz2.stderr.out 2012-10-20 21:35:46.949725782 -0500
@@ -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-10-20 21:30:37.337002704 -0500
+++ origin5-bz2.stderr.out 2012-10-20 21:35:46.949725782 -0500
@@ -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-10-20 21:30:37.351004320 -0500
+++ origin5-bz2.stderr.out 2012-10-20 21:35:46.949725782 -0500
@@ -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-10-21 02:54:32
|
valgrind revision: 13066 VEX revision: 2555 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-10-21 03:21:45 BST Ended at 2012-10-21 03:54:14 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 612 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) helgrind/tests/pth_barrier3 (stderr) |
|
From: Tom H. <to...@co...> - 2012-10-21 02:46:56
|
valgrind revision: 13065 VEX revision: 2555 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-10-21 03:13:50 BST Ended at 2012-10-21 03:46:40 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 630 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-10-21 02:40:22
|
valgrind revision: 13065 VEX revision: 2554 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-10-21 03:02:30 BST Ended at 2012-10-21 03:40:06 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 632 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) |
|
From: <sv...@va...> - 2012-10-21 02:39:55
|
florian 2012-10-21 03:39:42 +0100 (Sun, 21 Oct 2012)
New Revision: 13068
Log:
Fix a few Char/HChar mixups for cachegrind.
Modified files:
trunk/cachegrind/cg-arch.c
trunk/cachegrind/cg_main.c
Modified: trunk/cachegrind/cg-arch.c (+6 -6)
===================================================================
--- trunk/cachegrind/cg-arch.c 2012-10-21 03:30:18 +01:00 (rev 13067)
+++ trunk/cachegrind/cg-arch.c 2012-10-21 03:39:42 +01:00 (rev 13068)
@@ -41,7 +41,7 @@
// Checks cache config is ok. Returns NULL if ok, or a pointer to an error
// string otherwise.
-static Char* check_cache(cache_t* cache)
+static const HChar* check_cache(cache_t* cache)
{
// Simulator requires set count to be a power of two.
if ((cache->size % (cache->line_size * cache->assoc) != 0) ||
@@ -80,7 +80,7 @@
{
Long i1, i2, i3;
Char* endptr;
- Char* checkRes;
+ const HChar* checkRes;
// Option argument looks like "65536,2,64". Extract them.
i1 = VG_(strtoll10)(optval, &endptr); if (*endptr != ',') goto bad;
@@ -133,7 +133,7 @@
return False;
}
-static void umsg_cache_img(Char* desc, cache_t* c)
+static void umsg_cache_img(const HChar* desc, cache_t* c)
{
VG_(umsg)(" %s: %'d B, %d-way, %d B lines\n", desc,
c->size, c->assoc, c->line_size);
@@ -141,9 +141,9 @@
// Verifies if c is a valid cache.
// An invalid value causes an assert, unless clo_redefined is True.
-static void check_cache_or_override(Char* desc, cache_t* c, Bool clo_redefined)
+static void check_cache_or_override(const HChar* desc, cache_t* c, Bool clo_redefined)
{
- Char* checkRes;
+ const HChar* checkRes;
checkRes = check_cache(c);
if (checkRes) {
@@ -416,7 +416,7 @@
#endif
if (!all_caches_clo_defined) {
- const char warning[] =
+ const HChar warning[] =
"Warning: Cannot auto-detect cache config, using defaults.\n"
" Run with -v to see.\n";
VG_(dmsg)("%s", warning);
Modified: trunk/cachegrind/cg_main.c (+4 -3)
===================================================================
--- trunk/cachegrind/cg_main.c 2012-10-21 03:30:18 +01:00 (rev 13067)
+++ trunk/cachegrind/cg_main.c 2012-10-21 03:39:42 +01:00 (rev 13068)
@@ -67,7 +67,7 @@
static Bool clo_cache_sim = True; /* do cache simulation? */
static Bool clo_branch_sim = False; /* do branch simulation? */
-static Char* clo_cachegrind_out_file = "cachegrind.out.%p";
+static HChar* clo_cachegrind_out_file = "cachegrind.out.%p";
/*------------------------------------------------------------*/
/*--- Cachesim configuration ---*/
@@ -667,7 +667,7 @@
static void flushEvents ( CgState* cgs )
{
Int i, regparms;
- Char* helperName;
+ const HChar* helperName;
void* helperAddr;
IRExpr** argv;
IRExpr* i_node_expr;
@@ -1464,7 +1464,8 @@
static void cg_fini(Int exitcode)
{
- static Char buf1[128], buf2[128], buf3[128], buf4[123], fmt[128];
+ static Char buf1[128], buf2[128], buf3[128], buf4[123];
+ static HChar fmt[128];
CacheCC D_total;
BranchCC B_total;
|
|
From: <sv...@va...> - 2012-10-21 02:30:36
|
florian 2012-10-21 03:30:18 +0100 (Sun, 21 Oct 2012)
New Revision: 13067
Log:
Fix a few compiler warnings.
Modified files:
trunk/coregrind/m_main.c
Modified: trunk/coregrind/m_main.c (+8 -8)
===================================================================
--- trunk/coregrind/m_main.c 2012-10-21 03:19:35 +01:00 (rev 13066)
+++ trunk/coregrind/m_main.c 2012-10-21 03:30:18 +01:00 (rev 13067)
@@ -108,7 +108,7 @@
- for the name of the GDB executable
- for the name of vgdb's path prefix
which must be supplied when they are VG_(printf)'d. */
- Char* usage1 =
+ const HChar* usage1 =
"usage: valgrind [options] prog-and-args\n"
"\n"
" tool-selection option, with default in [ ]:\n"
@@ -200,7 +200,7 @@
" in libxyzzy.so: --soname-synonyms=somalloc=libxyzzy.so\n"
"\n";
- Char* usage2 =
+ const HChar* usage2 =
"\n"
" debugging options for all Valgrind tools:\n"
" -d show verbose debugging output\n"
@@ -257,7 +257,7 @@
" --trace-malloc=no|yes show client malloc details? [no]\n"
"\n";
- Char* usage3 =
+ const HChar* usage3 =
"\n"
" Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc\n"
"\n"
@@ -268,7 +268,7 @@
" Bug reports, feedback, admiration, abuse, etc, to: %s.\n"
"\n";
- Char* gdb_path = GDB_PATH;
+ const HChar* gdb_path = GDB_PATH;
Char default_alignment[30];
Char default_redzone_size[30];
@@ -1073,7 +1073,7 @@
(VG_(needs).core_errors || VG_(needs).tool_errors)) {
/* If we haven't reached the max number of suppressions, load
the default one. */
- static const Char default_supp[] = "default.supp";
+ static const HChar default_supp[] = "default.supp";
Int len = VG_(strlen)(VG_(libdir)) + 1 + sizeof(default_supp);
Char *buf = VG_(arena_malloc)(VG_AR_CORE, "main.mpclo.3", len);
VG_(sprintf)(buf, "%s/%s", VG_(libdir), default_supp);
@@ -1136,7 +1136,7 @@
static void umsg_arg(const Char* arg)
{
SizeT len = VG_(strlen)(arg);
- Char* special = " \\<>";
+ const HChar* special = " \\<>";
Int i;
for (i = 0; i < len; i++) {
if (VG_(strchr)(special, arg[i])) {
@@ -1194,7 +1194,7 @@
VG_(details).name,
NULL == VG_(details).version ? "" : "-",
NULL == VG_(details).version
- ? (Char*)"" : VG_(details).version,
+ ? "" : VG_(details).version,
VG_(details).description,
xpost );
@@ -2010,7 +2010,7 @@
/* The tool's "needs" will by now be finalised, since it has no
further opportunity to specify them. So now sanity check
them. */
- HChar* s;
+ const HChar* s;
Bool ok;
ok = VG_(sanity_check_needs)( &s );
if (!ok) {
|
|
From: Tom H. <to...@co...> - 2012-10-21 02:25:29
|
valgrind revision: 13065 VEX revision: 2554 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-10-21 02:52:23 BST Ended at 2012-10-21 03:25:16 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 632 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) |
|
From: <sv...@va...> - 2012-10-21 02:20:19
|
florian 2012-10-21 03:19:35 +0100 (Sun, 21 Oct 2012)
New Revision: 13066
Log:
Followup to constification of VEX's external interface (VEX r2555).
Modified files:
trunk/coregrind/m_scheduler/scheduler.c
trunk/memcheck/mc_translate.c
Modified: trunk/memcheck/mc_translate.c (+1 -1)
===================================================================
--- trunk/memcheck/mc_translate.c 2012-10-20 20:57:16 +01:00 (rev 13065)
+++ trunk/memcheck/mc_translate.c 2012-10-21 03:19:35 +01:00 (rev 13066)
@@ -5691,7 +5691,7 @@
return False;
}
-static Bool is_helperc_value_checkN_fail ( HChar* name )
+static Bool is_helperc_value_checkN_fail ( const HChar* name )
{
return
0==VG_(strcmp)(name, "MC_(helperc_value_check0_fail_no_o)")
Modified: trunk/coregrind/m_scheduler/scheduler.c (+2 -2)
===================================================================
--- trunk/coregrind/m_scheduler/scheduler.c 2012-10-20 20:57:16 +01:00 (rev 13065)
+++ trunk/coregrind/m_scheduler/scheduler.c 2012-10-21 03:19:35 +01:00 (rev 13066)
@@ -1373,7 +1373,7 @@
static Int counts[EmNote_NUMBER];
static Bool counts_initted = False;
VexEmNote ew;
- HChar* what;
+ const HChar* what;
Bool show;
Int q;
if (!counts_initted) {
@@ -1399,7 +1399,7 @@
case VEX_TRC_JMP_EMFAIL: {
VexEmNote ew;
- HChar* what;
+ const HChar* what;
ew = (VexEmNote)VG_(threads)[tid].arch.vex.guest_EMNOTE;
what = (ew < 0 || ew >= EmNote_NUMBER)
? "unknown (?!)"
|
|
From: Christian B. <bor...@de...> - 2012-10-21 02:14:03
|
valgrind revision: 13065 VEX revision: 2554 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.38-0.5-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-10-21 03:45:01 CEST Ended at 2012-10-21 04:13:38 CEST 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 == 606 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/tc20_verifywrap (stderr) |