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
(24) |
|
2
(50) |
3
(26) |
4
(17) |
5
(18) |
6
(20) |
7
(20) |
8
(16) |
|
9
(19) |
10
(11) |
11
(17) |
12
(17) |
13
(20) |
14
(18) |
15
(18) |
|
16
(15) |
17
(27) |
18
(22) |
19
(31) |
20
(19) |
21
(21) |
22
(14) |
|
23
(14) |
24
(18) |
25
(15) |
26
|
27
(1) |
28
|
29
(2) |
|
30
(16) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2012-09-21 00:06:22
|
petarj 2012-09-21 01:06:14 +0100 (Fri, 21 Sep 2012)
New Revision: 2544
Log:
Shorten the list of allocable registers for MIPS to fit Loongson MIPS32 mode.
In order to fit MIPS32 mode on Loongson and work around its issues, we avoid
use of odd single precision FP registers. This results in expected execution/
results of some FPU instructions on Loongson. Running FPU intensive tests has
not shown any performance decrease after the change is introduced.
Modified files:
trunk/priv/host_mips_defs.c
Modified: trunk/priv/host_mips_defs.c (+9 -9)
===================================================================
--- trunk/priv/host_mips_defs.c 2012-09-20 03:40:57 +01:00 (rev 2543)
+++ trunk/priv/host_mips_defs.c 2012-09-21 01:06:14 +01:00 (rev 2544)
@@ -551,10 +551,15 @@
void getAllocableRegs_MIPS(Int * nregs, HReg ** arr, Bool mode64)
{
+ /*
+ * The list of allocable registers is shorten to fit MIPS32 mode on Loongson.
+ * More precisely, we workaround Loongson MIPS32 issues by avoiding usage of
+ * odd single precision FP registers.
+ */
if (mode64)
- *nregs = 27;
+ *nregs = 24;
else
- *nregs = 34;
+ *nregs = 29;
UInt i = 0;
*arr = LibVEX_Alloc(*nregs * sizeof(HReg));
@@ -595,16 +600,13 @@
// FP = frame pointer
// RA = link register
// + PC, HI and LO
+ (*arr)[i++] = hregMIPS_F16(mode64);
+ (*arr)[i++] = hregMIPS_F18(mode64);
(*arr)[i++] = hregMIPS_F20(mode64);
- (*arr)[i++] = hregMIPS_F21(mode64);
(*arr)[i++] = hregMIPS_F22(mode64);
- (*arr)[i++] = hregMIPS_F23(mode64);
(*arr)[i++] = hregMIPS_F24(mode64);
- (*arr)[i++] = hregMIPS_F25(mode64);
(*arr)[i++] = hregMIPS_F26(mode64);
- (*arr)[i++] = hregMIPS_F27(mode64);
(*arr)[i++] = hregMIPS_F28(mode64);
- (*arr)[i++] = hregMIPS_F29(mode64);
(*arr)[i++] = hregMIPS_F30(mode64);
if (!mode64) {
/* Fake double floating point */
@@ -616,8 +618,6 @@
(*arr)[i++] = hregMIPS_D5();
(*arr)[i++] = hregMIPS_D6();
(*arr)[i++] = hregMIPS_D7();
- (*arr)[i++] = hregMIPS_D8();
- (*arr)[i++] = hregMIPS_D9();
}
vassert(i == *nregs);
|
|
From: Rich C. <rc...@wi...> - 2012-09-20 05:50:57
|
valgrind revision: 13007 VEX revision: 2543 C compiler: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646) (dot 1) Assembler: C library: unknown uname -mrs: Darwin 10.8.0 i386 Vendor version: unknown Nightly build on macamd64 ( Darwin 10.8.0 i386 ) Started at 2012-09-20 00:35:01 CDT Ended at 2012-09-20 00:50:42 CDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... failed Last 20 lines of verbose log follow echo gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_amd64=1 -DVGO_darwin=1 -DVGP_amd64_darwin=1 -DVGPV_amd64_darwin_vanilla=1 -DVGA_SEC_x86=1 -DVGP_SEC_amd64_darwin=1 -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT leak-delta.o -MD -MP -MF .deps/leak-delta.Tpo -c -o leak-delta.o leak-delta.c mv -f .deps/leak-delta.Tpo .deps/leak-delta.Po gcc -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -o leak-delta leak-delta.o gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_amd64=1 -DVGO_darwin=1 -DVGP_amd64_darwin=1 -DVGPV_amd64_darwin_vanilla=1 -DVGA_SEC_x86=1 -DVGP_SEC_amd64_darwin=1 -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT leak-pool.o -MD -MP -MF .deps/leak-pool.Tpo -c -o leak-pool.o leak-pool.c mv -f .deps/leak-pool.Tpo .deps/leak-pool.Po gcc -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -o leak-pool leak-pool.o gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_amd64=1 -DVGO_darwin=1 -DVGP_amd64_darwin=1 -DVGPV_amd64_darwin_vanilla=1 -DVGA_SEC_x86=1 -DVGP_SEC_amd64_darwin=1 -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT leak-tree.o -MD -MP -MF .deps/leak-tree.Tpo -c -o leak-tree.o leak-tree.c mv -f .deps/leak-tree.Tpo .deps/leak-tree.Po gcc -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -o leak-tree leak-tree.o gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_amd64=1 -DVGO_darwin=1 -DVGP_amd64_darwin=1 -DVGPV_amd64_darwin_vanilla=1 -DVGA_SEC_x86=1 -DVGP_SEC_amd64_darwin=1 -Winline -Wall -Wshadow -g -arch x86_64 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT leak-segv-jmp.o -MD -MP -MF .deps/leak-segv-jmp.Tpo -c -o leak-segv-jmp.o leak-segv-jmp.c leak-segv-jmp.c: In function 'non_simd_mprotect': leak-segv-jmp.c:155: error: '__NR_mprotect' undeclared (first use in this function) leak-segv-jmp.c:155: error: (Each undeclared identifier is reported only once leak-segv-jmp.c:155: error: for each function it appears in.) make[5]: *** [leak-segv-jmp.o] Error 1 make[4]: *** [check-am] Error 2 make[3]: *** [check-recursive] Error 1 make[2]: *** [check-recursive] Error 1 make[1]: *** [check-recursive] Error 1 make: *** [check] Error 2 Congratulations, all tests passed! |
|
From: Rich C. <rc...@wi...> - 2012-09-20 04:49:43
|
valgrind revision: 13007 VEX revision: 2543 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-09-19 23:35:00 CDT Ended at 2012-09-19 23:49:34 CDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... failed Last 20 lines of verbose log follow echo gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_x86=1 -DVGO_darwin=1 -DVGP_x86_darwin=1 -DVGPV_x86_darwin_vanilla=1 -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT leak-delta.o -MD -MP -MF .deps/leak-delta.Tpo -c -o leak-delta.o leak-delta.c mv -f .deps/leak-delta.Tpo .deps/leak-delta.Po gcc -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -o leak-delta leak-delta.o gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_x86=1 -DVGO_darwin=1 -DVGP_x86_darwin=1 -DVGPV_x86_darwin_vanilla=1 -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT leak-pool.o -MD -MP -MF .deps/leak-pool.Tpo -c -o leak-pool.o leak-pool.c mv -f .deps/leak-pool.Tpo .deps/leak-pool.Po gcc -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -o leak-pool leak-pool.o gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_x86=1 -DVGO_darwin=1 -DVGP_x86_darwin=1 -DVGPV_x86_darwin_vanilla=1 -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT leak-tree.o -MD -MP -MF .deps/leak-tree.Tpo -c -o leak-tree.o leak-tree.c mv -f .deps/leak-tree.Tpo .deps/leak-tree.Po gcc -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -o leak-tree leak-tree.o gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../include -I../../coregrind -I../../include -I../../VEX/pub -DVGA_x86=1 -DVGO_darwin=1 -DVGP_x86_darwin=1 -DVGPV_x86_darwin_vanilla=1 -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT leak-segv-jmp.o -MD -MP -MF .deps/leak-segv-jmp.Tpo -c -o leak-segv-jmp.o leak-segv-jmp.c leak-segv-jmp.c: In function 'non_simd_mprotect': leak-segv-jmp.c:155: error: '__NR_mprotect' undeclared (first use in this function) leak-segv-jmp.c:155: error: (Each undeclared identifier is reported only once leak-segv-jmp.c:155: error: for each function it appears in.) make[5]: *** [leak-segv-jmp.o] Error 1 make[4]: *** [check-am] Error 2 make[3]: *** [check-recursive] Error 1 make[2]: *** [check-recursive] Error 1 make[1]: *** [check-recursive] Error 1 make: *** [check] Error 2 Congratulations, all tests passed! |
|
From: Philippe W. <phi...@sk...> - 2012-09-20 04:10:04
|
valgrind revision: 13007 VEX revision: 2543 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-09-19 20:00:11 PDT Ended at 2012-09-19 21:08:38 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 == 532 tests, 7 stderr failures, 2 stdout failures, 1 stderrB failure, 1 stdoutB failure, 2 post failures == gdbserver_tests/mcmain_pic (stdout) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/mcmain_pic (stdoutB) gdbserver_tests/mcmain_pic (stderrB) memcheck/tests/supp_unknown (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Tom H. <to...@co...> - 2012-09-20 03:14:13
|
valgrind revision: 13007 VEX revision: 2543 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-09-20 03:41:34 BST Ended at 2012-09-20 04:13:57 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 607 tests, 0 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == none/tests/amd64/sse4-64 (stdout) |
|
From: <br...@ac...> - 2012-09-20 03:12:08
|
valgrind revision: 13007
VEX revision: 2542
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-09-19 22:20:21 EDT
Ended at 2012-09-19 23:11:55 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
== 542 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-09-19 22:49:56.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-09-19 23:07:18.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-09-19 22:49:56.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-09-19 23:07:37.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-09-19 22:49:56.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-09-19 23:07:37.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-09-19 22:50:32.000000000 -0400
+++ manuel3.stderr.out 2012-09-19 23:01:50.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-09-19 22:50:32.000000000 -0400
+++ partial_load_ok.stderr.out 2012-09-19 23:02:22.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-09-19 22:50:32.000000000 -0400
+++ partial_load_ok.stderr.out 2012-09-19 23:02:22.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-09-19 22:50:32.000000000 -0400
+++ varinfo6.stderr.out 2012-09-19 23:03:23.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-09-19 22:50:32.000000000 -0400
+++ varinfo6.stderr.out 2012-09-19 23:03:23.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-09-19 22:51:09.000000000 -0400
+++ fpconv.stdout.out 2012-09-19 23:05:32.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-09-19 22:24:04.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-09-19 22:45:01.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-09-19 22:24:04.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-09-19 22:45:19.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-09-19 22:24:04.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-09-19 22:45:19.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-09-19 22:28:38.000000000 -0400
+++ manuel3.stderr.out 2012-09-19 22:39:34.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-09-19 22:28:38.000000000 -0400
+++ partial_load_ok.stderr.out 2012-09-19 22:40:06.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-09-19 22:28:38.000000000 -0400
+++ partial_load_ok.stderr.out 2012-09-19 22:40:06.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-09-19 22:28:38.000000000 -0400
+++ varinfo6.stderr.out 2012-09-19 22:41:06.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-09-19 22:28:38.000000000 -0400
+++ varinfo6.stderr.out 2012-09-19 22:41:06.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-09-19 22:29:45.000000000 -0400
+++ fpconv.stdout.out 2012-09-19 22:43:15.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-09-20 03:09:55
|
valgrind revision: 13007 VEX revision: 2542 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-09-20 03:11:39 BST Ended at 2012-09-20 04:09:42 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 == 626 tests, 1 stderr failure, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-09-20 03:09:28
|
valgrind revision: 13007 VEX revision: 2542 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-09-20 03:21:45 BST Ended at 2012-09-20 04:09:13 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 == 611 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_barrier3 (stderr) |
|
From: Tom H. <to...@co...> - 2012-09-20 03:08:42
|
valgrind revision: 13007 VEX revision: 2542 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-09-20 03:31:07 BST Ended at 2012-09-20 04:08:26 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 == 611 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Rich C. <rc...@wi...> - 2012-09-20 03:07:42
|
valgrind revision: 13007
VEX revision: 2542
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-09-19 21:30:01 CDT
Ended at 2012-09-19 22:07:32 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
== 619 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-09-19 21:47:44.567157895 -0500
+++ mcbreak.stderrB.out 2012-09-19 21:58:32.392121959 -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-09-19 21:47:44.566157779 -0500
+++ mcclean_after_fork.stderrB.out 2012-09-19 21:58:34.095319027 -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-09-19 21:47:44.562157316 -0500
+++ mcleak.stderrB.out 2012-09-19 21:58:52.941499631 -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-09-19 21:47:44.571158359 -0500
+++ mcmain_pic.stderrB.out 2012-09-19 21:58:54.573688482 -0500
@@ -1,3 +1,5 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
Remote connection closed
=================================================
./valgrind-new/gdbserver_tests/mcvabits.stderrB.diff
=================================================
--- mcvabits.stderrB.exp 2012-09-19 21:47:44.572158475 -0500
+++ mcvabits.stderrB.out 2012-09-19 21:58:59.509259557 -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-09-19 21:47:44.571158359 -0500
+++ mssnapshot.stderrB.out 2012-09-19 21:59:02.575614352 -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-09-19 21:48:34.086892838 -0500
+++ timerfd-syscall.stderr.out 2012-09-19 22:00:08.010185542 -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-09-19 21:48:38.597415207 -0500
+++ origin5-bz2.stderr.out 2012-09-19 22:00:23.474974927 -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-09-19 21:48:38.580413237 -0500
+++ origin5-bz2.stderr.out 2012-09-19 22:00:23.474974927 -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-09-19 21:48:38.523406635 -0500
+++ origin5-bz2.stderr.out 2012-09-19 22:00:23.474974927 -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-09-19 21:48:38.552409994 -0500
+++ origin5-bz2.stderr.out 2012-09-19 22:00:23.474974927 -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-09-19 21:48:38.565411499 -0500
+++ origin5-bz2.stderr.out 2012-09-19 22:00:23.474974927 -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-09-19 21:31:28.144077621 -0500
+++ mcbreak.stderrB.out 2012-09-19 21:36:22.939215996 -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-09-19 21:31:28.144077621 -0500
+++ mcclean_after_fork.stderrB.out 2012-09-19 21:36:24.636412558 -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-09-19 21:31:28.140077158 -0500
+++ mcleak.stderrB.out 2012-09-19 21:36:43.577606254 -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-09-19 21:31:28.147077969 -0500
+++ mcmain_pic.stderrB.out 2012-09-19 21:36:45.189792972 -0500
@@ -1,3 +1,5 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
Remote connection closed
=================================================
./valgrind-old/gdbserver_tests/mcvabits.stderrB.diff
=================================================
--- mcvabits.stderrB.exp 2012-09-19 21:31:28.148078084 -0500
+++ mcvabits.stderrB.out 2012-09-19 21:36:50.175370382 -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-09-19 21:31:28.147077969 -0500
+++ mssnapshot.stderrB.out 2012-09-19 21:36:53.244725862 -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-09-19 21:31:37.506161128 -0500
+++ timerfd-syscall.stderr.out 2012-09-19 21:37:58.839322752 -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-09-19 21:31:41.945674929 -0500
+++ origin5-bz2.stderr.out 2012-09-19 21:38:14.242106632 -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-09-19 21:31:41.928672961 -0500
+++ origin5-bz2.stderr.out 2012-09-19 21:38:14.242106632 -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-09-19 21:31:41.872666480 -0500
+++ origin5-bz2.stderr.out 2012-09-19 21:38:14.242106632 -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-09-19 21:31:41.901669836 -0500
+++ origin5-bz2.stderr.out 2012-09-19 21:38:14.242106632 -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-09-19 21:31:41.914671342 -0500
+++ origin5-bz2.stderr.out 2012-09-19 21:38:14.242106632 -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-09-20 02:49:58
|
valgrind revision: 13007 VEX revision: 2542 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-09-20 03:02:54 BST Ended at 2012-09-20 03:49:41 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 == 628 tests, 2 stderr failures, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) |
|
From: <sv...@va...> - 2012-09-20 02:41:41
|
florian 2012-09-20 03:40:57 +0100 (Thu, 20 Sep 2012)
New Revision: 2543
Log:
In function irExpr_to_AvailExpr: Replace if-chains with a switch stmt.
This is a followup to r2524.
Modified files:
trunk/priv/ir_opt.c
Modified: trunk/priv/ir_opt.c (+111 -116)
===================================================================
--- trunk/priv/ir_opt.c 2012-09-20 02:25:28 +01:00 (rev 2542)
+++ trunk/priv/ir_opt.c 2012-09-20 03:40:57 +01:00 (rev 2543)
@@ -3327,130 +3327,125 @@
{
AvailExpr* ae;
- if (e->tag == Iex_Unop
- && e->Iex.Unop.arg->tag == Iex_RdTmp) {
- ae = LibVEX_Alloc(sizeof(AvailExpr));
- ae->tag = Ut;
- ae->u.Ut.op = e->Iex.Unop.op;
- ae->u.Ut.arg = e->Iex.Unop.arg->Iex.RdTmp.tmp;
- return ae;
- }
+ switch (e->tag) {
+ case Iex_Unop:
+ if (e->Iex.Unop.arg->tag == Iex_RdTmp) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Ut;
+ ae->u.Ut.op = e->Iex.Unop.op;
+ ae->u.Ut.arg = e->Iex.Unop.arg->Iex.RdTmp.tmp;
+ return ae;
+ }
+ break;
- if (e->tag == Iex_Binop
- && e->Iex.Binop.arg1->tag == Iex_RdTmp
- && e->Iex.Binop.arg2->tag == Iex_RdTmp) {
- ae = LibVEX_Alloc(sizeof(AvailExpr));
- ae->tag = Btt;
- ae->u.Btt.op = e->Iex.Binop.op;
- ae->u.Btt.arg1 = e->Iex.Binop.arg1->Iex.RdTmp.tmp;
- ae->u.Btt.arg2 = e->Iex.Binop.arg2->Iex.RdTmp.tmp;
- return ae;
- }
+ case Iex_Binop:
+ if (e->Iex.Binop.arg1->tag == Iex_RdTmp) {
+ if (e->Iex.Binop.arg2->tag == Iex_RdTmp) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Btt;
+ ae->u.Btt.op = e->Iex.Binop.op;
+ ae->u.Btt.arg1 = e->Iex.Binop.arg1->Iex.RdTmp.tmp;
+ ae->u.Btt.arg2 = e->Iex.Binop.arg2->Iex.RdTmp.tmp;
+ return ae;
+ }
+ if (e->Iex.Binop.arg2->tag == Iex_Const) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Btc;
+ ae->u.Btc.op = e->Iex.Binop.op;
+ ae->u.Btc.arg1 = e->Iex.Binop.arg1->Iex.RdTmp.tmp;
+ ae->u.Btc.con2 = *(e->Iex.Binop.arg2->Iex.Const.con);
+ return ae;
+ }
+ } else if (e->Iex.Binop.arg1->tag == Iex_Const
+ && e->Iex.Binop.arg2->tag == Iex_RdTmp) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Bct;
+ ae->u.Bct.op = e->Iex.Binop.op;
+ ae->u.Bct.arg2 = e->Iex.Binop.arg2->Iex.RdTmp.tmp;
+ ae->u.Bct.con1 = *(e->Iex.Binop.arg1->Iex.Const.con);
+ return ae;
+ }
+ break;
- if (e->tag == Iex_Binop
- && e->Iex.Binop.arg1->tag == Iex_RdTmp
- && e->Iex.Binop.arg2->tag == Iex_Const) {
- ae = LibVEX_Alloc(sizeof(AvailExpr));
- ae->tag = Btc;
- ae->u.Btc.op = e->Iex.Binop.op;
- ae->u.Btc.arg1 = e->Iex.Binop.arg1->Iex.RdTmp.tmp;
- ae->u.Btc.con2 = *(e->Iex.Binop.arg2->Iex.Const.con);
- return ae;
- }
+ case Iex_Const:
+ if (e->Iex.Const.con->tag == Ico_F64i) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Cf64i;
+ ae->u.Cf64i.f64i = e->Iex.Const.con->Ico.F64i;
+ return ae;
+ }
+ break;
- if (e->tag == Iex_Binop
- && e->Iex.Binop.arg1->tag == Iex_Const
- && e->Iex.Binop.arg2->tag == Iex_RdTmp) {
- ae = LibVEX_Alloc(sizeof(AvailExpr));
- ae->tag = Bct;
- ae->u.Bct.op = e->Iex.Binop.op;
- ae->u.Bct.arg2 = e->Iex.Binop.arg2->Iex.RdTmp.tmp;
- ae->u.Bct.con1 = *(e->Iex.Binop.arg1->Iex.Const.con);
- return ae;
- }
+ case Iex_Mux0X:
+ if (e->Iex.Mux0X.cond->tag == Iex_RdTmp) {
+ if (e->Iex.Mux0X.expr0->tag == Iex_RdTmp) {
+ if (e->Iex.Mux0X.exprX->tag == Iex_RdTmp) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Mttt;
+ ae->u.Mttt.co = e->Iex.Mux0X.cond->Iex.RdTmp.tmp;
+ ae->u.Mttt.e0 = e->Iex.Mux0X.expr0->Iex.RdTmp.tmp;
+ ae->u.Mttt.eX = e->Iex.Mux0X.exprX->Iex.RdTmp.tmp;
+ return ae;
+ }
+ if (e->Iex.Mux0X.exprX->tag == Iex_Const) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Mttc;
+ ae->u.Mttc.co = e->Iex.Mux0X.cond->Iex.RdTmp.tmp;
+ ae->u.Mttc.e0 = e->Iex.Mux0X.expr0->Iex.RdTmp.tmp;
+ ae->u.Mttc.conX = *(e->Iex.Mux0X.exprX->Iex.Const.con);
+ return ae;
+ }
+ } else if (e->Iex.Mux0X.expr0->tag == Iex_Const) {
+ if (e->Iex.Mux0X.exprX->tag == Iex_RdTmp) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Mtct;
+ ae->u.Mtct.co = e->Iex.Mux0X.cond->Iex.RdTmp.tmp;
+ ae->u.Mtct.con0 = *(e->Iex.Mux0X.expr0->Iex.Const.con);
+ ae->u.Mtct.eX = e->Iex.Mux0X.exprX->Iex.RdTmp.tmp;
+ return ae;
+ }
+ if (e->Iex.Mux0X.exprX->tag == Iex_Const) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Mtcc;
+ ae->u.Mtcc.co = e->Iex.Mux0X.cond->Iex.RdTmp.tmp;
+ ae->u.Mtcc.con0 = *(e->Iex.Mux0X.expr0->Iex.Const.con);
+ ae->u.Mtcc.conX = *(e->Iex.Mux0X.exprX->Iex.Const.con);
+ return ae;
+ }
+ }
+ }
+ break;
- if (e->tag == Iex_Const
- && e->Iex.Const.con->tag == Ico_F64i) {
- ae = LibVEX_Alloc(sizeof(AvailExpr));
- ae->tag = Cf64i;
- ae->u.Cf64i.f64i = e->Iex.Const.con->Ico.F64i;
- return ae;
- }
+ case Iex_GetI:
+ if (e->Iex.GetI.ix->tag == Iex_RdTmp) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = GetIt;
+ ae->u.GetIt.descr = e->Iex.GetI.descr;
+ ae->u.GetIt.ix = e->Iex.GetI.ix->Iex.RdTmp.tmp;
+ ae->u.GetIt.bias = e->Iex.GetI.bias;
+ return ae;
+ }
+ break;
- if (e->tag == Iex_Mux0X
- && e->Iex.Mux0X.cond->tag == Iex_RdTmp
- && e->Iex.Mux0X.expr0->tag == Iex_RdTmp
- && e->Iex.Mux0X.exprX->tag == Iex_RdTmp) {
- ae = LibVEX_Alloc(sizeof(AvailExpr));
- ae->tag = Mttt;
- ae->u.Mttt.co = e->Iex.Mux0X.cond->Iex.RdTmp.tmp;
- ae->u.Mttt.e0 = e->Iex.Mux0X.expr0->Iex.RdTmp.tmp;
- ae->u.Mttt.eX = e->Iex.Mux0X.exprX->Iex.RdTmp.tmp;
- return ae;
- }
+ case Iex_CCall:
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = CCall;
+ /* Ok to share only the cee, since it is immutable. */
+ ae->u.CCall.cee = e->Iex.CCall.cee;
+ ae->u.CCall.retty = e->Iex.CCall.retty;
+ /* irExprVec_to_TmpOrConsts will assert if the args are
+ neither tmps nor constants, but that's ok .. that's all they
+ should be. */
+ irExprVec_to_TmpOrConsts(
+ &ae->u.CCall.args, &ae->u.CCall.nArgs,
+ e->Iex.CCall.args
+ );
+ return ae;
- if (e->tag == Iex_Mux0X
- && e->Iex.Mux0X.cond->tag == Iex_RdTmp
- && e->Iex.Mux0X.expr0->tag == Iex_Const
- && e->Iex.Mux0X.exprX->tag == Iex_RdTmp) {
- ae = LibVEX_Alloc(sizeof(AvailExpr));
- ae->tag = Mtct;
- ae->u.Mtct.co = e->Iex.Mux0X.cond->Iex.RdTmp.tmp;
- ae->u.Mtct.con0 = *(e->Iex.Mux0X.expr0->Iex.Const.con);
- ae->u.Mtct.eX = e->Iex.Mux0X.exprX->Iex.RdTmp.tmp;
- return ae;
+ default:
+ break;
}
- if (e->tag == Iex_Mux0X
- && e->Iex.Mux0X.cond->tag == Iex_RdTmp
- && e->Iex.Mux0X.expr0->tag == Iex_RdTmp
- && e->Iex.Mux0X.exprX->tag == Iex_Const) {
- ae = LibVEX_Alloc(sizeof(AvailExpr));
- ae->tag = Mttc;
- ae->u.Mttc.co = e->Iex.Mux0X.cond->Iex.RdTmp.tmp;
- ae->u.Mttc.e0 = e->Iex.Mux0X.expr0->Iex.RdTmp.tmp;
- ae->u.Mttc.conX = *(e->Iex.Mux0X.exprX->Iex.Const.con);
- return ae;
- }
-
- if (e->tag == Iex_Mux0X
- && e->Iex.Mux0X.cond->tag == Iex_RdTmp
- && e->Iex.Mux0X.expr0->tag == Iex_Const
- && e->Iex.Mux0X.exprX->tag == Iex_Const) {
- ae = LibVEX_Alloc(sizeof(AvailExpr));
- ae->tag = Mtcc;
- ae->u.Mtcc.co = e->Iex.Mux0X.cond->Iex.RdTmp.tmp;
- ae->u.Mtcc.con0 = *(e->Iex.Mux0X.expr0->Iex.Const.con);
- ae->u.Mtcc.conX = *(e->Iex.Mux0X.exprX->Iex.Const.con);
- return ae;
- }
-
- if (e->tag == Iex_GetI
- && e->Iex.GetI.ix->tag == Iex_RdTmp) {
- ae = LibVEX_Alloc(sizeof(AvailExpr));
- ae->tag = GetIt;
- ae->u.GetIt.descr = e->Iex.GetI.descr;
- ae->u.GetIt.ix = e->Iex.GetI.ix->Iex.RdTmp.tmp;
- ae->u.GetIt.bias = e->Iex.GetI.bias;
- return ae;
- }
-
- if (e->tag == Iex_CCall) {
- ae = LibVEX_Alloc(sizeof(AvailExpr));
- ae->tag = CCall;
- /* Ok to share only the cee, since it is immutable. */
- ae->u.CCall.cee = e->Iex.CCall.cee;
- ae->u.CCall.retty = e->Iex.CCall.retty;
- /* irExprVec_to_TmpOrConsts will assert if the args are
- neither tmps nor constants, but that's ok .. that's all they
- should be. */
- irExprVec_to_TmpOrConsts(
- &ae->u.CCall.args, &ae->u.CCall.nArgs,
- e->Iex.CCall.args
- );
- return ae;
- }
-
return NULL;
}
|
|
From: Tom H. <to...@co...> - 2012-09-20 02:28:52
|
valgrind revision: 13007 VEX revision: 2542 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-09-20 02:52:07 BST Ended at 2012-09-20 03:28:41 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 == 628 tests, 2 stderr failures, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) |
|
From: Tom H. <to...@co...> - 2012-09-20 02:13:11
|
valgrind revision: 13007 VEX revision: 2542 C compiler: gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: GNU C Library stable release version 2.15 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2012-09-20 02:41:10 BST Ended at 2012-09-20 03:12:55 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 == 628 tests, 6 stderr failures, 1 stdout failure, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Christian B. <bor...@de...> - 2012-09-20 02:12:30
|
valgrind revision: 13007 VEX revision: 2542 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-09-20 03:45:01 CEST Ended at 2012-09-20 04:12:19 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 == 577 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/tc20_verifywrap (stderr) |
|
From: Christian B. <bor...@de...> - 2012-09-20 02:04:51
|
valgrind revision: 13007 VEX revision: 2542 C compiler: gcc (GCC) 4.5.3 20110121 (Red Hat 4.5.3-5) Assembler: GNU assembler version 2.20.51.0.7-4bb6.fc13 20100318 C library: GNU C Library stable release version 2.12.1 uname -mrs: Linux 3.3.4-53.x.20120504-s390xperformance s390x Vendor version: unknown Nightly build on fedora390 ( Fedora 13/14/15 mix with gcc 3.5.3 on z196 (s390x) ) Started at 2012-09-20 03:45:01 CEST Ended at 2012-09-20 04:04:57 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 == 576 tests, 4 stderr failures, 0 stdout failures, 1 stderrB failure, 1 stdoutB failure, 0 post failures == gdbserver_tests/mcinvokeWS (stdoutB) gdbserver_tests/mcinvokeWS (stderrB) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) drd/tests/tc21_pthonce (stderr) |
|
From: Tom H. <to...@co...> - 2012-09-20 01:59:16
|
valgrind revision: 13007 VEX revision: 2542 C compiler: gcc (GCC) 4.7.1 20120913 (Red Hat 4.7.1-8) Assembler: GNU assembler version 2.23.51.0.2-1.fc19 20120908 C library: GNU C Library development release version 2.16.90 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 19 (Rawhide) Nightly build on bristol ( x86_64, Fedora 19 ) Started at 2012-09-20 02:32:11 BST Ended at 2012-09-20 02:59:04 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 == 628 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) |
|
From: <sv...@va...> - 2012-09-20 01:25:35
|
florian 2012-09-20 02:25:28 +0100 (Thu, 20 Sep 2012)
New Revision: 2542
Log:
s390: Give function static linkage. Also avoids a compiler warning.
Modified files:
trunk/priv/guest_s390_toIR.c
Modified: trunk/priv/guest_s390_toIR.c (+1 -1)
===================================================================
--- trunk/priv/guest_s390_toIR.c 2012-09-20 02:22:10 +01:00 (rev 2541)
+++ trunk/priv/guest_s390_toIR.c 2012-09-20 02:25:28 +01:00 (rev 2542)
@@ -8201,7 +8201,7 @@
return "srnmb";
}
- void
+static void
s390_irgen_srnmb_wrapper(UChar b2, UShort d2)
{
if (b2 == 0) { /* This is the typical case */
|
|
From: <sv...@va...> - 2012-09-20 01:23:00
|
florian 2012-09-20 02:22:53 +0100 (Thu, 20 Sep 2012)
New Revision: 13007
Log:
Update due to file renaming in VEX r2541.
Modified files:
trunk/Makefile.vex.am
Modified: trunk/Makefile.vex.am (+2 -2)
===================================================================
--- trunk/Makefile.vex.am 2012-09-19 17:43:30 +01:00 (rev 13006)
+++ trunk/Makefile.vex.am 2012-09-20 02:22:53 +01:00 (rev 13007)
@@ -51,7 +51,7 @@
priv/host_ppc_defs.h \
priv/host_arm_defs.h \
priv/host_s390_defs.h \
- priv/host_s390_disasm.h \
+ priv/s390_disasm.h \
priv/host_mips_defs.h
BUILT_SOURCES = pub/libvex_guest_offsets.h
@@ -127,7 +127,7 @@
priv/host_arm_isel.c \
priv/host_s390_defs.c \
priv/host_s390_isel.c \
- priv/host_s390_disasm.c \
+ priv/s390_disasm.c \
priv/host_mips_defs.c \
priv/host_mips_isel.c
|
|
From: <sv...@va...> - 2012-09-20 01:22:20
|
florian 2012-09-20 02:22:10 +0100 (Thu, 20 Sep 2012)
New Revision: 2541
Log:
s390: Rename host_s390_disasm.[ch] to s390_disasm.[ch] as they
are not really host specific.
Copied files:
trunk/priv/s390_disasm.c
(from rev 2540, trunk/priv/host_s390_disasm.c)
trunk/priv/s390_disasm.h
(from rev 2540, trunk/priv/host_s390_disasm.h)
Removed files:
trunk/priv/host_s390_disasm.c
trunk/priv/host_s390_disasm.h
Modified files:
trunk/priv/guest_s390_toIR.c
trunk/priv/host_s390_defs.c
Modified: trunk/priv/host_s390_defs.c (+1 -1)
===================================================================
--- trunk/priv/host_s390_defs.c 2012-09-19 17:01:21 +01:00 (rev 2540)
+++ trunk/priv/host_s390_defs.c 2012-09-20 02:22:10 +01:00 (rev 2541)
@@ -40,7 +40,7 @@
#include "main_globals.h"
#include "host_generic_regs.h"
#include "host_s390_defs.h"
-#include "host_s390_disasm.h"
+#include "s390_disasm.h"
#include "guest_s390_defs.h" /* S390X_GUEST_OFFSET */
#include <stdarg.h>
Deleted: trunk/priv/host_s390_disasm.h (+0 -93)
===================================================================
--- trunk/priv/host_s390_disasm.h 2012-09-19 17:01:21 +01:00 (rev 2540)
+++ trunk/priv/host_s390_disasm.h 2012-09-20 02:22:10 +01:00 (rev 2541)
@@ -1,93 +0,0 @@
-/* -*- mode: C; c-basic-offset: 3; -*- */
-
-/*---------------------------------------------------------------*/
-/*--- begin host_s390_disasm.h ---*/
-/*---------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright IBM Corp. 2010-2012
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#ifndef __VEX_HOST_S390_DISASM_H
-#define __VEX_HOST_S390_DISASM_H
-
-#include "libvex_basictypes.h"
-
-/* Macros to encode a command for s390_disasm. */
-#undef P
-#define P(a) (S390_ARG_##a)
-#undef ENC1
-#define ENC1(a) ((P(DONE) << 4) | P(a))
-#undef ENC2
-#define ENC2(a,b) ((P(DONE) << 8) | (P(b) << 4) | P(a))
-#undef ENC3
-#define ENC3(a,b,c) ((P(DONE) << 12) | (P(c) << 8) | (P(b) << 4) | P(a))
-#undef ENC4
-#define ENC4(a,b,c,d) ((P(DONE) << 16) | (P(d) << 12) | (P(c) << 8) | \
- (P(b) << 4) | P(a))
-#undef ENC5
-#define ENC5(a,b,c,d,e) ((P(DONE) << 20) | (P(e) << 16) | (P(d) << 12) | \
- (P(c) << 8) | (P(b) << 4) | P(a))
-#undef ENC6
-#define ENC6(a,b,c,d,e,f) ((P(DONE) << 24) | (P(f) << 20) | (P(e) << 16) | \
- (P(d) << 12) | (P(c) << 8) | (P(b) << 4) | P(a))
-
-/* The different kinds of operands in an asm insn */
-enum {
- S390_ARG_DONE = 0,
- S390_ARG_GPR = 1,
- S390_ARG_FPR = 2,
- S390_ARG_AR = 3,
- S390_ARG_INT = 4,
- S390_ARG_UINT = 5,
- S390_ARG_PCREL = 6,
- S390_ARG_SDXB = 7,
- S390_ARG_UDXB = 8,
- S390_ARG_UDLB = 9,
- S390_ARG_CABM = 10,
- S390_ARG_MNM = 11,
- S390_ARG_XMNM = 12
-};
-
-/* The different kinds of extended mnemonics */
-enum {
- S390_XMNM_CAB = 0,
- S390_XMNM_BCR = 1,
- S390_XMNM_BC = 2,
- S390_XMNM_BRC = 3,
- S390_XMNM_BRCL = 4,
- S390_XMNM_LOCR = 5,
- S390_XMNM_LOCGR = 6,
- S390_XMNM_LOC = 7,
- S390_XMNM_LOCG = 8,
- S390_XMNM_STOC = 9,
- S390_XMNM_STOCG = 10
-};
-
-void s390_disasm(UInt command, ...);
-
-/*---------------------------------------------------------------*/
-/*--- end host_s390_disasm.h ---*/
-/*---------------------------------------------------------------*/
-
-#endif /* __VEX_HOST_S390_DISASM_H */
Deleted: trunk/priv/host_s390_disasm.c (+0 -461)
===================================================================
--- trunk/priv/host_s390_disasm.c 2012-09-19 17:01:21 +01:00 (rev 2540)
+++ trunk/priv/host_s390_disasm.c 2012-09-20 02:22:10 +01:00 (rev 2541)
@@ -1,461 +0,0 @@
-/* -*- mode: C; c-basic-offset: 3; -*- */
-
-/*---------------------------------------------------------------*/
-/*--- begin host_s390_disasm.c ---*/
-/*---------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright IBM Corp. 2010-2012
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-/* Contributed by Florian Krohm */
-
-#include <stdarg.h>
-#include "libvex_basictypes.h"
-#include "main_util.h" // vassert
-#include "main_globals.h" // vex_traceflags
-#include "host_s390_disasm.h"
-
-/* The format that is used to write out a mnemonic. */
-static const HChar s390_mnm_fmt[] = "%-8s";
-
-
-/* Return the name of a general purpose register for dis-assembly purposes. */
-static const HChar *
-gpr_operand(UInt archreg)
-{
- static const HChar names[16][5] = {
- "%r0", "%r1", "%r2", "%r3",
- "%r4", "%r5", "%r6", "%r7",
- "%r8", "%r9", "%r10", "%r11",
- "%r12", "%r13", "%r14", "%r15",
- };
-
- vassert(archreg < 16);
-
- return names[archreg];
-}
-
-
-/* Return the name of a floating point register for dis-assembly purposes. */
-static const HChar *
-fpr_operand(UInt archreg)
-{
- static const HChar names[16][5] = {
- "%f0", "%f1", "%f2", "%f3",
- "%f4", "%f5", "%f6", "%f7",
- "%f8", "%f9", "%f10", "%f11",
- "%f12", "%f13", "%f14", "%f15",
- };
-
- vassert(archreg < 16);
-
- return names[archreg];
-}
-
-
-/* Return the name of an access register for dis-assembly purposes. */
-static const HChar *
-ar_operand(UInt archreg)
-{
- static const HChar names[16][5] = {
- "%a0", "%a1", "%a2", "%a3",
- "%a4", "%a5", "%a6", "%a7",
- "%a8", "%a9", "%a10", "%a11",
- "%a12", "%a13", "%a14", "%a15",
- };
-
- vassert(archreg < 16);
-
- return names[archreg];
-}
-
-
-/* Build and return the extended mnemonic for the compare and branch
- opcodes as introduced by z10. See also the opcodes in file
- opcodes/s390-opc.txt (from binutils) that have a '$' in their name. */
-static const HChar *
-cab_operand(const HChar *base, UInt mask)
-{
- HChar *to;
- const HChar *from;
-
- static HChar buf[10]; /* Maximum is 6 + 2 */
-
- static HChar *suffix[] = {
- "", "h", "l", "ne", "e", "nl", "nh", ""
- };
-
- /* strcpy(buf, from); */
- for (from = base, to = buf; *from; ++from, ++to) {
- *to = *from;
- }
- /* strcat(buf, suffix); */
- for (from = suffix[mask >> 1]; *from; ++from, ++to) {
- *to = *from;
- }
- *to = '\0';
-
- return buf;
-}
-
-/* Common function used to construct a mnemonic based on a condition code
- mask. */
-static const HChar *
-construct_mnemonic(const HChar *prefix, const HChar *suffix, UInt mask)
-{
- HChar *to;
- const HChar *from;
-
- static HChar buf[10];
-
- static HChar mask_id[16][4] = {
- "", /* 0 -> unused */
- "o", "h", "nle", "l", "nhe", "lh", "ne",
- "e", "nlh", "he", "nl", "le", "nh", "no",
- "" /* 15 -> unused */
- };
-
- /* Guard against buffer overflow */
- vassert(vex_strlen(prefix) + vex_strlen(suffix) + sizeof mask_id[0] <= sizeof buf);
-
- /* strcpy(buf, prefix); */
- for (from = prefix, to = buf; *from; ++from, ++to) {
- *to = *from;
- }
- /* strcat(buf, mask_id); */
- for (from = mask_id[mask]; *from; ++from, ++to) {
- *to = *from;
- }
- /* strcat(buf, suffix); */
- for (from = suffix; *from; ++from, ++to) {
- *to = *from;
- }
- *to = '\0';
-
- return buf;
-}
-
-
-/* Return the special mnemonic for the BCR opcode */
-static const HChar *
-bcr_operand(UInt m1)
-{
- if (m1 == 0) return "nopr";
- if (m1 == 15) return "br";
-
- return construct_mnemonic("b", "r", m1);
-}
-
-
-/* Return the special mnemonic for the BC opcode */
-static const HChar *
-bc_operand(UInt m1)
-{
- if (m1 == 0) return "nop";
- if (m1 == 15) return "b";
-
- return construct_mnemonic("b", "", m1);
-}
-
-
-/* Return the special mnemonic for the BRC opcode */
-static const HChar *
-brc_operand(UInt m1)
-{
- if (m1 == 0) return "brc";
- if (m1 == 15) return "j";
-
- return construct_mnemonic("j", "", m1);
-}
-
-
-/* Return the special mnemonic for the BRCL opcode */
-static const HChar *
-brcl_operand(UInt m1)
-{
- if (m1 == 0) return "brcl";
- if (m1 == 15) return "jg";
-
- return construct_mnemonic("jg", "", m1);
-}
-
-
-/* Return the special mnemonic for a conditional load/store opcode */
-static const HChar *
-cls_operand(Int kind, UInt mask)
-{
- HChar *prefix;
-
- switch (kind) {
- case S390_XMNM_LOCR: prefix = "locr"; break;
- case S390_XMNM_LOCGR: prefix = "locgr"; break;
- case S390_XMNM_LOC: prefix = "loc"; break;
- case S390_XMNM_LOCG: prefix = "locg"; break;
- case S390_XMNM_STOC: prefix = "stoc"; break;
- case S390_XMNM_STOCG: prefix = "stocg"; break;
- default:
- vpanic("cls_operand");
- }
-
- return construct_mnemonic(prefix, "", mask);
-}
-
-
-/* An operand with a base register, an index register, and a displacement.
- If the displacement is signed, the rightmost 20 bit of D need to be
- sign extended */
-static HChar *
-dxb_operand(HChar *p, UInt d, UInt x, UInt b, Bool displacement_is_signed)
-{
- if (displacement_is_signed) {
- Int displ = ((Int)d << 12) >> 12; /* sign extend */
-
- p += vex_sprintf(p, "%d", displ);
- } else {
- p += vex_sprintf(p, "%u", d);
- }
- if (x != 0) {
- p += vex_sprintf(p, "(%s", gpr_operand(x));
- if (b != 0) {
- p += vex_sprintf(p, ",%s", gpr_operand(b));
- }
- p += vex_sprintf(p, ")");
- } else {
- if (b != 0) {
- p += vex_sprintf(p, "(%s)", gpr_operand(b));
- }
- }
-
- return p;
-}
-
-
-/* An operand with base register, unsigned length, and a 12-bit
- unsigned displacement */
-static HChar *
-udlb_operand(HChar *p, UInt d, UInt length, UInt b)
-{
- p += vex_sprintf(p, "%u", d);
- p += vex_sprintf(p, "(%u", length + 1); // actual length is +1
- if (b != 0) {
- p += vex_sprintf(p, ",%s", gpr_operand(b));
- }
- p += vex_sprintf(p, ")");
-
- return p;
-}
-
-
-/* The first argument is the command that says how to write the disassembled
- insn. It is understood that the mnemonic comes first and that arguments
- are separated by a ','. The command holds the arguments. Each argument is
- encoded using a 4-bit S390_ARG_xyz value. The first argument is placed
- in the least significant bits of the command and so on. There are at most
- 5 arguments in an insn and a sentinel (S390_ARG_DONE) is needed to identify
- the end of the argument list. 6 * 4 = 24 bits are required for the
- command. */
-void
-s390_disasm(UInt command, ...)
-{
- va_list args;
- unsigned argkind;
- HChar buf[128]; /* holds the disassembled insn */
- HChar *p;
- HChar separator;
- Int mask_suffix = -1;
-
- va_start(args, command);
-
- p = buf;
- separator = 0;
-
- while (42) {
- argkind = command & 0xF;
- command >>= 4;
-
- if (argkind == S390_ARG_DONE) goto done;
-
- if (argkind == S390_ARG_CABM) separator = 0; /* optional */
-
- /* Write out the separator */
- if (separator) *p++ = separator;
-
- /* argument */
- switch (argkind) {
- case S390_ARG_MNM:
- p += vex_sprintf(p, s390_mnm_fmt, va_arg(args, HChar *));
- separator = ' ';
- continue;
-
- case S390_ARG_XMNM: {
- UInt mask, kind;
- const HChar *mnm;
-
- kind = va_arg(args, UInt);
-
- separator = ' ';
- switch (kind) {
- case S390_XMNM_BC:
- case S390_XMNM_BCR:
- mask = va_arg(args, UInt);
- mnm = kind == S390_XMNM_BCR ? bcr_operand(mask) : bc_operand(mask);
- p += vex_sprintf(p, s390_mnm_fmt, mnm);
- /* mask == 0 is a NOP and has no argument */
- if (mask == 0) goto done;
- break;
-
- case S390_XMNM_BRC:
- case S390_XMNM_BRCL:
- mask = va_arg(args, UInt);
- mnm = kind == S390_XMNM_BRC ? brc_operand(mask) : brcl_operand(mask);
- p += vex_sprintf(p, s390_mnm_fmt, mnm);
-
- /* mask == 0 has no special mnemonic */
- if (mask == 0) {
- p += vex_sprintf(p, " 0");
- separator = ',';
- }
- break;
-
- case S390_XMNM_CAB:
- mnm = va_arg(args, HChar *);
- mask = va_arg(args, UInt);
- p += vex_sprintf(p, s390_mnm_fmt, cab_operand(mnm, mask));
- break;
-
- case S390_XMNM_LOCR:
- case S390_XMNM_LOCGR:
- case S390_XMNM_LOC:
- case S390_XMNM_LOCG:
- case S390_XMNM_STOC:
- case S390_XMNM_STOCG:
- mask = va_arg(args, UInt);
- mnm = cls_operand(kind, mask);
- p += vex_sprintf(p, s390_mnm_fmt, mnm);
- /* There are no special opcodes when mask == 0 or 15. In that case
- the integer mask is appended as the final operand */
- if (mask == 0 || mask == 15) mask_suffix = mask;
- break;
- }
- }
- continue;
-
- case S390_ARG_GPR:
- p += vex_sprintf(p, "%s", gpr_operand(va_arg(args, UInt)));
- break;
-
- case S390_ARG_FPR:
- p += vex_sprintf(p, "%s", fpr_operand(va_arg(args, UInt)));
- break;
-
- case S390_ARG_AR:
- p += vex_sprintf(p, "%s", ar_operand(va_arg(args, UInt)));
- break;
-
- case S390_ARG_UINT:
- p += vex_sprintf(p, "%u", va_arg(args, UInt));
- break;
-
- case S390_ARG_INT:
- p += vex_sprintf(p, "%d", (Int)(va_arg(args, UInt)));
- break;
-
- case S390_ARG_PCREL: {
- Int offset = (Int)(va_arg(args, UInt));
-
- /* Convert # halfwords to # bytes */
- offset <<= 1;
-
- if (offset < 0) {
- p += vex_sprintf(p, ".%d", offset);
- } else {
- p += vex_sprintf(p, ".+%u", offset);
- }
- break;
- }
-
- case S390_ARG_SDXB: {
- UInt dh, dl, x, b;
-
- dh = va_arg(args, UInt);
- dl = va_arg(args, UInt);
- x = va_arg(args, UInt);
- b = va_arg(args, UInt);
-
- p = dxb_operand(p, (dh << 12) | dl, x, b, 1 /* signed_displacement */);
- break;
- }
-
- case S390_ARG_UDXB: {
- UInt d, x, b;
-
- d = va_arg(args, UInt);
- x = va_arg(args, UInt);
- b = va_arg(args, UInt);
-
- p = dxb_operand(p, d, x, b, 0 /* signed_displacement */);
- break;
- }
-
- case S390_ARG_UDLB: {
- UInt d, l, b;
-
- d = va_arg(args, UInt);
- l = va_arg(args, UInt);
- b = va_arg(args, UInt);
-
- p = udlb_operand(p, d, l, b);
- break;
- }
-
- case S390_ARG_CABM: {
- UInt mask;
-
- mask = va_arg(args, UInt) & 0xE;
- if (mask == 0 || mask == 14) {
- p += vex_sprintf(p, ",%u", mask);
- }
- break;
- }
- }
-
- separator = ',';
- }
-
- done:
- va_end(args);
-
- if (mask_suffix != -1)
- p += vex_sprintf(p, ",%d", mask_suffix);
- *p = '\0';
-
- vassert(p < buf + sizeof buf); /* detect buffer overwrite */
-
- /* Finally, write out the disassembled insn */
- vex_printf("%s\n", buf);
-}
-
-/*---------------------------------------------------------------*/
-/*--- end host_s390_disasm.c ---*/
-/*---------------------------------------------------------------*/
Copied: trunk/priv/s390_disasm.h (+93 -0)
===================================================================
--- trunk/priv/host_s390_disasm.h 2012-09-19 17:01:21 +01:00 (rev 2540)
+++ trunk/priv/s390_disasm.h 2012-09-20 02:22:10 +01:00 (rev 2541)
@@ -0,0 +1,93 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+/*---------------------------------------------------------------*/
+/*--- begin s390_disasm.h ---*/
+/*---------------------------------------------------------------*/
+
+/*
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
+
+ Copyright IBM Corp. 2010-2012
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
+#ifndef __VEX_S390_DISASM_H
+#define __VEX_S390_DISASM_H
+
+#include "libvex_basictypes.h"
+
+/* Macros to encode a command for s390_disasm. */
+#undef P
+#define P(a) (S390_ARG_##a)
+#undef ENC1
+#define ENC1(a) ((P(DONE) << 4) | P(a))
+#undef ENC2
+#define ENC2(a,b) ((P(DONE) << 8) | (P(b) << 4) | P(a))
+#undef ENC3
+#define ENC3(a,b,c) ((P(DONE) << 12) | (P(c) << 8) | (P(b) << 4) | P(a))
+#undef ENC4
+#define ENC4(a,b,c,d) ((P(DONE) << 16) | (P(d) << 12) | (P(c) << 8) | \
+ (P(b) << 4) | P(a))
+#undef ENC5
+#define ENC5(a,b,c,d,e) ((P(DONE) << 20) | (P(e) << 16) | (P(d) << 12) | \
+ (P(c) << 8) | (P(b) << 4) | P(a))
+#undef ENC6
+#define ENC6(a,b,c,d,e,f) ((P(DONE) << 24) | (P(f) << 20) | (P(e) << 16) | \
+ (P(d) << 12) | (P(c) << 8) | (P(b) << 4) | P(a))
+
+/* The different kinds of operands in an asm insn */
+enum {
+ S390_ARG_DONE = 0,
+ S390_ARG_GPR = 1,
+ S390_ARG_FPR = 2,
+ S390_ARG_AR = 3,
+ S390_ARG_INT = 4,
+ S390_ARG_UINT = 5,
+ S390_ARG_PCREL = 6,
+ S390_ARG_SDXB = 7,
+ S390_ARG_UDXB = 8,
+ S390_ARG_UDLB = 9,
+ S390_ARG_CABM = 10,
+ S390_ARG_MNM = 11,
+ S390_ARG_XMNM = 12
+};
+
+/* The different kinds of extended mnemonics */
+enum {
+ S390_XMNM_CAB = 0,
+ S390_XMNM_BCR = 1,
+ S390_XMNM_BC = 2,
+ S390_XMNM_BRC = 3,
+ S390_XMNM_BRCL = 4,
+ S390_XMNM_LOCR = 5,
+ S390_XMNM_LOCGR = 6,
+ S390_XMNM_LOC = 7,
+ S390_XMNM_LOCG = 8,
+ S390_XMNM_STOC = 9,
+ S390_XMNM_STOCG = 10
+};
+
+void s390_disasm(UInt command, ...);
+
+/*---------------------------------------------------------------*/
+/*--- end s390_disasm.h ---*/
+/*---------------------------------------------------------------*/
+
+#endif /* __VEX_S390_DISASM_H */
Copied: trunk/priv/s390_disasm.c (+461 -0)
===================================================================
--- trunk/priv/host_s390_disasm.c 2012-09-19 17:01:21 +01:00 (rev 2540)
+++ trunk/priv/s390_disasm.c 2012-09-20 02:22:10 +01:00 (rev 2541)
@@ -0,0 +1,461 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+/*---------------------------------------------------------------*/
+/*--- begin s390_disasm.c ---*/
+/*---------------------------------------------------------------*/
+
+/*
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
+
+ Copyright IBM Corp. 2010-2012
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
+/* Contributed by Florian Krohm */
+
+#include <stdarg.h>
+#include "libvex_basictypes.h"
+#include "main_util.h" // vassert
+#include "main_globals.h" // vex_traceflags
+#include "s390_disasm.h"
+
+/* The format that is used to write out a mnemonic. */
+static const HChar s390_mnm_fmt[] = "%-8s";
+
+
+/* Return the name of a general purpose register for dis-assembly purposes. */
+static const HChar *
+gpr_operand(UInt archreg)
+{
+ static const HChar names[16][5] = {
+ "%r0", "%r1", "%r2", "%r3",
+ "%r4", "%r5", "%r6", "%r7",
+ "%r8", "%r9", "%r10", "%r11",
+ "%r12", "%r13", "%r14", "%r15",
+ };
+
+ vassert(archreg < 16);
+
+ return names[archreg];
+}
+
+
+/* Return the name of a floating point register for dis-assembly purposes. */
+static const HChar *
+fpr_operand(UInt archreg)
+{
+ static const HChar names[16][5] = {
+ "%f0", "%f1", "%f2", "%f3",
+ "%f4", "%f5", "%f6", "%f7",
+ "%f8", "%f9", "%f10", "%f11",
+ "%f12", "%f13", "%f14", "%f15",
+ };
+
+ vassert(archreg < 16);
+
+ return names[archreg];
+}
+
+
+/* Return the name of an access register for dis-assembly purposes. */
+static const HChar *
+ar_operand(UInt archreg)
+{
+ static const HChar names[16][5] = {
+ "%a0", "%a1", "%a2", "%a3",
+ "%a4", "%a5", "%a6", "%a7",
+ "%a8", "%a9", "%a10", "%a11",
+ "%a12", "%a13", "%a14", "%a15",
+ };
+
+ vassert(archreg < 16);
+
+ return names[archreg];
+}
+
+
+/* Build and return the extended mnemonic for the compare and branch
+ opcodes as introduced by z10. See also the opcodes in file
+ opcodes/s390-opc.txt (from binutils) that have a '$' in their name. */
+static const HChar *
+cab_operand(const HChar *base, UInt mask)
+{
+ HChar *to;
+ const HChar *from;
+
+ static HChar buf[10]; /* Maximum is 6 + 2 */
+
+ static HChar *suffix[] = {
+ "", "h", "l", "ne", "e", "nl", "nh", ""
+ };
+
+ /* strcpy(buf, from); */
+ for (from = base, to = buf; *from; ++from, ++to) {
+ *to = *from;
+ }
+ /* strcat(buf, suffix); */
+ for (from = suffix[mask >> 1]; *from; ++from, ++to) {
+ *to = *from;
+ }
+ *to = '\0';
+
+ return buf;
+}
+
+/* Common function used to construct a mnemonic based on a condition code
+ mask. */
+static const HChar *
+construct_mnemonic(const HChar *prefix, const HChar *suffix, UInt mask)
+{
+ HChar *to;
+ const HChar *from;
+
+ static HChar buf[10];
+
+ static HChar mask_id[16][4] = {
+ "", /* 0 -> unused */
+ "o", "h", "nle", "l", "nhe", "lh", "ne",
+ "e", "nlh", "he", "nl", "le", "nh", "no",
+ "" /* 15 -> unused */
+ };
+
+ /* Guard against buffer overflow */
+ vassert(vex_strlen(prefix) + vex_strlen(suffix) + sizeof mask_id[0] <= sizeof buf);
+
+ /* strcpy(buf, prefix); */
+ for (from = prefix, to = buf; *from; ++from, ++to) {
+ *to = *from;
+ }
+ /* strcat(buf, mask_id); */
+ for (from = mask_id[mask]; *from; ++from, ++to) {
+ *to = *from;
+ }
+ /* strcat(buf, suffix); */
+ for (from = suffix; *from; ++from, ++to) {
+ *to = *from;
+ }
+ *to = '\0';
+
+ return buf;
+}
+
+
+/* Return the special mnemonic for the BCR opcode */
+static const HChar *
+bcr_operand(UInt m1)
+{
+ if (m1 == 0) return "nopr";
+ if (m1 == 15) return "br";
+
+ return construct_mnemonic("b", "r", m1);
+}
+
+
+/* Return the special mnemonic for the BC opcode */
+static const HChar *
+bc_operand(UInt m1)
+{
+ if (m1 == 0) return "nop";
+ if (m1 == 15) return "b";
+
+ return construct_mnemonic("b", "", m1);
+}
+
+
+/* Return the special mnemonic for the BRC opcode */
+static const HChar *
+brc_operand(UInt m1)
+{
+ if (m1 == 0) return "brc";
+ if (m1 == 15) return "j";
+
+ return construct_mnemonic("j", "", m1);
+}
+
+
+/* Return the special mnemonic for the BRCL opcode */
+static const HChar *
+brcl_operand(UInt m1)
+{
+ if (m1 == 0) return "brcl";
+ if (m1 == 15) return "jg";
+
+ return construct_mnemonic("jg", "", m1);
+}
+
+
+/* Return the special mnemonic for a conditional load/store opcode */
+static const HChar *
+cls_operand(Int kind, UInt mask)
+{
+ HChar *prefix;
+
+ switch (kind) {
+ case S390_XMNM_LOCR: prefix = "locr"; break;
+ case S390_XMNM_LOCGR: prefix = "locgr"; break;
+ case S390_XMNM_LOC: prefix = "loc"; break;
+ case S390_XMNM_LOCG: prefix = "locg"; break;
+ case S390_XMNM_STOC: prefix = "stoc"; break;
+ case S390_XMNM_STOCG: prefix = "stocg"; break;
+ default:
+ vpanic("cls_operand");
+ }
+
+ return construct_mnemonic(prefix, "", mask);
+}
+
+
+/* An operand with a base register, an index register, and a displacement.
+ If the displacement is signed, the rightmost 20 bit of D need to be
+ sign extended */
+static HChar *
+dxb_operand(HChar *p, UInt d, UInt x, UInt b, Bool displacement_is_signed)
+{
+ if (displacement_is_signed) {
+ Int displ = ((Int)d << 12) >> 12; /* sign extend */
+
+ p += vex_sprintf(p, "%d", displ);
+ } else {
+ p += vex_sprintf(p, "%u", d);
+ }
+ if (x != 0) {
+ p += vex_sprintf(p, "(%s", gpr_operand(x));
+ if (b != 0) {
+ p += vex_sprintf(p, ",%s", gpr_operand(b));
+ }
+ p += vex_sprintf(p, ")");
+ } else {
+ if (b != 0) {
+ p += vex_sprintf(p, "(%s)", gpr_operand(b));
+ }
+ }
+
+ return p;
+}
+
+
+/* An operand with base register, unsigned length, and a 12-bit
+ unsigned displacement */
+static HChar *
+udlb_operand(HChar *p, UInt d, UInt length, UInt b)
+{
+ p += vex_sprintf(p, "%u", d);
+ p += vex_sprintf(p, "(%u", length + 1); // actual length is +1
+ if (b != 0) {
+ p += vex_sprintf(p, ",%s", gpr_operand(b));
+ }
+ p += vex_sprintf(p, ")");
+
+ return p;
+}
+
+
+/* The first argument is the command that says how to write the disassembled
+ insn. It is understood that the mnemonic comes first and that arguments
+ are separated by a ','. The command holds the arguments. Each argument is
+ encoded using a 4-bit S390_ARG_xyz value. The first argument is placed
+ in the least significant bits of the command and so on. There are at most
+ 5 arguments in an insn and a sentinel (S390_ARG_DONE) is needed to identify
+ the end of the argument list. 6 * 4 = 24 bits are required for the
+ command. */
+void
+s390_disasm(UInt command, ...)
+{
+ va_list args;
+ unsigned argkind;
+ HChar buf[128]; /* holds the disassembled insn */
+ HChar *p;
+ HChar separator;
+ Int mask_suffix = -1;
+
+ va_start(args, command);
+
+ p = buf;
+ separator = 0;
+
+ while (42) {
+ argkind = command & 0xF;
+ command >>= 4;
+
+ if (argkind == S390_ARG_DONE) goto done;
+
+ if (argkind == S390_ARG_CABM) separator = 0; /* optional */
+
+ /* Write out the separator */
+ if (separator) *p++ = separator;
+
+ /* argument */
+ switch (argkind) {
+ case S390_ARG_MNM:
+ p += vex_sprintf(p, s390_mnm_fmt, va_arg(args, HChar *));
+ separator = ' ';
+ continue;
+
+ case S390_ARG_XMNM: {
+ UInt mask, kind;
+ const HChar *mnm;
+
+ kind = va_arg(args, UInt);
+
+ separator = ' ';
+ switch (kind) {
+ case S390_XMNM_BC:
+ case S390_XMNM_BCR:
+ mask = va_arg(args, UInt);
+ mnm = kind == S390_XMNM_BCR ? bcr_operand(mask) : bc_operand(mask);
+ p += vex_sprintf(p, s390_mnm_fmt, mnm);
+ /* mask == 0 is a NOP and has no argument */
+ if (mask == 0) goto done;
+ break;
+
+ case S390_XMNM_BRC:
+ case S390_XMNM_BRCL:
+ mask = va_arg(args, UInt);
+ mnm = kind == S390_XMNM_BRC ? brc_operand(mask) : brcl_operand(mask);
+ p += vex_sprintf(p, s390_mnm_fmt, mnm);
+
+ /* mask == 0 has no special mnemonic */
+ if (mask == 0) {
+ p += vex_sprintf(p, " 0");
+ separator = ',';
+ }
+ break;
+
+ case S390_XMNM_CAB:
+ mnm = va_arg(args, HChar *);
+ mask = va_arg(args, UInt);
+ p += vex_sprintf(p, s390_mnm_fmt, cab_operand(mnm, mask));
+ break;
+
+ case S390_XMNM_LOCR:
+ case S390_XMNM_LOCGR:
+ case S390_XMNM_LOC:
+ case S390_XMNM_LOCG:
+ case S390_XMNM_STOC:
+ case S390_XMNM_STOCG:
+ mask = va_arg(args, UInt);
+ mnm = cls_operand(kind, mask);
+ p += vex_sprintf(p, s390_mnm_fmt, mnm);
+ /* There are no special opcodes when mask == 0 or 15. In that case
+ the integer mask is appended as the final operand */
+ if (mask == 0 || mask == 15) mask_suffix = mask;
+ break;
+ }
+ }
+ continue;
+
+ case S390_ARG_GPR:
+ p += vex_sprintf(p, "%s", gpr_operand(va_arg(args, UInt)));
+ break;
+
+ case S390_ARG_FPR:
+ p += vex_sprintf(p, "%s", fpr_operand(va_arg(args, UInt)));
+ break;
+
+ case S390_ARG_AR:
+ p += vex_sprintf(p, "%s", ar_operand(va_arg(args, UInt)));
+ break;
+
+ case S390_ARG_UINT:
+ p += vex_sprintf(p, "%u", va_arg(args, UInt));
+ break;
+
+ case S390_ARG_INT:
+ p += vex_sprintf(p, "%d", (Int)(va_arg(args, UInt)));
+ break;
+
+ case S390_ARG_PCREL: {
+ Int offset = (Int)(va_arg(args, UInt));
+
+ /* Convert # halfwords to # bytes */
+ offset <<= 1;
+
+ if (offset < 0) {
+ p += vex_sprintf(p, ".%d", offset);
+ } else {
+ p += vex_sprintf(p, ".+%u", offset);
+ }
+ break;
+ }
+
+ case S390_ARG_SDXB: {
+ UInt dh, dl, x, b;
+
+ dh = va_arg(args, UInt);
+ dl = va_arg(args, UInt);
+ x = va_arg(args, UInt);
+ b = va_arg(args, UInt);
+
+ p = dxb_operand(p, (dh << 12) | dl, x, b, 1 /* signed_displacement */);
+ break;
+ }
+
+ case S390_ARG_UDXB: {
+ UInt d, x, b;
+
+ d = va_arg(args, UInt);
+ x = va_arg(args, UInt);
+ b = va_arg(args, UInt);
+
+ p = dxb_operand(p, d, x, b, 0 /* signed_displacement */);
+ break;
+ }
+
+ case S390_ARG_UDLB: {
+ UInt d, l, b;
+
+ d = va_arg(args, UInt);
+ l = va_arg(args, UInt);
+ b = va_arg(args, UInt);
+
+ p = udlb_operand(p, d, l, b);
+ break;
+ }
+
+ case S390_ARG_CABM: {
+ UInt mask;
+
+ mask = va_arg(args, UInt) & 0xE;
+ if (mask == 0 || mask == 14) {
+ p += vex_sprintf(p, ",%u", mask);
+ }
+ break;
+ }
+ }
+
+ separator = ',';
+ }
+
+ done:
+ va_end(args);
+
+ if (mask_suffix != -1)
+ p += vex_sprintf(p, ",%d", mask_suffix);
+ *p = '\0';
+
+ vassert(p < buf + sizeof buf); /* detect buffer overwrite */
+
+ /* Finally, write out the disassembled insn */
+ vex_printf("%s\n", buf);
+}
+
+/*---------------------------------------------------------------*/
+/*--- end s390_disasm.c ---*/
+/*---------------------------------------------------------------*/
Modified: trunk/priv/guest_s390_toIR.c (+1 -1)
===================================================================
--- trunk/priv/guest_s390_toIR.c 2012-09-19 17:01:21 +01:00 (rev 2540)
+++ trunk/priv/guest_s390_toIR.c 2012-09-20 02:22:10 +01:00 (rev 2541)
@@ -40,7 +40,7 @@
#include "main_globals.h" /* vex_traceflags */
#include "guest_generic_bb_to_IR.h" /* DisResult */
#include "guest_s390_defs.h" /* prototypes for this file's functions */
-#include "host_s390_disasm.h"
+#include "s390_disasm.h"
#include "host_s390_defs.h" /* S390_ROUND_xyzzy */
|
|
From: Maynard J. <may...@us...> - 2012-09-19 18:34:50
|
On 09/19/2012 12:50 PM, Florian Krohm wrote: > On 09/19/2012 12:00 PM, Maynard Johnson wrote: >> On 09/08/2012 10:33 PM, Florian Krohm wrote: >>> On 09/08/2012 06:18 PM, Julian Seward wrote: >>> >>>> This is one of those things that has no effect for 99.99% of cases >>>> but may have a big impact for the cases it hits. I suspect it >>>> would be easy to write a test case that shows it -- a single >>>> basic block that contains a lot of both kinds of instructions, >>>> iterated over a lot, with suitable rounding mode setup beforehand. > >> Hi, Florian, >> Finally got back to this. Sorry for the delay. I wrote a simple testcase as described, >> using fmul and dmul in a loop, iterated over 500,000 times. Valgrind > executes the testcase >> in ~0.5 seconds. I did a trace with the VEX_TRACE_ASM flag and >> ensured that the mtfsf instruction was being done before the dmul and the fmul. >> So it seems to me this is not a big impact. I'm inclined to do >> nothing here, following the adage of "if it ain't broke, don't >> fix it." > > Hey Maynard, > > it would be interesting to see the difference between your experiment > and a modified test where the rounding mode is not set (just would have > to disable that in isel) as accuracy is irrelevant. But for runtime to > be meaningful for comparison you'd probably have to use many more > iterations, say 20x.. With 10,000,000 iterations, running under unaltered valgrind several times, I get an average runtime of ~1.81 seconds. If return immediately from host_ppc_isel.c:_set_FPU_rounding_mode, the average runtime is ~1.55 seconds. -Maynard > > Cheers, > Florian > |
|
From: Julian S. <js...@ac...> - 2012-09-19 18:20:48
|
> So, does anybody think there is a clean way to get VexArchInfo at > getAllocableRegs_PLATFORM, or we should just apply the change to fit > Loongson in this case (we measured it, and no performance impact has been > seen on any of the benchmarks we ran)? Or this could be resolved > differently? I suggest you apply the change to fit Loongson. I did some experiments on amd64 on the effect of limiting the number of registers, and it has very little effect. That is on a CPU with 14 allocatable integer registers in total, so in this case you are in a better situation anyway. J |
|
From: Florian K. <br...@ac...> - 2012-09-19 17:50:26
|
On 09/19/2012 12:00 PM, Maynard Johnson wrote: > On 09/08/2012 10:33 PM, Florian Krohm wrote: >> On 09/08/2012 06:18 PM, Julian Seward wrote: >> >>> This is one of those things that has no effect for 99.99% of cases >>> but may have a big impact for the cases it hits. I suspect it >>> would be easy to write a test case that shows it -- a single >>> basic block that contains a lot of both kinds of instructions, >>> iterated over a lot, with suitable rounding mode setup beforehand. > Hi, Florian, > Finally got back to this. Sorry for the delay. I wrote a simple testcase as described, > using fmul and dmul in a loop, iterated over 500,000 times. Valgrind executes the testcase > in ~0.5 seconds. I did a trace with the VEX_TRACE_ASM flag and > ensured that the mtfsf instruction was being done before the dmul and the fmul. > So it seems to me this is not a big impact. I'm inclined to do > nothing here, following the adage of "if it ain't broke, don't > fix it." Hey Maynard, it would be interesting to see the difference between your experiment and a modified test where the rounding mode is not set (just would have to disable that in isel) as accuracy is irrelevant. But for runtime to be meaningful for comparison you'd probably have to use many more iterations, say 20x.. Cheers, Florian |
|
From: <sv...@va...> - 2012-09-19 16:43:37
|
florian 2012-09-19 17:43:30 +0100 (Wed, 19 Sep 2012)
New Revision: 13006
Log:
Update URLs for new Principles of Operations (SA22-7832-09).
Modified files:
trunk/README.s390
Modified: trunk/README.s390 (+2 -2)
===================================================================
--- trunk/README.s390 2012-09-19 15:45:51 +01:00 (rev 13005)
+++ trunk/README.s390 2012-09-19 17:43:30 +01:00 (rev 13006)
@@ -43,6 +43,6 @@
(1) Linux for zSeries ELF ABI Supplement
http://refspecs.linuxfoundation.org/ELF/zSeries/index.html
(2) z/Architecture Principles of Operation
- http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr008.pdf
+ http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr009.pdf
(3) z/Architecture Reference Summary
- http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs006.pdf
+ http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs007.pdf
|
|
From: Maynard J. <may...@us...> - 2012-09-19 16:02:58
|
On 09/08/2012 10:33 PM, Florian Krohm wrote: > On 09/08/2012 06:18 PM, Julian Seward wrote: > >> This is one of those things that has no effect for 99.99% of cases >> but may have a big impact for the cases it hits. I suspect it >> would be easy to write a test case that shows it -- a single >> basic block that contains a lot of both kinds of instructions, >> iterated over a lot, with suitable rounding mode setup beforehand. Hi, Florian, Finally got back to this. Sorry for the delay. I wrote a simple testcase as described, using fmul and dmul in a loop, iterated over 500,000 times. Valgrind executes the testcase in ~0.5 seconds. I did a trace with the VEX_TRACE_ASM flag and ensured that the mtfsf instruction was being done before the dmul and the fmul. So it seems to me this is not a big impact. I'm inclined to do nothing here, following the adage of "if it ain't broke, don't fix it." -Maynard >> >> The tricky bit is to ensure it is right. > > Huh? This looks like a fairly straight forward change to me.. > Anyhow, I was not planning to change the ppc code. I'll leave that to > Carl, Maynard, and you to decide. > Yes, a contrived testcase would be interesting but I'm the wrong person > to write it. > > Florian > |